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 docker
curl -sSL https://get.docker.com | shsudo usermod -aG docker $USERsudo systemctl enable dockersudo reboot now
- Build Container
- Clone this repository
- Go to root of TurtleBot repository
- Build image
docker build -t turtlebot -f .devcontainer/main/Dockerfile .
- Run docker container
docker run -d --restart unless-stopped --net=host --name turtlebot_main <image>
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
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
To develop this use vscode with the “Remote Development” Extension.
Groot2 is installed into the development container. Start it with
~/Groot2-v1.6.1-x86_64.AppImage