The kernel is a multithreaded real-time process
executing the following tasks:
-
Motion estimation (including odometry),
-
Local mapping, i.e. mapping of the immediate
surroundings of the robot. This map is necessary for enhanced and
robust sensor based navigation.
-
Global mapping: this is the map of the whole area in
which the robot navigates. MBSnaviagation can use an initial map or
build the map autonomously (SLAM: Simultaneous Localization And
Mapping). The map is automatically updated when the area is modified
(new obstacles appear, old obstacles disappear).
-
Obstacle avoidance: this task does reactive
avoidance based on sensor data and predictive avoidance based on local
map,
-
Execution controller: in charge of mission
execution, motion and action primitives start and stop in accordance
with current robot state and map data.
-
Supervision: user interface management and global
system supervision.
There are four types of modules:
-
Sensor
management modules are in charge of sensor data
acquisition and preprocessing. MBSnavigation contains modules for many
sensor types: digital and analog inputs, inertial sensors, telemeters,
cameras, etc.
-
User
interface modules inform the user of the machine state and
task progression; input modules manage user choices. Interfaces can be
as simple as buttons and light indicators or advanced like LCDs and
voice synthesizers.
-
The mission
planner is the tool that converts a generic mission
definition at user level such as "mow my lawn" or "clean my
office" into a sequence of actions. The kernel execution controller
handles the execution of this sequence.
-
Motion
and action templates (or primitives) are closed loop
controls
that guarantee navigation robustness and safety. They are also
sometimes called behaviours. The robot never
executes open loop action. It
is the fact that MBSnavigation is able to execute missions with a set
of closed loop motion templates that makes it so efficient and safe.
MBSnavigation contains many motion templates and is open to include new
templates for specific actions.
|