This week’s lab came to a halt yesterday when all robots seem to converge on the same problem. I am convinced that the problem relates to the code running on the Arduino and its serial connection with the iRobot Create. Some of you observed that you could get around the problem by waiting to make the physical connection between the Arduino and the robot (thanks Zhi!). I have implemented a fix that delays making this connection in the code that runs on the Arduino. So far I have not observed the problem to re-occur. I would be grateful if you could test the following fix. Please e-mail to let me know if it does or does not work for you.
I am still not sure what to do about the assignment. Certainly, there will be no assignment due next week. I am thinking about turning assignment 3, part 1 into more of a lab exercise. So please keep your schedules clear for Thursday afternoon.
The Fix (I Hope!)
Download ROSArduinoBridge.zip and place it in the ~/sketchbook/ folder of your netbook. Now erase the old version of ROSArduinoBridge and unzip the new version. Use the Arduino IDE to upload this sketch to the Arduino. Note that you will have to set the right serial port (as described on the ARbot page). You will also have to set the board to “Arduino Mega 2560 or Mega ADK”. Use the right arrow button to compile and upload.
I also made some small changes on the ROS side for compatibility. Download ros_arduino_bridge.zip and place it in ~/catkin_ws/src. Once again, erase the old version and unzip the new. Change directory to ~/catkin_ws and execute catkin_make. It should now be ready to use.
One change is that the Arduino will now toggle the play LED on the robot every 250 ms. So this gives us a “heartbeat” signal that the connection between Arduino and robot is working.