Hardware Configuration
The create base is not the default configuration for an indigo turtlebot. To ensure that the correct hardware configuration is loaded, you will need to export a few environment variables along with your setup.bash.
> export TURTLEBOT_BASE=create (alternatively, roomba if using Create 2) > export TURTLEBOT_STACKS=circles > export TURTLEBOT_3D_SENSOR=asus_xtion_pro (alternatively kinect) > export TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0 (may appear under another ttyUSBn)
Please be aware that which device is assigned to ttyUSB0 could be determined by the order in which you plug in USB devices. If you configure TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0 but then later plug in the 3D sensor first and then the Create cable, you may have to change to TURTLEBOT_SERIAL_PORT=/dev/ttyUSB1 etc. To avoid this, it is advisable to always plug in the Create cable first and then plug in other devices.
If the turtlebot is your only workspace, adding the above exports to your .bashrc is a useful convenience. Alternatively you can append them to devel/setup.bash or even better create your own setup.bash in your workspace root so that it persists even when you clean out your build. For example, ~/turtlebot/setup.bash
# Get the location of your workspace (i.e. the location of this script) export MY_WORKSPACE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" if [ -d ${MY_WORKSPACE}/devel ]; then source ${MY_WORKSPACE}/devel/setup.bash fi # Export the turtlebot variables export TURTLEBOT_BASE=create export TURTLEBOT_STACKS=circles export TURTLEBOT_3D_SENSOR=kinect export TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0
Serial Device
Typically the /dev/ttyUSBx port requires your user to be in the dialout group. If you are not in this group then your turtlebot bring up will fail with permission denied. Add your user to this group with:
> sudo adduser username dialout
You have to log out of the Ubuntu desktop and log back in for this change to take effect.
Notes
You can see exactly how these environment variables are being configured via minimal.launch in turtlebot_bringup.