Embedded Motion Control 2015 Group 2: Difference between revisions
No edit summary |
|||
Line 162: | Line 162: | ||
= '''Composition Pattern''' = | = '''Composition Pattern''' = | ||
On the 27th of May the Composition Pattern presentation was given in the EMC lecture. In this presentation the (slightly revised) Task-Skill-Motion-framework was presented and the mapping from this to the Composition Pattern Hierarchy; which is shown in the picture below. | On the 27th of May the Composition Pattern presentation was given in the EMC lecture. In this presentation the (slightly revised) Task-Skill-Motion-framework was presented and the mapping from this to the Composition Pattern Hierarchy; which is shown in the picture below. | ||
[[File:CompositionPatternHierarchy.jpg|alt=Composition Pattern Hierarchy|Composition Pattern Hierarchy|800px]] | [[File:CompositionPatternHierarchy.jpg|alt=Composition Pattern Hierarchy|Composition Pattern Hierarchy|800px]] | ||
The slides of the presentation can be found here: * Design Document - [[File: | |||
The slides of the presentation can be found here: * Design Document - [[File:Presentation_27052015.pdf]] |
Revision as of 16:51, 29 May 2015
Go back to the main page.
Group Members
Name: | Student id: | Email: |
Groupmembers (email all) | ||
Wouter Kuijpers | 0864565 | w.j.p.kuijpers@student.tue.nl |
Carel Wechgelaer | 0874762 | c.a.wechgelaer@student.tue.nl |
Natalia Irigoyen | 0929175 | n.irigoyen.perdiguero@student.tue.nl |
Stephanie Dávalos | 0925756 | s.davalos.segura@student.tue.nl |
Georgi Hristov | 0931293 | g.s.hristov@student.tue.nl |
Paul Padilla | 0926256 | g.p.padilla.cazar@student.tue.nl |
Garbí Singla | 0932046 | G.Singla.Lezcano@tue.nl |
Amritam Das | 0923872 | a.das.1@student.tue.nl |
Tutor | ||
Luis Ferreira | n/a | L.F.Bento.Ferreira@tue.nl |
Planning
Week 1 (22/4 - 29/4)
Problem formulation, ideas on design as well as task allocation. Additional work on :
- Intitial design document
- Presentation preparation
- Ubuntu set-up with all required software running
- C++ tutorials
Week 2 (29/4 - 06/5)
- Allocation of team roles in the project
- Finish of presentation
- Finish of C++ tutorials
- Meet tutor and discuss design
- Use his feedback to improve design document
Week 3 (06/5 - 13/5)
- Presentation of initial design
- Revision of design document
- Corridor completion task :
- Tasks and code structure breakdown
- Work allocation
- Testing on the actual robot :
- 11/5 - Due
- 12/5 - Due
Week 4 (13/5 - 20/5)
Initial Deisgn
Goal
Design and implement software for the PICO robot, such that the robot is able to find the exit of the maze as quickly as possible and in a fully autonomous way.
Requirements
- Use the PICO robot to solve the “A-Maze-ing challenge.”
- The PICO robot should reach the end of the maze in the shortest time.
- The PICO robot should operate fully autonomously; after starting the robot it should make all decisions about navigating autonomously.
- The operation of the PICO robot should be independent of the maze configuration.
- During operation the PICO robot should not collide with anything, e.g. walls, doors, robots and humans.
- The software used to interface with the PICO robot should contain a software-based kill- switch to allow manual termination of the robot.
Functions
- Basic - start, stop, move forward, turn
- Navigation - maze solving algorithms and optimal path calculation
- Maze mapping - survey the area, search for doors
- Safety - keep minimum distance from walls, respond to kill-switch
Components and Specifications
- Robot Context - Low-level specifications of the PICO Robot. The robots hardware abstractions layer which takes care of all low-level sensing- and actuation-capabilities of the robot (holonomic base, odometry sensors, LRF).
- Skills Context - Contains the above mentioned robot functionalities - navigation, perception, mapping, surveying, terminating.
- Environment Context - Semantic maze model.
- Task Context - Controls the execution of the robot’s skills depending on the challenge and the environment context. The task context is divided into three major parts :
- Task control feedback: Depending on the information received from the task monitor contributes in controlling the robot skills, keeping the minimum distance to walls contraints and taking autonomous decisions.
- Task control feedforward: Depending on the state and the goal of the challenge contribute in controlling the robot skills and help construct the semantic maze map.
- Task monitor: Monitors the execution of the skills, interprets sensor readings and sends this information to the task control feedback which in turn decides upon a new control action.
- Challenge Context - Contains all the information about the maze-challenge at hand such as the rules of the game and goal of the game.
Interfaces
- Skill context – Robot context: This interface takes care of sending commands to low-level hardware and returns sensor signals.
- Challenge context – Environment context: This interface takes care of assumptions about the maze and goal approach.
- Task context – Environment context: This interface takes care of providing the correct information to the task context in order to make decisions based on the maze map.
- Task context – Skill context: This interface takes care of the skill selection based on both the contribution of the task control feedback and task control feedforward.
- Challenge context –Task context: This interface takes care of providing the goal of the challenge context to task context, in order to make decisions to aim for the goal of the challenge while adhering to the rules of the game.
- The Challenge context also provides the interface to control the robot from the outside of the field, this involves commands to start and stop the robot and provide information about the current status of the robot in the maze.
Files
- Design Document - File:Design Document.pdf
- Initial Presentation - File:Initial Presentation.pdf
Corridor Competition
On the 13th of May 2015 the Corridor Competition was scheduled. Videos of our both attempts to reach the finish of the corridor can be viewed by clicking on the two pictures below
Analysis First Try
- Keeping Minimum Distance-algorithm: performs oké, an initial limit estimation was used ensuring that the robot keeps a safe distance to the wall.
- Turning: after making a 90 degree turn the coordinator presumably switched back to normal mode, then it saw a new end of the corridor on the left and wanted to turn immediately. In this case the coordinator had to be overwritten by first driving forward without the possibility of again turning.
Analysis Second Try
- Keeping Minimum Distance-algorithm: performs oké, an initial limit estimation was used ensuring that the robot keeps a safe distance to the wall.
- Turning: we do not know what went wrong here. So far we have also not succeeded recreating the same behavior in the simulator.
Lessons Learned
- A new algorithm is needed for keeping the minimum distance to the wall, this algorithm causes a large variation in the robot's orientation. In designing this new algorithm use can be made of the algorithm as a basis.
- A new algorithm is needed to detect possible turns or, in the real maze, intersections and T-junctions. In designing this new algorithm use can be made of the algorithm as a basis.
Composition Pattern
On the 27th of May the Composition Pattern presentation was given in the EMC lecture. In this presentation the (slightly revised) Task-Skill-Motion-framework was presented and the mapping from this to the Composition Pattern Hierarchy; which is shown in the picture below.
The slides of the presentation can be found here: * Design Document - File:Presentation 27052015.pdf