Embedded Motion Control 2017 Group 1

From Control Systems Technology Group
Jump to navigation Jump to search

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:

  1. Corridor challenge: The robot should drive through a corridor and take the first exit.
  2. 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

Components

Specifications

Interfaces

Specifications interfaces.png