Escolar Documentos
Profissional Documentos
Cultura Documentos
CHERP (Creative Hybrid Environment for Robotic Programming) is a hybrid tangible/graphical computer language designed to provide an engaging introduction to computer programming and robotics for children in both formal and informal educational settings. With CHERP you can create programs for robots like the LEGO Mindstorms RCX. CHERP was funded by a National Science Foundation grant (DRL-0735657) CHERP was designed and implemented by many students working in the DevTech research group at Tufts University directed by Prof. Marina Bers: Michael Horn, Jordan Crouser, David Kiger. This project, which evolved through several iteration, was initially possible through a collaboration between the DevTech Research Group and the Human Computer Interaction Lab at Tufts University
Overview
Tangible/Graphical Programming
CHERP enables you to create both physical and graphical computer programs to control your robot with icons that represent actions for your robot to perform. You can create physical programs using labeled interlocking blocks or onscreen programs using graphical versions of the icons. The shape of the interlocking blocks and icons creates a physical syntax that prevents the creation of invalid programs. CHERP programs can be downloaded to the robots in a matter of seconds.
How It Works
CHERP's physical blocks contain no embedded electronics or power supplies. Instead CHERP uses a standard webcam connected to a desktop or laptop computer to take a picture of your program, which it then converts into digital code using the circular bar-code-like TopCodes on each block. In the lab, we use specially made interlocking wooden cubes as our physical blocks, and weve included instructions for how to make your own later in this document. However, you dont need to use blocks at all to get started! You can use the graphical interface as a stand-alone, or you
Windows 7 Instructions
1. Download and run the installer attached to the CHERP webpage. 2. Install CHERP to the Desktop. 3. Install the Logitech drivers directly from the website (http://www.logitech.com/en-us/435/6333). 4. To install the LEGO USB Tower drivers, plug in the tower to a USB port. You will be promted to install drivers. Select Find drivers manually. They are in the CHERP folder, in the RCXTowerDrivers folder. Plug the Tower into the other USB ports and install the drivers again. 5. Move the CHERP folder to Program Files (click Okay to give permission to do so), and create a new folder in Program Files called tern_logs (no quotes).
Interface Control
You may want to utilize full-screen mode to minimize distractions. To enter and exit full-screen mode, hit Enter and Esc, respectively on your keyboard.
The system begins with only the first row of blocks (actions) showing. The second row contains REPEATS and their parameters and the third row contains IFS and their parameters. Typing Ctrl+(1 or 2 or 3) when out of full-screen mode shows that number of rows.
Every program must start with a BEGIN block and end with and END block:
Control flow blocks such as IF, IF NOT, and REPEAT must be paired with their associated END block, with the action(s) to be controlled in between. IF NOT blocks can only be used after IF blocks.
REPEAT and IF blocks have a space for parameters. The coloring of the parameter icons matches that of their control flow block. For REPEAT blocks, adding a parameter is optional since the default is to REPEAT FOREVER. For IF blocks, the user must add a parameter. In the Tangible Interface, the parameters TopCodes must align with those of the other blocks and be visible to the camera to download the program to a robot.
Motors must be attached to Ports A and/or C on the RCX brick. Depending on the orientation of your motors and their wires, commands like FORWARD and BACKWARD may be reversed. It is crucial to test that your robot behaves as expected and change the wire orientation until it does. Hint: attach the wires with the orientations in the image before attaching the motors to the RCX. This set-up will work if the IR port end of the robot (not shown) will be its front. For other orientations, experiment with the wire and motor placements! See what happens, and make sure it does what you want before proceeding!
CHERP allows you to control your robots behavior using LIGHT or TOUCH SENSORS. If you choose to use a sensor, it must be attached to Port 1 on your RCX brick. To use a LEGO light bulb piece, attach it to Port B on your RCX brick. You can download up to 5 programs on your RCX. Press the grey Program button on the RXC to change which program slot you are running or downloading to. See the next page for information and tips on re-installing firmware on your RCX.
Other than that, the sky is the limit! Have a blast building your robot!
Firmware
Your RXC brick needs firmware, software that allows it to receive and run CHERP programs. This can be downloaded to your RCX from LEGOs RoboLab software.
The firmware will be lost after 30 seconds (or less!) of having one or more batteries shaken loose or taken out. Tips regarding firmware: o Use a flathead screwdriver or staple remover to pry the battery-holders prongs outward, assuring a snug connection for the batteries. o Clean any corrosion off the contacts. o When replacing batteries, do so quickly. If firmware is lost: o Plug in a Tower. Open RoboLab. Click Administrator. o Click Select COM Port and choose USB 1. Click the empty check box in the lower right hand corner. o Turn on the RCX and place its IR port in front of the Tower. o Click the Tower symbol, the RXC hardware type, and then Download. o The RCXs screen will count up from 0 to about 2400. You may get an error message if communication between the Tower and the RCX fails during the download. You can Try Again or Skip it (stop downloading). Try a few times with the following in mind: o You may need to turn off overhead lights and/or cover the RCX and Tower with a box to avoid interference from infrared light in the environment. o You may also need to install firmware on one RXC at a time or position them away from each other so multiple Towers signals do not interfere with each other. o You will hear a series of musical notes, 2 beeps, and more musical notes when the firmware download finishes, which will take about four minutes. For more information, visit: http://www.lego.com/eng/education/mindstorms/home.asp?
pagename=qsg_firmware
2 Begin Blocks (with peg, no hole) 2 End Blocks (no peg, with hole) 28 Regular Blocks, 2 each of: o Forward o Backward o Turn Left o Turn Right o Spin o Shake o Sing o Beep o Light On o Light Off o End-Repeat o End-If o If-Not o End-If-Not 4 Double Blocks: o 2 Repeat o 2 If 12 Parameter labels (not affixed to blocks): o Number labels 2-5 for use with REPEAT blocks o PUSHED, RELEASED, LIGHT, DARK labels for use with IF blocks o UNTIL PUSHED, UNTIL RELEASED, UNTIL LIGHT, UNTIL DARK labels for use with REPEAT blocks
Materials: 40 1 3/4 wooden craft cubes (www.barclaywoods.com/craft_parts.htm) 40 3/8 x 1 1/4 fluted pin dowels (or 3/8 dowel, cut to size) Yellow wood glue Rubber cement or 3M spray adhesive White card stock paper or printable sticker sheets for printing labels Medium grade sandpaper Velcro coins for attaching parameters to control flow blocks (Repeat, If) OPTIONAL: Thick magnetic paper (Note, some brands of magnet paper recently became thinner and less effective. Look for thick magnet paper.)
Tools: 10 drill press 3/8 drill bit Drill press vice Small hand saw (e.g. Tenon saw or Dovetail saw)
http://ase.tufts.edu/DevTech/tangiblek/research/cherp.asp
a. Print 2 copies of each file on printable sticker sheets or card stock using a color printer. Simply cut out each individual label with a paper cutter or scissors and stick on the blocks! Make sure each label is correctly oriented and smooth down the edges to keep it from peeling. b. We recommend opening the png files with The GIMP and printing at a high resolution (600dpi) (http://www.gimp.org/downloads/). SVG (Inkscape) files are provided in case you want to edit the icons http://inkscape.org/download/?lang=en . c. If using card stock rather than sticker sheets, use rubber cement or 3M adhesive to glue the block labels onto the four outside faces of the cubes. It is important that the TopCode label be aligned as shown in the image above, with the dowel pointing to the right and/or the hole to the left. This ensures that the webcam will be able to correctly identify the block. 4. Put fuzzy Velcro coins in the center of the If blocks parameter space and scratchy coins under the center of the If Parameters. Put scratchy Velcro coins in the lower left corner of the Repeat Forever and fuzzy coins under the lower left corner of the Repeat parameters. This way, you cant attach If Parameters to a Repeat block and vice versa! a. OPTIONAL, if using magnet paper for parameters: Printing on magnet sheets works best on a laser printer rather than an ink-jet printer. You can always ink-jet print on regular or sticker paper and attach that to the magnet paper. If using magnetic parameters, glue 4 squares of magnet paper under the 4 parameter spaces on Repeats and Ifs. **Feel free to come up with your own materials and techniques for making a working set of CHERP programming blocks! Wed love to know if you have a great tip to share!**
Please feel free to let us know how youre using CHERP by emailing us at devtech@tufts.edu.
The TangibleK Project is supported by National Science Foundation Grant #DRL0735657. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation
CHERP is licensed with a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 n!orted "icense. nder this license# $ou ma$ use and ada!t this work# but $ou must attribute the work to the %ev&ech Research 'rou!. (ou may not use this work )or commercial !ur!oses.