Embedded Motion Control 2017 Group 9: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= Group Members = | = Group Members = | ||
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse;"> | <table border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse;"> | ||
Line 45: | Line 43: | ||
<!-- --> <!-- White space --> | <!-- --> <!-- White space --> | ||
== Initial Design == | |||
[[File:Assignment-for-week1.pdf]] | |||
=== Requirements === | |||
In order to achieve the goal, the following requirements have to be met:<br><br> | |||
* The robot has to drive through any maze complying with specifications | |||
* It has to escape the maze within the time limit | |||
* Collisions with the walls must be avoided | |||
* Doors must be opened | |||
* Doors must be recognized in order to achieve the previous requirement | |||
* The software has to be robust for imperfections in the measurement data and disturbances | |||
* The robot must not be idle for a long period of time | |||
* The robot must not ring the bell too often | |||
* The robot must autonomously solve and navigate through the maze | |||
* The Software must be started with only one executable | |||
<br> | |||
=== Functions === | |||
The software must have the following functions in order to meet the requirements and fulfill the goal:<br><br> | |||
{| class="wikitable" | |||
|- | |||
! Function: | |||
! Description | |||
|- | |||
| Drive forward | |||
| The robot must drive forward unless something, for | |||
example a wall or a corner, is detected | |||
|- | |||
| Drive backward | |||
| The robot must drive a little bit backward if it is unable to rotate | |||
|- | |||
| Turn left | |||
| Make a 90degree left turn | |||
|- | |||
| Turn right | |||
| Make a 90degree right turn | |||
|- | |||
| Ring bell | |||
| The bell must be rang in order to open the door | |||
|- | |||
| Localize | |||
| The robot has to localize itself in the world model, because the | |||
odometry data isn't that accurate | |||
|- | |||
| Wait | |||
| The robot must wait at a dead end in order to check if it is a | |||
door | |||
|} | |||
<br> | |||
=== Components === | |||
The following components will be used to reach the goal:<br><br> | |||
'''Sensors''' <br> | |||
* Laser range finder which uses a laser beam to determine the distance to an object | |||
* Wheel encoders (odometry) to estimate the position of the robot relative to a starting location | |||
'''Actuators''' <br> | |||
* Holonomic base with omni-wheels | |||
* Bell to open the door | |||
* Pan-tilt unit for head (which will not be used) | |||
'''Computer''' <br> | |||
* Intel I7 | |||
* Ubuntu 14.04 | |||
<br> | |||
=== Specifications === | |||
The goal and the requirements will be achieved with the following specifications: <br> <br> | |||
'''Robot'''<br> | |||
* The maximum transnational speed of the robot is 0.5 m/s | |||
* The maximum rotational speed equals 1.2 rad/s | |||
* The corridor challenge has to be solved in 5 minutes | |||
* The maze challenge has to be solved in 7 minutes | |||
* Both challenges have a maximum of two trials | |||
* The laser range finder (LRF) has a range of 270 degrees | |||
* The wheel encoders have an unknown accuracy | |||
* The robot must not be idle for more than 30 seconds | |||
'''Maze'''<br> | |||
* The corners will be approximately 90 degrees | |||
* The wall distance is 0.5-1.5 meter | |||
* There is only 1 door in the maze | |||
* The door starts opening in 2 seconds | |||
* The door opens if the robot is within 1.3 meter of the door | |||
* The door is open in 5 seconds | |||
* The number of rings must not be larger than the number of potential doors | |||
* The maze may contain loops | |||
* The maze can contain dead ends | |||
<br> | |||
=== Interfaces === | |||
[[File:Interfacesgr62017.png|center|Interfaces for Pico/Taco robot in EMC Maze Challenge]] | |||
The main relations between the interfaces are colored red and can be described as follows:<br><br> | |||
'''World model -> Task:'''The world model can give information about taken paths to the Task<br> | |||
'''World model -> Skill:'''The stored observations in the world model are used for movement skills<br> | |||
'''World model -> Motion:'''The world model can give data to the actuators<br> | |||
'''World model -> User interface:''' The user interface needs the data from the world model to visualize the world model to the human<br> | |||
'''Task -> World model:'''The task needs to store information about paths in world model<br> | |||
'''Skill -> World model :'''The world model is build from observations<br> | |||
'''Motion -> World model :'''The motion can give sensor data about the position to the world model<br> |
Revision as of 18:14, 15 May 2017
Group Members
Name: | Student id: |
Mian Wei | X |
Zhihao Wu | X |
Petrus Teguh Handoko | X |
Bo Deng | X |
Bo Cong | X |
Jian Wen Kok | X |
Nico Huebel | Tutor |
Initial Design
Requirements
In order to achieve the goal, the following requirements have to be met:
- The robot has to drive through any maze complying with specifications
- It has to escape the maze within the time limit
- Collisions with the walls must be avoided
- Doors must be opened
- Doors must be recognized in order to achieve the previous requirement
- The software has to be robust for imperfections in the measurement data and disturbances
- The robot must not be idle for a long period of time
- The robot must not ring the bell too often
- The robot must autonomously solve and navigate through the maze
- The Software must be started with only one executable
Functions
The software must have the following functions in order to meet the requirements and fulfill the goal:
Function: | Description |
---|---|
Drive forward | The robot must drive forward unless something, for
example a wall or a corner, is detected |
Drive backward | The robot must drive a little bit backward if it is unable to rotate |
Turn left | Make a 90degree left turn |
Turn right | Make a 90degree right turn |
Ring bell | The bell must be rang in order to open the door |
Localize | The robot has to localize itself in the world model, because the
odometry data isn't that accurate |
Wait | The robot must wait at a dead end in order to check if it is a
door |
Components
The following components will be used to reach the goal:
Sensors
- Laser range finder which uses a laser beam to determine the distance to an object
- Wheel encoders (odometry) to estimate the position of the robot relative to a starting location
Actuators
- Holonomic base with omni-wheels
- Bell to open the door
- Pan-tilt unit for head (which will not be used)
Computer
- Intel I7
- Ubuntu 14.04
Specifications
The goal and the requirements will be achieved with the following specifications:
Robot
- The maximum transnational speed of the robot is 0.5 m/s
- The maximum rotational speed equals 1.2 rad/s
- The corridor challenge has to be solved in 5 minutes
- The maze challenge has to be solved in 7 minutes
- Both challenges have a maximum of two trials
- The laser range finder (LRF) has a range of 270 degrees
- The wheel encoders have an unknown accuracy
- The robot must not be idle for more than 30 seconds
Maze
- The corners will be approximately 90 degrees
- The wall distance is 0.5-1.5 meter
- There is only 1 door in the maze
- The door starts opening in 2 seconds
- The door opens if the robot is within 1.3 meter of the door
- The door is open in 5 seconds
- The number of rings must not be larger than the number of potential doors
- The maze may contain loops
- The maze can contain dead ends
Interfaces
The main relations between the interfaces are colored red and can be described as follows:
World model -> Task:The world model can give information about taken paths to the Task
World model -> Skill:The stored observations in the world model are used for movement skills
World model -> Motion:The world model can give data to the actuators
World model -> User interface: The user interface needs the data from the world model to visualize the world model to the human
Task -> World model:The task needs to store information about paths in world model
Skill -> World model :The world model is build from observations
Motion -> World model :The motion can give sensor data about the position to the world model