Embedded Motion Control 2015 Group 6
Group Members
Name: | Student id: | E-mail: |
Akash Agarwal | 0923269 | a.agarwal@student.tue.nl |
Angus Pere | 0926353 | a.f.pere@student.tue.nl |
Ashish Yadav | 0925559 | a.yadav@student.tue.nl |
Floris Remmen | 0920072 | f.remmen@student.tue.nl |
S. Cagil Mayda | 0926975 | s.c.mayda@student.tue.nl |
Ugonna Mbaekube | 0927006 | u.o.mbaekube@student.tue.nl |
René van de Molengraft | Tutor | m.j.g.v.d.molengraft@tue.nl |
Planning
Week 1: 22 April - 29 April
- Introduction lecture
- Meeting 1: Initial design document & C++ tutorials
- Ubuntu and other required softwares Installation
Week 2: 29 April - 6 May
- 27-04 12:00: Deadline initial design
- Finishing C++ tutorials
- Start studyin maze algorithms
- Meeting 2: Division of team roles in the project
- Reading tutorials
- Prepare presentation
Week 3: 4 May - 10 May
- 6 May: First presentation of the design
Week 4: 11 May - 17 May
- 13 May: Corridor competition
Week 5: 18 May - 24 May
- Lecture 3: Composition Pattern part II by Herman Bruyninckx
Week 6: 25 May - 31 May
- 27 May: Second presentation of the design
Week 7: 1 June - 7 June
- Lecture 4: Communication patterns
Week 8: 8 June - 14 June
- 10 June: Presentation of final design
Week 9: 15 June - 21 June
- 17 June: Final competition
Initial Deisgn
Goal
The goal of the “A-Maze-ing challenge” is to design and implement a software for the PICO robot to navigate through a maze autonomously while optimizing time.
Requirements
To program a PICO robot to participate in the “A-Maze-ing challenge”, it is desired that the software meets the following requirements.
- The PICO robot should be able to navigate through any maze autonomously regardless of its configuration. (Autonomous Behaviour)
- The PICO robot should be able to avoid all obstacles during its navigation through the maze including contact with the walls of the maze.(Collision Avoidance)
- The PICO robot should never get “stuck” at any position in the maze and should make desired movements.(Movement)
- The PICO robot should be able to make use of its sensors to navigate the maze.(Use of Sensors)
- The PICO robot should have some sort of “memory” that prevents it from moving back towards paths already navigated through.(Awareness of the environment)
- The PICO robot should be able to find the optimal path through the maze while optimizing time.(Optimal Path Calculation)
- After navigating through the maze, the PICO robot should be able to autonomously terminate its movement.(Termination)
Functions
The basic functionality of the robot that are assigned to requirements in order to reach the goal are as follows:
1) Drive
- Move Forward
- Move Backwards (Reverse)
2) Obstacle & Wall Detection
3) Decision Making
- Turn Left/Turn Right
- Rotate
- Termination of movement on completion of the maze
4) Optimal Path Algorithm
- “Memory” storage
- Localisation
Components and Specificications
Schematic overview of the components to be used in the software design
1) Task Context: Controls the implementation of the robots functions depending on the challenge and environmental context.
- Task Monitor: Monitors the implementation of the robots functions and sends the information to the task control feedback.
- Task Control Feedback: Implements control action on the robot based on information received from the task monitor.
- Task Control Feedforward: Contributes in the implementation of control actions on the robot depending on the state and the goal of the challenge.
2) Environmental Context: Semantic maze model.
3) Challenge Context: All information regarding the rules and the goals of the “A-Maze-ing challenge” are stored in this context.
4) Robot Context: This incorporates the low level specifications of the PICO robot.
5) Skills Context: Contains the above mentioned robot functionalities.
Interfaces
1) Challenge Context – Environmental Context: deals with presumptions about the maze and goal methodology.
2) Skill Context- Robot Context: deals with sending commands to the low-level hardware.
3) Task Context- Environmental Context: provides information to the task context about decisions to be made in the maze.
4) Challenge Context- Task Context: provides the aim of the challenge context to the task context in order for the task context to adhere to the rules of the game while decision making.
5) Task Context – Skill Context: Allocates the necessary skill dependent on the contribution of the task control feedforward and feedback.