Items with no label
3335 Discussions

How to change the Turtlebot Environment Variables

MRich8
Novice
1,634 Views

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?

0 Kudos
1 Solution
MRich8
Novice
693 Views

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

View solution in original post

0 Kudos
2 Replies
MRich8
Novice
694 Views

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

0 Kudos
MRich8
Novice
693 Views

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 (10.42.0.1) and add the following parameters:

Parameter Valueserialport /dev/ttyUSB03d_sensoreuclidbaseroombastackscircles

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.

Reply