SlideShare uma empresa Scribd logo
1 de 90
Baixar para ler offline
Noury Bouraqadi, Luc Fabresse, Jannik Laval 1
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Pomodoro
2
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Pomodoro
3
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Pomodoro
3
pomodorotechnique.com
Small Talk with Robots
Noury Bouraqadi, Luc Fabresse, Jannik Laval
http://car.mines-douai.fr
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Research on Software Engineering for
5
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Research on Software Engineering for
6
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Research on Software Engineering for
6
Very long-term goal !
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Current robots
7
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Robot at our lab
8
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Infrastructure
9
Physical)Environment)
Robot)
Actuator)Actuator)
Computer)
Sensor)Sensor)
Sensor)
Actuator)Actuator)
Actuator)
So9ware)So9ware)So9ware)
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Infrastructure
10
Physical)Environment)
Robot)
Actuator)Actuator)
Computer)
Sensor)Sensor)
Sensor)
Actuator)Actuator)
Actuator)
So9ware)So9ware)
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Multiple kinds of robots
11
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Multiple kinds of robots
12
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Multiple kinds of robots
13
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Heterogeneity challenge
14
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Heterogeneity challenge
14
Different sensors
and actuators
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Different
computing
capabilities
Heterogeneity challenge
14
Different sensors
and actuators
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Different drivers
and protocols
Different
computing
capabilities
Heterogeneity challenge
14
Different sensors
and actuators
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Different drivers
and protocols
Different
computing
capabilities
Heterogeneity challenge
14
Different sensors
and actuators
Different low-level
algorithms
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
Noury Bouraqadi, Luc Fabresse, Jannik Laval 15
implementations
exist
Noury Bouraqadi, Luc Fabresse, Jannik Laval 16
Physical)Environment)
Robot)
Actuator)Actuator)
Computer)
Sensor)Sensor)
Sensor)
Actuator)Actuator)
Actuator)
Algo)
Algo)
C,#C++#
Python#
)
)
)
Noury Bouraqadi, Luc Fabresse, Jannik Laval 17
Physical)Environment)
Robot)
Actuator)Actuator)
Computer)
Sensor)Sensor)
Sensor)
Actuator)Actuator)
Actuator)
Algo)
Algo)
C,)C++)
Python)
?" )
)
)
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)
)
)
)
Noury Bouraqadi, Luc Fabresse, Jannik Laval 19
Physical)Environment)
Robot)
Actuator)Actuator)
Computer)
Sensor)Sensor)
Sensor)
Actuator)Actuator)
Actuator)
Algo)
Algo)
C,)C++)
Python)
)
)
)
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)
)
)
)
(small) talking to Robots
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Robot guide using
22
- Museum
- Hospital
- Shopping Mall
- …
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Robot guide using
23
https://vimeo.com/109125625
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Laser scans > Map
24
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Annotated map
25
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Robot guide using
26
Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder%
Proprietary%So4ware%
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Robot guide using
27
Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder%
Proprietary%So4ware%
Path%%
Planner%
Localiza/on%
System%
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#
Noury Bouraqadi, Luc Fabresse, Jannik Laval 29
Talking(to(
with%
Noury Bouraqadi, Luc Fabresse, Jannik Laval 30
Talking(to(
with%
Noury Bouraqadi, Luc Fabresse, Jannik Laval 31
Talking(to(
with%
visual programing for robotics
Noury Bouraqadi, Luc Fabresse, Jannik Laval
You know phratch !
33
Noury Bouraqadi, Luc Fabresse, Jannik Laval
You know phratch !
34
on top of
Pharo
https://code.google.com/p/scat/
Noury Bouraqadi, Luc Fabresse, Jannik Laval
You know phratch !
34
on top of
Pharo
https://code.google.com/p/scat/
Noury Bouraqadi, Luc Fabresse, Jannik Laval
You know phratch !
34
on top of
Pharo
phratch.com
sponsored by
https://code.google.com/p/scat/
Noury Bouraqadi, Luc Fabresse, Jannik Laval
What is new ?
35
phratch.com
Jetstorm -
robotics
Jenkins
smart icons
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Add-ons
36
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
37
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
38
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
39
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
39
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
40
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
41
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Code accessibility
42
Noury Bouraqadi, Luc Fabresse, Jannik Laval
High extensibility !
43
Noury Bouraqadi, Luc Fabresse, Jannik Laval
High extensibility !
44
Noury Bouraqadi, Luc Fabresse, Jannik Laval
High extensibility !
44
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Used for teaching robotics!
45
https://vimeo.com/103126982
More challenges
Noury Bouraqadi, Luc Fabresse, Jannik Laval 47
Noury Bouraqadi, Luc Fabresse, Jannik Laval 48
Resource(
Constraints(
(RAM,(CPU,(
Ba5ery...)(
Changing'
Condi*ons'
Hardware'
+'So+ware'
Integra0on'
Noury Bouraqadi, Luc Fabresse, Jannik Laval 49
Resource(
Constraints(
(RAM,(CPU,(
Ba5ery...)(
Hardware'
+'So+ware'
Integra0on'
Self%
Adapta+on%
Changing'
Condi*ons'
Noury Bouraqadi, Luc Fabresse, Jannik Laval 50
Hardware'
+'So+ware'
Integra0on'
Self%
Adapta+on%
Changing'
Condi*ons'
Smalltalk'
+'FPGA'
Resource(
Constraints(
(RAM,(CPU,(
Ba5ery...)(
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
Noury Bouraqadi, Luc Fabresse, Jannik Laval 52
http://www.youtube.com/watch?v=e1Hzt4soQIc
Noury Bouraqadi, Luc Fabresse, Jannik Laval 53
Camera RGB →HSV
HSV filtrer
Laser
sensor
Object
detector
Motors
Noury Bouraqadi, Luc Fabresse, Jannik Laval 54
Camera RGB →HSV
HSV filtrer
Laser
sensor
Object
detector
Critical part !
Motors
Noury Bouraqadi, Luc Fabresse, Jannik Laval 55
Smalltalk application
HW/SW Partitioning
SW HW
PharoVM FPGA
Interface
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'
Noury Bouraqadi, Luc Fabresse, Jannik Laval 57
Physical)Environment)
Robot%
Actuator%Actuator%
Computer%
Sensor%Sensor%
Sensor%
Actuator%Actuator%
Actuator%
So2ware%So2ware%So2ware%
Noury Bouraqadi, Luc Fabresse, Jannik Laval 58
Physical)Environment)
Robot%
Actuator%Actuator%
Computer%
Sensor%Sensor%
Sensor%
Actuator%Actuator%
Actuator%
So2ware%So2ware%So2ware% Safety)
Noury Bouraqadi, Luc Fabresse, Jannik Laval 59
Simula'on*
Safety*
Noury Bouraqadi, Luc Fabresse, Jannik Laval 60
http://www.youtube.com/watch?v=oNrvuaASwrU
Noury Bouraqadi, Luc Fabresse, Jannik Laval 61
37#
Simula*on#
Noise#
Resources#
Failure#
Asynchrony#
Precision#
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Methodology for safe TDD
62
Ensure emergency stop working!
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
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
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 pass
BoTest'
Framework'
Noury Bouraqadi, Luc Fabresse, Jannik Laval 66
the$

Future

is

Robo-cs
Noury Bouraqadi, Luc Fabresse, Jannik Laval 67
10#000#000+#
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Big players invest in robotics
68
Amazon drones for Parcel Delivery
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Big players invest in robotics
69
Google self-driving car
Noury Bouraqadi, Luc Fabresse, Jannik Laval
Big players invest in robotics
70
Google self-driving car
Google&Bought&8&
Robo.cs&Companies&in&
2013!&
Noury Bouraqadi, Luc Fabresse, Jannik Laval 71
the$

Future

is

Robo-cs
Noury Bouraqadi, Luc Fabresse, Jannik Laval 72
the$

Future

is

Robo-cs
the$

Future

is

Robo-cs

Let’s$$make$it$with$

Smalltalk
Noury Bouraqadi, Luc Fabresse, Jannik Laval 72
the$

Future

is

Robo-cs
the$

Future

is

Robo-cs

Let’s$$make$it$with$

Smalltalk
Douai loves Argentina !
Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
Douai
Small Talk with Robots
Noury Bouraqadi, Luc Fabresse, Jannik Laval
http://car.mines-douai.fr

Mais conteúdo relacionado

Semelhante a Small Talk with Robots Using Pharo and Phratch

Talking to Robots with Pharo
Talking to Robots with PharoTalking to Robots with Pharo
Talking to Robots with PharoNoury Bouraqadi
 
Arduino Robotics workshop day2
Arduino Robotics workshop day2Arduino Robotics workshop day2
Arduino Robotics workshop day2Sudar Muthu
 
PHARO IoT: Present and Future
PHARO IoT: Present and FuturePHARO IoT: Present and Future
PHARO IoT: Present and FutureESUG
 
Prototyping Hardware
Prototyping HardwarePrototyping Hardware
Prototyping HardwareSuz Hinton
 
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHONARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHONIRJET Journal
 
Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)nishantmodak
 
How you can build a robot Dr. Strangelove would approve
How you can build a robot Dr. Strangelove would approveHow you can build a robot Dr. Strangelove would approve
How you can build a robot Dr. Strangelove would approveTomáš Jukin
 

Semelhante a Small Talk with Robots Using Pharo and Phratch (9)

Arduino presentation
Arduino presentationArduino presentation
Arduino presentation
 
Talking to Robots with Pharo
Talking to Robots with PharoTalking to Robots with Pharo
Talking to Robots with Pharo
 
Arduino Robotics workshop day2
Arduino Robotics workshop day2Arduino Robotics workshop day2
Arduino Robotics workshop day2
 
PHARO IoT: Present and Future
PHARO IoT: Present and FuturePHARO IoT: Present and Future
PHARO IoT: Present and Future
 
Prototyping Hardware
Prototyping HardwarePrototyping Hardware
Prototyping Hardware
 
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHONARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
 
Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)
 
How you can build a robot Dr. Strangelove would approve
How you can build a robot Dr. Strangelove would approveHow you can build a robot Dr. Strangelove would approve
How you can build a robot Dr. Strangelove would approve
 
Nodebots
NodebotsNodebots
Nodebots
 

Último

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 

Último (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 

Small Talk with Robots Using Pharo and Phratch

  • 1. Noury Bouraqadi, Luc Fabresse, Jannik Laval 1
  • 2. Noury Bouraqadi, Luc Fabresse, Jannik Laval Pomodoro 2
  • 3. Noury Bouraqadi, Luc Fabresse, Jannik Laval Pomodoro 3
  • 4. Noury Bouraqadi, Luc Fabresse, Jannik Laval Pomodoro 3 pomodorotechnique.com
  • 5. Small Talk with Robots Noury Bouraqadi, Luc Fabresse, Jannik Laval http://car.mines-douai.fr
  • 6. Noury Bouraqadi, Luc Fabresse, Jannik Laval Research on Software Engineering for 5
  • 7. Noury Bouraqadi, Luc Fabresse, Jannik Laval Research on Software Engineering for 6
  • 8. Noury Bouraqadi, Luc Fabresse, Jannik Laval Research on Software Engineering for 6 Very long-term goal !
  • 9. Noury Bouraqadi, Luc Fabresse, Jannik Laval Current robots 7
  • 10. Noury Bouraqadi, Luc Fabresse, Jannik Laval Robot at our lab 8
  • 11. Noury Bouraqadi, Luc Fabresse, Jannik Laval Infrastructure 9 Physical)Environment) Robot) Actuator)Actuator) Computer) Sensor)Sensor) Sensor) Actuator)Actuator) Actuator) So9ware)So9ware)So9ware)
  • 12. Noury Bouraqadi, Luc Fabresse, Jannik Laval Infrastructure 10 Physical)Environment) Robot) Actuator)Actuator) Computer) Sensor)Sensor) Sensor) Actuator)Actuator) Actuator) So9ware)So9ware)
  • 13. Noury Bouraqadi, Luc Fabresse, Jannik Laval Multiple kinds of robots 11
  • 14. Noury Bouraqadi, Luc Fabresse, Jannik Laval Multiple kinds of robots 12
  • 15. Noury Bouraqadi, Luc Fabresse, Jannik Laval Multiple kinds of robots 13
  • 16. Noury Bouraqadi, Luc Fabresse, Jannik Laval Heterogeneity challenge 14
  • 17. Noury Bouraqadi, Luc Fabresse, Jannik Laval Heterogeneity challenge 14 Different sensors and actuators
  • 18. Noury Bouraqadi, Luc Fabresse, Jannik Laval Different computing capabilities Heterogeneity challenge 14 Different sensors and actuators
  • 19. Noury Bouraqadi, Luc Fabresse, Jannik Laval Different drivers and protocols Different computing capabilities Heterogeneity challenge 14 Different sensors and actuators
  • 20. Noury Bouraqadi, Luc Fabresse, Jannik Laval Different drivers and protocols Different computing capabilities Heterogeneity challenge 14 Different sensors and actuators Different low-level algorithms
  • 21. 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
  • 22. Noury Bouraqadi, Luc Fabresse, Jannik Laval 15 implementations exist
  • 23. Noury Bouraqadi, Luc Fabresse, Jannik Laval 16 Physical)Environment) Robot) Actuator)Actuator) Computer) Sensor)Sensor) Sensor) Actuator)Actuator) Actuator) Algo) Algo) C,#C++# Python# ) ) )
  • 24. Noury Bouraqadi, Luc Fabresse, Jannik Laval 17 Physical)Environment) Robot) Actuator)Actuator) Computer) Sensor)Sensor) Sensor) Actuator)Actuator) Actuator) Algo) Algo) C,)C++) Python) ?" ) ) )
  • 25. 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) ) ) )
  • 26. Noury Bouraqadi, Luc Fabresse, Jannik Laval 19 Physical)Environment) Robot) Actuator)Actuator) Computer) Sensor)Sensor) Sensor) Actuator)Actuator) Actuator) Algo) Algo) C,)C++) Python) ) ) )
  • 27. 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) ) ) )
  • 29. Noury Bouraqadi, Luc Fabresse, Jannik Laval Robot guide using 22 - Museum - Hospital - Shopping Mall - …
  • 30. Noury Bouraqadi, Luc Fabresse, Jannik Laval Robot guide using 23 https://vimeo.com/109125625
  • 31. Noury Bouraqadi, Luc Fabresse, Jannik Laval Laser scans > Map 24
  • 32. Noury Bouraqadi, Luc Fabresse, Jannik Laval Annotated map 25
  • 33. Noury Bouraqadi, Luc Fabresse, Jannik Laval Robot guide using 26 Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder% Proprietary%So4ware%
  • 34. Noury Bouraqadi, Luc Fabresse, Jannik Laval Robot guide using 27 Motor%Odometer% Motor%Odometer%Rangefinder%Rangefinder%Rangefinder% Proprietary%So4ware% Path%% Planner% Localiza/on% System%
  • 35. 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#
  • 36. Noury Bouraqadi, Luc Fabresse, Jannik Laval 29 Talking(to( with%
  • 37. Noury Bouraqadi, Luc Fabresse, Jannik Laval 30 Talking(to( with%
  • 38. Noury Bouraqadi, Luc Fabresse, Jannik Laval 31 Talking(to( with%
  • 40. Noury Bouraqadi, Luc Fabresse, Jannik Laval You know phratch ! 33
  • 41. Noury Bouraqadi, Luc Fabresse, Jannik Laval You know phratch ! 34 on top of Pharo https://code.google.com/p/scat/
  • 42. Noury Bouraqadi, Luc Fabresse, Jannik Laval You know phratch ! 34 on top of Pharo https://code.google.com/p/scat/
  • 43. Noury Bouraqadi, Luc Fabresse, Jannik Laval You know phratch ! 34 on top of Pharo phratch.com sponsored by https://code.google.com/p/scat/
  • 44. Noury Bouraqadi, Luc Fabresse, Jannik Laval What is new ? 35 phratch.com Jetstorm - robotics Jenkins smart icons
  • 45. Noury Bouraqadi, Luc Fabresse, Jannik Laval Add-ons 36
  • 46. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 37
  • 47. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 38
  • 48. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 39
  • 49. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 39
  • 50. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 40
  • 51. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 41
  • 52. Noury Bouraqadi, Luc Fabresse, Jannik Laval Code accessibility 42
  • 53. Noury Bouraqadi, Luc Fabresse, Jannik Laval High extensibility ! 43
  • 54. Noury Bouraqadi, Luc Fabresse, Jannik Laval High extensibility ! 44
  • 55. Noury Bouraqadi, Luc Fabresse, Jannik Laval High extensibility ! 44
  • 56. Noury Bouraqadi, Luc Fabresse, Jannik Laval Used for teaching robotics! 45 https://vimeo.com/103126982
  • 58. Noury Bouraqadi, Luc Fabresse, Jannik Laval 47
  • 59. Noury Bouraqadi, Luc Fabresse, Jannik Laval 48 Resource( Constraints( (RAM,(CPU,( Ba5ery...)( Changing' Condi*ons' Hardware' +'So+ware' Integra0on'
  • 60. Noury Bouraqadi, Luc Fabresse, Jannik Laval 49 Resource( Constraints( (RAM,(CPU,( Ba5ery...)( Hardware' +'So+ware' Integra0on' Self% Adapta+on% Changing' Condi*ons'
  • 61. Noury Bouraqadi, Luc Fabresse, Jannik Laval 50 Hardware' +'So+ware' Integra0on' Self% Adapta+on% Changing' Condi*ons' Smalltalk' +'FPGA' Resource( Constraints( (RAM,(CPU,( Ba5ery...)(
  • 62. 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
  • 63. Noury Bouraqadi, Luc Fabresse, Jannik Laval 52 http://www.youtube.com/watch?v=e1Hzt4soQIc
  • 64. Noury Bouraqadi, Luc Fabresse, Jannik Laval 53 Camera RGB →HSV HSV filtrer Laser sensor Object detector Motors
  • 65. Noury Bouraqadi, Luc Fabresse, Jannik Laval 54 Camera RGB →HSV HSV filtrer Laser sensor Object detector Critical part ! Motors
  • 66. Noury Bouraqadi, Luc Fabresse, Jannik Laval 55 Smalltalk application HW/SW Partitioning SW HW PharoVM FPGA Interface
  • 67. 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'
  • 68. Noury Bouraqadi, Luc Fabresse, Jannik Laval 57 Physical)Environment) Robot% Actuator%Actuator% Computer% Sensor%Sensor% Sensor% Actuator%Actuator% Actuator% So2ware%So2ware%So2ware%
  • 69. Noury Bouraqadi, Luc Fabresse, Jannik Laval 58 Physical)Environment) Robot% Actuator%Actuator% Computer% Sensor%Sensor% Sensor% Actuator%Actuator% Actuator% So2ware%So2ware%So2ware% Safety)
  • 70. Noury Bouraqadi, Luc Fabresse, Jannik Laval 59 Simula'on* Safety*
  • 71. Noury Bouraqadi, Luc Fabresse, Jannik Laval 60 http://www.youtube.com/watch?v=oNrvuaASwrU
  • 72. Noury Bouraqadi, Luc Fabresse, Jannik Laval 61 37# Simula*on# Noise# Resources# Failure# Asynchrony# Precision#
  • 73. Noury Bouraqadi, Luc Fabresse, Jannik Laval Methodology for safe TDD 62 Ensure emergency stop working!
  • 74. 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
  • 75. 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
  • 76. 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 pass BoTest' Framework'
  • 77. Noury Bouraqadi, Luc Fabresse, Jannik Laval 66 the$
 Future
 is
 Robo-cs
  • 78. Noury Bouraqadi, Luc Fabresse, Jannik Laval 67 10#000#000+#
  • 79. Noury Bouraqadi, Luc Fabresse, Jannik Laval Big players invest in robotics 68 Amazon drones for Parcel Delivery
  • 80. Noury Bouraqadi, Luc Fabresse, Jannik Laval Big players invest in robotics 69 Google self-driving car
  • 81. Noury Bouraqadi, Luc Fabresse, Jannik Laval Big players invest in robotics 70 Google self-driving car Google&Bought&8& Robo.cs&Companies&in& 2013!&
  • 82. Noury Bouraqadi, Luc Fabresse, Jannik Laval 71 the$
 Future
 is
 Robo-cs
  • 83. Noury Bouraqadi, Luc Fabresse, Jannik Laval 72 the$
 Future
 is
 Robo-cs the$
 Future
 is
 Robo-cs
 Let’s$$make$it$with$
 Smalltalk
  • 84. Noury Bouraqadi, Luc Fabresse, Jannik Laval 72 the$
 Future
 is
 Robo-cs the$
 Future
 is
 Robo-cs
 Let’s$$make$it$with$
 Smalltalk
  • 86. Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
  • 87. Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
  • 88. Noury Bouraqadi, Luc Fabresse, Jannik Laval 74
  • 89. Noury Bouraqadi, Luc Fabresse, Jannik Laval 74 Douai
  • 90. Small Talk with Robots Noury Bouraqadi, Luc Fabresse, Jannik Laval http://car.mines-douai.fr