A Component-Based Navigation-Guidance- Control Design Pattern for - - PowerPoint PPT Presentation
A Component-Based Navigation-Guidance- Control Design Pattern for - - PowerPoint PPT Presentation
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
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
2
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
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
3
Architecture
- Set of instantiated components
- Connexions between components
- Component’s activities
Component
- Interfaces
– Input/Output data ports – Services
- Properties
- State Machine : call of Codels
– Functions – Algorithms
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
4
The NGC architecture
- General purpose three level main design pattern made of:
– Navigation – Guidance – Control
- Highly component-based architecture
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
5
The NGC architecture
- Navigation
– High level component for planning purposes – Keeps the robot aware of its localisation – Computes a coarse path and provides the next way- point on the path
- Guidance
- Control
- Inputs
– mission objective – localization data
- Codels
– planning algorithms
- Outputs
– next sub-waypoint
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
6
The NGC architecture
- Navigation
- Guidance
– Mid-level component for path management – Reactive obstacle avoidance with raw sensor informa- tion – Computes a generic speed information depending on the robot’s kinematics
- Control
- Inputs
– waypoint to reach – proximeter data
- Codels
– obstacle avoidance – path follower
- Outputs
– speeds on each DoF
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
7
The NGC architecture
- Navigation
- Guidance
- Control
– Low level component for robotic target adaptation – Computes the command applied to the robot’s actu- ators
- Inputs
– speeds on each DoF
- Codels
– ad-hoc or generic inverse model of the target
- Outputs
– actuator-specific commands
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
Implementation
8
Possible extensions
- Different planners
- Manual control
- Data type and format adapters
: Drivers : Adapters : Human interaction : Core NGC architecture : Mission management : Deployer
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
9
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
10
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
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
11
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
AdapterToCICAS t Control t Switch t Guidance t Joystick t AdapterLocalPos t Navigation t Planner t
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
12
Conclusion
- Modular architecture
- Identical deployment between different targets
- Most of the code is reusable thanks to data types adapters
- Robust human in the loop behaviour
- Component redundancy
- Component failure safe
Best practices
- Analysis
– separate codel from component – avoid any causal link between components – codels should be reentrant – avoid unbounded loops in any part of the code
- Robustness
– build many small components instead of few big ones
- Genericity
– adapters should be used to increase code and compo- nents reusability
A Component-Based Navigation-Guidance- Control Design Pattern for Mobile Robots
13
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 different behaviour between the modelled architecture and the real one due to language specificities