Embedded Motion Control 2017 Group 3: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 126: Line 126:
==Components==
==Components==


1- '''Sensors:'''Laser Range Finder (LRF), Odometry (Wheel Encoder).
1- '''Sensors:''' Laser Range Finder (LRF), Odometry (Wheel Encoder).
                  
                  
2- '''Holonomic base (omni-wheels):'''Max. translational speed of 0.5 m/s , Max angular speed of 1.2 rad/s.
2- '''Holonomic base (omni-wheels):''' Maximum translational speed of 0.5 m/s , Max angular speed of 1.2 rad/s.


3- '''Embedded platform'''Computer with Ubuntu 14.04 on an Intel i7 (other specifications are unknown)
3- '''Embedded platform''' Computer with Ubuntu 14.04 on an Intel i7 (other specifications are unknown)


4- '''Bell:''' To produce sound from PICO so as to open the door.
4- '''Bell:''' To produce sound from PICO so as to open the door.

Revision as of 11:51, 5 June 2017

Group Members

1032791 Ayisha wafa ayisha.wafa@student.tue.nl
0980790 Aparnasri Sekar a.sekar@student.tue.nl
0976940 Nick Peters @student.tue.nl
0976467 Jelte Borsboom @student.tue.nl
Tutor Wouter Kuijpers w dot j dot p dot kuijpers at tue dot nl

Documents

The initial design document namely, File:Emc-design-specification.pdf briefly indicates the approaches taken towards problem, algorithms used and system design for the robot to navigate through maze and find the exit autonomously.

The slides for the initial design presentation can be found here: File:Group3 2017 Initial design presentation.pdf

Overview

This article presents a summary of the software design to solve the following challenges with the PICO robot.

  1. Corridor competition: To follow a corridor and take the first exit.
  2. Maze competition: To solve and exit an unknown maze through a door.

The project is divided in the following aspects:

  1. Requirements
  2. Specifications
  3. Functions
  4. Components
  5. Interfaces

Requirements

After brainstorming section, requirements are listed for our robot (PICO) to complete maze successfully and is as follows:

  1. PICO may not touch the walls or any other obstacle in the maze at any time
  2. PICO must operate fully autonomous (i.e. without input from the team)
  3. PICO may not be idle for more than 3 seconds from the start of program unless it has passed the exit
  4. PICO must be able to detect available space using the Laser Range Finder (LRF) and move to the detected space according to the motion planning algorithm
  5. PICO must be able to find the exit in finite time (≤ 7 sec for maze and ≤ 5 sec for corridor.)
  6. PICO must be able to detect the objects (dead ends) that have a high probability of being a door
  7. PICO must be able to open the door in the maze and pass through it

Functions

The functions are separate modules called supervisors where, the supervisor unknown of what is inside the other supervisor. This approach makes software architecture simpler, it is also easier to edit and error count will be less since no direct interaction of modules. Supervisors are listed below:

  1. Path-finding Supervisor
  2. Door Handling Supervisor
  3. Wall / Path Detection
  4. Motion Supervisor
  5. Actuator Supervisor

Path-finding Supervisor

1-Pledge Algorithm: Takes in the extracted wall information as input and sets a movement goal for the PICO and move towards it. This algorithm is useful when the robot is challenged to solve loop inside the maze. The algorithm functions as a continuous loop. (Maze challenge)

2- Cornering: Take the corner using the wall information as input. (Corridor challenge)

Door Supervisor

1-Ring Bell: Ring the bell if it detect the door possible deadends

2-Standstill: Wait for 5 sec to for the door openingsequence.

Wall / Path Detection

1-Read LRF data: Gets raw data from the LRF sensor

2-Filter LRF data: Reduces noise from raw LRF data and splits it into 3 directions (left, right and front).

3-Transform data: Calculate one distance approximation for the 3 directions.

4-Possiblity checker: Calculate for all directions if movement in that direction is possible, taking a ‘safe’ zone around PICO into account.

Motion Supervisor

1-Position stabilizing: Feedback loop that keep PICO approximately in the center of the corridor by implementing a feedback controller for the distance to the walls on the left and right of the robot.

2-Turn Corner: Make a 90 degree turn either on left or on right

Actuator Supervisor

1-Steady PICO: Keep the front of the PICO aligned to the direction of movement.

2-Omniwheels handeling: Set speed and angle of Omniwheels

Interfaces

The interfaces are defined as the movement/flow of data between the functions that are defined in above section. The different interfaces are described below.

1- Sending information about current state, which is the distance to walls at -90 degrees, 0 degrees and 90 degrees from the center point and whether it has potential from moving forward and turning left or right. <Struct with float values and booleans>.

2- Forward information about potential movement.<Struct of Boolean>.

3- Forward information about wall distances.<Struct of floats>.

4- Turning command, which is either 1 (turning left) or 2(turning right). <integer>.

5- Send information about the possibility of a door.<Boolean>.

6- Confirmation that door handling is finished <Boolean>.

7- Setting the values for actuator.<Struct of floats>

Components

1- Sensors: Laser Range Finder (LRF), Odometry (Wheel Encoder).

2- Holonomic base (omni-wheels): Maximum translational speed of 0.5 m/s , Max angular speed of 1.2 rad/s.

3- Embedded platform Computer with Ubuntu 14.04 on an Intel i7 (other specifications are unknown)

4- Bell: To produce sound from PICO so as to open the door.

The Corridor Challenge

The challenge is that PICO should drive itself through a corridor which is constructed with parallel walls, detect the first exit and take a turn. The Laser data (LRF) is used to detect the wall and space in corridor. This data is communicated among other supervisors such that the decision of turning at first exit are made by the path finding supervisor which instruct the motion supervisor to move accordingly.