Embedded Motion Control 2017 Group 6: Difference between revisions
Line 48: | Line 48: | ||
=== Functions === | === Functions === | ||
The software must have the following functions in order to meet the requirements and | The software must have the following functions in order to meet the requirements and fulfill the goal:<br><br> | ||
Function Description | Function Description | ||
Line 54: | Line 54: | ||
example a wall or a corner | example a wall or a corner | ||
Drive backward The robot must drive a little bit backward if it is unable to rotate | Drive backward The robot must drive a little bit backward if it is unable to rotate | ||
Turn left Make a | Turn left Make a 90degree left turn | ||
Turn right Make a | Turn right Make a 90degree right turn | ||
Ring bell The bell must be rang in order to open the door | 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 | Localize The robot has to localize itself in the world model, because the |
Revision as of 10:18, 10 May 2017
Group members
Student | ID number |
---|---|
Ties Hoenselaar | 0857112 |
Hasan Ilisu | 0852221 |
Laura de Jong | 0743679 |
Lars Moormann | 0861223 |
Bas Straatman | 0777325 |
Jeroen van der Velden | 0----- |
Tutor: Wouter Houtman
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 is detected for
example a wall or a corner
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 for 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 a accuracy of ...
- 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:
World model -> Skill:
World model -> Motion:
World model -> User interface: The user interface needs the data from the world model to visualize
Task -> World model:
Skill -> World model :
Motion -> World model :