Embedded Motion Control 2018 Group 5: Difference between revisions
No edit summary |
No edit summary |
||
Line 135: | Line 135: | ||
==Interfaces== | ==Interfaces== | ||
[[File:Interface Diagram. | [[File:Interface Diagram.svg|center|thumb|700px]] |
Revision as of 20:56, 10 May 2018
Group information
Name | Student number | |
---|---|---|
M.J.W. Verhagen | 0810317 | m dot j dot w dot verhagen at student dot tue dot nl |
L.W. Feenstra | 0847751 | l dot w dot feenstra at student dot tue dot nl |
A.J.J. Steinbusch | 0903892 | a dot j dot j dot steinbusch at student dot tue dot nl |
J.T. Galen | 0897620 | j dot t dot v dot galen at student dot tue dot nl |
Introduction
This project is part of the course Embedded Motion Control in which software is developed and applied to autonomously control a robot in real-life. The project consists of two challenges: the Escape Room challenge and the Hospital challenge. The Escape Room challenge will be an intermediate challenge that serves as preparation for the final challenge which is the Hospital challenge. In both challenges a robot has to fulfill its task autonomously. To begin with, an initial design is made in which the requirements and specifications of the two challenges are touched upon, functions that the software will be divided in, the components of the robot that will be used with their specifications and the interfaces that will be used.
Initial Design
In this section, the initial design is discussed. A list of requirements, functions, components and specifications is made. These lists are presented here. In the end, the communication of the functions among each other is visualized using an interface, which clarifies the structure of the software that will be implemented.
Requirements
There are two competitions in which PICO will be active. Therefore, the requirements are split up in general requirements, which are of importance for both competitions, requirements considering the Escape room challenge and requirements that concern the Hospital challenge.
General requirements that hold for both challenges are:
- PICO must move autonomously.
- PICO is not allowed to bump into walls.
- PICO gets two opportunities to perform the entire task.
- PICO cannot stand still for a period longer than 30 seconds.
- The total time limit for PICO to accomplish its tasks is 5 minutes.
- The challenges must be finished as quickly as possible.
- PICO should have a minimal distance from the wall of 25 cm from its center point.
- The software must be easy to set-up.
Additional requirements concerning the Escape Room challenge are:
- Finding the corridor.
Additional requirements concerning the Hospital challenge are:
- PICO has to explore the rooms and build a map.
- PICO has to be able to park backwards to the wall behind the starting position.
- PICO must be able to recognize a change in the map and by means of that find an object in one of the rooms.
- PICO must stop and stand still close to the object after finding it.
Functions
Here, the functions that will be implemented in the software of PICO are presented. The functions are split up in different categories, namely Task, Skill, Action and World model.
Task:
- Escape a room
- Mapping
- Park backwards
- Find object
Skill:
- Decision making
- Go left
- Go right
- Go straight ahead
- Go backwards
- Rotate
- Object avoidance
- Path planning
- Object recognition
- Detect exit
- Detect wall
- Detect corner
- Detect object
- Localisation
Action:
- Measurement:
- Read encoder
- Read LRF
- Move:
- Stop
- Translate:
- Left, Right, Back, Straight ahead or x and y direction
- Rotate:
- Direction and angle or +/- 90/180/360 degrees
- Shut down
World model:
- Initial position
- Current position
- Position of the walls, exits and corridors
- Communicates with functions in other models
Components
The robot that will be used in this project is PICO which is a telepresence robot from Aldebaran. PICO moves on omni-wheels so that it can move in all directions and it can rotate along the z-axis. It contains a Laser Range Finder (LRF) to detect the walls and objects. Also, PICO is provided with wheel encoders to estimate the change in distance from its starting position.
PICO runs on an Intel i7 on Ubuntu 16.04. A software layer has been created onto the Robot Operating System to simplify its use. The software of this project will be programmed in C++.
Specifications
A list of specifications is made regarding PICO and the environment in which PICO will be active. First, the specifications regarding PICO are shown, followed by the specifications that concern the Escape Room challenge and the hospital challenge.
Specifications of PICO:
- The maximum translational speed is 0.5 m/s.
- The maximum rotational speed is 1.2 rad/s.
- PICO is approximately 40 cm wide.
- Laser Range Finder has a range of -135 to 135 degrees with 1081 data points.
Specifications concerning the Escape Room challenge are:
- PICO has escaped the room when its entire rear wheel is across the finish line.
- The shape of the room is rectangular and the dimensions of the room are to be revealed at the start of the challenge.
- The start position of PICO will be at a random position in the room.
- The orientation of the corridor will be approximately perpendicular to the wall and the wall on the far end of the corridor will be open.
- The walls might not be perfectly straight, nor perfectly perpendicular and parallel to other walls.
- The width of the corridor will be in-between 0.5 and 1.5 meters.
- The finish line will be more than 3 meters into the corridor to give PICO some more time to align itself with the walls of the corridor.
Specifications concerning the Hospital challenge are:
- PICO's starting position will be in the hallway.