small talk with robots

90

Click here to load reader

Upload: jannik-laval

Post on 07-Jul-2015

1.542 views

Category:

Software


3 download

DESCRIPTION

This presentation is about using Pharo for controlling robots. We detailed our work on software engineering for robotics. These slides were presented at FAST smalltalks 2014, Cordoba, Argentina

TRANSCRIPT

Page 1: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 1

Page 2: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Pomodoro

2

Page 3: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Pomodoro

3

Page 4: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Pomodoro

3

pomodorotechnique.com

Page 5: Small Talk with Robots

Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

http://car.mines-douai.fr

Page 6: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Research on Software Engineering for

5

Page 7: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Research on Software Engineering for

6

Page 8: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Research on Software Engineering for

6

Very long-term goal !

Page 9: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Current robots

7

Page 10: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot at our lab

8

Page 11: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Infrastructure

9

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

So9ware)So9ware)So9ware)

Page 12: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Infrastructure

10

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

So9ware)So9ware)

Page 13: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Multiple kinds of robots

11

Page 14: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Multiple kinds of robots

12

Page 15: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Multiple kinds of robots

13

Page 16: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Heterogeneity challenge

14

Page 17: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Heterogeneity challenge

14

Different sensors and actuators

Page 18: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Different computing capabilities

Heterogeneity challenge

14

Different sensors and actuators

Page 19: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Different drivers and protocols

Different computing capabilities

Heterogeneity challenge

14

Different sensors and actuators

Page 20: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Different drivers and protocols

Different computing capabilities

Heterogeneity challenge

14

Different sensors and actuators

Different low-level algorithms

Page 21: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Different drivers and protocols

Different computing capabilities

Heterogeneity challenge

14

Different sensors and actuators

Different shapes and sizes

Different low-level algorithms

Page 22: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 15

implementations exist

Page 23: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 16

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

Algo)Algo)C,#C++#Python#

)))

Page 24: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 17

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

Algo)Algo)C,)C++)Python)

?" )))

Page 25: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 18

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

Middleware)

Algo)Algo)C,)C++)Python)

)))

Page 26: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 19

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

Algo)Algo)C,)C++)Python)

)))

Page 27: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Our work is PhaROS

20

Physical)Environment)

Robot)

Actuator)Actuator)Computer)

Sensor)Sensor)Sensor) Actuator)Actuator)Actuator)

Algo)Algo)C,)C++)Python)

)))

Page 28: Small Talk with Robots

(small) talking to Robots

Page 29: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot guide using

22

- Museum - Hospital - Shopping Mall - …

Page 30: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot guide using

23

https://vimeo.com/109125625

Page 31: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Laser scans > Map

24

Page 32: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Annotated map

25

Page 33: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot guide using

26

Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder%

Proprietary%So4ware%

Page 34: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot guide using

27

Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder%

Proprietary%So4ware%

Path%%Planner%

Localiza/on%System%

Page 35: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Robot guide using

28

Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder%

Proprietary%So4ware%

Path%%Planner%

Localiza/on%System%

App#

Bridge#

Page 36: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 29

Talking(to(

with%

Page 37: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 30

Talking(to(

with%

Page 38: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 31

Talking(to(

with%

Page 39: Small Talk with Robots

visual programing for robotics

Page 40: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

You know phratch !

33

Page 41: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

You know phratch !

34

on top of Pharo

https://code.google.com/p/scat/

Page 42: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

You know phratch !

34

on top of Pharo

https://code.google.com/p/scat/

Page 43: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

You know phratch !

34

on top of Pharo

phratch.com sponsored by

https://code.google.com/p/scat/

Page 44: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

What is new ?

35

phratch.com

Jetstorm - robotics

Jenkins

smart icons

Page 45: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Add-ons

36

Page 46: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

37

Page 47: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

38

Page 48: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

39

Page 49: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

39

Page 50: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

40

Page 51: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

41

Page 52: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Code accessibility

42

Page 53: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

High extensibility !

43

Page 54: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

High extensibility !

44

Page 55: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

High extensibility !

44

Page 56: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Used for teaching robotics!

45

https://vimeo.com/103126982

Page 57: Small Talk with Robots

More challenges

Page 58: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 47

Page 59: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 48

Resource(Constraints((RAM,(CPU,(Ba5ery...)(

Changing'Condi*ons'

Hardware'+'So+ware'Integra0on'

Page 60: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 49

Resource(Constraints((RAM,(CPU,(Ba5ery...)(

Hardware'+'So+ware'Integra0on'

Self%Adapta+on%

Changing'Condi*ons'

Page 61: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 50

Hardware'+'So+ware'Integra0on'

Self%Adapta+on%

Changing'Condi*ons'

Smalltalk'+'FPGA'

Resource(Constraints((RAM,(CPU,(Ba5ery...)(

Page 62: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 51

•Build a Pharo robotic application

•Identify critical parts•Project the critical parts on FPGA

•Evaluation of performance gain/loss

EXPERIMENT

Page 63: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

52

http://www.youtube.com/watch?v=e1Hzt4soQIc

Page 64: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 53

Camera RGB →HSV

HSV filtrer

Laser sensor

Object detector Motors

Page 65: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 54

Camera RGB →HSV

HSV filtrer

Laser sensor

Object detector

Critical part !

Motors

Page 66: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 55

Smalltalk application

HW/SW Partitioning

SW HW

Pharo VM FPGA

Interface

Page 67: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 56

Self%Adapta+on%

Changing'Condi*ons'

Smalltalk'+'FPGA'

Resource(Constraints((RAM,(CPU,(Ba5ery...)( TDD#

Hardware'+'So+ware'Integra0on'

Page 68: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 57

Physical)Environment)

Robot%

Actuator%Actuator%Computer%

Sensor%Sensor%Sensor% Actuator%Actuator%Actuator%

So2ware%So2ware%So2ware%

Page 69: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 58

Physical)Environment)

Robot%

Actuator%Actuator%Computer%

Sensor%Sensor%Sensor% Actuator%Actuator%Actuator%

So2ware%So2ware%So2ware% Safety)

Page 70: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 59

Simula'on*

Safety*

Page 71: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 60

http://www.youtube.com/watch?v=oNrvuaASwrU

Page 72: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 61

37#

Simula*on#

Noise#

Resources#

Failure#

Asynchrony#

Precision#

Page 73: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Methodology for safe TDD

62

Ensure emergency stop working!

Page 74: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Methodology for safe TDD

63

Ensure emergency stop working!

Order tests- Sensors before actuators- Controlled environments before open ones- Static environments before dynamic ones

Page 75: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Methodology for safe TDD

64

Ensure emergency stop working!

Order tests- Sensors before actuators- Controlled environments before open ones- Static environments before dynamic ones

Run test only if prerequisites pass

Page 76: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Methodology for safe TDD

65

Ensure emergency stop working!

Order tests- Sensors before actuators- Controlled environments before open ones- Static environments before dynamic ones

Run test only if prerequisites passBoTest'

Framework'

Page 77: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 66

the$

Futureis

Robo-cs

Page 78: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 67

10#000#000+#

Page 79: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Big players invest in robotics

68

Amazon drones for Parcel Delivery

Page 80: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Big players invest in robotics

69

Google self-driving car

Page 81: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

Big players invest in robotics

70

Google self-driving car

Google&Bought&8&Robo.cs&Companies&in&

2013!&

Page 82: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 71

the$

Futureis

Robo-cs

Page 83: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 72

the$

Futureis

Robo-cs

the$

Futureis

Robo-csLet’s$$make$it$with$

Smalltalk

Page 84: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 72

the$

Futureis

Robo-cs

the$

Futureis

Robo-csLet’s$$make$it$with$

Smalltalk

Page 85: Small Talk with Robots

Douai loves Argentina !

Page 86: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 74

Page 87: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 74

Page 88: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 74

Page 89: Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval 74

Douai

Page 90: Small Talk with Robots

Small Talk with Robots

Noury Bouraqadi, Luc Fabresse, Jannik Laval

http://car.mines-douai.fr