SlideShare a Scribd company logo
1 of 22
Download to read offline
Towards 
Live 
Programming 
in 
ROS 
with 
PhaROS 
and 
LRP 
Pablo 
Estefó1, 
Miguel 
Campusano2, 
Luc 
Fabresse1, 
Johan 
Fabry2, 
Jannik 
Laval1, 
and 
Noury 
Bouraqadi1 
hJp://pleiad.cl 
1 
2 
France 
hJp://car.mines-­‐douai.fr
RoboOc 
ApplicaOon 
Lifecycle 
1. Develop 
/ 
Borrow 
Parts 
2. Assemble 
Parts 
3. Run 
+ 
Analyze 
Behavior 
4. Stop 
5. Fix 
bugs 
/ 
Improve 
6. Goto 
step 
2 
2
ROS 
RoboOc 
ApplicaOon 
Lifecycle 
1. Develop 
/ 
Borrow 
ROS 
Packages 
2. Assemble 
= 
Define 
Launch 
file 
3. Run 
+ 
Analyze 
Behavior 
4. Stop 
5. Fix 
bugs 
/ 
Improve 
6. Goto 
step 
2 
3
ROS 
RoboOc 
ApplicaOon 
Lifecycle 
1. Develop 
/ 
Borrow 
ROS 
Packages 
2. Assemble 
= 
Define 
Launch 
file 
3. Run 
+ 
Analyze 
Behavior 
4. Stop 
5. Fix 
bugs 
/ 
Improve 
6. Goto 
step 
2 
4 
Context 
is 
lost 
ForgoJen 
details
Live 
Programming 
5 
Edit 
program 
at 
Run-­‐Ome 
Immediate 
Feedback
Programming 
with 
ROS 
6 
Parameters 
Code 
Node 
1 
Topic 
Node 
2
ROS 
Example 
7 
square_length 
Code 
draw_ 
square 
velocity 
turtle
Requirements 
for 
Live 
Programming 
with 
ROS 
1. Stop/Start 
= 
Replace 
individual 
nodes 
2. Change 
parameters 
at 
run-­‐Ome 
3. Change 
code 
at 
run-­‐Ome 
Parameters 
4. Change 
connecOons 
= 
topics 
at 
run-­‐Ome 
8 
Node 
Topic 
Code
Requirement 
1 
• Start/Stop 
Start 
= 
Replace 
individual 
nodes 
• Problem 
in 
ROS 
: 
– ApplicaOon 
= 
1 
.launch 
staOc 
file 
• Command 
line 
Changes 
are 
lost 
– Bug 
when 
restarOng 
individual 
nodes 
9 
Node
Requirement 
1 
• Start/Stop 
Start 
= 
Replace 
individual 
nodes 
– Problem 
in 
ROS 
: 
• ApplicaOon 
= 
1 
.launch 
staOc 
file 
• Bug 
when 
restarOng 
individual 
nodes 
– Example 
restarOng 
a 
turtle 
10 
draw_ 
square 
velocity 
turtle
Requirement 
2 
• Change 
node 
parameters 
at 
run-­‐Ome 
• Problem 
in 
ROS 
: 
– Parameters 
fixed 
in 
launch 
file/rosrun 
command 
line 
– Changing 
them 
à 
restart 
the 
full 
app 
11
Requirement 
2 
• Change 
node 
parameters 
at 
run-­‐Ome 
• Problem 
in 
ROS 
: 
– Parameters 
fixed 
in 
launch 
file/rosrun 
command 
line 
– Changing 
them 
à 
restart 
the 
full 
app 
• Example 
: 
Change 
square_length 
12 
draw_ 
square 
velocity 
turtle 
square_length
Requirement 
3 
• Change 
node 
code 
at 
run-­‐Ome 
• Problem 
in 
ROS 
: 
– Use 
of 
C/C++ 
mainly 
– No 
Hot 
Code 
Swapping 
13 
Code
Requirement 
4 
• Change 
node 
connecOons 
at 
run-­‐Ome 
– Change 
topics 
names 
(remape 
/ 
name 
space) 
• Problem 
in 
ROS 
: 
– Topic 
names 
are 
fixed 
at 
launch 
Ome 
14 
Topic
Proposal 
• Highly 
reflecOve 
and 
Dynamic 
– “Everything 
happens 
at 
run-­‐Ome” 
15
Proposal 
• Highly 
reflecOve 
and 
Dynamic 
– “Everything 
happens 
at 
run-­‐Ome” 
• DSL 
for 
hierarchical 
state 
machines 
– Integrated 
with 
Pharo 
16
Proposal 
• Highly 
reflecOve 
and 
Dynamic 
– “Everything 
happens 
at 
run-­‐Ome” 
• DSL 
for 
hierarchical 
state 
machines 
– Integrated 
with 
Pharo 
• PhaROS 
: 
ROS 
Client 
for 
Pharo 
– Nodes 
developed 
in 
Pharo 
17
LRP 
+ 
PhaROS 
in 
AcOon 
18 
Laser 
Range 
Odometery 
DifferenOal 
Drive 
/pose 
LRP 
Automata 
PhaROS 
node 
ROS 
Graph
Example 
1: 
Stop 
on 
Obstacle
19 
On 
User 
Command 
On 
Obstacle
Example 
2: 
Obstacle 
Avoider
20 
Right 
Obstacle 
Obstacle 
NO 
Le2 
Obstacle 
NO 
Obstacle 
NO 
Right 
Obstacle 
Le2 
Obstacle

More Related Content

Similar to Towards Live Programming in ROS with PhaROS and LRP

Fast FSI in the Fluent Solver using RBF Morph Modal Superposition Method
Fast FSI in the Fluent Solver using RBF Morph Modal Superposition MethodFast FSI in the Fluent Solver using RBF Morph Modal Superposition Method
Fast FSI in the Fluent Solver using RBF Morph Modal Superposition MethodMarco E. Biancolini
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia NecheporenkoOdessaJS Conf
 
From Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPFrom Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPAlbert Chen
 
Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002duquoi
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROSArnoldBail
 
Scale by the Bay 2019 Reprogramming the Programmer
Scale by the Bay 2019 Reprogramming the ProgrammerScale by the Bay 2019 Reprogramming the Programmer
Scale by the Bay 2019 Reprogramming the ProgrammerPaul Cleary
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp
 
OpenPOWER Application Optimization
OpenPOWER Application Optimization OpenPOWER Application Optimization
OpenPOWER Application Optimization Ganesan Narayanasamy
 
ROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfAmine Bendahmane
 
All bugfixes are incompatibilities
All bugfixes are incompatibilitiesAll bugfixes are incompatibilities
All bugfixes are incompatibilitiesnagachika t
 
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocket
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocketDEF CON 27- BRIZENDINE STROSCHEIN - the jop rocket
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocketFelipe Prado
 
Erlang workshopdrammen
Erlang workshopdrammenErlang workshopdrammen
Erlang workshopdrammenReidar Sollid
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014ESUG
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014Marcus Denker
 
ESIL - Universal IL (Intermediate Language) for Radare2
ESIL - Universal IL (Intermediate Language) for Radare2ESIL - Universal IL (Intermediate Language) for Radare2
ESIL - Universal IL (Intermediate Language) for Radare2Anton Kochkov
 

Similar to Towards Live Programming in ROS with PhaROS and LRP (20)

Ekon24 mORMot 2
Ekon24 mORMot 2Ekon24 mORMot 2
Ekon24 mORMot 2
 
Fast FSI in the Fluent Solver using RBF Morph Modal Superposition Method
Fast FSI in the Fluent Solver using RBF Morph Modal Superposition MethodFast FSI in the Fluent Solver using RBF Morph Modal Superposition Method
Fast FSI in the Fluent Solver using RBF Morph Modal Superposition Method
 
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
'BUILDING ANGULAR APPS WITH NX' by Anastasia Necheporenko
 
From Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPFrom Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHP
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 
Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002Advanced Bash Scripting Guide 2002
Advanced Bash Scripting Guide 2002
 
Introduction to multicore .ppt
Introduction to multicore .pptIntroduction to multicore .ppt
Introduction to multicore .ppt
 
Raspberry Pi + ROS
Raspberry Pi + ROSRaspberry Pi + ROS
Raspberry Pi + ROS
 
Scale by the Bay 2019 Reprogramming the Programmer
Scale by the Bay 2019 Reprogramming the ProgrammerScale by the Bay 2019 Reprogramming the Programmer
Scale by the Bay 2019 Reprogramming the Programmer
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
 
OpenPOWER Application Optimization
OpenPOWER Application Optimization OpenPOWER Application Optimization
OpenPOWER Application Optimization
 
Cobol 5 presentation
Cobol 5 presentationCobol 5 presentation
Cobol 5 presentation
 
ROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdfROS - An open source platform for robotics software developers (lecture).pdf
ROS - An open source platform for robotics software developers (lecture).pdf
 
All bugfixes are incompatibilities
All bugfixes are incompatibilitiesAll bugfixes are incompatibilities
All bugfixes are incompatibilities
 
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocket
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocketDEF CON 27- BRIZENDINE STROSCHEIN - the jop rocket
DEF CON 27- BRIZENDINE STROSCHEIN - the jop rocket
 
Concurrency in ruby
Concurrency in rubyConcurrency in ruby
Concurrency in ruby
 
Erlang workshopdrammen
Erlang workshopdrammenErlang workshopdrammen
Erlang workshopdrammen
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014
 
Pharo Status ESUG 2014
Pharo Status ESUG 2014Pharo Status ESUG 2014
Pharo Status ESUG 2014
 
ESIL - Universal IL (Intermediate Language) for Radare2
ESIL - Universal IL (Intermediate Language) for Radare2ESIL - Universal IL (Intermediate Language) for Radare2
ESIL - Universal IL (Intermediate Language) for Radare2
 

More from Noury Bouraqadi

PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023Noury Bouraqadi
 
PharoJS for Real World Applications
PharoJS for Real World ApplicationsPharoJS for Real World Applications
PharoJS for Real World ApplicationsNoury Bouraqadi
 
Client-Server Development with PharoJS
Client-Server Development with PharoJSClient-Server Development with PharoJS
Client-Server Development with PharoJSNoury Bouraqadi
 
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and Aerosols
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and AerosolsALPAGA : An AeriaL Platform for sampling Atmospheric Gases and Aerosols
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and AerosolsNoury Bouraqadi
 
PharoJS ESUG 2019 Update
PharoJS ESUG 2019 UpdatePharoJS ESUG 2019 Update
PharoJS ESUG 2019 UpdateNoury Bouraqadi
 
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)Noury Bouraqadi
 
On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionOn 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionNoury Bouraqadi
 
Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Noury Bouraqadi
 
Pharo Networking by Example
Pharo Networking by ExamplePharo Networking by Example
Pharo Networking by ExampleNoury Bouraqadi
 
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec PharoRobots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec PharoNoury Bouraqadi
 

More from Noury Bouraqadi (10)

PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
 
PharoJS for Real World Applications
PharoJS for Real World ApplicationsPharoJS for Real World Applications
PharoJS for Real World Applications
 
Client-Server Development with PharoJS
Client-Server Development with PharoJSClient-Server Development with PharoJS
Client-Server Development with PharoJS
 
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and Aerosols
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and AerosolsALPAGA : An AeriaL Platform for sampling Atmospheric Gases and Aerosols
ALPAGA : An AeriaL Platform for sampling Atmospheric Gases and Aerosols
 
PharoJS ESUG 2019 Update
PharoJS ESUG 2019 UpdatePharoJS ESUG 2019 Update
PharoJS ESUG 2019 Update
 
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)
UbiquiTalk - An Infrastructure for Ubiquitous Computing (ESUG 2006)
 
On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based SolutionOn 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
On 2D SLAM for Large Indoor Spaces: A Polygon-Based Solution
 
Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh Ocean update - ESUG Conf 2011 @ Edinburgh
Ocean update - ESUG Conf 2011 @ Edinburgh
 
Pharo Networking by Example
Pharo Networking by ExamplePharo Networking by Example
Pharo Networking by Example
 
Robots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec PharoRobots Mobiles & Autonomes avec Pharo
Robots Mobiles & Autonomes avec Pharo
 

Recently uploaded

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Towards Live Programming in ROS with PhaROS and LRP

  • 1. Towards Live Programming in ROS with PhaROS and LRP Pablo Estefó1, Miguel Campusano2, Luc Fabresse1, Johan Fabry2, Jannik Laval1, and Noury Bouraqadi1 hJp://pleiad.cl 1 2 France hJp://car.mines-­‐douai.fr
  • 2. RoboOc ApplicaOon Lifecycle 1. Develop / Borrow Parts 2. Assemble Parts 3. Run + Analyze Behavior 4. Stop 5. Fix bugs / Improve 6. Goto step 2 2
  • 3. ROS RoboOc ApplicaOon Lifecycle 1. Develop / Borrow ROS Packages 2. Assemble = Define Launch file 3. Run + Analyze Behavior 4. Stop 5. Fix bugs / Improve 6. Goto step 2 3
  • 4. ROS RoboOc ApplicaOon Lifecycle 1. Develop / Borrow ROS Packages 2. Assemble = Define Launch file 3. Run + Analyze Behavior 4. Stop 5. Fix bugs / Improve 6. Goto step 2 4 Context is lost ForgoJen details
  • 5. Live Programming 5 Edit program at Run-­‐Ome Immediate Feedback
  • 6. Programming with ROS 6 Parameters Code Node 1 Topic Node 2
  • 7. ROS Example 7 square_length Code draw_ square velocity turtle
  • 8. Requirements for Live Programming with ROS 1. Stop/Start = Replace individual nodes 2. Change parameters at run-­‐Ome 3. Change code at run-­‐Ome Parameters 4. Change connecOons = topics at run-­‐Ome 8 Node Topic Code
  • 9. Requirement 1 • Start/Stop Start = Replace individual nodes • Problem in ROS : – ApplicaOon = 1 .launch staOc file • Command line Changes are lost – Bug when restarOng individual nodes 9 Node
  • 10. Requirement 1 • Start/Stop Start = Replace individual nodes – Problem in ROS : • ApplicaOon = 1 .launch staOc file • Bug when restarOng individual nodes – Example restarOng a turtle 10 draw_ square velocity turtle
  • 11. Requirement 2 • Change node parameters at run-­‐Ome • Problem in ROS : – Parameters fixed in launch file/rosrun command line – Changing them à restart the full app 11
  • 12. Requirement 2 • Change node parameters at run-­‐Ome • Problem in ROS : – Parameters fixed in launch file/rosrun command line – Changing them à restart the full app • Example : Change square_length 12 draw_ square velocity turtle square_length
  • 13. Requirement 3 • Change node code at run-­‐Ome • Problem in ROS : – Use of C/C++ mainly – No Hot Code Swapping 13 Code
  • 14. Requirement 4 • Change node connecOons at run-­‐Ome – Change topics names (remape / name space) • Problem in ROS : – Topic names are fixed at launch Ome 14 Topic
  • 15. Proposal • Highly reflecOve and Dynamic – “Everything happens at run-­‐Ome” 15
  • 16. Proposal • Highly reflecOve and Dynamic – “Everything happens at run-­‐Ome” • DSL for hierarchical state machines – Integrated with Pharo 16
  • 17. Proposal • Highly reflecOve and Dynamic – “Everything happens at run-­‐Ome” • DSL for hierarchical state machines – Integrated with Pharo • PhaROS : ROS Client for Pharo – Nodes developed in Pharo 17
  • 18. LRP + PhaROS in AcOon 18 Laser Range Odometery DifferenOal Drive /pose LRP Automata PhaROS node ROS Graph
  • 19. Example 1: Stop on Obstacle
  • 20. 19 On User Command On Obstacle
  • 22. 20 Right Obstacle Obstacle NO Le2 Obstacle NO Obstacle NO Right Obstacle Le2 Obstacle
  • 24. Towards Live Programming in ROS with PhaROS and LRP Pablo Estefó1, Miguel Campusano2, Luc Fabresse1, Johan Fabry2, Jannik Laval1, and Noury Bouraqadi1 hJp://pleiad.cl 1 2 France hJp://car.mines-­‐douai.fr