2 Replies Latest reply on Nov 4, 2017 11:24 PM by mrichards0

    How to change the Turtlebot Environment Variables


      I created an interface between the Euclid and a Roomba 530 with an FTDI 232.  The env variables are set for a turtlebot, so the serial, base and stacks needed to be modified to get it working.  I was able to modify my .bashrc and run turtlebot_bringup from the cli.  I did have to add a new roomba.circles.euclid.urdf.xacro file to point to the euclid sensors.  I can teleop and it seems to work; however the web interface (scenarios) won't work.  Where are the global env variables for the turtlebot set?  They are not in /etc/environment.  How do I change them for the web interface?

        • 1. Re: How to change the Turtlebot Environment Variables

          Ok, nevermind   I figured it out.  I added the parameters (base, 3d_sensor, serialport, stacks) to the node.  Works great now!

          • 2. Re: How to change the Turtlebot Environment Variables

            In case anyone wants to try a roomba 500 series or create with the euclid.  You can make a cable with an FTDI232 ($5 on amazon) board an a mini-din connector.  Use the OI documentation from iRobot to match the RX to TX, TX to RX, DTS to "Baud Rate" (CTS), and GND to GND. 


            Set the following environment variables in your .bashrc:

            echo export TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0>>~/.bashrc

            echo export TURTLEBOT_3D_SENSOR=euclid>>~/.bashrc

            echo export TURTLEBOT_BASE=roomba>>~/.bashrc

            echo export TURTLEBOT_STACKS=circles>>~/.bashrc

            source .bashrc


            Copy the roomba.circles.kinect.urdf.xacro to roomba.circles.euclid.urdf.xacro and replace "kinect" with "euclid" in the file.

            sudo cp /opt/ros/kinetic/share/turtlebot_description/robots/roomba.circles.kinect.urdf.xacro /opt/ros/kinetic/share/turtlebot_description/robots/roomba.circles.euclid.urdf.xacro

            sudo vi /opt/ros/kinetic/share/turtlebot_description/robots/roomba.circles.euclid.urdf.xacro


            You can now run turtlebot_bringup to test it (watch the TX/RX lights on the FTDI, if they flash rapidly, it's probably working):

            roslaunch turtlebot_bringup minimal.launch


            Try a teleop using a new terminal window:

            roslaunch turtlebot_teleop keyboard_teleop.launch


            Now edit the Turtlebot node in the Euclid Nodes tab of the Euclid web page ( and add the following parameters:


            serialport /dev/ttyUSB0


            You should be able to start the scenarios now, watch the RX/TX lights on the FTDI to see if it's working.  It sometimes takes about a minute to start working.  The scenarios stay red for me, I'm still trying to figure that out.  Hope this helps someone out.  It took me all day to get it working.  TurtlebotCA explores and navigates, TurtlebotDepthFollower seems to only run away from you, and TurtlebotPersonFollower works pretty well.