Embedded Motion Control 2018 Group 2: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 53: Line 53:
= Initial Design =
= Initial Design =


''' Introduction: '''
The main goal of this course is to program the PICO robot so that it can map a `hospital' floor and find an object within it. The programming language used is C++ and the software is ran in Ubuntu 16.04, which is the same version of Ubuntu that is running on the robot. For the initial design, the requirements will be discussed as well as the functions and their specifications. Moreover, a list of possible components and a suiting interface is designed.


''' Note that the text written below is outdated!! The newest version of the initial design idea can be found in the PDF above!! '''
Note that this is an initial design towards the hospital competition which has overlap with the escape room competition. Some distinction will be indicated.


''' Requirements: '''  
''' Requirements '''
For the two different challenges different requirements are composed. However, most of the requirements for the first challenge, the escape room challenge, are also necessary for the final, hospital challenge.
* Execute all tasks autonomously.
 
* Perform all tasks without bumping into a wall.
For the first challenge the robot has to be able to:
* Perform all tasks without getting stuck in a loop.
* Find the exit of a room
* Finish both challenges as fast as possible, but at most within 5 minutes.
* Execute all tasks autonomously
* Escape room competition:
* The exit should be found within 5 minutes
- dadfa
* Drive out of the exit of the room until the rear wheel has crossed the line
* Perform all tasks without hitting a wall
* The robot must be able to perform all tasks without getting stuck in a loop
* It must be able to escape from any rectangular room
 
For the second challenge the robot has to be able to:
* Detect and enter rooms
* Detect and exit rooms
* Explore all the rooms of the hospital (3-6 rooms)
* Map and save the content of the rooms, no matter what shape they have.
* Find its starting position back and park backwards to the wall behind it
* Use its map to find an object that is placed within one of the rooms
* Stop close to the newly place object
* Perform all tasks within a time span of 5 minutes
* Perform all tasks without hitting a wall
 
 
''' Nice to haves: '''
Before the hospital challenge a high-level hint will be given that states in which room the object that has to be found will be placed.
A "nice to have" would therefore be some sort of interpreter that is able to deduce in which room, as described in the world model, the object will be placed.This interpreter needs use given information as effective as possible by being able to generate a map based on partial information. Furthermore it needs to have a global understanding of the parameters and combine information semantically.
 
 
''' World model: '''
The world model is the only place in the task-skill-motion framework that has and saves relevant information. Other parts of this framework are able to use data from the world model for calculations and they are able to deliver changed or new information. However, these other parts can not save this information themselves.  
 
The following information should be stored in the world model:
* The initial position of the robot
* The current position of the robot
* The positions of objects, preferably with separate "wall" entities
* The position of rooms with their entrances and exits
* Communicate all inputs and outputs of the system to their respective models
* Sampling and resource management
 
 
''' Tasks: '''
To be able to solve the challenges the robot has to perform multiple different tasks. These tasks use the information in the world model and are eventually performed by the robot using the relevant robot skills.
The robot should be able to handle and perform the following tasks:
 
* Avoid collisions at all cost
* Detect room entrances
* Detect room exits
* Map a room and save it
* Differentiate different rooms
* Find all available rooms
* Be able to handle rooms in rooms
* Be able to navigate back to the begin position
 
 
''' Skills: '''
The tasks specified above need to be performed using the information available in the world model. The building blocks that allow for the completion of these tasks are the skills. The skills that the robot needs are as follows:
 
* Driving in any specified direction
* Turning
* Object detection
* Wall detection

Revision as of 09:36, 14 May 2018

Group Members

TU/e Number Name E-mail
0843128 Robbert (R.) Louwers r.louwers@student.tue.nl
1037038 Daniël (D.J.M.) Bos D.J.M.Bos@student.tue.nl
0895324 Lars (L.G.L.) Janssen l.g.l.janssen@student.tue.nl
1275801 Clara () Butt clara.butt@aiesec.net
0848638 Dorus (D.) van Dinther d.v.dinther@student.tue.nl










Relevant PDF Files

[|Initial Design Group 2]

Initial Design

Introduction: The main goal of this course is to program the PICO robot so that it can map a `hospital' floor and find an object within it. The programming language used is C++ and the software is ran in Ubuntu 16.04, which is the same version of Ubuntu that is running on the robot. For the initial design, the requirements will be discussed as well as the functions and their specifications. Moreover, a list of possible components and a suiting interface is designed.

Note that this is an initial design towards the hospital competition which has overlap with the escape room competition. Some distinction will be indicated.

Requirements

  • Execute all tasks autonomously.
  • Perform all tasks without bumping into a wall.
  • Perform all tasks without getting stuck in a loop.
  • Finish both challenges as fast as possible, but at most within 5 minutes.
  • Escape room competition:

- dadfa