Embedded Motion Control 2017 Group 10: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 98: Line 98:
==''Interface''==
==''Interface''==
The interfaces between functions are shown in Figure 3. Here the functions are devided into: Tasks, Skills, Motion and World Model. The world model contains the functions that are used to keep track of Pico's surrounding. Tasks contains the functions on the highest level where the robot decides what it is going to do, like solve the maze. The skill block consists of all functions that make the robot perform lower level tasks such that the high level objective can be achieved. The motion block does the low level operations that make the skill functions work.
The interfaces between functions are shown in Figure 3. Here the functions are devided into: Tasks, Skills, Motion and World Model. The world model contains the functions that are used to keep track of Pico's surrounding. Tasks contains the functions on the highest level where the robot decides what it is going to do, like solve the maze. The skill block consists of all functions that make the robot perform lower level tasks such that the high level objective can be achieved. The motion block does the low level operations that make the skill functions work.
[[File:interfaces.png|thumb|center|600px|alt=interface diagram group 10|Figure 3: Interface overview of all functions needed by Pico to solve the maze and corridor challenge.]]
[[File:Iynterfaces.png|thumb|center|600px|alt=interface diagram group 10|Figure 3: Interface overview of all functions needed by Pico to solve the maze and corridor challenge.]]


='''The Corridor Challenge'''=
='''The Corridor Challenge'''=

Revision as of 14:45, 16 May 2017

Group Members

0773865 Tim Coerver
0953808 Pieter de Groot
0970955 Jos Terlouw
0973811 Bas Vermij
0972391 Roel Vromans
0975718 Corné van Haren

Initial Design

Link to the PDF version of the design document: PDF

Requirements

  • Software easy to setup
    • Updated with one easy command, e.g. 'git pull'.
    • Software can be compiled using 'cmake' and 'make'.
    • One executable to start software.
  • Autonomously solving the corridor challenge
    • Solving the corridor challenge has to be done within 5 minutes.
  • Autonomously solving the maze challenge
    • Solving the maze challenge has to be done within 7 minutes.
  • Avoiding collision
    • Do not bump into walls or doors.
  • Recognize and open a door in the maze
    • There might be multiple dead ends in the maze, one of which is a door. The robot has to be autonomously open the door (by ringing a bell) to solve the maze.
  • Detect corridors, corners, T-junctions and intersections
    • The maze and corridor challenge consists of several, corridors, corners, T-junctions and intersections. Various algorithms created in order to detect these.
  • Navigate through corridors, corners, T-junctions and intersections
    • When corridors, corners, T-junctions and intersections are detected, the robot has to drive trough these. In order to do this, strategies have to be created for each of these.
  • Detecting dead ends
    • The maze can contain dead ends, these have to be distinguished from doors.
  • Detecting maze exit
    • The exit of the maze has to be detected in order to know when the maze is finished.
  • Navigate open spaces
    • The maze can contain open spaced, when these are detected these has to be explored by navigating trough them.

Specifications

The specifications are related to the requirements specified above.

  • The time to reach the end of the maze is 7 minutes.
  • The time to accomplish the corridor challenge is 5 minutes
  • The robot may not be idle for more than 30 seconds.
  • When the robot find a door, it rings a bell and the door will be opened manually.
  • Two attempts to solve the maze are allowed. Both attempts have to be finished within 7 minutes total.
  • Two attempts are allowed to solve the corridor challenge. Both attempts have to be finished within 5 minutes.
  • When the robot bumps into a wall the attempt is over.


Specifications of the maze

  • All walls are positioned approximately perpendicular to one another.
  • Open spaces might occur (as depicted in Figure 1 ).
  • There may be loops in the maze, which means that some walls may not be connected to other walls.
  • Walls are approximately parallel.

Doors and open spaces are specified as described by Figure 1.

Mazediag
Figure 1: Maze open spaces and door specifications

Functions

The functions are categorized in three different levels of complexity: Low, Mid and High level. An overview of the functions is given in Figure 2.

function diagram group 10
Figure 2: Function overview. The functions are grouped based on complexity as well as input/output type.

Components

The following components are accessible on the pico:

  • Actuators
    • Holonomic Base (Omni-wheels)
  • Computer
    • CPU Intel i7
    • OS Ubuntu 14.04

Interface

The interfaces between functions are shown in Figure 3. Here the functions are devided into: Tasks, Skills, Motion and World Model. The world model contains the functions that are used to keep track of Pico's surrounding. Tasks contains the functions on the highest level where the robot decides what it is going to do, like solve the maze. The skill block consists of all functions that make the robot perform lower level tasks such that the high level objective can be achieved. The motion block does the low level operations that make the skill functions work.

File:Iynterfaces.png
Figure 3: Interface overview of all functions needed by Pico to solve the maze and corridor challenge.

The Corridor Challenge

The Maze Challenge

Weekly Planning

- make code for coridor challenge, divide the functions.
- plan a meeting with our supervisor(s)