Embedded Motion Control 2016 Group 2: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 22: Line 22:
The goal of the maze competition project is to create software that lets the pico robot solve a maze
The goal of the maze competition project is to create software that lets the pico robot solve a maze
and drive through it fully autonomous as fast as possible.  
and drive through it fully autonomous as fast as possible.  
In this maze there will be certain obstacles
In this maze there will be certain obstacles  
that the robot has to overcome during the solving of the maze,  
that the robot has to overcome during the solving of the maze,  
for example doors, open spaces, dead
for example doors, open spaces, dead
Line 50: Line 50:
<br>
<br>
The basic functions are:
The basic functions are:
*Translation using omniwheel actuators
*Rotation using omniwheel actuators
*Scan using the Laser Range Finder (LRF)
*Scan distance driven using odometry
These functions can then be combined to create the following skills:
*Drive:
:The robot moves using this skill. It uses the basic functions driving straight and turning. It
:also uses another skill, collision detection.
*Collision detection/prevention:
:The collision detection skill prevents the robot from hitting walls while navigating through the
:maze. It provides live feedback control from the LRF by detecting the distance to the walls
:and correcting the robots movement.
*Junction recognition:
:This skill is used to recognize junctions and corners in the maze. When the robot is moving
:through a corridor, the presence of a junction or corner can be determined from the data of the
:LRF. This data needs to be processed to make the robot aware of the junctions and corners.
*Mapping:
:This function maps the corners and junctions of the maze as nodes and corridors. The function
:is essential for preventing loops while solving the maze. This skill depends on the Junction
:recognition skill.
*Localization:
:This skill will locate the robot with respect to the maze. This skill will probably use a combination
:of the LRF and odometry data to determine a location in the map created with the
:mapping skill.
*Recognizing doors:
:As previously described, the robot should be able to open doors by beeping in front of them.
:Therefore the system has to recognize a door to prevent beeping at every obstacle and thus
:wasting time.

Revision as of 22:45, 17 May 2016

Group Members

0779760 Ilias Aouaj
0818316 Florian Bastiaens
0784690 Menno Bouma
0775033 Anton Duys
0755206 Yannick Knops

Goal

The goal of the maze competition project is to create software that lets the pico robot solve a maze and drive through it fully autonomous as fast as possible. In this maze there will be certain obstacles that the robot has to overcome during the solving of the maze, for example doors, open spaces, dead ends and loops in the maze.

Initial design

Initial Idea

This is the report for the deadline of 27-04 about our initial thoughts of how we will structure the software for a autonomous maze solving robot.

Initial Idea Report

Requirements

Based on the restrictions of the maze competition and the conditions that have to be met, the following requirements are set:

  • The maze has to be solved by the robot autonomously within a given timeframe
  • The robot has to avoid collisions with the walls and other obstacles
  • The robot has to recognize doors
  • The robot cannot be idle for a certain time

Functions

To keep a well structured overview of the functions, they are divided into two categories: the basic hardware functions and the skills. The basic functions are the lowest level and they represent the hardware. The skills are combinations of basic functions to complete more difficult tasks
The basic functions are:

  • Translation using omniwheel actuators
  • Rotation using omniwheel actuators
  • Scan using the Laser Range Finder (LRF)
  • Scan distance driven using odometry

These functions can then be combined to create the following skills:

  • Drive:
The robot moves using this skill. It uses the basic functions driving straight and turning. It
also uses another skill, collision detection.
  • Collision detection/prevention:
The collision detection skill prevents the robot from hitting walls while navigating through the
maze. It provides live feedback control from the LRF by detecting the distance to the walls
and correcting the robots movement.
  • Junction recognition:
This skill is used to recognize junctions and corners in the maze. When the robot is moving
through a corridor, the presence of a junction or corner can be determined from the data of the
LRF. This data needs to be processed to make the robot aware of the junctions and corners.
  • Mapping:
This function maps the corners and junctions of the maze as nodes and corridors. The function
is essential for preventing loops while solving the maze. This skill depends on the Junction
recognition skill.
  • Localization:
This skill will locate the robot with respect to the maze. This skill will probably use a combination
of the LRF and odometry data to determine a location in the map created with the
mapping skill.
  • Recognizing doors:
As previously described, the robot should be able to open doors by beeping in front of them.
Therefore the system has to recognize a door to prevent beeping at every obstacle and thus
wasting time.