Illustration and validation of our approach A Software Component for Plan Management in Robotics Sylvain Joyeux through a complete robot Introduction ⇒ must manage a complex set of functions Context Thesis focus ⇒ “big enough” plan sizes to test the execution Existing approaches scalability Our approach through the management of a bi-robot plan Scenario Model ⇒ model fit to control multiple robots Execution ⇒ building joint plans Adaptation ⇒ joint plan execution Results Conclusion 14 / 75
Mono-robot scenario: the Dala rover A Software Component for Plan Management in Robotics Mission: navigation in Sylvain Joyeux unknown environment Introduction Context Thesis focus Bitmap builds a global Existing approaches Our approach traversability map Scenario Nav long-range path Model Execution planning in traversability map Adaptation Dtm builds a local elevation Results map Conclusion P3d short-range path planning in elevation map Pom position fusion 15 / 75
Bi-robot scenario: rover/UAV cooperation A Software Component for Plan Management in Robotics UAV Rover Sylvain Joyeux ⇒ long-range perception Introduction ⇒ local perception Context Thesis focus Existing approaches Our approach Scenario Model Execution Adaptation Results Conclusion 16 / 75
Simulated bi-robot setup A Software Component for Plan Management in Robotics Sylvain Joyeux Terrain Introduction Context + rich simulation: the Thesis focus Existing approaches robot software is used Our approach almost as-is Scenario Model + fault injection to test Execution error handling Adaptation Results Conclusion 17 / 75
Experimental mono-robot setup A Software Component for Plan Management in Robotics Fault injection devices Sylvain Joyeux The Dala rover Introduction Context Thesis focus Existing approaches Our approach Scenario Caylus, military "Algeco", here at LAAS Model training ground Execution Adaptation Results Conclusion RF emergency Esperce airfield brakes Thanks to Thierry, Matthieu and Arnaud 18 / 75
Experimental bi-robot setup A Software Component for Plan Management in Robotics The Ressac UAV Sylvain Joyeux Introduction Context Thesis focus Existing approaches Our approach Scenario Model Execution Adaptation Results Conclusion Thanks to Roger, Vincent and Alain at ONERA 19 / 75
2. Plan Model
Overview A Software Component for Plan What do we need ? Management in Robotics Sylvain Joyeux a representation of activities Introduction ⇒ tasks Model The robot has already reached a given point, and is now Overview moving towards another. It will update its map in the Activities future. Execution flow Execution Adaptation Results Conclusion 21 / 75
Overview A Software Component for Plan Management in What do we need ? Robotics Sylvain Joyeux a representation of activities Introduction ⇒ tasks Model a representation of the activity interactions Overview Activities ⇒ task graphs Execution flow Execution how an activity influences another Adaptation What impact the terrain mapping has on the Results movement ? Conclusion 21 / 75
Overview A Software Component for Plan Management in What do we need ? Robotics Sylvain Joyeux Introduction a representation of activities Model ⇒ tasks Overview a representation of the activity interactions Activities Execution flow ⇒ task graphs Execution how an activity influences another Adaptation constraints on the activities Results Is it allowed for the localization to stop ? Conclusion 21 / 75
Overview A Software Component for Plan Management in What do we need ? Robotics Sylvain Joyeux a representation of activities Introduction ⇒ tasks Model a representation of the activity interactions Overview Activities ⇒ task graphs Execution flow Execution how an activity influences another Adaptation constraints on the activities Results a representation of the activities evolution Conclusion ⇒ events The localization has already started. The movement has just blocked. 21 / 75
Overview A Software Component for Plan What do we need ? Management in Robotics Sylvain Joyeux a representation of activities Introduction ⇒ tasks Model a representation of the activity interactions Overview Activities ⇒ task graphs Execution flow how an activity influences another Execution constraints on the activities Adaptation Results a representation of the activities evolution Conclusion ⇒ events a representation of the whole system evolution ⇒ event graphs When the mapping is started and the path is computed, the robot can start moving 21 / 75
Tasks: representation of activities A Software Component for Plan Management in Robotics parametrized activity model Sylvain Joyeux ▼♦✈❡❚♦✭①✱ ②✮ Introduction P♦♠✿✿▲♦❝❛❧✐③❛t✐♦♥✭✮ Model ▼❛♣❩♦♥❡✭①❴st❛rt✱ ②❴st❛rt✱ ①❴❢✐♥❛❧✱ ②❴❢✐♥❛❧✮ Overview ❚r❛❝❦P❛t❤✭♣❛t❤✮ Activities Execution flow Execution Adaptation Results Conclusion 22 / 75
Tasks: representation of activities A Software Component for Plan Management in parametrized activity model Robotics Sylvain Joyeux hierarchical organization of task models ⇒ allows to represent equivalence between activities Introduction Model Overview Activities Execution flow Roby::Task() Execution Adaptation Results MoveTo(x, y, yaw) TraversabilityMapping Conclusion Bitmap::Mapping RemoteMapping P3D::MoveTo NDD::MoveTo Nav::MoveTo (x, y, yaw) (x, y, yaw) (x, y, yaw) 22 / 75
Tasks: representation of activities A Software Component for Plan Management in Robotics Sylvain Joyeux parametrized activity model Introduction hierarchical organization of task models Model notion of non-executable tasks Overview Activities ⇒ partially instantiated activities Execution flow ⇒ activities from abstract models Execution Adaptation Results Conclusion 22 / 75
Task relations: activity interactions A Software Component for Plan Management in Robotics Nav::MoveTo(x, y, yaw) Nav::MoveTo(x, y, yaw) Sylvain Joyeux planned_by Introduction Different kinds of PlanningTask Nav::Path depends_on Model relations Overview Activities P3d::TrackPath Nav::PathPlanning Execution flow hard dependency Execution planning Adaptation Pom::Localization Bmap::Mapping Results execution support Conclusion executed_by ⇒ task graphs ! Nav::Runner Pom::Runner 23 / 75
Multi-robot plans: ownership and roles A Software Component for Plan Management in Notion of ownership and roles Robotics Sylvain Joyeux ownership who is doing what ? Introduction role who will be doing what in team interest ? Model Overview Nav::MoveTo(to: C) RemoteMapping Activities Execution flow Execution DataTransfer Nav::Path Adaptation RegionsOfInterest Results P3d::TrackPath Conclusion Nav::PathPlanning POM::Localization Bmap::TravMapping 24 / 75
Execution flow: what for ? Example: perception on the Dala rover A Software The needs Component for Plan Management in trigger the updates at the appropriate times Robotics Sylvain Joyeux need to sequence the perception activities when does a perception should start/stop ? Introduction when are the maps updated ? Model . . . Overview Activities Execution flow Execution Adaptation Bitmap::Mapping Results Conclusion PlanningLoop Dtm::Mapping Bitmap::Perception Bitmap::Perception PlanningLoop Dtm::Perception Dtm::Perception 25 / 75
Events A representation of milestones during execution A Software Component for Plan Management in Robotics Sylvain Joyeux represents a noticeable situation Introduction ⇒ the robot moved more than x meters Model ⇒ timeout of 5 seconds Overview ⇒ . . . Activities Execution flow Execution Adaptation Results Conclusion 26 / 75
Events A representation of milestones during execution A Software represents a noticeable situation Component for Plan Management in ⇒ the robot moved more than x meters Robotics ⇒ timeout of 5 seconds Sylvain Joyeux ⇒ tasks are composed of events Introduction Model MoveTo(x, y, yaw) Overview Activities start Execution flow Execution success Adaptation blocked stop Results failed aborted Conclusion 26 / 75
Events A representation of milestones during execution A Software Component for Plan Management in Robotics Sylvain Joyeux represents a noticeable situation Introduction ⇒ the robot moved more than x meters Model ⇒ timeout of 5 seconds Overview Activities ⇒ tasks are composed of events Execution flow interface to control the system Execution ⇒ start an activity/stop it Adaptation ⇒ update the map Results ⇒ . . . Conclusion 26 / 75
Reacting to events: signalling A Software Component for Plan Management in Describes the reaction to events Robotics When there is a signal e 1 → e 2 the command of e 2 is Sylvain Joyeux called when e 1 is emitted Introduction Model Overview Activities Execution flow start success stop Execution Dtm::Perception Adaptation Results Conclusion start success Stereopixel::Perception 27 / 75
Reacting to events: signalling A Software Component for Plan Management in Describes the reaction to events Robotics When there is a signal e 1 → e 2 the command of e 2 is Sylvain Joyeux called when e 1 is emitted Introduction Model Overview Activities Execution flow start success stop Execution Dtm::Perception Adaptation Results Conclusion start success stop start success stop Stereopixel::Perception Dtm::FuseDtm 27 / 75
Signal is not enough ! A Software Component for Plan Management in Robotics Sylvain Joyeux ? Introduction start success stop Model Dtm::Perception Overview Activities ? Execution flow Execution Adaptation ? ? ? Results start success stop start success stop start success stop Conclusion Stereopixel::Perception Dtm::FuseDtm Dtm::FillP3dPoster 28 / 75
Event generalization: forwarding A Software Component for Plan Generalization semantic between events Management in Robotics When e 1 is forwarded on e 2 , e 2 is emitted when e 1 is. Sylvain Joyeux Therefore the situations represented by e 2 are a Introduction superset of those represented by e 1 . Model Overview Activities Execution flow start success stop Execution Dtm::Perception Adaptation Results Conclusion start success stop start success stop start success stop Stereopixel::Perception Dtm::FuseDtm Dtm::FillP3dPoster 29 / 75
Event generalization: forwarding A Software Generalization semantic between events Component for Plan Management in Robotics When e 1 is forwarded on e 2 , e 2 is emitted when e 1 is. Sylvain Joyeux Therefore the situations represented by e 2 are a superset of those represented by e 1 . Introduction Model Overview Activities Execution flow loop_success updated_data Execution Dtm::Mapping PlanningLoop Adaptation Results Conclusion start success stop Dtm::Perception start success stop Dtm::FillP3dPoster 29 / 75
Back to Dala perception loops A Software Component for Plan Management in Robotics Sylvain Joyeux implemented using two loop structures Introduction ⇒ generic structures built with the standard model Model triggers are state events Overview Activities ⇒ in this case, represent a delta in position, heading Execution flow or time Execution Adaptation Results Conclusion The loop construct 30 / 75
Summary A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction Model with separated activity and temporal structures Overview allows to represent progressive tasks and their Activities Execution flow interaction Execution able to represent joint plans Adaptation Results Conclusion 31 / 75
3. Plan Execution
Overview A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction Model event propagation Execution ⇒ synchronous model Multi-robot Errors ⇒ global propagation algorithm GC Adaptation Results Conclusion 33 / 75
Overview A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction event propagation Model ⇒ synchronous model Execution ⇒ global propagation algorithm Multi-robot multi-robot execution Errors GC rich error definition and handling Adaptation automatic cleanup of the plan Results Conclusion 33 / 75
Composition of plans in multi-robot context A Software Component for Plan Management in Robotics Sylvain Joyeux cannot have all tasks of all robots in all plans Introduction selection of relevant tasks is based on: Model Execution direct relation to one’s own plan Multi-robot ⇒ there is a relation between a local task and the Errors remote task GC an explicit subscription mechanism Adaptation ⇒ a plan manager can explicitly ask another to send Results updates about its tasks Conclusion 34 / 75
Example: partial views of Dala and Ressac Live data from Caylus 25/10 Joint plan as seen by Dala: ∼ 65 tasks, 2 remote tasks A Software Component for Plan Management in Robotics Nav::MoveTo Sylvain Joyeux Genom::Bitmap::Mapping P3d::TrackPath Nav::Path Introduction Rflex::TrackSpeedStart Model Pom::Localization PlanningLoop Bitmap::Perception UAVMapping::MapAlongPath P3d::Track Dtm::Mapping Execution Nav::RegionsOfInterest TransferSink Nav::PathPlanning Multi-robot TransferSource Errors GC Joint plan as seen by Ressac: ∼ 17 tasks, 8 remote tasks Adaptation Results Genom::Bitmap::Mapping Conclusion Pom::Localization PlanningLoop Bitmap::Perception UAVMapping::MapAlongPath Dtm::Mapping Nav::RegionsOfInterest TransferSink Nav::PathPlanning TransferSource PlanningLoop MapPath ZoneMapping::Export 35 / 75
Synchronization problems in multi-robot A Software The protocol has synchronization guaranties Component for Plan either it guarantees synchronization Management in Robotics ⇒ example: plan building tools Sylvain Joyeux or it reports plan-related errors ⇒ lack of synchronization in the plan Introduction Model Example Execution Multi-robot Errors push pull failed GC TransferSource TransferSink Adaptation Results Ressac sends a notification to Dala 1 Conclusion communication delays 2 ⇒ ❚r❛♥s❢❡r❙✐♥❦ fails in the meantime Dala receives the notification but the target does 3 not exist anymore ⇒ ❙②♥❝❤r♦♥✐③❛t✐♦♥❊rr♦r on common parent 36 / 75
Error handling A Software Component for Plan Management in Robotics Sylvain Joyeux a generic description of errors as Introduction a type Model a fault point Execution Multi-robot means to constrain the system Errors ⇒ to define what’s allowed and what is not GC Adaptation means to react to errors Results and a default mechanism for unhandled errors Conclusion 37 / 75
Managing fault modes A Software Component for Plan MoveTo(x, y, yaw) Management in Robotics start Sylvain Joyeux ⇒ forwarding is used to Introduction success represent fault modes blocked Model stop failed Execution aborted Multi-robot Errors GC Adaptation Results Conclusion 38 / 75
Managing fault modes A Software Component for Plan MoveTo(x, y, yaw) Management in Robotics start Sylvain Joyeux ⇒ forwarding is used to Introduction success represent fault modes blocked Model stop failed Execution aborted Multi-robot Errors GC Adaptation Forwarding and failure points Results Conclusion a handler which applies to a given erroneous situation . . . . . . also applies to the subsets of this situation 38 / 75
Task relations as constraint definition The link between events and task relations A Software Component for Plan Management in Robotics Sylvain Joyeux Task relations describe which situations are desired and which are forbidden Introduction Model Execution Multi-robot Errors start success stop GC Dtm::Perception Adaptation Results depends_on Conclusion start success Stereopixel::Perception 39 / 75
Task relations as constraint definition The link between events and task relations A Software Component for Plan Management in Robotics Task relations describe which situations are desired and Sylvain Joyeux which are forbidden Introduction Model Execution Multi-robot start success stop Errors Dtm::Perception GC depends_on Adaptation Results Conclusion start failed stop start success stop Stereopixel::Perception Dtm::FuseDtm Type failure point ❢❛✐❧❡❞ event of ❉❡♣❡♥❞❡♥❝②❋❛✐❧❡❞❊rr♦r ❙t❡r❡♦♣✐①❡❧✿✿P❡r❝❡♣t✐♦♥ 39 / 75
Error reparation A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction Model Three error handling methods Execution Multi-robot Errors repair errors during event propagation 1 GC Adaptation repair using subplans 2 Results exception propagation 3 Conclusion 40 / 75
Repairing errors during event propagation A Software Component for Plan Management in Robotics Sylvain Joyeux An event handler of a specific erroneous event repairs Introduction the plan Model Execution Multi-robot Errors GC poster_not_updated failed stop Adaptation Rflex::TrackSpeedStart P3d::PathTracking Results Conclusion start Rflex::TrackSpeedStart 41 / 75
Asynchronous repairs A Software Component for Plan Management in mark a task as repairing a failure point Robotics Sylvain Joyeux ⇒ plan repair Introduction during the lifetime of the repair task and while a timeout is not reached Model Execution ⇒ the error is inhibited Multi-robot Errors GC Adaptation The repair_with relation Results This relation associates a task and an event which may Conclusion be a failure point ⇒ activated when the failure point is the event 42 / 75
Example: P3D’s ❜❧♦❝❦❡❞ event A Software Component for Plan Management in Robotics Cascade of error handlers Sylvain Joyeux Introduction When the motion control reports “blocked” Model Execution update the elevation map locally Multi-robot 1 Errors if it still fails, reinitialize the elevation map 2 GC Adaptation if it still fails, the robot is really blocked 3 Results ⇒ real error Conclusion if the robot moves after a repair, reinitialize to + 1 Video ❜r❛❦❡s❴♦♥ on Rflex 43 / 75
Exception handling A Software Component for Plan Management in a failure Robotics is not handled by a repair_with relation Sylvain Joyeux has no associated plan repair Introduction a repair task has failed Model Execution Nav::MoveTo Multi-robot Errors Nav::Path GC P3d::TrackPath Adaptation Nav::PathPlanning Results Rflex::TrackSpeedStart Conclusion Genom::Bitmap::Mapping P3d::Track Dtm::Mapping PlanningLoop Bitmap::Perception failed stop Pom::Localization 44 / 75
Exception handling call order A Software Component for Plan Management in Robotics Sylvain Joyeux Nav::MoveTo Introduction Model Nav::Path Execution P3d::TrackPath Nav::PathPlanning Multi-robot Rflex::TrackSpeedStart 1 Errors GC Genom::Bitmap::Mapping P3d::Track Dtm::Mapping Adaptation Results Conclusion Pom::Localization PlanningLoop Bitmap::Perception 45 / 75
Exception handling call order A Software Component for Plan Management in Robotics Sylvain Joyeux Nav::MoveTo Introduction Model Nav::Path Execution P3d::TrackPath Nav::PathPlanning Multi-robot Rflex::TrackSpeedStart 1 Errors GC Genom::Bitmap::Mapping P3d::Track Dtm::Mapping Adaptation Results 2 Conclusion Pom::Localization PlanningLoop Bitmap::Perception 45 / 75
Exception handling call order A Software Component for Plan Management in Robotics Sylvain Joyeux 5 Nav::MoveTo Introduction 4 Model Nav::Path Execution 3 P3d::TrackPath Multi-robot Nav::PathPlanning Errors Rflex::TrackSpeedStart 1 GC Genom::Bitmap::Mapping Adaptation P3d::Track Dtm::Mapping Results 2 Conclusion Pom::Localization PlanningLoop Bitmap::Perception 45 / 75
Garbage collection A Software Component for Plan Management in Robotics Sylvain Joyeux must remove tasks which are harmful Introduction must remove tasks that are not useful anymore Model not used by any missions Execution not meaningful in the robot-robot interaction Multi-robot Errors GC Adaptation Results Our plans are made of task graphs Conclusion ⇒ global algorithm 46 / 75
Summary: the execution cycle A Software Component for Plan Management in Robotics 1. Event Sylvain Joyeux Propagation Introduction Model Execution Multi-robot 2. Error Errors GC Handling Adaptation Results Conclusion 3. Garbage 47 / 75 Collection
4. Plan Adaptation
Transactions: motivation A Software Component for Plan Management in our plan manager relies on task and event structure Robotics to manage the system Sylvain Joyeux execution flow Introduction determination of errors Model garbage collection Execution . . . Adaptation Transactions Conflicts Results Conclusion 49 / 75
Transactions: motivation A Software Component for Plan Management in Robotics Sylvain Joyeux our plan manager relies on task and event structure to manage the system Introduction Model ⇒ we need a tool to change the old structure into the Execution new one in a single step Adaptation Transactions Conflicts Results Conclusion 49 / 75
Transactions: motivation A Software Component for Plan Management in Robotics our plan manager relies on task and event structure Sylvain Joyeux to manage the system Introduction ⇒ we need a tool to change the old structure into the Model new one in a single step Execution Adaptation Transactions plan generation is not a fast process Conflicts Results planning is a complex task Conclusion communication latency in multi-robot 49 / 75
Transactions: motivation A Software Component for Plan Management in Robotics Sylvain Joyeux our plan manager relies on task and event structure to manage the system Introduction Model ⇒ we need a tool to change the old structure into the Execution new one in a single step Adaptation Transactions Conflicts Results plan generation is not a fast process Conclusion ⇒ we need a tool to allow simultaneous plan generation and execution 49 / 75
Transaction A Software Component for Plan Management in Robotics originally a concept from databases Sylvain Joyeux represents the transformation Introduction from the plan as it is being executed Model into the new plan Execution Adaptation negotiation: allows to sandbox every kind of plan change Transactions Conflicts structure Results ownership Conclusion roles subscription . . . 50 / 75
Example: Dala/Ressac negotiation Live data from Caylus 25/10 A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction Ressac’s plan Model Execution Adaptation Services::RemoteTraversabilityMapping Transactions Conflicts Results Conclusion Bitmap::Mapping start RemoteTrvMapping::Planning 51 / 75
Example: Dala/Ressac negotiation Live data from Caylus 25/10 A Software Component for Plan Management in Robotics Sylvain Joyeux Ressac’s plan Introduction Model Execution Adaptation Services::RemoteTraversabilityMapping Nav::PathPlanning Transactions Conflicts RemoteTrvMapping::Planning Results Bitmap::Mapping Conclusion PlanningLoop Dtm::Mapping Pom::Localization 51 / 75
Example: Dala/Ressac negotiation Live data from Caylus 25/10 A Software Component for Plan Management in Robotics Sylvain Joyeux Abstract proposal for Dala Introduction Model Execution Transaction built by Ressac Adaptation Transactions Conflicts Bitmap::Mapping Results Conclusion Services::RemoteTraversabilityMapping 52 / 75
Example: Dala/Ressac negotiation Live data from Caylus 25/10 A Software Component for Plan Management in Robotics Sylvain Joyeux Dala’s accepts and adds the ❘❡❣✐♦♥s❖❢■♥t❡r❡st task Introduction Model Execution Adaptation Transaction as modified by Dala Transactions Conflicts Results Nav::PathPlanning Conclusion Bitmap::Mapping Nav::RegionsOfInterest Services::RemoteTraversabilityMapping 53 / 75
Example: Dala/Ressac negotiation Live data from Caylus 25/10 A Software Component for Plan Management in Robotics Final state of the transaction Sylvain Joyeux Introduction Model Nav::PathPlanning Execution Bitmap::Mapping Adaptation Nav::RegionsOfInterest Transactions Conflicts Services::RemoteTraversabilityMapping UAVMapping::MapAlongPath Results Conclusion MapPath PlanningLoop TransferSource TransferSink PlanningLoop 54 / 75
Planning/execution conflict A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction The plan is executed while the transactions are being Model built Execution Adaptation Transactions Conflicts Results Every time the executed plan changes . . . Conclusion . . . compare the transaction with the new executed plan 55 / 75
Example: replanning P✸❞✿✿❚r❛❝❦P❛t❤ A Software Component for Plan Management in Robotics Sylvain Joyeux Main Plan Nav::MoveTo Introduction P3d::TrackPath PlanningTask Model Execution Nav::MoveTo Pom::Localization Rflex::TrackSpeedStart Adaptation PlanningTask Transactions Conflicts Results P3d::TrackPath Conclusion P3d::TrackPath Rflex::TrackSpeedStart Rflex::TrackSpeedStart PlanningTask Pom::Localization 56 / 75
Planning/execution conflict A Software Component for Plan Management in Robotics Main Plan Sylvain Joyeux Nav::MoveTo Introduction P3d::TrackPath PlanningTask Model Nav::MoveTo Execution failed stop Rflex::TrackSpeedStart Pom::Localization Adaptation PlanningTask Transactions Conflicts Results P3d::TrackPath P3d::TrackPath Conclusion Rflex::TrackSpeedStart Rflex::TrackSpeedStart Pom::Localization PlanningTask 57 / 75
Edition cycle: handling invalid transactions A Software Component for Plan Management in Robotics Planner Sylvain Joyeux Decision Control Introduction Model Interaction Marks the transaction as invalid Execution w/ decision Sends the conflict to the planner control Adaptation Transactions Conflicts Results Conclusion Nav::MoveTo Nav::MoveTo P3d::TrackPath P3d::TrackPath Plan P3d::TrackPath PlanningTask PlanningTask Pom::Localization failed stop Rflex::TrackSpeedStart PlanningTask generation Pom::Localization Change the Conflict transaction or discard it 58 / 75
Planning/execution conflicts A Software Component for Plan Management in Robotics Sylvain Joyeux Introduction Model simplest solution: discard the transaction Execution otherwise, adapt the transaction Adaptation the decision control can also forbid a plan change Transactions Conflicts brought by execution Results Conclusion 59 / 75
Summary A Software Component for Plan Management in Robotics Sylvain Joyeux Because of . . . Introduction Model the way our system works Execution need for simultaneous planning & execution Adaptation Transactions need for a plan-centric negociation tool Conflicts Results Conclusion we defined transactions ⇒ sandbox to prepare plan transformations 60 / 75
5. Results
Implementation: the Roby software A Software Component for Plan Management in Robotics Sylvain Joyeux A robotics integration framework through plan Introduction management Model Execution specification and development of tasks/events Adaptation small plan generation tool Results Conclusion integrated applications integrated simulation test-driven development 62 / 75
Mono-robot on Dala A Software Component for Plan Management in Roby plan Robotics Nav::MoveTo Sylvain Joyeux P3d::TrackPath Nav::Path PlanningTask Sequence Sequence Rflex::TrackSpeedStart P3d::Track Nav::PathPlanning P3d::ReadDemP3dPoster P3d::SetGoalParamsControl PlanningTask VirtualTask Rflex::BrakesOnFailureHandler P3d::Runner Nav::Runner PlanningLoop Bitmap::Mapping Nav::ComputePath Task Dtm::Mapping Bitmap::Perception PlanningLoop PlanningTask PlanningTask Introduction start success stop Dtm::Perception Dtm::Perception PlanningLoop Difmap::Difmap PlanningTask Bitmap::UpdateRegionMap Bitmap::Perception Bitmap::SetPosterNamesControl success stop start Dtm::FillP3dPoster Dtm::FuseDtm Stereopixel::Perception PlanningTask Dtm::FillP3dPoster Dtm::FuseDtm Stereopixel::Perception Bitmap::UpdateRegionMap PlanningTask Bitmap::FuseMap Bitmap::SetPosterNamesControl Difmap::Difmap PlanningTask Bitmap::FuseMap Model AndGenerator Camera::OneShot Stereopixel::Compute Camera::OneShot Stereopixel::Compute Bitmap::Runner Difmap::Runner Camera::Runner Integration and Pom::Localization Execution validation on top of an GenoM functional layer Adaptation Path planning existing functional Results Difmap Bitmap Nav Locomotion layer framework Conclusion Rflex Elevation Rough terrain (GenoM) mapping navigation Camera Localization P3D Stereo Dtm IMU Gyro Flat terrain navigation POM GPS NDD Sick Aspect 63 / 75
Mono-robot experiment A Software Component for Plan Management in Robotics Sylvain Joyeux duration 3-4 minutes per run for 15 meters Introduction nominal cycle size 100 milliseconds Model global execution statistics Execution Adaptation mean execution cycle size: 105 Results Conclusion 7776 emissions. max : 29/cycle 3604 commands called. max: 18/cycle 281 transaction commits. max: 3/cycle 64 / 75
Mono-robot experiment A Software Count of cycles vs. simultaneous event emissions Component for Plan Management in 300 Robotics Sylvain Joyeux 250 Introduction Model 200 Execution count of cycles Adaptation 150 Results Conclusion 100 50 0 0 5 10 15 20 25 30 events emitted ⇒ numerous cases of simultaneous event emission 64 / 75
Mono-robot experiment A Software Count of cycles vs. simultaneous event calls Component for Plan Management in 200 Robotics Sylvain Joyeux Introduction 150 Model Execution count of cycles Adaptation 100 Results Conclusion 50 0 0 5 10 15 20 events called ⇒ numerous cases of simultaneous event calls 64 / 75
Mono-robot experiment A Software Count of cycles vs. transaction commits Component for Plan 50 Management in Robotics Sylvain Joyeux 40 Introduction Model 30 Execution count of cycles Adaptation Results 20 Conclusion 10 0 0 1 2 3 4 5 events called ⇒ numerous cases of simultaneous commits of non-conflicting transactions 64 / 75
Bi-robot setup A Software ⇒ both robots have their own Roby controller Component for Plan Management in Robotics ⇒ failed because of functional layer issues on Dala Sylvain Joyeux Introduction Roby plan Roby plan Model Nav::MoveTo Genom::Bitmap::Mapping P3d::TrackPath Nav::Path PlanningTask Execution Sequence Sequence Rflex::TrackSpeedStart P3d::Track Nav::PathPlanning P3d::ReadDemP3dPoster P3d::SetGoalParamsControl PlanningTask VirtualTask Rflex::BrakesOnFailureHandler P3d::Runner Nav::Runner PlanningLoop Bitmap::Mapping Nav::ComputePath Task Pom::Localization PlanningLoop Bitmap::Perception Dtm::Mapping Bitmap::Perception PlanningLoop PlanningTask PlanningTask UAVMapping::MapAlongPath Dtm::Mapping Dtm::Perception Dtm::Perception PlanningLoop Difmap::Difmap PlanningTask Bitmap::UpdateRegionMap start success stop Bitmap::Perception Bitmap::SetPosterNamesControl Nav::RegionsOfInterest Dtm::FillP3dPoster Dtm::FuseDtm Stereopixel::Perception PlanningTask Dtm::FillP3dPoster Dtm::FuseDtm Stereopixel::Perception success stop start Bitmap::UpdateRegionMap PlanningTask Bitmap::FuseMap Bitmap::SetPosterNamesControl Difmap::Difmap TransferSink Adaptation PlanningTask Bitmap::FuseMap Nav::PathPlanning PlanningLoop MapPath TransferSource Camera::OneShot Stereopixel::Compute Camera::OneShot Stereopixel::Compute AndGenerator Bitmap::Runner Difmap::Runner Camera::Runner ZoneMapping::Export Pom::Localization Results GenoM Ressac Server Conclusion functional layer Path planning Difmap Bitmap Nav Locomotion Rflex Elevation Rough terrain mapping navigation Camera Localization P3D IMU Stereo Dtm Gyro Flat terrain navigation POM GPS NDD Sick Aspect 65 / 75
Bi-robot in simulation A Software Component for Plan Management in Difmap Bitmap Nav Robotics Sylvain Joyeux Camera Introduction P3D Stereo Dtm Simulation engine Model A priori Execution DEM file ⇒ functional layer Adaptation NDD Sick Aspect almost used as-is Results Conclusion ⇒ time control: time Rflex Pocosim synchronization simulation engine IMU between simulated robots Gyro POM Gazebo world/sensor GPS simulation 66 / 75
Bi-robot simulation results A Software Component for Plan Management in Robotics Sylvain Joyeux duration 30 minutes per run for 400 meters Introduction nominal cycle size 100 milliseconds Model global execution statistics Execution Adaptation mean execution cycle size: 110 Results 23490 emissions. max : 24/cycle Conclusion 11518 commands called. max: 15/cycle 1180 transaction commits. max: 3/cycle Video 67 / 75
Summary A Software Component for Plan Management in What still requires validation ? Robotics Sylvain Joyeux extensive use of plan adaptation operators Introduction Model transaction conflict resolution Execution multi-robot validation – only bi-robot Adaptation Results Conclusion Conclusion flexible enough to adapt to existing systems fast enough to manage a real-world, complex system built around the aim of being an application integration framework for robotics 68 / 75
6. Conclusion & Future Work
Contributions A Software Component for Plan Management in Robotics Sylvain Joyeux A rich plan model 1 Introduction with separated activity and temporal structures Model task graphs Execution adapted to multi-robot systems Adaptation Results Conclusion Contributions Future Work 70 / 75
Recommend
More recommend