Embedded Motion Control 2019 Group 5: Difference between revisions
No edit summary |
No edit summary |
||
Line 65: | Line 65: | ||
| <del>Decide next move based on given algorithm</del> | | <del>Decide next move based on given algorithm</del> | ||
|- | |- | ||
| rowspan=" | | rowspan="9" | Mid-level | ||
| Detect Wall | | Detect Wall | ||
| Set a safe distance between wall and PICO. If there are too closer with each other, PICO would execute corresponding movements. | | Set a safe distance between wall and PICO. If there are too closer with each other, PICO would execute corresponding movements. | ||
Line 75: | Line 75: | ||
| Identity the initial angle of PICO in the start position. And then, compute an angle -- θ. | | Identity the initial angle of PICO in the start position. And then, compute an angle -- θ. | ||
|- | |- | ||
| | | Scan for Exit | ||
| | | Rotate PICO to detect all the distances between wall and robot in order to find the exact position of the corridor. | ||
|- | |- | ||
| | | Move to Max | ||
| | | If PICO do not detect enough walls in the room, it will move to the direction of the maximal distance and detect walls again. | ||
|- | |- | ||
| | | Face Exit | ||
| | | Let PICO face to the exit corridor straightly but not perfectly. PICO would not rotate itself in a defined error range. | ||
|- | |- | ||
| | | Drive to Exit | ||
| | | *** | ||
|- | |- | ||
| | | Enter Exit Corridor | ||
| | | *** | ||
|- | |- | ||
| | | Follow Corridor | ||
| | | *** | ||
|- | |- | ||
| rowspan="10" | Low-level | |||
| Initialize | |||
| rowspan=" | |||
| | |||
| Initialize actuators | | Initialize actuators | ||
|- | |- | ||
| | | Read Data of Sensors | ||
| Read the odometer and laser data | | Read the odometer and laser data | ||
|- | |- | ||
| | | Turn Left | ||
| Turn 90° left | | Turn 90° left | ||
|- | |- | ||
| | | Turn Right | ||
| Turn 90° right | | Turn 90° right | ||
|- | |- | ||
| | | Turn Around | ||
| | | *** | ||
|- | |- | ||
| | | Stop Movement | ||
| Stop omniwheels | | Stop omniwheels | ||
|- | |- | ||
| | | Drive Forward | ||
| Accelerate or decelerate | | Accelerate or decelerate | ||
|- | |- | ||
| | | Drive Backward | ||
| Drive backward | | Drive backward | ||
|- | |- | ||
| | | Drive Left | ||
| Move left | | Move left | ||
|- | |- | ||
| | | Drive Right | ||
| Move right | | Move right | ||
|} | |} | ||
Revision as of 13:10, 3 June 2019
Welcome to the Wiki Page for Group 5 in the Embedded Motion Control Course (4SC020) 2019. This page contains the design plans and other details of our work in this course.
Team Members
Yi Qin | 1328441 | |
Muliang Du | 1279874 | |
Winston Mendonca | 1369237 | |
Shubham Ghatge | 1316982 | |
Robert Rompelberg | 0905720 | |
Mayukh Samanta | 1327720 |
Innitial Design of Escape Room Competition
Design Document
The initial design plan for the Escape room challenge and Hospital challenge with the PICO robot could be found here.
- I just write the subtitles that are important I think and ignore the others. -- YI
Requirements
Functions
Function | Description | |
---|---|---|
High-level | ||
Mid-level | Detect Wall | Set a safe distance between wall and PICO. If there are too closer with each other, PICO would execute corresponding movements. |
Detect Corner | Detect the number of corners of the room. | |
Startup | Identity the initial angle of PICO in the start position. And then, compute an angle -- θ. | |
Scan for Exit | Rotate PICO to detect all the distances between wall and robot in order to find the exact position of the corridor. | |
Move to Max | If PICO do not detect enough walls in the room, it will move to the direction of the maximal distance and detect walls again. | |
Face Exit | Let PICO face to the exit corridor straightly but not perfectly. PICO would not rotate itself in a defined error range. | |
Drive to Exit | *** | |
Enter Exit Corridor | *** | |
Follow Corridor | *** | |
Low-level | Initialize | Initialize actuators |
Read Data of Sensors | Read the odometer and laser data | |
Turn Left | Turn 90° left | |
Turn Right | Turn 90° right | |
Turn Around | *** | |
Stop Movement | Stop omniwheels | |
Drive Forward | Accelerate or decelerate | |
Drive Backward | Drive backward | |
Drive Left | Move left | |
Drive Right | Move right |
Interfaces
Escape Room Challenge Execution
- Introductions about functions of code. Explain each mode more or less in order to let readers know what happened in our PICO. Just like what Winston did in Tuesday evening. -- YI
Startup
This mode involves computing the required angle for PICO to complete a full 360 degree view if needed. Once the angle has been determined the state switches to SCAN_FOR_EXIT.
Scan for exit
This mode searches for an exit in its available field of view which is around 230 degrees. If it does not manage to find an exit in this field of view, it uses the angle computed in the STARTUP to complete to rotate until it manages to find the exit. If it happens to be the case that it still did not manage to find any exit it switches to a state MOVE_TO_MAX. This scenario is generally encountered if PICO is initially put in a corner adjacent to the exit wall.
Move to max
Face exit
Exit undetectable
Orient to exit wall
Drive to exit
Enter exit corridor
Exit corridor follow
Stop
Hospital Competition
The main objective for PICO is to "deliver" the medicines from one cabinet to another which will be defined by the judges just before the challenge starts. The PICO will be operating under an environment amidst static and dynamic obstacles.
Task Division - Week 21
- Status Logging Function - Muliang
- Path Planning and Environment Mapping - Mayukh
- Interpretation of Provided Environment Map - Shubham
- Capturing LRF Data into a Snapshot - Robert
- Corner/Exit detection Algorithm update - Winston
- Modularise World Model - Yi and Winston