Embedded Motion Control 2017 Group 1: Difference between revisions
Jump to navigation
Jump to search
Line 49: | Line 49: | ||
=== Overview=== | === Overview=== | ||
In this article a summary of the embedded software design is presented.This software is used to solve the following problems: | In this article a summary of the embedded software design is presented.This software is used to solve the following problems: | ||
# Corridor challenge: The robot should drive through a corridor and take the | # Corridor challenge: The robot should drive through a corridor and take the first exit. | ||
# Maze challenge: The robot should drive through a maze and | # Maze challenge: The robot should drive through a maze and find the exit. | ||
=== Requirements === | === Requirements === |
Revision as of 13:23, 9 May 2017
Group Members
Name: | Student id: |
Karel van de Plassche | 0653197 |
Joey Hendriks | 0773023 |
Ioannis-Dionysios Bratis | 0978560 |
Jad Haj Mustafa | 0979428 |
Jip Reinders | 0853301 |
Juliana Langen | 0617062 |
Yanick Douven | Tutor |
Initial Design
Link to file: PDF
Overview
In this article a summary of the embedded software design is presented.This software is used to solve the following problems:
- Corridor challenge: The robot should drive through a corridor and take the first exit.
- Maze challenge: The robot should drive through a maze and find the exit.
Requirements
Functions
Function | Description | |
---|---|---|
Low-level | initialize | Initialize actuators |
readSensors | Read the odometer and laser data | |
turnLeft | Turn 90° left | |
turnRight | Turn 90° right | |
turnAround | Turn 180° | |
stopMovement | Stop omniwheels | |
driveForward | Accelerate or decelerate | |
driveBackward | Drive backward | |
driveLeft | Move left | |
driveRight | Move right | |
ringBell | Ring the bell of the door. | |
Mid-level | detectWall | Detect a wall (~30cm) |
detectCorner | Detect a corner (crossing of two walls) | |
detectDeadEnd | Detect a dead end | |
detectFinish | Detect the finish line | |
detectOpenSpace | Detect an open space | |
detectOpenWorld | Detect if in the open world (like the maxe exit) | |
detectTJunction | Detect a T-junction (where three corridors meet) | |
detectCrossing | Detect a crossing (where the four corridors meet) | |
shutDown | Terminate robot, if required | |
checkDoor | Send a signal and wait x seconds | |
chooseCorridor | Choose which corridor to take | |
High-level | stayBetweenWalls | Stay in the center of two walls |
createMap | Build map of surroundings | |
trackPath | track the path through the map | |
detectLoop | Detect a loop in the maze | |
detectStack | Detect if stuck | |
optimalDecision | Decide next move based on given algorithm |