Mission 7 Create 2 Ground Robot Details
Legacy original Create instructions can be found here. Please note that the original Create platform is no longer being supported by iRobot or the IARC.
The following hardware is required to build a single target robot. The recommended vendors below represent the minimum number of orders to save on shipping charges. Individual components might be found for a lower cost from other vendors.
22 AWG Wire
Quantity 2 meters
- Arduino IDE
NOTE: the latest Arduino IDE version (1.6.5+) is not compatible with the library used in the control board sketchbook. Please only use IDE versions from 1.0.5 to 1.6.4.
- Robot Code and Interface Board Design Files
- Soldering Iron
- Wire Cutters
- Wire Strippers
- Digital Multimeter
- Small Phillips-Head Screwdriver
- Power Drill
- 1/2" (13 mm) drill bit
Step 1: Download the schematic from here for reference.
Step 2: Connect the pre-tinned wires of the mini-DIN cable to the "To Create" I/O pads on the interface board per the following diagram. Please note that the diagram wire colors are only representative of the cable coloring on the cable available from Adafruit. Confirm all connections with a digital multimeter to prior to powering on the board. Be advised that the Adafruit cable contains two black wires, one of which is tied to the connector shell. This wire is not used.
Step 3: Solder the two 330Ω resistors, the 47kΩ resistor, and the 0.1μF capacitor to the board.
Step 4: Solder the dual LED to the board in the CR1 location ensuring that the LEDs are pointing toward the edge of the board.
Step 5: Solder the Molex 2 pin connectors to the J1 and J2 positions with the plastic backers toward the 47kΩ resistor.
Step 6: Solder the mode and reset switches to the board.
Step 7: Solder two 8 pin headers through all of the pads from D00 to AREF ensuring that the headers are perpindicular to the plane of the board.
Step 8: Solder two 6 pin headers through all of the pads from A5 to RESET ensuring that the headers are perpindicular to the plane of the board.
Step 9: Solder the RF receiver onto the board ensuring that the pins are in the correct orientation.
Step 10: Carefully attach the digital and analog header pins to the matching headers on the Arduino Leonardo. Make sure that none of the pins sticking through the underside of the control board short to any of the pins sticking up from the Leonardo.
Step 11: Remove the Create 2's dust bin. Remove the Create 2's green cover by pressing down in the center of the robot with one hand and grasping at the rear of the deco cover with the other and pulling up (it requires significant force). More detailed deco cover instructions can be found here. Drill out the 1/2" (13 mm) hole that covers the serial port. Paint the cover with white semi-gloss paint. Place masking tape over the top and front bumper IR windows as well as any buttons. Paint the remainder of the side and top surfaces of Create 2 with semi-gloss white paint as well. Remove the tape from the top IR window, DIN port, and buttons. Leave the tape over the front IR window. Remove the dust bin and remove the filter and motor housing by removing the 7 screws. Once the motor is removed, re-assemble the dust bin using the 6 screws on the underside of the bin. You do not need to replace the release button as the hole it leaves will be used for cable access.
Step 12: Assemble the top plate per this drawing. Paint the top plate and paddle one of the following two colors on target robots only:
- Krylon "Gloss Emerald Green #52016" (RGB = 22,86,16)
- Krylon "Gloss Banner Red #52108" (RGB = 176,22,4)
Step 13: Connect two 0.4 meter long 22 gauge wires to two Molex crimp contacts. If you do not have an appropriate crimper, the contacts can be soldered provided that the connector mating interface is not in any way compromised. Slide the sockets into the two position Molex female connector until you feel a subtle click. If you do not feel a click, bend the contact slightly before insertion. Solder the other ends of the wires to the two contacts on the microswitch that close upon depression of the switch lever. Do the same thing again with 0.3 meter wires for the other molex connector but connect the wires to the SPST power switch in the top plate instead.
Step 14: Adhere all of the Leonardo hardware in the dust bin using adhesive velcro strips. Run the cables through the dust bin button hole. Plug the mini-DIN cable into the serial port on the Create 2. Plug the paddle switch molex connector into the J1 connector and the power switch molex connector into the J2 connector on the interface board. Place the dust bin back inside the Create 2, ensuring that the cables are not pinched and re-fasten the two screws. The control board's power can be toggled using the power switch on the top plate. This switch is required because the Create 2 provides power regardless of whether it is on or not.
The build instructions are the same for an obstacle robot except the top plate has a mounting point for a pole. You can ignore step 13 when building an obstacle robot, although it is still necessary to add a power switch. Follow this document for info about the mounting point and pole assembly. Add the power switch and install it per the target robot switch instructions (steps 10 and 11). Paint the top plate white for an obstacle robot. The firmware will execute either the obstacle or target robot behavior depending on which position the mode switch is flipped.
To build the obstacle robot you will need:
- Thin-wall 4" PVC pipe - Quantity 1 to 2 meters
- PVC 4" Drain Cleanout Plug - Quantity 1
- PVC 4" Drain Cleanout Adapter - Quantity 1
- Polyurethane Construction Adhesive - Quantity 1 tube
- 6-32 x 1.5" Pan Phillips Screws - Quantity 4
- 6-32 Hex Nuts - Quanity 4
- #25 Drill Bit
- Hand Drill or Drill Press
- Phillips Head Screwdriver
- Wrench or Nut Driver
- The communication between your computer and the Arduino will be via a Micro-USB cable. Plug the USB cable in to your computer (with the other end plugged into the Arduino Leonardo).
Launch the Arduino IDE software. The Arduino board should show up as an available serial or COM port in the Tools > Serial Port menu. Ensure that the correct port is selected. The exact port naming scheme will vary by operating system (e.g. /dev/tty.usbserial-xxxxx on Mac OS, /dev/ttySx on Linux, or COMx on Windows). If you have more than one USB serial device connected, be sure to select the correct one. During the first connection, the serial port may take a few seconds to become available in the Serial Port menu.
- Select "Arduino Leonardo" from the Tools > Board menu.
- Unzip the ground robot code. The ZIP archive contains one folder called IARC7GroundRobot and a ZIP file named FSM Library.
- Go to the Sketch > Import Library... > Add Library... menu in the Arduino IDE software. At the file prompt, navigate to and select the FSM Library.zip file and click the Open button. Close the Arduino IDE.
- Open the IARC7GroundRobot folder and double click the file IARC7GroundRobot.ino.
- Press the right arrow button on the dark green banner at the top of the Arduino IDE window.
This verifies and compiles the code and then uploads it to your Arduino board. This may take a few minutes. After a successful compilation and upload, the status banner should read "Done uploading." If you are running Windows and encounter an error about memory buffering, go to the Device Manager, locate the COM port being used, select Properties > Port Settings > Advanced and uncheck the "Use FIFO buffers" check box.
- Disconnect the USB cable. Connect the Arduino board to the Create 2 via the mini-DIN cable.
- Press the on/off/CLEAN button on the Create 2.
- Toggle the control board power switch. Wait for a few seconds and confirm that one of the two LEDs on the control board are lit. The red LED indicates that the board is set to obstacle mode and a green LED indicates that the board is set to target mode. Execution of the code can be initiated by pressing the "A" button on the keyfob. Button "B" will similarly halt execution.
Notes: The mode switch on the interface board selects whether the robot behaves as a target robot or an obstacle robot. To switch from one mode to the other, flip the switch and then press the reset button on the interface board.
IARC engineers have encountered poor solder joints on the header connections of some third party Leonardo boards. Check for connectivity between the pin on the control board and the aligned pin on the Leonardo. If there is a poor connection, re-flow the solder on the Leonardo's header or bend the tips of the pins in an attempt to repair the connectivity. Genuine Arduino Leonardos do not appear to have this problem.
The first step when troubleshooting an assembled system is to connect to the control board via the micro-USB port on the Leonardo. As events occur, diagnostic information is sent across the serial bus to aid with debugging. To view this diagnostic information, open the Arduino IDE, select the proper COM port, and click the serial monitor button. The diagnostic information is streamed at 115,200 baud so set the serial monitor's baud rate accordingly. Serial communications status, mode status, and events are streamed live and can be used to test the functionality of the control board and serial bus. Additionally, the red and green LEDs on the control board can be used to identify proper control from the keyfob remote as well as mode changes. The LED color combination descriptions are shown below.