Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Live Robot
Programming
Johan Fabry,
Miguel Campusano, Pablo Estefó
Pleiad & RyCh labs
Computer Science Department (DCC)
Un...
Two small stories
Software is
fundamental
5
Good Software
is 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...
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
Live Robot Programming
Live Robot Programming
Live Robot Programming
Upcoming SlideShare
Loading in …5
×

Live Robot Programming

583 views

Published on

Speaker: Johan Fabry

Abstract:
When thinking about robotics, the first thing that comes to mind is impressive hardware. The main problems to solve here are difficulties in building it and managing its low level functionalities, e.g. making a robot that can walk. But the robot only starts to do interesting things when you build on top of these functionalities, e.g. make it walk to a door and open it. This is almost purely a software challenge and sadly roboticists are stuck in the nineties when it comes to software development. They have an incredibly static way of programming robot behaviors. In our research we are pushing towards the total oposite: live programming of a robot, while it is running.
In this talk I will present our language, called Live Robot Programming (LRP), built on Pharo and making heavy use of Roassal for visualizations. I will show how LRP allows for the creation and evolution of robotic behaviors on-the-fly and how you can use it to play with robots. I will demonstrate LRP with a simple robot behavior, and on a real robot if I can get it to board the plane with me.

Video1: https://www.youtube.com/watch?v=0CYMkxV919s
Video2: https://www.youtube.com/watch?v=TPQXeE9yJPI

Published in: Technology
  • Video1: https://www.youtube.com/watch?v=0CYMkxV919s Video2: https://www.youtube.com/watch?v=TPQXeE9yJPI
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Live Robot Programming

  1. 1. Live Robot Programming Johan Fabry, Miguel Campusano, Pablo Estefó Pleiad & RyCh labs Computer Science Department (DCC) Universidad de Chile
  2. 2. Two small stories
  3. 3. Software is fundamental 5
  4. 4. Good Software is fundamental 7
  5. 5. Software Engineering 8 Time = Money
  6. 6. Software Engineering 9 Time = Research
  7. 7. Software Engineering 10 Time = Brainpower
  8. 8. Software Engineering 11 Brainpower = Problem complexity + Technology complexity
  9. 9. What do we want?
  10. 10. Waste less time in incidental complexity 13 Use time on fundamental complexity
  11. 11. “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)
  12. 12. Spend brainpower on the complexity of the task 15 Have an immediate connection to the behavior
  13. 13. Live Programming
  14. 14. Bret Victor - Inventing on Principle (CUSEC 2012)
  15. 15. Immediate Connection 18
  16. 16. Bret Victor - Inventing on Principle (CUSEC 2012)
  17. 17. Immediate Connection 20
  18. 18. Live Robot Programming
  19. 19. Fundamentals • Live Programming Language • For the behavior layer of robots • Nested State Machines 22
  20. 20. Machines, States 23
  21. 21. Immediate Connection 24
  22. 22. Variables, Actions 25 Demo time!
  23. 23. Immediate Connection 26
  24. 24. More about the language in the paper on the website. http://pleiad.cl/LRP
  25. 25. 28 Conclusions • Live Robot Programming: Yes you can! • State machines are resilient • Experience: radical speedup
  26. 26. Immediate Connection 29
  27. 27. Future Work • Refactorings to avoid restarts • Test expressibility of the language • Modularity and reuse of behaviors
  28. 28. http://pleiad.cl/LRP
  29. 29. Active State 32
  30. 30. Active State 33
  31. 31. Immediate Connection 34

×