Embedded Motion Control 2018: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
mNo edit summary
 
(135 intermediate revisions by 30 users not shown)
Line 1: Line 1:
<div align="center">
<div align="center">
<font size="5">Guide towards the assignment</font><br />
<font size="4">'PICO in the Hospital'</font>
<font size="4">'A-MAZE-ING PICO'</font>
</div>
</div>
[[File:Gostai-Jazz-500x500.jpg|center|thumb|350px]]
[[File:Gostai-Jazz-500x500.jpg|center|thumb|350px]]
Line 11: Line 10:


= Course Schedule and Lecture Slides =
= Course Schedule and Lecture Slides =
Lectures will be given on Wednesdays from 15.45h-17.45h from in Luna 1.050. The preliminary course schedule is as follows:
<span style="color:#ff0000"> '''Important Note:''' </span> the deadline for the Wiki-pages has been postponed to June 20th, 23.59h, please consult the announcement on Canvas for more information.
 
Lectures will be given on Wednesdays from 15.45h-17.45h from in Luna 1.050. The lecture of <span style="color:#ff0000"> '''May 4''' </span> will be given from 10.45h-12.45h in Auditorium 11. The preliminary course schedule is as follows:


{| border="1" cellpadding="5" cellspacing="0" align="center" style="margin-left: 3em;"
{| border="1" cellpadding="5" cellspacing="0" align="center" style="margin-left: 3em;"
|-
|-
| April 25
| April 25
| colspan="2" | No lecture (see Canvas)
| colspan="2" | No lecture (see Canvas!)  
|-
|-
| May 2
| May 2
| width="325" | Introduction by ''René van de Molengraft'' (see Canvas!)
| width="325" | Introduction by ''René van de Molengraft''  
| width="325" | Tooling and Infrastructure by ''Wouter Kuijpers''  
| width="325" | [[Media:EMC2018_ToolingInfrastructure_Handout2.pdf | Tooling and Infrastructure by ''Wouter Kuijpers'' ]]
|-
| <span style="color:#ff0000"> '''May 4''' </span>
| width="325" | [[Media:201804-EMC-MotionStackArchitecture.pdf | Best Practices in System Design for Robot Control]] by ''Herman Bruyninckx''
| width="325" | Architecture by ''Herman Bruyninckx''
|-
|-
| May 9
| May 9
| colspan="2" | No lecture  
| colspan="2" | No lecture  
|-
|-
| May 16  
| May 16
| width="325" | Best Practices in System Design for Robot Control by ''Nico Huebel''
| width="325" | Worldmodeling for Experts by ''Wouter Houtman''
|-
| May 23
| colspan="2" | First presentation of the design by ''the groups''. 6-minute presentation, about the group's initial design. Afterwards 4 minutes for questions.
| colspan="2" | First presentation of the design by ''the groups''. 6-minute presentation, about the group's initial design. Afterwards 4 minutes for questions.
|-
|-
| May 30
| May 23
| width="325" | '''Escape Room competition'''
| width="325" | '''Escape Room Competition'''
| width="325" | Worldmodeling for Real Experts by ''Marzieh Dolatabadi''
| width="325" | Worldmodeling by ''Herman Bruyninckx''
|-
|-
| June 6
| May 30
| colspan="2" | Architecture by ''Herman Bruyninckx''
| colspan="2" |  
* Worldmodeling for Experts by ''Wouter Houtman''
* [[Media:EMC2018_WM_IoT.pdf | Worldmodeling for Real Experts by ''Marzieh Dolatabadi'' ]]
* Worldmodeling in practice by ''Bob Hendrikx''
|-
|-
| June 13
| June 6
| colspan="2" | Presentation of final design by the ''groups''.
| colspan="2" | Presentation of final design by the ''groups''.
|-
|-
| June 20
| June 13
| colspan="2" | '''Final Competition'''
| colspan="2" | '''Final Competition''' [[Media:Map_hospital.png | (Hospital map for simulator)]]
|-
|-
| June 21
| <span style="color:#ff0000"> '''June 20''' </span>
| colspan="2" | '''Deadline Wiki Pages'''
| colspan="2" | '''Deadline Wiki Pages'''
|-
|-
|}
|}


= Assignment =
= Design Document =  
Check this page regularly to find out the new assignment for Embedded Motion Control in 2018!
Hand-in a 3-page A4-sized design document as pdf (<1Mb) that pictures/describes the initial design idea with:
* Requirements,
* Functions,
* Components,
* Specifications
* Interfaces.
You should upload this design document to your group's Wiki-page as this is a vital document in the design process. Make sure the document has been uploaded on May 11th, 17.00h. In case of questions about the document, consult your tutor.
 
= Escape Room Competition =
{{:Embedded_Motion_Control/Escape_Room_Competition_2018}}
 
= Hospital Competition =
{{:Embedded_Motion_Control/Hospital_Room_Competition_2018}}
 
= Getting Started =
 
To get started, please do the tutorials on the [[Embedded Motion Control/Tutorials | Tutorial Page]]. <!--Please note:
 
* '''Do all tutorials, and all steps. Missing one step may cause a different behavior or incorrect working system later'''. If something is not working as expected, make sure you correctly did all previous steps.
* Of course, things may still go wrong. If so, do not hesitate to contact us.
 
* See [[Embedded_Motion_Control/Using_Pico | Using Pico]] for a quick overview of how to use Pico.
-->
 
= FAQ =
[[Embedded_Motion_Control_2018/FAQ | Here]] you can find a collection of Frequently Asked Questions. Please check this page before contacting the student assistants or the tutors! If you find any issues or questions you had to deal with, please add them as well so your colleagues don't run into the same problems.
 
=Group Wiki Pages=
The division of groups can be found here: [[File:GroupLists.pdf]]
 
Group 1 - [[Embedded Motion Control 2018 Group 1 | visit wiki ]] - '''Tutor''': Yanick Douven
 
Group 2 - [[Embedded Motion Control 2018 Group 2 | visit wiki ]] - '''Tutor''': Wouter Houtman
 
Group 3 - [[Embedded Motion Control 2018 Group 3 | visit wiki ]] - '''Tutor''': RUVU
 
Group 4 - [[Embedded Motion Control 2018 Group 4 | visit wiki ]] - '''Tutor''': Bob Hendrikx
 
Group 5 - [[Embedded Motion Control 2018 Group 5 | visit wiki ]] - '''Tutor''': Bob Hendrikx
 
Group 6 - [[Embedded Motion Control 2018 Group 6 | visit wiki ]] - '''Tutor''': Marzieh Farahani
 
Group 7 - [[Embedded Motion Control 2018 Group 7 | visit wiki ]] - '''Tutor''': Wouter Kuijpers
 
Group 8 - [[Embedded Motion Control 2018 Group 8| visit wiki ]] - '''Tutor''': René van de Molengraft & Herman Bruyninckx
 
=Pico test schedule=
- 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.
 
==Week 19==
'''For week 19 each group can only choose 1 time slot'''. Choose wisely.
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 19 Monday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 7-5-2018 || 10:45 - 11:40 || Group 2
|-
| 7-5-2018 || 11:45 - 12:40 ||
|-
| 7-5-2018 || 13:45 - 14:40 || Group10
|-
| 7-5-2018 || 14:45 - 15:40 || Group 6
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 19 Tuesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 8-5-2018 || 10:45 - 11:40 ||
|-
| 8-5-2018 || 11:45 - 12:40 ||
|-
| 8-5-2018 || 13:45 - 14:40 || Group 7
|-
| 8-5-2018 || 14:45 - 15:40 || Group 5
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 19 Wednesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 9-5-2018 || 10:45 - 11:40 ||
|-
| 9-5-2018 || 11:45 - 12:40 || Group 3
|-
| 9-5-2018 || 13:45 - 14:40 || Group 1
|-
| 9-5-2018 || 14:45 - 15:40 || Group 4
|}
 
<div style="clear:both"></div>
<br>


An intermediate review will be held (date to be determined) at the RoboCup soccer field. During this challenge, called the ''corridor competition'' the students have to let the robot drive through a corridor and then take the first exit. The precise location of this exit will not be given in advance. Some facts:
==Week 20==
'''For week 20 each group can choose 2 time slots'''. Choose wisely.
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 20 Monday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 14-5-2018 || 10:45 - 11:40 ||
|-
| 14-5-2018 || 11:45 - 12:40 || Group 2
|-
| 14-5-2018 || 13:45 - 14:40 ||
|-
| 14-5-2018 || 14:45 - 15:40 || Group 1
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 20 Tuesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 15-5-2018 || 10:45 - 11:40 ||
|-
| 15-5-2018 || 11:45 - 12:40 ||
|-
| 15-5-2018 || 13:45 - 14:40 || Group 4
|-
| 15-5-2018 || 14:45 - 15:40 || Group 7
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 20 Wednesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 16-5-2018 || 10:45 - 11:40 || Group 3
|-
| 16-5-2018 || 11:45 - 12:40 || Group 6
|-
| 16-5-2018 || 13:45 - 14:40 || Group 8
|-
| 16-5-2018 || 14:45 - 15:40 || Group 5
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 20 Thursday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 17-5-2018 || 10:45 - 11:40 || Group 3
|-
| 17-5-2018 || 11:45 - 12:40 || Group 6
|-
| 17-5-2018 || 13:45 - 14:40 || Group 4
|-
| 17-5-2018 || 14:45 - 15:40 || Group 1
|}
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 20 Friday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 18-5-2018 || 10:45 - 11:40 || Group 2
|-
| 18-5-2018 || 11:45 - 12:40 || Group 5
|-
| 18-5-2018 || 13:45 - 14:40 || Group 7
|-
| 18-5-2018 || 14:45 - 15:40 || Group 8
|}
<div style="clear:both"></div>
<br>
 
==Week 21==
'''For week 21 each group can choose 1 time slot on Tuesday/Wednesday, and 1 timeslot on Thursday/Friday'''. Choose wisely.
 
- Monday is not a possibility because due to white monday, the TU/e is closed.
 
- If the wednesday really isn't a possibility, you can send an email to m dot c dot w dot schouten at student dot tue dot nl, and we can rescedule the experimente to friday afternoon(18-05) or tuesday evening (22-05).
 
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 21 Tuesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 22-5-2018 || 11:45 - 12:40 || Group 6
|-
| 22-5-2018 || 12:45 - 13:40 || Group 8
|-
| 22-5-2018 || 13:45 - 14:40 || Group 4
|-
| 22-5-2018 || 14:45 - 15:40 || Group 7
|-
| 22-5-2018 || 15:45 - 16:40 || Group 5
|-
| 22-5-2018 || 16:45 - 17:40 || Group 1
|}


= Escape Room Competition =
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 21 Wednesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 23-5-2018 || 08:45 - 09:40 || Group 2
|-
| 23-5-2018 || 09:45 - 10:40 || Group 3
|-


'''Challenge Specifications'''
* You have finished the assignment if PICO did not bump into walls and the entire rear wheel is across the finish line.
* Do not touch the walls! Slightly touching is allowed, however, bumping (''i.e.'', driving head-on into a wall) '''is not allowed'''! If PICO hits the wall, '''we''' decide whether it counts as ''bumping''.
* Every team has two trials (= max one restart). A trial ends if:
** PICO ''bumps'' into the wall
** PICO has not moved or has not made sensible movements (as judged by the tutors) for 30 seconds
** The total time limit of 5 minutes per group is reached
** The group requests a restart (on the first trial)
* restart means:
** PICO restarts at the defined start position
** The trail time (= the time graded) is reset, but
** the total time keeps running
* Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational.
* There will be no second attempt if first attempt was successful


'''Environment Specifications'''
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
* The shape of the room is rectangular, the dimensions will not be given before the start of the challenge.
|+ '''Week 21 Thursday'''
* PICO starts at a random position in the room (but equal for all groups), PICO does not necessarily face the exit, nor a straight wall.
|-
* The orientation of the corridor will be perpendiculair to the wall.
! scope="col" | '''Date'''
* The wall (on the far end) of the corridor will be open
! scope="col" | '''Time'''
* The walls might not be perfectly straight, the corners might not be perfectly perpendicular, the walls of the corridor might not be perfectly parallel. The width of the corridor will be reasonable (somewhere between 0.5 and 1.5 meters).
! scope="col" | '''Group'''
* At the exit, the finish line is located more than 3 m into the corridor. The walls that can be used to align PICO will be a little bit longer.
|-
| 24-5-2018 || 10:45 - 11:40 ||
|-
| 24-5-2018 || 11:45 - 12:40 || Group 6
|-
| 24-5-2018 || 13:45 - 14:40 || Group 3
|-
| 24-5-2018 || 14:45 - 15:40 || Group 4
|}


'''Robot Software'''
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
* Make sure your software is easy to set-up, ''i.e'':
|+ '''Week 21 Friday'''
** Your software can be updated with one easy command, ''e.g.'' 'git pull'
|-
** Your software can be compiled using 'cmake' and 'make'
! scope="col" | '''Date'''
** To start your software, only one executable has to be called
! scope="col" | '''Time'''
** '''If your set-up deviates from this method, let your tutor know 1 week before the challenge!'''
! scope="col" | '''Group'''
* The software of all groups will be updated on the robot '''before''' the challenge starts
|-
** This way, teams starting the challenge have as much time as teams that do the challenge at the end
| 25-5-2018 || 10:45 - 11:40 || Group 1
|-
| 25-5-2018 || 11:45 - 12:40 || Group 8
|-
| 25-5-2018 || 13:45 - 14:40 || Group 7
|-
| 25-5-2018 || 14:45 - 15:40 || Group 2
|}--




<div style="clear:both"></div>
<br>


Below you can find one example of a challenge:
==Week 22==
[[File:EMC_2018_EscapeRoom.png|thumb|right|200px|Scheme of a possible escape room, with measurements, note that this drawing is not up to scale.]]
'''For week 22 each group can choose 2 time slots'''. Choose wisely.


{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 22 Monday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 28-5-2018 || 10:45 - 11:40 || Group 5
|-
| 28-5-2018 || 11:45 - 12:40 || Group 2
|-
| 28-5-2018 || 13:45 - 14:40 ||
|-
| 28-5-2018 || 14:45 - 15:40 ||
|}


<!--
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
= Corridor Competition =
|+ '''Week 22 Tuesday'''
{{:Embedded_Motion_Control/Corridor_competition_2017}}
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 29-5-2018 || 10:45 - 11:40 ||
|-
| 29-5-2018 || 11:45 - 12:40 ||
|-
| 29-5-2018 || 13:45 - 14:40 || Group 4
|-
| 29-5-2018 || 14:45 - 15:40 || Group 7
|}


= Maze Competition =
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
{{:Embedded_Motion_Control/Maze_competition_2017}}
|+ '''Week 22 Wednesday'''
-->
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 30-5-2018 || 10:45 - 11:40 || Group 8
|-
| 30-5-2018 || 11:45 - 12:40 || Group 3
|-
| 30-5-2018 || 13:45 - 14:40 || Group 1
|-
| 30-5-2018 || 14:45 - 15:40 || Group 5
|}


= Getting Started =
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 22 Thursday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 31-5-2018 || 10:45 - 11:40 || Group 1
|-
| 31-5-2018 || 11:45 - 12:40 || Group 6
|-
| 31-5-2018 || 13:45 - 14:40 || Group 3
|-
| 31-5-2018 || 14:45 - 15:40 || Group 7
|}


To get started, please do the tutorials on the [[Embedded Motion Control/Tutorials | Tutorial Page]]. <!--Please note:
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 22 Friday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 01-6-2018 || 10:45 - 11:40 || Group 2
|-
| 01-6-2018 || 11:45 - 12:40 || Group 6
|-
| 01-6-2018 || 13:45 - 14:40 || Group 4
|-
| 01-6-2018 || 14:45 - 15:40 || Group 8
|}


* '''Do all tutorials, and all steps. Missing one step may cause a different behavior or incorrect working system later'''. If something is not working as expected, make sure you correctly did all previous steps.
<div style="clear:both"></div>
* Of course, things may still go wrong. If so, do not hesitate to contact us.
<br>


* See [[Embedded_Motion_Control/Using_Pico | Using Pico]] for a quick overview of how to use Pico.
==Week 23==
-->
'''For week 23 each group can choose 2 time slots'''. Choose wisely.
= FAQ =
[[Embedded_Motion_Control_2017/FAQ | Here]] you can find a collection of Frequently Asked Questions. Please check this page before contacting the student assistants or the tutors! If you find any issues or questions you had to deal with, please add them as well so your colleagues don't run into the same problems.


=Group Wiki Pages=
- Note that tuesday is not a possibility.


Group 1 - [[Embedded Motion Control 2018 Group 1 | visit wiki ]] - '''Tutor''':  
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 23 Monday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 04-6-2018 || 09:45 - 10:40 || Group 1
|-
| 04-6-2018 || 10:45 - 11:40 || Group 2
|-
| 04-6-2018 || 11:45 - 12:40 ||
|-
| 04-6-2018 || 13:45 - 14:40 || Group 3
|-
| 04-6-2018 || 14:45 - 15:40 ||
|}


Group 2 - [[Embedded Motion Control 2018 Group 2 | visit wiki ]] - '''Tutor''':  
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 23 Wednesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 06-6-2018 || 09:45 - 10:40 ||
|-
| 06-6-2018 || 10:45 - 11:40 ||
|-
| 06-6-2018 || 11:45 - 12:40 || Group 7
|-
| 06-6-2018 || 13:45 - 14:40 || group 5
|-
| 06-6-2018 || 14:45 - 15:40 || Group 8
|}


Group 3 - [[Embedded Motion Control 2018 Group 3 | visit wiki ]] - '''Tutor''':  
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 23 Thursday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 07-6-2018 || 09:45 - 10:40 || Group 4
|-
| 07-6-2018 || 10:45 - 11:40 || Group 6
|-
| 07-6-2018 || 11:45 - 12:40 || Group 3
|-
| 07-6-2018 || 13:45 - 14:40 || Group 1
|-
| 07-6-2018 || 14:45 - 15:40 ||
|}


Group 4 - [[Embedded Motion Control 2018 Group 4 | visit wiki ]] - '''Tutor''':  
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 23 Friday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 08-6-2018 || 09:45 - 10:40 || Group 8
|-
| 08-6-2018 || 10:45 - 11:40 || group 5
|-
| 08-6-2018 || 11:45 - 12:40 || Group 2
|-
| 08-6-2018 || 13:45 - 14:40 || Group 6
|-
| 08-6-2018 || 14:45 - 15:40 || Group 7
|}


Group 5 - [[Embedded Motion Control 2018 Group 5 | visit wiki ]] - '''Tutor''':  
<div style="clear:both"></div>
<br>


Group 6 - [[Embedded Motion Control 2018 Group 6 | visit wiki ]] - '''Tutor''':
==Week 24==
'''For week 24 each group can choose 1 time slot (which is 2 hours long!)'''. Choose wisely.


Group 9 - [[Embedded Motion Control 2018 Group 9 | visit wiki ]] - '''Tutor''':  
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 24 Monday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 11-6-2018 || 08:45 - 10:40 || Group 1
|-
| 11-6-2018 || 10:45 - 12:40 || Group 4
|-
| 11-6-2018 || 13:45 - 15:40 || Group 2
|-
| 11-6-2018 || 15:45 - 17:40 || Group 6
|}


Group 10 - [[Embedded Motion Control 2018 Group 10 | visit wiki ]] - '''Tutor''':
{| class="TablePager" style="width: 230px; min-width: 240px; margin-left: 2em; float:left; color: black;"
|+ '''Week 24 Tuesday'''
|-
! scope="col" | '''Date'''
! scope="col" | '''Time'''
! scope="col" | '''Group'''
|-
| 12-6-2018 || 08:45 - 10:40 || Group 7
|-
| 12-6-2018 || 10:45 - 12:40 || Group 3
|-
| 12-6-2018 || 13:45 - 15:40 || group 5
|-
| 12-6-2018 || 15:45 - 17:40 || Group 8
|}


<div style="clear:both"></div>
<br>


=Contact Details=
=Contact Details=
{{:Embedded_Motion_Control_2018/Contact_Details}}
{{:Embedded_Motion_Control_2018/Contact_Details}}

Latest revision as of 12:37, 23 April 2019

'PICO in the Hospital'

Gostai-Jazz-500x500.jpg

Introduction

This course is about software design and how to apply this in the context of autonomous robots. The accompanying assignment is about applying this knowledge to a real-life robotics task.

Course Schedule and Lecture Slides

Important Note: the deadline for the Wiki-pages has been postponed to June 20th, 23.59h, please consult the announcement on Canvas for more information.

Lectures will be given on Wednesdays from 15.45h-17.45h from in Luna 1.050. The lecture of May 4 will be given from 10.45h-12.45h in Auditorium 11. The preliminary course schedule is as follows:

April 25 No lecture (see Canvas!)
May 2 Introduction by René van de Molengraft Tooling and Infrastructure by Wouter Kuijpers
May 4 Best Practices in System Design for Robot Control by Herman Bruyninckx Architecture by Herman Bruyninckx
May 9 No lecture
May 16 First presentation of the design by the groups. 6-minute presentation, about the group's initial design. Afterwards 4 minutes for questions.
May 23 Escape Room Competition Worldmodeling by Herman Bruyninckx
May 30
June 6 Presentation of final design by the groups.
June 13 Final Competition (Hospital map for simulator)
June 20 Deadline Wiki Pages

Design Document

Hand-in a 3-page A4-sized design document as pdf (<1Mb) that pictures/describes the initial design idea with:

  • Requirements,
  • Functions,
  • Components,
  • Specifications
  • Interfaces.

You should upload this design document to your group's Wiki-page as this is a vital document in the design process. Make sure the document has been uploaded on May 11th, 17.00h. In case of questions about the document, consult your tutor.

Escape Room Competition

Scheme of a possible Escape Room, with measurements, but not up to scale!

Challenge Specifications

  • You have finished the assignment if PICO did not bump into walls and the entire rear wheel is across the finish line.
  • Do not touch the walls! Slightly touching is allowed, however, bumping (i.e., driving head-on into a wall) is not allowed! If PICO hits the wall, we decide whether it counts as bumping.
  • Every team has two trials (= max one restart). A trial ends if:
    • PICO bumps into the wall
    • PICO has not moved or has not made sensible movements (as judged by the tutors) for 30 seconds
    • The total time limit of 5 minutes per group is reached
    • The group requests a restart (on the first trial)
  • restart means:
    • PICO restarts at the defined start position
    • The trail time (= the time graded) is reset, but
    • the total time keeps running
  • Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational.
  • There will be no second attempt if first attempt was successful

On the right you can find one example of a Escape Room Challenge.

Environment Specifications

  • The shape of the room is rectangular, the dimensions will not be given before the start of the challenge.
  • PICO starts at a random position in the room (but equal for all groups), PICO does not necessarily face the exit, nor a straight wall.
  • The orientation of the corridor will be perpendiculair to the wall.
  • The wall (on the far end) of the corridor will be open
  • The walls might not be perfectly straight, the corners might not be perfectly perpendicular, the walls of the corridor might not be perfectly parallel. The width of the corridor will be reasonable (somewhere between 0.5 and 1.5 meters).
  • At the exit, the finish line is located more than 3 m into the corridor. The walls that can be used to align PICO will be a little bit longer.

Robot Software

  • Make sure your software is easy to set-up, i.e:
    • Your software can be updated with one easy command, e.g. 'git pull'
    • Your software can be compiled using 'cmake' and 'make'
    • To start your software, only one executable has to be called
    • If your set-up deviates from this method, let your tutor know 1 week before the challenge!
  • The software of all groups will be updated on the robot before the challenge starts
    • This way, teams starting the challenge have as much time as teams that do the challenge at the end


Hospital Competition

Scheme of a possible Hospital, with measurements, but not up to scale!

Challenge Description On the right you can find one example of a possible Hospital setup.

  • PICO will start in the Hallway, PICO will start up to 1 m away from the parking wall and definitely not touching it. PICO might not be aligned perfectly with the walls, but the wall on which the parking has to be done is behind PICO at first.
  • After starting the software, PICO has to explore the (3-6) rectangular rooms of the Hospital, building a map, which will be needed for a later task. The doors inside the hospital will be (time-invariant) openings in the wall of about 0.5-1.5 m. It is possible that a room has more than one door (see Room 3 in the example), however it is not possible to drive in a loop.
  • During the mapping, one of the team members has to show the map being built and comment on the map and the operation of PICO. How the mapping is presented is left up to the groups, remember we would like to see the worldmodel and understand what PICO is doing. (you could use the io.speak functionality here!)
  • When the map building is complete, PICO has to park backwards to the wall behind the starting position. Parking is done upon touching the wall, assessed by the tutors. After PICO parked, PICO should say: "I am parked!" (io.Speak).
  • Upon touching the wall, a second executable could be started, note however that it has to be build before the challenge starts!
  • We will then place an object in one of the rooms, PICO has to find this object and stand still close to it and say: "I found the object!".
  • When PICO stopped moving close to the object, the challenge is completed.

Challenge Specifications

  • Do not touch the walls! Slightly touching is allowed, however, bumping (i.e., driving head-on into a wall) is not allowed! If PICO hits the wall, we decide whether it counts as bumping.
  • Every team has two trials (= max one restart). A trial ends if:
    • PICO bumps into the wall
    • PICO has not moved or has not made sensible movements (as judged by the tutors) for 30 seconds
    • The total time limit of 10 minutes per group is reached
    • The group requests a restart (on the first trial)
  • restart means:
    • PICO restarts at the defined start position
    • The trail time (= the time graded) is reset, but
    • the total time keeps running
  • Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational.
  • There will be no second attempt if first attempt was successful

Visualization

  • Your code should save a snapshot of the model (e.g., using OpenCV)
  • The final snapshot should be saved after parking and can be used for presentation while pico finds the object

Robot Software

  • Make sure your software is easy to set-up, i.e:
    • Your software can be updated with one easy command, e.g. 'git pull'
    • Your software can be compiled using 'cmake' and 'make'
    • It is allowed to use multiple executables. Note that the Mapping/Parking-phase and Searching-phase can have separate executables, both have to be build before the challenge.
    • If your set-up deviates from this method, let your tutor know 1 week before the challenge!
  • The software of all groups will be updated on the robot before the challenge starts
    • This way, teams starting the challenge have as much time as teams that do the challenge at the end, compiling in between trials is not allowed.
  • If you use a separate catkin workspace
    • Make sure this workspace is compiled during the final testing hour
    • Building separate catkin workspaces during the final challenge is not allowed
    • The safest way to make sure your code works is by avoiding catking workspaces and including everything in your CMakeLists.txt

Hint

  • The following hint is provided regarding the location of the object:
The object will be located in the room for which most openings (i.e., doors) have to be passed through to enter it

Getting Started

To get started, please do the tutorials on the Tutorial Page.

FAQ

Here you can find a collection of Frequently Asked Questions. Please check this page before contacting the student assistants or the tutors! If you find any issues or questions you had to deal with, please add them as well so your colleagues don't run into the same problems.

Group Wiki Pages

The division of groups can be found here: File:GroupLists.pdf

Group 1 - visit wiki - Tutor: Yanick Douven

Group 2 - visit wiki - Tutor: Wouter Houtman

Group 3 - visit wiki - Tutor: RUVU

Group 4 - visit wiki - Tutor: Bob Hendrikx

Group 5 - visit wiki - Tutor: Bob Hendrikx

Group 6 - visit wiki - Tutor: Marzieh Farahani

Group 7 - visit wiki - Tutor: Wouter Kuijpers

Group 8 - visit wiki - Tutor: René van de Molengraft & Herman Bruyninckx

Pico test schedule

- 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.

Week 19

For week 19 each group can only choose 1 time slot. Choose wisely.

Week 19 Monday
Date Time Group
7-5-2018 10:45 - 11:40 Group 2
7-5-2018 11:45 - 12:40
7-5-2018 13:45 - 14:40 Group10
7-5-2018 14:45 - 15:40 Group 6
Week 19 Tuesday
Date Time Group
8-5-2018 10:45 - 11:40
8-5-2018 11:45 - 12:40
8-5-2018 13:45 - 14:40 Group 7
8-5-2018 14:45 - 15:40 Group 5
Week 19 Wednesday
Date Time Group
9-5-2018 10:45 - 11:40
9-5-2018 11:45 - 12:40 Group 3
9-5-2018 13:45 - 14:40 Group 1
9-5-2018 14:45 - 15:40 Group 4


Week 20

For week 20 each group can choose 2 time slots. Choose wisely.

Week 20 Monday
Date Time Group
14-5-2018 10:45 - 11:40
14-5-2018 11:45 - 12:40 Group 2
14-5-2018 13:45 - 14:40
14-5-2018 14:45 - 15:40 Group 1
Week 20 Tuesday
Date Time Group
15-5-2018 10:45 - 11:40
15-5-2018 11:45 - 12:40
15-5-2018 13:45 - 14:40 Group 4
15-5-2018 14:45 - 15:40 Group 7
Week 20 Wednesday
Date Time Group
16-5-2018 10:45 - 11:40 Group 3
16-5-2018 11:45 - 12:40 Group 6
16-5-2018 13:45 - 14:40 Group 8
16-5-2018 14:45 - 15:40 Group 5
Week 20 Thursday
Date Time Group
17-5-2018 10:45 - 11:40 Group 3
17-5-2018 11:45 - 12:40 Group 6
17-5-2018 13:45 - 14:40 Group 4
17-5-2018 14:45 - 15:40 Group 1
Week 20 Friday
Date Time Group
18-5-2018 10:45 - 11:40 Group 2
18-5-2018 11:45 - 12:40 Group 5
18-5-2018 13:45 - 14:40 Group 7
18-5-2018 14:45 - 15:40 Group 8


Week 21

For week 21 each group can choose 1 time slot on Tuesday/Wednesday, and 1 timeslot on Thursday/Friday. Choose wisely.

- Monday is not a possibility because due to white monday, the TU/e is closed.

- If the wednesday really isn't a possibility, you can send an email to m dot c dot w dot schouten at student dot tue dot nl, and we can rescedule the experimente to friday afternoon(18-05) or tuesday evening (22-05).

Week 21 Tuesday
Date Time Group
22-5-2018 11:45 - 12:40 Group 6
22-5-2018 12:45 - 13:40 Group 8
22-5-2018 13:45 - 14:40 Group 4
22-5-2018 14:45 - 15:40 Group 7
22-5-2018 15:45 - 16:40 Group 5
22-5-2018 16:45 - 17:40 Group 1
Week 21 Wednesday
Date Time Group
23-5-2018 08:45 - 09:40 Group 2
23-5-2018 09:45 - 10:40 Group 3
Week 21 Thursday
Date Time Group
24-5-2018 10:45 - 11:40
24-5-2018 11:45 - 12:40 Group 6
24-5-2018 13:45 - 14:40 Group 3
24-5-2018 14:45 - 15:40 Group 4
Week 21 Friday
Date Time Group
25-5-2018 10:45 - 11:40 Group 1
25-5-2018 11:45 - 12:40 Group 8
25-5-2018 13:45 - 14:40 Group 7
25-5-2018 14:45 - 15:40 Group 2

--



Week 22

For week 22 each group can choose 2 time slots. Choose wisely.

Week 22 Monday
Date Time Group
28-5-2018 10:45 - 11:40 Group 5
28-5-2018 11:45 - 12:40 Group 2
28-5-2018 13:45 - 14:40
28-5-2018 14:45 - 15:40
Week 22 Tuesday
Date Time Group
29-5-2018 10:45 - 11:40
29-5-2018 11:45 - 12:40
29-5-2018 13:45 - 14:40 Group 4
29-5-2018 14:45 - 15:40 Group 7
Week 22 Wednesday
Date Time Group
30-5-2018 10:45 - 11:40 Group 8
30-5-2018 11:45 - 12:40 Group 3
30-5-2018 13:45 - 14:40 Group 1
30-5-2018 14:45 - 15:40 Group 5
Week 22 Thursday
Date Time Group
31-5-2018 10:45 - 11:40 Group 1
31-5-2018 11:45 - 12:40 Group 6
31-5-2018 13:45 - 14:40 Group 3
31-5-2018 14:45 - 15:40 Group 7
Week 22 Friday
Date Time Group
01-6-2018 10:45 - 11:40 Group 2
01-6-2018 11:45 - 12:40 Group 6
01-6-2018 13:45 - 14:40 Group 4
01-6-2018 14:45 - 15:40 Group 8


Week 23

For week 23 each group can choose 2 time slots. Choose wisely.

- Note that tuesday is not a possibility.

Week 23 Monday
Date Time Group
04-6-2018 09:45 - 10:40 Group 1
04-6-2018 10:45 - 11:40 Group 2
04-6-2018 11:45 - 12:40
04-6-2018 13:45 - 14:40 Group 3
04-6-2018 14:45 - 15:40
Week 23 Wednesday
Date Time Group
06-6-2018 09:45 - 10:40
06-6-2018 10:45 - 11:40
06-6-2018 11:45 - 12:40 Group 7
06-6-2018 13:45 - 14:40 group 5
06-6-2018 14:45 - 15:40 Group 8
Week 23 Thursday
Date Time Group
07-6-2018 09:45 - 10:40 Group 4
07-6-2018 10:45 - 11:40 Group 6
07-6-2018 11:45 - 12:40 Group 3
07-6-2018 13:45 - 14:40 Group 1
07-6-2018 14:45 - 15:40
Week 23 Friday
Date Time Group
08-6-2018 09:45 - 10:40 Group 8
08-6-2018 10:45 - 11:40 group 5
08-6-2018 11:45 - 12:40 Group 2
08-6-2018 13:45 - 14:40 Group 6
08-6-2018 14:45 - 15:40 Group 7


Week 24

For week 24 each group can choose 1 time slot (which is 2 hours long!). Choose wisely.

Week 24 Monday
Date Time Group
11-6-2018 08:45 - 10:40 Group 1
11-6-2018 10:45 - 12:40 Group 4
11-6-2018 13:45 - 15:40 Group 2
11-6-2018 15:45 - 17:40 Group 6
Week 24 Tuesday
Date Time Group
12-6-2018 08:45 - 10:40 Group 7
12-6-2018 10:45 - 12:40 Group 3
12-6-2018 13:45 - 15:40 group 5
12-6-2018 15:45 - 17:40 Group 8


Contact Details

Tutors

Bob Hendrikx - r dot w dot m dot hendrikx at tue dot nl

Hao Liang Chen - h dot l dot chen at tue dot nl

Jordy Senden - j dot p dot f dot senden at tue dot nl

Peter Dooren - p dot v dot dooren at tue dot nl

Manuel Muñoz Sánchez - m dot munoz dot sanchez at tue dot nl

César López - C dot A dot Lopez dot Martinez at tue dot nl