15-494/694 Cognitive Robotics: Lab 1
I. Meet Cozmo
- Get a robot, a charger, a Kindle, and a set of light cubes from the cabinet.
- Note the number on the bottom of your robot and the bottom of your Kindle.
Make sure they match.
- Plug the charger into a power strip. Turn on the robot by
placing it on the charger.
- Raise and lower the lift to reveal the robot's network name and
WiFi password on the face display.
- Turn on the Kindle and start the Cozmo app.
- The app may offer you a choice of robots. Choose the one whose network name
matches your robot, and connect to it.
- Exit SDK mode by pressing the "Exit SDK" button in the Cozmo app.
Be careful that Cozmo doesn't wander off the table!
- Re-enter SDK mode by pressing the gear icon in the top right
corner of the screen, scrolling right, and selecting "SDK mode".
II. Introduction to cozmo-tools
- Log in to the workstation.
- Start a shell by typing control-alt-T.
- Set up your dot files and search path. You only need to do this once:
$ ln -s /afs/cs/academic/class/15494-s21 Class
$ cp Class/dotfiles/.* .
- Log out and log back in again.
- Connect the Kindle to the workstation via its USB cable.
- In a shell, type "adb devices" and you should see the Kindle
listed. If the message says "Unauthorized" you need to go to the
Kindle's Settings page, select "Device Options", scroll down to
"Serial Number", and tap the button repeatedly until it reveals the
"Developer Options" button. Then click on that and turn on USB
- Download a private copy of the cozmo-tools package by doing:
$ git clone https://github.com/touretzkyds/cozmo-tools
- Run the simple_cli command line interpreter and display the camera viewer by doing:
C> show viewer
- Try showing Cozmo its cubes and see how they are displayed in the
camera viewer. Also try showing Cozmo a face.
dir(robot) to examine the fields of the variable
robot, and similarly for
- Bookmark the Cozmo SDK documentation
at http://cozmosdk.anki.com/docs/api.html and
glance over the documentation for cozmo.robot and cozmo.world.
- Run the worldmap viewer by typing
show worldmap_viewer. Press
the "h" key in the worldmap viewer window for keyboard command help.
- Let Cozmo watch one of his cubes as you move it around, and
observe how the display changes in the worldmap viewer.
III. Exploring the Occupancy Grid
- Press the "m" key in the worldmap viewer window to see Cozmo's occupancy grid.
show particle_viewer to display the particle filter that cozmo-tools
uses for localization.
- Type "h" in the particle filter window for keyboard help. Notice that you can
use the WASD keys to drive Cozmo.
- Drive Cozmo around and watch how the occupancy grid representation changes.
- Try picking up Cozmo and putting him down in a position where he
can't see any cubes. What happens?
- Using the WASD keys in the particle viewer window, turn Cozmo so
he can see a cube. What happens in the worldmap viewer?
IV. Clean Up
- Quit Python by typing Control-\ (Control-backslash).
- Exit the Cozmo app on the Kindle. This is very important
because as long as the app is running, Cozmo will be talking to
his cubes and running down their batteries.
- Put the robot, charger, Kindle, USB cable, and light cubes back
in the cabinet in the correct cubbyhole, and set them up so that
both the robot and the Kindle are charging.
- Log out of the workstation.