Skip to content

robotverseny/robotverseny_gazebo24

Repository files navigation

robotverseny Gazebo simulation for ROS 2

Static Badge Static Badge Static Badge

robotverseny_gazebo24_anim

Clone

cd ~/ros2_ws/src
git clone https://github.com/robotverseny/robotverseny_gazebo24

Build

cd ~/ros2_ws
colcon build --symlink-install --packages-select robotverseny_application robotverseny_description robotverseny_bringup robotverseny_gazebo 

Run

Don't forget to source before ROS commands.
source ~/ros2_ws/install/setup.bash
ros2 launch robotverseny_bringup roboworks.launch.py

or without rviz:

ros2 launch robotverseny_bringup roboworks.launch.py rviz:=false

Tip

Rviz 2d overlay

sudo apt install ros-humble-rviz-2d-overlay*

Warning

The command export IGN_GAZEBO_RESOURCE_PATH= or export IGN_GAZEBO_MODEL_PATH= will delete your previous paths.

Gazebo related

Tip

Gazebo Fortress: gazebosim.org/docs/fortress/install_ubuntu, read more about integration: gazebosim.org/docs/fortress/ros2_integration ros-gz-bridge install with a single command: sudo apt install ros-humble-ros-gz-bridge

Publish command topic:

ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.5, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: -0.01}}"

Teleop twist keyboard:

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/cmd_vel

Ignition info topic:

ign topic -i --topic /model/roboworks/cmd_vel

Ignition echo topic:

ign topic -et /model/roboworks/cmd_vel

Topics:

ros2 topic list

/clicked_point
/clock
/debug_marker
/debug_marker_left
/debug_marker_left_array
/debug_marker_right
/debug_marker_right_array
/goal_pose
/initialpose
/joint_states
/marker_path
/parameter_events
/robot_description
/roboworks/cmd_vel
/roboworks/odometry
/roboworks/scan
/steer_marker
/steer_marker_array
/rosout
/tf
/tf_static

TF Tree

Transformations

The frame /odom_combined is practically the same as /map, there is a static 0,0,0 transform between them. The only dynamic transform is between /odom_combined and /base_link.

graph TD
    %% Root frame
    map([ map]):::lightd
    odom_combined([ odom_combined]):::light
    base_link([ base_link]):::light
    chassis([ chassis]):::light
    camera_link([ camera_link]):::light
    imu_link([ imu_link]):::light
    laser([ laser]):::light

    %% connections
    odom_combined -.->|dynamic| base_link
    base_link -->|static| chassis
    base_link -->|static| camera_link
    base_link -->|static| imu_link
    base_link -->|static| laser
    map ==>|static - same| odom_combined

classDef light fill:#34aec5,stroke:#152742,stroke-width:2px,color:#152742  
classDef lightd fill:#34aec5,stroke:#152742,stroke-width:2px,color:#152742,stroke-dasharray: 5 5
classDef dark fill:#152742,stroke:#34aec5,stroke-width:2px,color:#34aec5
classDef white fill:#ffffff,stroke:#152742,stroke-width:2px,color:#152742
classDef red fill:#ef4638,stroke:#152742,stroke-width:2px,color:#fff

Loading

Tutorials

Screenshots

robotverseny_gazebo24_screenshot01 robotverseny_gazebo24_screenshot02