Giter VIP home page Giter VIP logo

multi-turtlebot3-gazebo-ros2's Introduction

Multi-turtlebot3-Gazebo-ROS2

What's New?

  • Multi turtlebot3 environment
  • Turtlebot3 with Velodyne VLP-16 environment
  • Multi turtlebot3 Velodyne VLP-16 environment

Result

Multi turtlebot3

multi-turtlebot3.mp4

Turtlebot3 with Velodyne VLP-16

turtlebot-velodyne.mp4

Build docker image

docker pull tyoung96/multi-turtlebot-gazebo

Make docker container

On local terminal,

git clone https://github.com/Taeyoung96/Multi-turtlebot3-Gazebo-ROS2.git
xhost +local:docker

After that,

nvidia-docker run --privileged -it \
           -e NVIDIA_DRIVER_CAPABILITIES=all \
           -e NVIDIA_VISIBLE_DEVICES=all \
           --volume=${Multi-turtlebot3-Gazebo_repo_root}:/root/workspace/src \
           --volume=/tmp/.X11-unix:/tmp/.X11-unix:rw \
           --net=host \
           --ipc=host \
           --name=${docker container name} \
           --env="DISPLAY=$DISPLAY" \
           ${docker image} /bin/bash

โš ๏ธ You should change {Multi-turtlebot3-Gazebo_repo_root}, {docker container name}, {docker image} to suit your environment.

For example,

nvidia-docker run --privileged -it \
           -e NVIDIA_DRIVER_CAPABILITIES=all \
           -e NVIDIA_VISIBLE_DEVICES=all \
           --volume=/home/taeyoung/Desktop/Multi-turtlebot3-Gazebo-ROS2:/root/workspace/src \
           --volume=/tmp/.X11-unix:/tmp/.X11-unix:rw \
           --net=host \
           --ipc=host \
           --name=multi-turtlebot-gazebo \
           --env="DISPLAY=$DISPLAY" \
           --env="QT_X11_NO_MITSHM=1" \
           tyoung96/multi-turtlebot-gazebo:latest /bin/bash

Build and run it!

When you run the container, it looks like this

root@taeyoung-cilab:/#

Enter them in turn to proceed with the build.

cd root/workspace/
colcon build
export TURTLEBOT3_MODEL=burger
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/root/workspace/src/turtlebot3_simulations/turtlebot3_gazebo/models/
source install/setup.bash
  • TODO : There is a still warning message.

Re-enter the activated docker container

docker exec -it -w /root/workspace multi-turtlebot-gazebo /bin/bash
source /opt/ros/humble/setup.bash
source install/setup.bash

Multi-turtlebot3

ros2 launch turtlebot3_gazebo multi_turtlebot3_world.launch.py

Turtlebot3 with Velodyne VLP-16

ros2 launch turtlebot3_gazebo turtlebot3_velodyne_burger.launch.py

Mutli-turtlebot3 with Velodyne VLP-16

ros2 launch turtlebot3_gazebo multi_turtlebot3_velodyne_world.launch.py

For keyboard teleop

Check /tb3_0/cmd_vel and remapping topic.

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=/tb3_0/cmd_vel

Check TF

ros2 run tf2_tools view_frames

TODO

When we run the launch file, we get an error display like the one below. It's fine to execute, but we need to figure out why.

Screenshot from 2023-07-12 23-32-57

Acknowldegement

multi_turtlebot3_world.launch code is used for ROS2 Navigation Online Course | The Construct.

For velodyne, I followed this youtube link and modified the code.

Each folder has their own license.

multi-turtlebot3-gazebo-ros2's People

Contributors

taeyoung96 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

multi-turtlebot3-gazebo-ros2's Issues

docker image

for setting docket its giving this error
nvidia-docker: command not found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.