/thorp

Software for a lowcost mobile manipulation: a TurtleBot2 with an arm, a second 3D camera, and some extra junk

Primary LanguagePython

THORP

Software for a low-cost mobile manipulation: a TurtleBot2 with an arm, a second 3D camera, and some extra junk.

Example apps

Simulated on Gazebo

Cat hunter: explore the entire environment searching for cats, and attack them whenever found.

Cat hunter

Object gatherer: explore the entire environment gathering all tabletop objects of the requested types.

Object gatherer

Real robot (much older)

Turtlebot arm object manipulation demo (video).

Bringup

Pre-requisite

Install wstool:

sudo apt-get install python-wstool

or when that is not possible, fall back to pip:

sudo pip install -U wstool

Installation

mkdir ~/thorp
cd ~/thorp
wstool init src https://raw.githubusercontent.com/corot/thorp/master/thorp_bringup/docker/thorp.rosinstall
touch src/gazebo-pkgs/CATKIN_IGNORE
ln -sr src/gazebo-pkgs/gazebo_grasp_plugin src
ln -sr src/gazebo-pkgs/gazebo_version_helpers src
source /opt/ros/melodic/setup.bash
rosdep update
rosdep install --from-paths src /opt/ros/melodic --ignore-src --rosdistro melodic -y
catkin build
pip install --upgrade bidict ratelimit

Prepare hardware

Arm, sonars and IR sensors require a bit of extra work. Check their README for instructions.

Troubleshooting guide

  • Cannot connect with Kobuki base:
    • Ensure you have installed the udev rule as explained in the kobuki_ftdi package
  • Cannot connect with arduino, OpenCM or USB2AX:
    • Ensure you have installed the udev rules as explained in the thorp_boards package
  • Gazebo error in REST request:
    • fix explained here
  • Tensorflow not working:

Docker image

Available in dockerhub

docker pull corot/thorp

To build locally:

cd ~/thorp/thorp_bringup/docker
docker build -t thorp .

Run with rocker:

I need to use @fevb's fork to make all work. Otherwise, I experience the issue described here. To install it, clone rocker and install it on your host system:

cd ~/
git clone git@github.com:fevb/rocker.git
cd rocker/
pip install -e . --no-binary rocker

Ensure you run the fork (it will get installed in ~/.local/bin/rocker`)

rocker --pulse --nvidia --x11 thorp

or the pulled image:

rocker --pulse --nvidia --x11 corot/thorp