34
Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad & RyCh labs Computer Science Department (DCC) Universidad de Chile

Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Live Robot Programming

Johan Fabry,Miguel Campusano, Pablo Estefó

Pleiad & RyCh labsComputer Science Department (DCC)

Universidad de Chile

Page 2: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Two small stories

Page 3: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad
Page 4: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad
Page 5: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Software is fundamental

5

Page 6: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad
Page 7: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Good Softwareis fundamental

7

Page 8: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Software Engineering

8

Time=

Money

Page 9: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Software Engineering

9

Time=

Research

Page 10: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Software Engineering

10

Time =

Brainpower

Page 11: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Software Engineering

11

Brainpower =Problem complexity + Technology complexity

Page 12: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

What do we want?

Page 13: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Waste less time in incidental complexity

13

Use time on fundamental complexity

Page 14: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

“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)

Page 15: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Spend brainpower on the complexity of the task

15

Have an immediate connection to the

behavior

Page 16: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Live Programming

Page 17: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Bret Victor - Inventing on Principle (CUSEC 2012)

Page 18: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

18

Page 19: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Bret Victor - Inventing on Principle (CUSEC 2012)

Page 20: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

20

Page 21: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Live Robot Programming

Page 22: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Fundamentals

• Live Programming Language

• For the behavior layer of robots

• Nested State Machines

22

Page 23: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Machines, States

23

Page 24: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

24

Page 25: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Variables, Actions

25

Demo time!

Page 26: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

26

Page 27: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

More about the language in the paper

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

Page 28: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

28

Conclusions

• Live Robot Programming: Yes you can!

• State machines are resilient

• Experience: radical speedup

Page 29: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

29

Page 30: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Future Work

• Refactorings to avoid restarts

• Test expressibility of the language

• Modularity and reuse of behaviors

Page 31: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

http://pleiad.cl/LRP

Page 32: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Active State

32

Page 33: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Active State

33

Page 34: Live Robot Programming - esug.orgesug.org/data/ESUG2015/1 monday/1100-1230 Live robotic programmin… · Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad

Immediate Connection

34