A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Nicolas Gobillot Charles Lesire David Doose firstname.lastname at onera.fr 1
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Introduction • Robot: a machine which is programmed to move and perform certain tasks automatically (Collins) • We need autonomy to keep robots doing complex tasks • Aerial drones are based on a Navigation, Guidance and Control software architecture [1, 2] Problem • Software architecture on robots is a recurrent problem and many already exists. • Their early analysis and validation is not so common. Contribution • We intend to bring formal analysis and validation tools to the architecture development process • It is necessary to build a modelization of the architecture’s internal parts 2
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Component Architecture • Set of instantiated components • Interfaces – Input/Output data ports • Connexions between components – Services • Properties • Component’s activities • State Machine : call of Codels – Functions – Algorithms 3
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots The NGC architecture • General purpose three level main design pattern made of: – Navigation – Guidance – Control • Highly component-based architecture 4
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots • Inputs The NGC architecture – mission objective • Navigation – localization data – High level component for planning purposes • Codels – Keeps the robot aware of its localisation – planning algorithms – Computes a coarse path and provides the next way- point on the path • Outputs • Guidance – next sub-waypoint • Control 5
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots • Inputs The NGC architecture – waypoint to reach • Navigation – proximeter data • Guidance • Codels – Mid-level component for path management – obstacle avoidance – Reactive obstacle avoidance with raw sensor informa- – path follower tion – Computes a generic speed information depending on • Outputs the robot’s kinematics – speeds on each DoF • Control 6
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots • Inputs The NGC architecture – speeds on each DoF • Navigation • Codels • Guidance – ad-hoc or generic inverse model of the target • Control • Outputs – Low level component for robotic target adaptation – actuator-specific commands – Computes the command applied to the robot’s actu- ators 7
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Possible extensions • Di ff erent planners : Deployer : Mission management • Manual control : Core NGC architecture • Data type and format adapters : Human interaction Implementation : Adapters : Drivers 8
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots 9
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Work in progress • By analyzing the traces of the running components we extract their WCET (worst execution time of a single component) • We then compute the component’s WCRT (worst response time of a component depending of its preemptions) and for- mally analyse the architecture’s scheduling for a validation 10
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Work in progress • By analyzing the traces of the running components we AdapterToCICAS t extract their WCET (worst execution time of a single component) Control t Switch t • We then compute the component’s WCRT (worst response Guidance time of a component depending of its preemptions) and for- t mally analyse the architecture’s scheduling for a validation Joystick t AdapterLocalPos t Navigation t Planner t 11
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Best practices Conclusion • Modular architecture • Analysis – separate codel from component • Identical deployment between di ff erent targets – avoid any causal link between components – codels should be reentrant • Most of the code is reusable thanks to data types adapters – avoid unbounded loops in any part of the code • Robustness • Robust human in the loop behaviour – build many small components instead of few big ones • Component redundancy • Genericity – adapters should be used to increase code and compo- • Component failure safe nents reusability 12
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots Remaining work • Model more codels and compute their WCETs in order to bring an early validation of the designed architecture • Component code generation from the Mauve formal models Why State-of-the-Art is inadequate • Many ad hoc architectures with few reusable parts • Late validation leading to a di ff erent behaviour between the modelled architecture and the real one due to language specificities 13
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots References [1] F. Kendoul, “Survey of Advances in Guidance, Navigation, and Control of Unmanned Rotorcraft Systems,” Journal of Field Robotics , vol. 29, no. 2, 2012. [2] J.-H. Kim, S. Sukkarieh, and S. Wishart, “Real-Time Navigation, Guidance, and Control of a UAV Using Low-Cost Sensors,” in Field and Service Robotics (FSR 2003) , (Lake Yamanaka, Japan), 2003. 14
Recommend
More recommend