15-494/694 Cognitive Robotics Lab 10:
Calypso for Cozmo

I. Calypso for Cozmo

  1. Set up Cozmo and connect it to the workstation.

  2. Plug an Xbox controller into the workstation.

  3. Make sure the workstation's speakers are powered on and the volume is turned up.

  4. Run Calypso on the workstation by typing the following in a terminal window: /opt/calypso

  5. Use the controller to enter the Let Me Drive rule below. Note that controller button help appears in the top left corner of the Calypso window. If you switch to using the keyboard, the help switches to keyboard help.
    WHEN gamepad DO move
        

  6. Run the program by pressing the "back" button on the Controller or the Backspace key on the keyboard.

  7. Use the controller to drive the robot around. Refer to the button help: you can control the head and the lift too.

  8. Put a cube where the robot can see it and observe its appearance on the world map.

  9. Move or rotate the cube and observe the world map. Try putting the cube on its side or upside-down and see how the world map representation changes.

  10. Using the controller, make the robot pick up a cube.

  11. Leave execution mode by pressing the Back button on the controller or the Backspace key on the keyboard.

  12. To turn off "Novice mode": bring up the Home menu by pressing the Start button on the controller or clicking on the Home icon in the top right corner of the screen. Then select Settings.

  13. Add a Pursue and Consume idiom to your program using the following rules:
    WHEN gamepad DO move
    WHEN see cube DO move toward it
    WHEN bumped cube DO grab it
        WHEN DO say "I have a cube"	
        
    Note: to indent a rule, put the pencil on the WHEN tile, pick up the rule using the A button, slide it to the right using the left stick, then put it back down. Aternatively, you can click and drag on the WHEN tile with the mouse.

  14. Put one cube behind the robot and hide the other cubes. Run the program.

  15. Use the controller to turn the robot until it sees the cube.

II. Calypso Map Layouts

  1. You will need to complete this lab on the real robot, but you can do some of your development work at home using Cloud Calypso if you wish.

  2. Have a look at the Calypso curriculum.

  3. Show the robot the shack you constructed, and using the Let Me Drive idiom, have it explore the shack so the walls appear on the world map.

  4. Click on the map menu in the top left corner of the world map and select Snapshot to copy the map to the Map Layout editor.

  5. Leave execution mode and switch to the Map Layout view.

  6. Clean up the map layout and add two blank walls to complete the shack.

  7. Drag a room onto the map layout and adjust it to cover most of the interior of the shack. Rename the room to "interior".

  8. Drag two other rooms to locations outside of the shack, and give them names.

  9. Write a state machine to get the robot to visit each of your three rooms.

  10. Run your program and switch to the state machine view to see the robot change state.

  11. Save your program. The map layout will be saved with it. Note that your program will be saved in ~/Documents/Calypso.

III. Are You Smarter Than a Fifth Grader?

  1. Watch this video of the Cozmo baking companion for inspiration.

  2. Write your own Cozmo demo in Calypso. It must satisfy the following requirements:

    • Program Cozmo plus at least one other character (a cube or the "world").

    • Cozmo's program should involve multiple pages of code.

    • Use at least two rooms. You can use the shack if you wish. If you choose not to use your shack, you may want to keep it in the background to provide stable landmarks so the robot can reliably navigate to the rooms.

  3. Take some photos and screenshots to document your demo.

Hand In

Hand in the following in a file called handin.zip:

  1. Your Calypso program file.

  2. Screenshots of your Calypso world map when running your program.


Dave Touretzky