Instructions for installing
ROS Indigo and the ROS drivers for iRobot
Create
- Download our script.
This script can be used to install ROS and iRobot Create drivers.
abhishek@abhishek-desktop:~$ wget www.cs.cornell.edu/~aa755/ROSCoq/rosInstall.sh
It assumes that the iCreate device is commected to the computer
at the port /dev/ttyUSB0
. On your machine, it might be
/dev/ttyUSB1
or /dev/ttyUSB2
...
(especially if you have multiple USB devices connected).
One way to find out is to see the difference between the output
of ls /dev/ttyUSB*
before and after connecting
the iRobot Create via USB.
If needed, replace the two occurrences of /dev/ttyUSB0
in the downloaded script.
-
Now run the script. The script uses
apt-get
will prompt for permission to
download packages. Make sure the robot is connected
before executing the script, because it sets the appropriate
permissions for the USB device.
abhishek@abhishek-desktop:~$ bash -x rosInstall.sh
After the above and before installing the Shim, it is important
to check that the robot, its drivers and ROS are working properly.
This is a 3 step process
- Start roscore as follows:
abhishek@abhishek-desktop:~$ source ~/.bashrc
abhishek@abhishek-desktop:~$ roscore
Wait a few seconds so that the output settles down.
- In a new terminal, start the ROS driver (node) representing the
icreate robot:
abhishek@abhishek-desktop:~$ roslaunch turtlebot_bringup minimal.launch
Wait a few seconds so that the output settles down.
- In a new terminal, send a message to the above node
to move forward at 0.1 metres per second.
abhishek@abhishek-desktop:~$ rostopic pub -1 /cmd_vel_mux/input/navi geometry_msgs/Twist '[0.1, 0, 0]' '[0, 0, 0]'
The robot will move only for a fraction of a second.
In contrast to the
old drivers
where the robot keeps following the last command indefinately,
the new drivers stops the robot
if no new message was received within 100 milliseconds.
So we have written our own driver which provides the old interface
by repeatedly sending the last message at 10 Hz to the new driver.
While running our Coq programs, we will use that driver instead,
because our axiomatization is currently based on the old driver.