Issue with ROS on LabNet machines

Some of you have reported a strange new issue with ROS running on the LabNet machines in EN-1049.  The text of the error is as follows:

Unable to connect to my own server at [http:lannister:53321/].
This usually means that the network is not configured properly.

As a workaround, try setting ROS_IP to the IP address of the desktop computer.  That is, execute the following:

export ROS_IP=IP_ADDRESS

where IP_ADDRESS needs to be filled in as appropriate.  Run “ifconfig” to see your IP address.  You will have to execute this command for every terminal.  You could add something to the .bashrc file to make this solution permanent, but the IP address may change so you would have to pull out the appropriate string from the response from executing ifconfig (as was done for the ARbots).

 

Lab and Assignment 4 update

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.