Embedded Motion Control/Maze competition 2015: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
*** '''If your set-up deviates from this method, let us know as soon as possible!''' | *** '''If your set-up deviates from this method, let us know as soon as possible!''' | ||
* Maze characteristics: | * Maze characteristics: | ||
** Exact location of the | ** Exact location of the exit is unknown, but it will be on the boundaries of the maze (which means: PICO has to drive ''out'' of the maze). | ||
** Walls are approximately axis-aligned, meaning all angles are 90 degrees. Approximately means: built by hand, so slight differences may occur. | ** Walls are approximately axis-aligned, meaning all angles are 90 degrees. Approximately means: built by hand, so slight differences may occur. | ||
** Open spaces '''may''' occur | ** Open spaces '''may''' occur | ||
** There '''may''' be loops in the maze, which means that some walls may not be connected to other walls. | ** There '''may''' be loops in the maze, which means that some walls may not be connected to other walls. | ||
* Start, goal and limits: | * Start, goal and limits: | ||
** PICO will start | ** PICO will start '''inside''' the maze. | ||
** PICO will '''not''' start in a door area (see below for definition). So, for example, the door will not be directly behind PICO's starting location | |||
** You have finished the assignment if PICO did not drive into walls, found the exit and the whole robot is across the finish line. | ** You have finished the assignment if PICO did not drive into walls, found the exit and the whole robot is across the finish line. | ||
** Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational. By the way, that's pretty fast (compared to last year's 0.2 m/s), so be careful! You don't ''have to'' drive that fast! | ** Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational. By the way, that's pretty fast (compared to last year's 0.2 m/s), so be careful! You don't ''have to'' drive that fast! | ||
* Doors: | * Doors: | ||
** There is exactly 1 door in the maze | ** There is exactly 1 door in the maze | ||
** The door will be situated at a dead end, a dead end being defined as a piece of wall with minimum length 0.5 and maximum length 1.5 with side-walls of at least 0.3 meter length. | ** The door will be situated at a dead end, a dead end being defined as a piece of wall with minimum length 0.5 and maximum length 1.5 with side-walls of at least 0.3 meter length. ('''Picture explaining this will follow shortly''') | ||
** There might be multiple dead ends in the maze, one of which is a door | ** There might be multiple dead ends in the maze, one of which is a door | ||
** You need to pass the door to solve the maze | ** You need to pass the door to solve the maze, ''i.e.'', if you cannot open the door, the maze is unsolvable | ||
** The door will open if and only if the following conditions are met: | ** The door will open if and only if the following conditions are met: | ||
*** PICO is located within 1.3m distance from the door (''i.e.'', '''no''' part of PICO is located outside the 1.3m range) | *** PICO is located within 1.3m distance from the door (''i.e.'', '''no''' part of PICO is located outside the 1.3m range). The 1.3m in front of the door is called the '''door area'''. | ||
*** PICO is '''not''' driving, ''i.e.'', the commanded velocity is 0 (both translational and rotational) | *** PICO is '''not''' driving, ''i.e.'', the commanded velocity is 0 (both translational and rotational) | ||
*** PICO '''asks to open the door'''. This will become available from the '''io'''-layer, ''e.g.,:<pre>io.requestOpenDoor()</pre> | *** PICO '''asks to open the door'''. This will become available from the '''io'''-layer, ''e.g.,:<pre>io.requestOpenDoor()</pre> | ||
Line 33: | Line 34: | ||
*** The door slides open at approximately constant velocity | *** The door slides open at approximately constant velocity | ||
*** The door is fully open within 5 seconds from PICO's request | *** The door is fully open within 5 seconds from PICO's request | ||
** Once the door is open, it will stay open | |||
* Scoring: | * Scoring: | ||
** You have 2 attempts (= maximum one restart) | ** You have 2 attempts (= maximum one restart) | ||
Line 42: | Line 44: | ||
** Hit wall = that attempt fails | ** Hit wall = that attempt fails | ||
** PICO standing still for 30 seconds = that attempt fails | ** PICO standing still for 30 seconds = that attempt fails | ||
** | ** There will be no second attempt if first attempt was successful | ||
Next you can see an examples of an ''open space'' and a ''door'' and examples: | |||
[[File:emc_labirynth_scheme.png|thumb|center|640px|Scheme of an ''open space'' and a ''door template' and examples]] |
Latest revision as of 15:23, 8 May 2015
The final competition will be held on June 17, 8.45h at the RoboCup soccer field. The goal of this competition is to let PICO autonomously drive through a maze and find the exit. Some facts:
- Where and when:
- Wed June 17, 8.45h - 10.30h
- Location: RoboCup Soccer field, GEM-N
- Set-up
- 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 us know as soon as possible!
- Make sure your software is easy to set-up, i.e:
- Maze characteristics:
- Exact location of the exit is unknown, but it will be on the boundaries of the maze (which means: PICO has to drive out of the maze).
- Walls are approximately axis-aligned, meaning all angles are 90 degrees. Approximately means: built by hand, so slight differences may occur.
- Open spaces may occur
- There may be loops in the maze, which means that some walls may not be connected to other walls.
- Start, goal and limits:
- PICO will start inside the maze.
- PICO will not start in a door area (see below for definition). So, for example, the door will not be directly behind PICO's starting location
- You have finished the assignment if PICO did not drive into walls, found the exit and the whole robot is across the finish line.
- Maximum speed (is limited in PICO): 0.5 m/s translational, 1.2 rad/s rotational. By the way, that's pretty fast (compared to last year's 0.2 m/s), so be careful! You don't have to drive that fast!
- Doors:
- There is exactly 1 door in the maze
- The door will be situated at a dead end, a dead end being defined as a piece of wall with minimum length 0.5 and maximum length 1.5 with side-walls of at least 0.3 meter length. (Picture explaining this will follow shortly)
- There might be multiple dead ends in the maze, one of which is a door
- You need to pass the door to solve the maze, i.e., if you cannot open the door, the maze is unsolvable
- The door will open if and only if the following conditions are met:
- PICO is located within 1.3m distance from the door (i.e., no part of PICO is located outside the 1.3m range). The 1.3m in front of the door is called the door area.
- PICO is not driving, i.e., the commanded velocity is 0 (both translational and rotational)
- PICO asks to open the door. This will become available from the io-layer, e.g.,:
io.requestOpenDoor()
- If these conditions are met:
- The door will start sliding open within 2 seconds from PICO's request
- The door will slide open to the left or to the right
- The door slides open at approximately constant velocity
- The door is fully open within 5 seconds from PICO's request
- Once the door is open, it will stay open
- Scoring:
- You have 2 attempts (= maximum one restart)
- restart means:
- PICO restarts at beginning of maze
- MAZE time (= time used for scoring) is reset, BUT
- TOTAL time keeps running
- You have a total of 7 minutes for both attempts
- Hit wall = that attempt fails
- PICO standing still for 30 seconds = that attempt fails
- There will be no second attempt if first attempt was successful
Next you can see an examples of an open space and a door and examples: