Table of Contents

TortugaBot

The latest setup guide (Dec 2022) was moved to the ROS1 Noetic guide.

The TortugaBot is a little robot which has an ASUS Xtion Pro Live as sensor. It is mainly build from acrylc glass and Aluminium bars. To move he is using two EMG30 or EMG49 motors which get their power from a 11.1V 2500mAh Li-Po battery. He gets controlled by a Laptop which has to be put in the LispBot.

Partlist

The Partlist is here.

CAD Model

The CAD Model Download is gonna be here soon.

Software

The TortugaBot laptops are small Lenovo IdeaPad Flex 10 netbooks.

Installed software

Configuring a new user

$ sudo usermod -a -G dialout USERNAME
$ groups USERNAME # to check if it worked
$ cd && mkdir -p workspace/ros/src
$ source /opt/ros/indigo/setup.bash
$ cd workspace/ros && catkin_make
$ echo -e "\n# ROS\nsource \$HOME/workspace/ros/devel/setup.bash\n" >> ~/.bashrc
$ . ~/.bashrc
$ cd src && wstool init
$ wstool merge https://raw.githubusercontent.com/code-iai/tortugabot/master/rosinstall.yaml
$ wstool update
$ cd .. && rosdep install --from-paths src --ignore-src

Check the README file in the repo for more info.

Reinstalling OS

For completely new laptops or reinstalling the OS.

The usual convention is:

HandleLidSwitch=ignore

Installing QtSixA for the Sony DualShock3 controllers

Install QtSix according to the instructions here:

QtSixA in Sourceforge

Basically:

sudo add-apt-repository ppa:falk-t-j/qtsixa
sudo apt-get update
sudo apt-get install qtsixa
sudo /etc/init.d/sixad start

Then connect the DualShock3 controller over USB with a mini-usb cable. And start “qtsixa”. There select Tasks → Pair Device to PC → DualShock controller

After that, the device should be paired to the laptop. And if you press the “Playstation” button (in the center), it should connect to the laptop. It vibrates a little to confirm.

To get sixad to start all the time, do:

cd /etc/rc2.d && sudo ln -s ../init.d/sixad S99sixad

guvcview

guvcview and other uvc related things were not working with a recent kernel (4.4.x)

The following fixes the problem:

sudo add-apt-repository ppa:pj-assis/ppa
sudo apt-get update
sudo apt-get install guvcview

libuvc-camera for the webcams

Create the file /etc/udev/rules.d/99-uvc.rules with the following inside:

# UVC camera Microsoft LifeCam Studio
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0772", MODE="0666"

(adjust for your webcam looking at lsusb)

Then restart udev:

/etc/init.d/udev restart

And re-connect the webcam. It should now be readable for everyone.

Install the camera driver:

sudo apt install ros-indigo-libuvc-camera

Create a launch file with the following contents:

<launch>
  <group ns="camera">
    <node pkg="libuvc_camera" type="camera_node" name="mycam">
      <!-- Parameters used to find the camera -->
      <param name="vendor" value="0x045e"/>
      <param name="product" value="0x0772"/>
      <param name="serial" value=""/>
      <!-- If the above parameters aren't unique, choose the first match: -->
      <param name="index" value="0"/>

      <!-- Image size and type -->
      <param name="width" value="640"/>
      <param name="height" value="480"/>
      <!-- choose whichever uncompressed format the camera supports: -->
      <param name="video_mode" value="uncompressed"/> <!-- or yuyv/nv12/mjpeg -->
      <param name="frame_rate" value="15"/>

      <param name="timestamp_method" value="start"/> <!-- start of frame -->
      <param name="camera_info_url" value="file:///tmp/cam.yaml"/>

      <param name="auto_exposure" value="3"/> <!-- use aperture_priority auto exposure -->
      <param name="auto_white_balance" value="false"/>
    </node>
  </group>
</launch>

Configuring network to communicate with laser

Connect the laser and make sure it is powered up with the battery. Go to the network connections icon (which is next to your volume icon in the Ubuntu GUI). There should be an ethernet connection existing which is not completely configured. On the bottom of network connections menu click on “Edit Connections…”. Choose “Wired Connection 1” and click on “Edit…”. There, in the “Ethernet” tab use Device Mac Address from the drop-down menu. In the “IPv4 Settings” tab choose “Method” “Manual” and in “Addresses” add a new address – click on “Add”. The “Address” is the IP address of the network card – your ethernet to USB dongle, e.g. “192.168.200.1”. As netmask use “255.255.255.0” and leave “Gateway” empty or zeros. In “IPv6” settings choose “Method” “Ignore”.

Done. It should connect automatically anytime when the laser is connected.

Documentation

One of our students was working on creating a map of the hallway using the little robots. Here's a PDF with some documentation of the mapping process and also the robot itself. finaltortugabotpaper.pdf