10.07.2015 Views

High level software architecture for autonomous mobile robot

High level software architecture for autonomous mobile robot

High level software architecture for autonomous mobile robot

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2<strong>High</strong> <strong>level</strong> <strong>architecture</strong>The key idea of the <strong>architecture</strong> is task decomposition. Contrary to commonlyused <strong>architecture</strong>s we divide <strong>robot</strong> tasks into simple subtasks that are inserted intohierarchical tree during <strong>robot</strong> mission according to current situation observed by<strong>robot</strong> sensors. As <strong>robot</strong> is supposed to operate both indoor and outdoor and per<strong>for</strong>mvarious types of missions, there are two <strong>level</strong>s in the <strong>architecture</strong>, first onedeals with the mission type, second one with currently per<strong>for</strong>med mission, as denotedon figure 1. Mission <strong>level</strong> is controlled by Mission manager (MM) – the topcontrol object in the <strong>architecture</strong> that receives the initial global goal, sets appropriatemission and processes outer requests. Missions are of certain types, regardlessthe environment. Commonly used mission types might be e.g. Motion from locationA to location B on free space, Motion from on the path, Wandering on freespace, Mapping - motion in unknown environment, Manual control, etc.During <strong>robot</strong>s operation there is only one active mission at any time; MM processesthe outer requests by <strong>for</strong>ming mission tree or queue according to the request.For example, initial mission is wandering on the parking lot in front of the building.MM creates appropriate mission, sets it as current and starts. When outer requestarrives, e.g. drive into nearby building to the office, queue of missions iscreated, firstly motion on free space (parking lot) to the road entrance, secondlymotion on the road to the building, finally motion on free space inside.Initial goal definitionOuter requestMission Manager- current mission- mission treeMission- type- status- task managerTask manager- mission- status- current task- tasks treeTask- type- statusFigure 1. Top <strong>level</strong> decompositionThe decomposition inside each mission is similar; however instead of missionqueue the hierarchical tree of tasks is created. MM is replaced by Task manager(TM), structure existing only once (globally), assigned to currently per<strong>for</strong>medmission. TM holds and services the tree of tasks. Each task represents a simplegoal, commonly used tasks are e.g. Move on path, Move on free space, Localize,Avoid obstacle, Solve trap, Return to base, etc.The task is per<strong>for</strong>med until it is successfully finished or fails. Depending on failurereason the appropriate new task is assigned by TM and inserted into the tasks

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!