15-494/694 Cognitive Robotics: Lab 7
I. Software Update and Initial Setup
At the beginning of every lab you should update your copy of
vex-aim-tools. To do this on Linux or Windows:
$ cd vex-aim-tools
$ git pull
II. Building Walls
In this lab you will construct a wall decorated with ArUco markers that the robot
can use to recognize the wall.
- Look at the file aim_fsm/wall_defs.py to see how to define a wall.
- You will be given the following supplies:
- A wall
- A sheet of adhesive stickers with ArUco markers
- Some plastic feet
- Select which markers to use for your wall. Do not use markers
17 or 37. These have patterns that are prone to spurious detection, so
the software disables them.
- Put four unique markers on the front side of your wall, and
another four on the back side. Unlike the example file where the
markers are random, choose your markers in ascending order
left-to-right. The markers need to be near the bottom edge of the
wall so that they will remain visible in the camera image when the
robot gets close.
- Using a ruler, measure the length of your wall, and the x and y
positions of each of your markers. Measure the position to
the center of the marker, not one of the edges. Measure
the x position from the left edge for the front of the wall and
from the right edge for the back of the wall. Measure the y
position from the bottom edge.
- Replace the wall definition in wall_defs.py with your own wall definition.
- Run simple_cli and observe the wall in the worldmap viewer.
- Try covering one or two markers and notice that the wall is
still detected as long as at least one marker remains visible.
- Use the particle viewer to drive the robot around and notice
that the wall remains stable.
- Take screenshots showing the camera viewer and worldmap viewer
recognizing your wall.
What to Hand In
Hand in your modified wall_defs.py file and screenshots showing
the camera viewer and worldmap viewer display of your wall.
Homework
No homework for this lab. Enjoy your Spring Break.
|