Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic...

Preview:

Citation preview

Live Robot Programming

Johan Fabry,Miguel Campusano, Pablo Estefó

Pleiad & RyCh labsComputer Science Department (DCC)

Universidad de Chile

Two small stories

Software is fundamental

5

Good Softwareis fundamental

7

Software Engineering

8

Time=

Money

Software Engineering

9

Time=

Research

Software Engineering

10

Time =

Brainpower

Software Engineering

11

Brainpower =Problem complexity + Technology complexity

What do we want?

Waste less time in incidental complexity

13

Use time on fundamental complexity

“But why is the robot executing this behavior now?”

Example

14

“What would happen if I change epsilon to 5 ?”

(What is the internal state of the algorithm)

(What are the correct parameters for the algorithm)

Spend brainpower on the complexity of the task

15

Have an immediate connection to the

behavior

Live Programming

Bret Victor - Inventing on Principle (CUSEC 2012)

Immediate Connection

18

Bret Victor - Inventing on Principle (CUSEC 2012)

Immediate Connection

20

Live Robot Programming

Fundamentals

• Live Programming Language

• For the behavior layer of robots

• Nested State Machines

22

Machines, States

23

Immediate Connection

24

Variables, Actions

25

Demo time!

Immediate Connection

26

More about the language in the paper

on the website.http://pleiad.cl/LRP

28

Conclusions

• Live Robot Programming: Yes you can!

• State machines are resilient

• Experience: radical speedup

Immediate Connection

29

Future Work

• Refactorings to avoid restarts

• Test expressibility of the language

• Modularity and reuse of behaviors

http://pleiad.cl/LRP

Active State

32

Active State

33

Immediate Connection

34

Recommended