Gazebo simulation for the Noah-bot robot.
It contains the URDF model of the robot with accurate visual meshes.
- Kinect Camera. Ros topics:
- /noah/kinect/camera_info
- /noah/kinect/depth/camera_info
- /noah/kinect/depth/image_raw
- /noah/kinect/image_raw
- /noah/kinect/points
- Laser Scanner. Ros topics:
- /noah/laser_scan
Ros topics:
- /noah/odom
- /noah/cmd_vel
- Ubuntu version: Focal Fossa 20.04
- ROS Version: Foxy Fitzroy
- Gazebo version: 11
Note: Are you looking for the ROS1 simulation? See here.
- Install docker
- Clone this repository.
- Build the docker image.
./Noah-bot-simulation-ros2/docker/build
- Run the script to run the docker container and mount the project. IMPORTANT: If the user does not own an nvidia gpu, delete the "--gpus all " line from the script.
./Noah-bot-simulation-ros2/docker/run
- Download dependencies for the packages
cd /home/colcon_ws sudo apt-get update rosdep install --from-paths src --ignore-src -r -y
- Build the project and source the workspace
cd /home/colcon_ws colcon build source install/setup.bash source /usr/share/gazebo/setup.bash
- It is ready to be used!. See [Run Simulation]
- If more terminals are needed to be opened, in a new terminal run:
docker exec -it noah_docker_ros2_process bash source /opt/ros/foxy/setup.bash source /home/colcon_ws/install/setup.bash # If running gazebo simulation here: source /usr/share/gazebo/setup.bash
- Install ROS Foxy Fitzroy
- Install Gazebo 11
- Clone this repository in your
colcon
workspace.├── colcon_ws └── src └── Noah-bot-simulation-ros2
rosdep install --from-paths src --ignore-src -r -y
- Build the project and source the workspace
colcon build source install/setup.bash source /usr/share/gazebo/setup.bash
- It is ready to be used!. See Run Simulation!
Summary of of the packages in the repository.
- Holds Noah xacro files for URDF definition.
- Simple launch file for:
- Convert xacro to urdf
- Run
robot_state_publisher
(Optional):- Publishes static
TF
. - Publishes robot description at
/noah/robot_description
topic.
- Publishes static
- Run
joint_state_publisher
(Optional) - Run
rviz2
(Optional)
- Holds three gazebo worlds to spawn Noah in:
empty.world
,test.world
andsmall_house.world
. - Launch file for:
- Run gazebo using an available world.
- Includes
noah_description
launch file.Includenoah_description
's launch file. - Spawn Noah
- Run rviz2 (optional)
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
Try Teleoperating Noah!
Once simulation is running, in other terminal run:
ros2 run teleop_twist_keyboard teleop_twist_keyboard cmd_vel:=noah/cmd_vel