Gazebo simulation for the Noah-bot robot.
It contains the URDF model of the robot with accurate visual meshes.
Ros topics:
Note: Are you looking for the ROS1 simulation? See here.
Summary of of the packages in the repository.
robot_state_publisher
(Optional):
TF
./noah/robot_description
topic.joint_state_publisher
(Optional)rviz2
(Optional)empty.world
, test.world
and small_house.world
.noah_description
launch file.Include noah_description
's launch file.DOCKER_BUILDKIT=1 docker build -t noahbot:foxy -f docker/Dockerfile .
After this, the image tagged as noahbot:foxy
will be ready to run the Noahbot simulation.
Run:
./docker/run ros2 launch noah_gazebo noah_gazebo.launch.py
To start the simulation.
If you want to test code changes quickly without rebuilding the container, you can use the develop
script:
$ ./docker/develop
Which will open a shell inside the container, mounting the local copy of the ROS packages. You can quickly re-build the code with:
$ cd /colcon_ws
$ colcon build
The develop
script will also run the containers with host networking, so if you open multiple ones
you can easily send ROS messages across them.
colcon
workspace.
├── colcon_ws
└── src
└── Noah-bot-simulation-ros2
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
source /usr/share/gazebo/setup.bash
ros2 launch noah_gazebo noah_gazebo.launch.py
Use a different world!
ros2 launch noah_gazebo noah_gazebo.launch.py world:=small_house.world
Use the rviz
argument and run rviz2
along the simulation!
ros2 launch noah_gazebo noah_gazebo.launch.py rviz:=true
You can also start the simulation without the Gazebo GUI when you don't have a display (like in CI):
ros2 launch noah_gazebo noah_gazebo.launch.py gazebo_gui:=false
Try Teleoperating Noah!
Once simulation is running, in other terminal run:
ros2 run teleop_twist_keyboard teleop_twist_keyboard cmd_vel:=noah/cmd_vel