Embedded Motion Control 2019 Group 2

From Control Systems Technology Group
Jump to navigation Jump to search

Group members

  • 1. Bob Clephas | 1271431
  • 2. Tom van de laar | 1265938
  • 3. Job Meijer | 1268155
  • 4. Marcel van Wensveen | 1253085
  • 5. Anish Kumar Govada | 1348701


Initial design

To complete the two assignments for the course “Embedded motion control” specific software must be written. In this design document the global architecture of the software is explained, and the given constraints and hardware is listed. This document is a first draft and will be updated during the project. The first version can be found here: File:4SC020 DesignDocument Group2.pdf

Requirements and specifications

The requirements and related specifications are listed in the following table. The listed specifications are required for the final assignment, the underlined specifications are needed for the escape room challenge.

Requirements and their specifications
Accomplish predefined high-level tasks:

1. Find the exit (Back wheels over the finish line). 
2. Reach a predefined cabinet.

Knowledge of the environment:

1. Location of walls (via corner points). 
2. Location of the doors (via corner points).
3. Location of the cabinets (location: TBD).
4. At what level – 2D (Top view).
5. Accuracy (< 0.1 m resolution).*
6. Shapes (axis aligned Lines).

Knowing where the robot is in the environment:

1. Level (2D). 
2. XY precision (<0.1 m).* 3. Orientation precision (<10 degree).*

Being able to move:

1. 0.5 [m/s] translational speed / 1.2 [rad/sec]. 
2. Maximum acceleration / braking TBD after first experiment session.*
3. Path following (<0.1m).*

Do not bump into the wall:

1. How far should it stay of the wall (>0.1m). 

Do not stand still for longer than 30 sec:

1. It is not allowed to stand still for longer than 30 seconds. 

Finish as fast as possible:

1. Within 5 minutes. 

Coding language:

1. Only allowed to write code in C++ coding language. 
2. GIT version control must be used.
  • Initial guess, exact specifications are determined after first experiment.

('Italic' specifications are not needed for the escape room challenge)


Components and functions

The components and their functions are split in software components and hardware components.

Software components and their general functionalities

World model:
- Storing all the relevant data (Map / tasks / position).
- Data communication between the other components (All data goes through the world model)

Perceptor:
- Reading sensor data and creating a local map.
- Locate the robot on this local map.
- Align global map with local map.

Task manager:
- Dividing upcoming tasks to other modules when current task is finished.
- Interrupt a task if needed (safety / Human input).

Path planner:
- Create a path from the combined map, current position and the desired position

Drive controller:
- Actuates the robot such that is follows the planned path (keep speed an acceleration in mind)


Hardware components and their general functionalities

PICO Robotic platform:
- Jazz telepresence robot: General framework with all the hardware. This framework will allow to execute the assignments

Sensors:
- Laser range finder: scan environment and detect objects.
- wheel encoders: determine the traveled distance by the wheels.
- 170 deg wide angle camera: can be used for vision system (object detection for example).

Actuators:
- Holonomic base (omni-wheels): allows the robot to move on the ground.
- Pan-tilt unit for head: can be used to move the head with the display and camera.

Computer:
- Intel I7 processor: Perform computations.
- OS: Ubuntu 16.04 (64-bit): Software that allows execution of programs.
- ROS with own software layer: Allows to easily make connections between software.



Environment

The environments for both assignments will meet the following specifications:

Escape room challenge
- Rectangular room, unknown dimensions. One opening with a corridor.
- Starting point and orientation is random, but equal for all groups.
- Opening will be perpendicular to the room.
- Far end of the corridor will be open.
- Wall will not be perfectly straight, walls of the corridor will not be perfectly parallel.
- Finish line is at least 3 meters in the corridor, walls of the corridor will be a little bit longer.


Final challenge
- Walls will be perpendicular to each other.
- Dynamic elements will be in the area.
- Not all objects will have the same orientation.
- Multiple rooms with doors.

Interface

The overall software is split in several building blocks:
DesignDocumentBlocks.PNG