Skip to content

Repository files navigation

TurtleBot Arm Control with Object Detection

This project uses the robot's lidar combined with object detection to locate and grip small cylinders.

It uses ROS 2 and behaviour trees for robot control and YOLOv11 for object detection.

The object detection is now in a seperate repository found here: https://github.tik.uni-stuttgart.de/IAS-MiniFactory/WorkpieceDetector For the setup of the turtlebot see this repository: https://github.tik.uni-stuttgart.de/IAS-MiniFactory/turtlebot3_manipulation There the maps and config for navigation and manipultation are also availabe.

See wiki.md for more details on how to use it.

Install instructions

  1. Install docker
    1. curl -sSL https://get.docker.com | sh
    2. sudo usermod -aG docker $USER
    3. sudo systemctl enable docker
    4. sudo reboot now
  2. Build Container
    1. Clone this repository
    2. Go to root of TurtleBot repository
    3. Build image docker build -t turtlebot -f .devcontainer/main/Dockerfile .
  3. Run docker container docker run -d --restart unless-stopped --net=host --name turtlebot_main <image>

docker commands

Most of those commands need the container name. This should be turtlebot_main by default (set by the --name option). If not replace that with your container name discoverd with the docker ps command.

  • Get Log from running container docker logs -f turtlebot_main
  • Stop container docker stop turtlebot_main
    • This will also prevent the container from restarting on boot (because of --restart unless-stopped). Container has to be restarted by hand.
  • Restart container docker restart turtlebot_main
  • Attach separate terminal to running process docker exec -it turtlebot_main /bin/bash

Build command

To rebuild the packages inside the container. (Has to be run inside the container).

cd ~/TurtleBot/ros2_ws && colcon build --build-base /home/mf/ros2_ws/build --install-base /home/mf/ros2_ws/install --executor sequential

Development

To develop this use vscode with the “Remote Development” Extension.

Running Groot2

Groot2 is installed into the development container. Start it with

~/Groot2-v1.6.1-x86_64.AppImage

About

This project uses the robot's lidar combined with object detection to locate and grip small cylinders.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages