Retake Embedded Motion Control 2018
An increase of robotic deployment is nowadays observed; one could think about care robots for elderly care, AGV's for industrial application, or even a simple vacuum robot in a typical household. Repositioning these robots often occurs manually as, e.g., one picks them up or controls them (via a joystick) to a given position. This, however, may not always be desired as you may for example want the robot to carry something with you (maybe a table). In this context the taak for Embedded Motion Control 2018 retake is to design a person following algorithm to solve this problem.
The main objective of this assignment is to follow a person in a cluttered environment - more details about the environment is given further below - for a time span of 2 minutes. The Person Of Interest (POI) will walk a pre-defined route (unknown to the robot), and on important points we will put down so-called 'target strips' which the POI will cross close to the center. To test whether PICO is indeed able to follow the POI correctly, PICO should also cross these target strips. A brief overview of the setup is shown on Figure 1.
Some specifications of interest:
- The POI will start initially close to PICO (detectable by LRF) at standstill. After PICO starts following him, the POI will move with a velocity greater than 0 meter per second, but no more than 0.5 meter per second. The POI will furthermore move in such a manner that (in most cases) two legs are visible.
- The target strips can be regarded as markers on the floor which PICO can't recognize. These target strips have a width of 1 meter, and the POI will pass through the middle of these target strips. The number of target strips is around 5.
- We recommend that PICO follows the POI at a distance of approximately 0.4 meter; this will guarantee that PICO crosses the target strips.
- A failure is stated when the following observations are made:
- 1. PICO is unable to cross 80% of the target strips
- 2. PICO bumps into the POI. If a failure is determined, then you can retry once (thus a total of 2 takes).
Regarding the cluttered environment, three 'levels' are designed ranging from easiest to hardest. To pass this course, we ask you to at least clear level 1, i.e., the easiest task.
In this first level we have other actors present in the area of interest. These actors will similarly as the POI start at standstill. After PICO has found his POI, i.e., the person closest to him, and has started his following-algorithm, all other actors will also walk around. The only restriction that the actors have is that they can never occlude the POI, i.e., they can not walk in between PICO and the POI. Figure 2 depicts a situation which can not occur.
In this second level we have only static obstacles present. The difficult part w.r.t. the previous level is that a path will be defined such that occlusion will be present, i.e., the legs of the POI will dissapear behind a static object and hence complicate the following-algorithm. When such an occlusion occurs, PICO is allowed to shout 'stop' to find the POI again. Note that this is limited to a time interval of 15 seconds, after which the POI will move again. When PICO has found the POI, it should likewise say 'go' to allow the POI to walk further.
In this level, both static objects and actors are present. All the difficulties of the previous levels are included with furthermore no restrictions on the actors to prevent situations as depicted on Figure 2.
Note that the clearing a level with an increased difficulty level will yield a higher grade for the demo, how this is combined with the other grades to form the final grade can be read in the next section.
Deliverables and deadline
You will be graded on the following deliverables:
- The demo of PICO fulfilling one of the required levels (make an appointment with us for the demo!)
- The wikipage corresponding to your assignment
- The code that you have written
- Your approach to the assignment, what did you learn in the assignment of EMC?
The deadline for all the deliverables is the 17th of august (the friday of the retake exam week in august). Note that we can start grading sooner as well, contact your tutor for this.
- Be sure you have your software on git before coming to the test session so that you only have to git clone/git pull to get your code on the robot!
- Please charge the robot whenever possible so there is no down time due to empty batteries.
To submit for a timeslot you have to be logged in. Through the 'edit'-button for Pico test schedule, you can select a timeslot by typing 'Group <groupnumber>' behind the desired timeslot. - Submissions are last checked the day before at 22:00.
NOTE: You can select only ONE two-hour timeslot per week.
|18-7-2018||8:45 - 10:40|
|18-7-2018||10:45 - 12:40|
|19-7-2018||8:45 - 10:40|
|19-7-2018||10:45 - 12:40|
|20-7-2018||8:45 - 10:40|
|20-7-2018||10:45 - 12:40||Rokesh|
|26-7-2018||8:45 - 10:40|
|26-7-2018||10:45 - 12:40||Rokesh|
|26-7-2018||12:45 - 14:40|
|27-7-2018||8:45 - 10:40|
|27-7-2018||10:45 - 12:40||Group1 - Tim|
|27-7-2018||12:45 - 14:40||Daniel|
|1-8-2018||8:45 - 10:40|
|1-8-2018||10:45 - 12:40||Daniel|
|2-8-2018||8:45 - 10:40|
|2-8-2018||10:45 - 12:40||Rokesh|
|3-8-2018||8:45 - 10:40|
|3-8-2018||10:45 - 12:40||Group1 - Tim|
|8-8-2018||8:45 - 10:40|
|8-8-2018||10:45 - 12:40||Daniel|
|9-8-2018||8:45 - 10:40|
|9-8-2018||10:45 - 12:40|
|10-8-2018||8:45 - 10:40|
|10-8-2018||10:45 - 12:40||Group1 - Tim|
|13-8-2018||8:45 - 10:40|
|13-8-2018||10:45 - 12:40|
|14-8-2018||9:45 - 11:40||Daniel|
|14-8-2018||11:45 - 13:40|
|15-8-2018||9:45 - 11:40|
|15-8-2018||11:45 - 13:40|
|16-8-2018||9:45 - 11:40||Daniel|
|16-8-2018||11:45 - 13:40|
|17-8-2018||8:45 - 10:40|
|17-8-2018||10:45 - 12:40||Group1 - Tim|