diff --git a/Dockerfile b/Dockerfile index e437d1e..14ad3fc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,7 +43,7 @@ target=/tmp/common.repo.yml,ro \ # Generate deb packages RUN generate_debs.sh -RUN cp /home/robot/robot_ws/src/robotnik_simulation/debs/*.deb /home/robot/robot_ws/debs +RUN cp /home/robot/robot_ws/src/robotnik_simulation/debs/ros-${ROS_DISTRO}-*.deb /home/robot/robot_ws/debs WORKDIR /home/robot/robot_ws/debs # Generate Packages.gz RUN dpkg-scanpackages . | gzip -9c > Packages.gz diff --git a/README.md b/README.md index e6bb1f3..c56aff4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ -![Logo Robotnik](./img/LOGO%20BLANCO-ROJO.png) +![Logo Robotnik](./docs/assets/img/LOGO%20BLANCO-ROJO.png)
@@ -145,7 +145,7 @@ Then continue with the installation of packages. Install precompiled debs for simulation. Please, change directory to the root of the repository and run the following command: ```sh -sudo apt-get install -y ./debs/*.deb +sudo apt-get install -y ./debs/ros-${ROS_DISTRO}-*.deb ``` Install missing dependencies with rosdep: @@ -208,7 +208,6 @@ Once you have the simulation running, you can spawn the robot in the world. For | x | 0.0 | position x in the Gazebo world to spawn the robot | | y | 0.0 | position y in the Gazebo world to spawn the robot | | z | 0.0 | position z in the Gazebo world to spawn the robot | -| has_arm | false | If the robot has arm or not to initilize joint_trajectory_controller | With the arguments described above, the launcher creates the robot that you want in Gazebo. As default, it will spawn a RBKairos robot, but you can changed it. @@ -219,25 +218,35 @@ Available robots - rbsummit - rbkairos - rbrobout +- rbwatcher +- rbfiqus Available robot_model - rbkairos_plus - rbrobout_plus -Example: +Examples: ```sh ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbvogui -``` -In case that your robot has a variation (check robots folder in robotnik_description package), you can select it by the argument **robot_model**. +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbtheron -Example: -```sh -ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbsummit + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbwatcher robot_model:=rbwatcher + +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbfiqus robot_model:=rbfiqus ``` -Then, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot. +Additionally, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot. + +In case that your robot has a variation (check robots folder in robotnik_description package), you can select it by the argument **robot_model**. + #### Control the robot @@ -276,7 +285,12 @@ There are two mobile bases with a manipulator that can be used: To use them launch the spawn of the robot as follows: ```sh -ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus +``` + + +```sh +ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbrobout robot_model:=rbrobout_plus ``` The arm has a joint_trajectory_controller configured that can be used with rqt_joint_trajectory_controller: @@ -290,7 +304,7 @@ ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller --ros-a #### Enjoy! -![rbvogui_gif](img/RBVogui_Docking.gif) +![rbvogui_gif](docs/assets/img/RBVogui_Docking.gif)

(back to top)

@@ -387,4 +401,4 @@ Project Link: [https://github.com/RobotnikAutomation](https://github.com/Robotni [license-url]: https://github.com/RobotnikAutomation/robot_simulation/blob/master/LICENSE.txt [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/company/robotnik-automation/ -[product-screenshot]: img/ignition_simulation_view.png +[product-screenshot]: docs/assets/img/ignition_simulation_view.png diff --git a/debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb b/debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb new file mode 100644 index 0000000..7d67519 Binary files /dev/null and b/debs/ros-humble-robotnik-common-msgs_1.1.0-20250825.162558-e5e07b8_amd64.deb differ diff --git a/debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb b/debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb new file mode 100644 index 0000000..d6bf0e7 Binary files /dev/null and b/debs/ros-humble-robotnik-controllers-msgs_1.1.0-20250825.162609-e5e07b8_amd64.deb differ diff --git a/debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb b/debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb new file mode 100644 index 0000000..4c85d41 Binary files /dev/null and b/debs/ros-humble-robotnik-controllers_1.3.0-20250825.162620-3e8626a_amd64.deb differ diff --git a/docs/gazebo-harmonic-humble.md b/docs/gazebo-harmonic-humble.md new file mode 100644 index 0000000..dcfaf25 --- /dev/null +++ b/docs/gazebo-harmonic-humble.md @@ -0,0 +1,86 @@ +# Gazebo Harmonic - ROS2 Humble + +This document provides a guide to using Robotnik Simulation with: + - Gazebo Harmonic + - ROS2 Humble. + +This combination is tested and working follow the instructions below to set up your environment. + +1. Install the required packages: + +```bash +sudo apt-get update +sudo apt-get install curl lsb-release gnupg +``` + +2. Install Gazebo Harmonic + +```bash +sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null +sudo apt-get update +sudo apt-get install gz-harmonic +``` + +3. Install Connect with ROS2 + +> **WARNING**: The package `ros-humble-ros-gzharmonic` conflicts with `ros-humble-ros-gz*`. Remove those packages before installing. + +```bash +sudo apt-get remove ros-humble-ros-gz* +sudo apt-get install ros-humble-ros-gzharmonic +``` + +4. Clone source + +```yaml +# dependencies.repos +gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 0.7.16 +visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 +robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 +robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: bacd4a4d3b2f021cdc5c4ac4f56585d15c54eaff # Waiting for upstream release +robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 +robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: faaab6e1db429a6708c65d7311b148bba592fd1a # humble-devel +robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: jazzy-devel # Latest version +``` + +```bash +vcs import --input-file dependencies.repos src +``` + +5. Install dependencies + +```bash +sudo apt-get update +cd robotnik_simulation +sudo apt-get install -y ./debs/ros-${ROS_DISTRO}-*.deb +rosdep install --from-paths src --ignore-src -r -y +``` + +6. Compile workspace + +```bash +export GZ_VERSION=harmonic +colcon build --symlink-install +``` diff --git a/robotnik_gazebo_ignition/CMakeLists.txt b/robotnik_gazebo_ignition/CMakeLists.txt index bba97ca..8eac2ee 100644 --- a/robotnik_gazebo_ignition/CMakeLists.txt +++ b/robotnik_gazebo_ignition/CMakeLists.txt @@ -1,35 +1,21 @@ cmake_minimum_required(VERSION 3.8) project(robotnik_gazebo_ignition) -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - -# find dependencies find_package(ament_cmake REQUIRED) -# uncomment the following section in order to fill in -# further dependencies manually. -# find_package( REQUIRED) + +ament_environment_hooks("${CMAKE_CURRENT_SOURCE_DIR}/hooks/${PROJECT_NAME}.sh.in") if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) - # the following line skips the linter which checks for copyrights - # comment the line when a copyright and license is added to all source files set(ament_cmake_copyright_FOUND TRUE) - # the following line skips cpplint (only works in a git repo) - # comment the line when this package is in a git repo and when - # a copyright and license is added to all source files set(ament_cmake_cpplint_FOUND TRUE) ament_lint_auto_find_test_dependencies() endif() # Install launch files -install(DIRECTORY - launch - config - worlds +install( + DIRECTORY config launch worlds DESTINATION share/${PROJECT_NAME}/ ) - ament_package() diff --git a/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml new file mode 100644 index 0000000..7bd7b87 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rb1/ros2_control.yaml @@ -0,0 +1,75 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.0703 # radius: 0.0703 + track_width: 0.5032 + wheel_base: 0.0 + max_steering_position_error: 0.3 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBTheron Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.2 + max: 1.2 + acceleration: + min: -100.0 + max: 100.0 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -30.0 + max: 30.0 + + right: + traction: + joint_name: $(var frame_prefix)right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + left: + traction: + joint_name: $(var frame_prefix)left_wheel_joint + limits: + velocity: + min: -270.7 + max: 270.7 + acceleration: + min: -10.0 + max: 10.0 \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml b/robotnik_gazebo_ignition/config/profile/rbfiqus/ros2_control.yaml similarity index 60% rename from robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml rename to robotnik_gazebo_ignition/config/profile/rbfiqus/ros2_control.yaml index 8141b2d..3b10bca 100644 --- a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbfiqus/ros2_control.yaml @@ -1,23 +1,7 @@ +--- /**: - controller_manager: + robotnik_base_control: ros__parameters: - use_sim_time: true - update_rate: 50 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBVoguiController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 50 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true publish_rate: 50 #General Params @@ -27,19 +11,27 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.5 + cmd_vel_timeout: 2.0 #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint use_2D_odom: true #Kinematics Params - wheel_radius: 0.1125 #0.2552 - wheel_base: 0.76 #0.43 - track_width: 0.4745 #0.538 + wheel_radius: 0.1745 + wheel_base: 1.34 + track_width: 1.23 min_turning_ratio: 1.0 + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params max_steering_position_error: 0.3 #Cartesian and wheels limits @@ -47,39 +39,39 @@ linear: x: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 y: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 angular: z: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: - min: -1.0 - max: 1.0 + min: -1.2 + max: 1.2 front_right: traction: - joint_name: robot_front_right_wheel_joint + joint_name: $(var frame_prefix)front_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_right_steering_joint + joint_name: $(var frame_prefix)front_right_steering_joint limits: velocity: min: -1.0 @@ -90,16 +82,16 @@ front_left: traction: - joint_name: robot_front_left_wheel_joint + joint_name: $(var frame_prefix)front_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_left_steering_joint + joint_name: $(var frame_prefix)front_left_steering_joint limits: velocity: min: -1.0 @@ -110,16 +102,16 @@ back_right: traction: - joint_name: robot_back_right_wheel_joint + joint_name: $(var frame_prefix)back_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_right_steering_joint + joint_name: $(var frame_prefix)back_right_steering_joint limits: velocity: min: -1.0 @@ -130,16 +122,16 @@ back_left: traction: - joint_name: robot_back_left_wheel_joint + joint_name: $(var frame_prefix)back_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_left_steering_joint + joint_name: $(var frame_prefix)back_left_steering_joint limits: velocity: min: -1.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml new file mode 100644 index 0000000..012fbb8 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbkairos/ros2_control.yaml @@ -0,0 +1,130 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.11 # radius: 0.11 + track_width: 0.47 + wheel_base: 0.458 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBKairos Controller Params + + # Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -7.5 + max: 7.5 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml new file mode 100644 index 0000000..2f2e757 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbrobout/ros2_control.yaml @@ -0,0 +1,118 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.127 + wheel_base: 1.116 + track_width: 0.573 + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -0.5 + max: 0.5 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -0.5 + max: 0.5 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -0.25 + max: 0.25 + acceleration: + min: -1.0 + max: 1.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)lift_ewellix_lift_top_joint + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml new file mode 100644 index 0000000..e12489d --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbsummit/ros2_control.yaml @@ -0,0 +1,106 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.11 + # TODO: simulation same but divided by 2 + track_width: 0.245 + wheel_base: 0.225 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBSummit Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -2.0 + max: 2.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml new file mode 100644 index 0000000..012fbb8 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbsummit_steel/ros2_control.yaml @@ -0,0 +1,130 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + # Kinematics Params + wheel_radius: 0.11 # radius: 0.11 + track_width: 0.47 + wheel_base: 0.458 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBKairos Controller Params + + # Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -3.0 + max: 1.5 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -7.5 + max: 7.5 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + # HAS ARM + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml new file mode 100644 index 0000000..d181538 --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbtheron/ros2_control.yaml @@ -0,0 +1,112 @@ +--- +/**: + joint_state_broadcaster: + ros__parameters: + # Need to publish zeros for the fake joints + extra_joints: + - $(var frame_prefix)front_left_joint_support + - $(var frame_prefix)front_left_joint_wheel + - $(var frame_prefix)front_right_joint_support + - $(var frame_prefix)front_right_joint_wheel + - $(var frame_prefix)rear_left_joint_support + - $(var frame_prefix)rear_left_joint_wheel + - $(var frame_prefix)rear_right_joint_support + - $(var frame_prefix)rear_right_joint_wheel + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.0703 + track_width: 0.5032 + wheel_base: 0.0 + max_steering_position_error: 0.3 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBTheron Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.2 + max: 1.2 + acceleration: + min: -100.0 + max: 100.0 + angular: + z: + velocity: + min: -1.5 + max: 1.5 + acceleration: + min: -30.0 + max: 30.0 + + right: + traction: + joint_name: $(var frame_prefix)right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -100.0 + max: 100.0 + + left: + traction: + joint_name: $(var frame_prefix)left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -100.0 + max: 100.0 + + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml new file mode 100644 index 0000000..a2522cf --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbvogui/ros2_control.yaml @@ -0,0 +1,165 @@ +--- +/**: + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + #General Params + profile: base + debug: true + open_loop: true + + #Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + #Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + use_2D_odom: true + + #Kinematics Params + wheel_radius: 0.1125 # radious: 0.1125, diameter: 0.2552 + wheel_base: 0.76 + track_width: 0.4745 + min_turning_ratio: 1.0 + + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params + max_steering_position_error: 0.3 + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -0.8 + max: 0.8 + acceleration: + min: -1.2 + max: 1.2 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)front_right_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)front_left_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)back_right_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -6.0 + max: 6.0 + acceleration: + min: -10.0 + max: 10.0 + steering: + joint_name: $(var frame_prefix)back_left_steering_joint + limits: + velocity: + min: -1.0 + max: 1.0 + position: + min: -2.8 + max: 2.8 + + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)arm_shoulder_pan_joint + - $(var frame_prefix)arm_shoulder_lift_joint + - $(var frame_prefix)arm_elbow_joint + - $(var frame_prefix)arm_wrist_1_joint + - $(var frame_prefix)arm_wrist_2_joint + - $(var frame_prefix)arm_wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml similarity index 60% rename from robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml rename to robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml index d6872a7..d10f534 100644 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/rbvogui_xl_controller_params.yaml +++ b/robotnik_gazebo_ignition/config/profile/rbvogui_xl/ros2_control.yaml @@ -1,23 +1,7 @@ +--- /**: - controller_manager: + robotnik_base_control: ros__parameters: - use_sim_time: true - update_rate: 50 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBVoguiXLController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 50 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true publish_rate: 50 #General Params @@ -27,19 +11,27 @@ #Timeouts joint_command_timeout: 0.1 - cmd_vel_timeout: 0.5 + cmd_vel_timeout: 2.0 #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint use_2D_odom: true #Kinematics Params - wheel_radius: 0.1125 #0.2552 - wheel_base: 0.76 #0.43 - track_width: 0.4745 #0.538 + wheel_radius: 0.1745 + wheel_base: 0.959 + track_width: 0.585 min_turning_ratio: 1.0 + # Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBVogui XL Controller Params max_steering_position_error: 0.3 #Cartesian and wheels limits @@ -47,39 +39,39 @@ linear: x: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 y: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: min: -1.0 max: 1.0 angular: z: velocity: - min: -0.3 - max: 0.3 + min: -0.8 + max: 0.8 acceleration: - min: -1.0 - max: 1.0 + min: -1.2 + max: 1.2 front_right: traction: - joint_name: robot_front_right_wheel_joint + joint_name: $(var frame_prefix)front_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_right_steering_joint + joint_name: $(var frame_prefix)front_right_steering_joint limits: velocity: min: -1.0 @@ -90,16 +82,16 @@ front_left: traction: - joint_name: robot_front_left_wheel_joint + joint_name: $(var frame_prefix)front_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_front_left_steering_joint + joint_name: $(var frame_prefix)front_left_steering_joint limits: velocity: min: -1.0 @@ -110,16 +102,16 @@ back_right: traction: - joint_name: robot_back_right_wheel_joint + joint_name: $(var frame_prefix)back_right_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_right_steering_joint + joint_name: $(var frame_prefix)back_right_steering_joint limits: velocity: min: -1.0 @@ -130,16 +122,16 @@ back_left: traction: - joint_name: robot_back_left_wheel_joint + joint_name: $(var frame_prefix)back_left_wheel_joint limits: velocity: - min: -3.0 - max: 3.0 + min: -6.0 + max: 6.0 acceleration: min: -10.0 max: 10.0 steering: - joint_name: robot_back_left_steering_joint + joint_name: $(var frame_prefix)back_left_steering_joint limits: velocity: min: -1.0 diff --git a/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml new file mode 100644 index 0000000..12ecc1b --- /dev/null +++ b/robotnik_gazebo_ignition/config/profile/rbwatcher/ros2_control.yaml @@ -0,0 +1,128 @@ +--- +/**: + + robotnik_base_control: + ros__parameters: + publish_rate: 50 + + # General Params + profile: base + debug: true + open_loop: true + + # Timeouts + joint_command_timeout: 0.1 + cmd_vel_timeout: 2.0 + + # Odom + odom_frame_id: $(var frame_prefix)odom + base_frame_id: $(var frame_prefix)base_footprint + set_odometry_service: ~/set_odometry + + # Kinematics Params + wheel_radius: 0.11 + # TODO: simulation same but divided by 2 + track_width: 0.245 + wheel_base: 0.225 + max_steering_position_error: 0.3 + + #Topics + cmd_vel_topic: ~/cmd_vel_unstamped + odom_topic: ~/odom + imu_topic: imu/data + emergency_topic: robotnik_base_hw/emergency_stop + joint_control_topic: ~/joint_control_command + + # RBSummit Controller Params + + #Cartesian and wheels limits + base: + linear: + x: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + y: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -1.0 + max: 1.0 + angular: + z: + velocity: + min: -1.0 + max: 1.0 + acceleration: + min: -2.0 + max: 2.0 + + front_right: + traction: + joint_name: $(var frame_prefix)front_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + front_left: + traction: + joint_name: $(var frame_prefix)front_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_right: + traction: + joint_name: $(var frame_prefix)back_right_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + back_left: + traction: + joint_name: $(var frame_prefix)back_left_wheel_joint + limits: + velocity: + min: -27.7 + max: 27.7 + acceleration: + min: -10.0 + max: 10.0 + + # HAS PTZ + joint_trajectory_controller: + ros__parameters: + publish_rate: 50 + joints: + - $(var frame_prefix)top_ptz_camera_pan_joint + - $(var frame_prefix)top_ptz_camera_tilt_joint + - $(var frame_prefix)top_ptz_camera_zoom_color_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + state_publish_rate: 50.0 + action_monitor_rate: 20.0 + + allow_partial_joints_goal: false + open_loop_control: true \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml b/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml deleted file mode 100644 index 3064602..0000000 --- a/robotnik_gazebo_ignition/config/rbkairos/bridge.yaml +++ /dev/null @@ -1,40 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml b/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml deleted file mode 100644 index 3c570d4..0000000 --- a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml +++ /dev/null @@ -1,135 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBKairosController - - joint_trajectory_controller: - type: joint_trajectory_controller/JointTrajectoryController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - joint_trajectory_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - joints: - - robot_arm_shoulder_pan_joint - - robot_arm_shoulder_lift_joint - - robot_arm_elbow_joint - - robot_arm_wrist_1_joint - - robot_arm_wrist_2_joint - - robot_arm_wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - state_publish_rate: 50.0 - action_monitor_rate: 20.0 - - allow_partial_joints_goal: false - open_loop_control: true - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.2552 - wheel_base: 0.43 - track_width: 0.538 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml b/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml deleted file mode 100644 index 3f1dde9..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml +++ /dev/null @@ -1,26 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml b/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml deleted file mode 100644 index f73820b..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml +++ /dev/null @@ -1,138 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBKairosController - - joint_trajectory_controller: - type: joint_trajectory_controller/JointTrajectoryController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - joint_trajectory_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - joints: - - robot_lift_ewellix_lift_top_joint - - robot_arm_shoulder_pan_joint - - robot_arm_shoulder_lift_joint - - robot_arm_elbow_joint - - robot_arm_wrist_1_joint - - robot_arm_wrist_2_joint - - robot_arm_wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - state_publish_rate: 50.0 - action_monitor_rate: 20.0 - - allow_partial_joints_goal: false - open_loop_control: true - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom_robotnik_controller - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Imu - - #Kinematics Params - wheel_radius: 0.15 - wheel_base: 0.573 - track_width: 1.116 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml b/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml deleted file mode 100644 index 6760a0e..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/bridge.yaml +++ /dev/null @@ -1,42 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/top_laser/point_cloud" - gz_topic_name: "/robot/top_lidar/scan/points" - ros_type_name: "sensor_msgs/msg/PointCloud2" - gz_type_name: "gz.msgs.PointCloudPacked" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS - -# -# gz topic published by JointState plugin -- ros_topic_name: "/robot/joint_states" - gz_topic_name: "joint_states" - ros_type_name: "sensor_msgs/msg/JointState" - gz_type_name: "gz.msgs.Model" - direction: GZ_TO_ROS \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml b/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml deleted file mode 100644 index 75e1dd2..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml +++ /dev/null @@ -1,110 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBSummitController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.1125 - track_width: 0.47 - wheel_base: 0.458 - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -1.0 - max: 1.0 - - front_right: - traction: - joint_name: robot_front_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - front_left: - traction: - joint_name: robot_front_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - back_right: - traction: - joint_name: robot_back_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - back_left: - traction: - joint_name: robot_back_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 \ No newline at end of file diff --git a/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz deleted file mode 100644 index e58f6b1..0000000 --- a/robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz +++ /dev/null @@ -1,313 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: PointCloud2 -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_docking_contact_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_gps_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_gps_mast_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_top_3d_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_top_3d_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/PointCloud2 - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: PointCloud2 - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.009999999776482582 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/top_laser/point_cloud - Use Fixed Frame: true - Use rainbow: true - Value: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 9.600186347961426 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6553981304168701 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.7822139263153076 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml b/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml deleted file mode 100644 index c52efbd..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/bridge.yaml +++ /dev/null @@ -1,52 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml b/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml deleted file mode 100644 index 5c13224..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml +++ /dev/null @@ -1,91 +0,0 @@ -/**: - controller_manager: - ros__parameters: - use_sim_time: true - update_rate: 100 # Hz - - joint_state_broadcaster: - type: joint_state_broadcaster/JointStateBroadcaster - - robotnik_base_controller: - type: robotnik_controllers/RBTheronController - - joint_state_broadcaster: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - robotnik_base_controller: - ros__parameters: - use_sim_time: true - publish_rate: 200 - - #General Params - profile: base - debug: true - open_loop: true - - #Timeouts - joint_command_timeout: 0.1 - cmd_vel_timeout: 1.0 - - #Odom - odom_frame_id: robot_odom - base_frame_id: robot_base_footprint - use_2D_odom: true - - #Kinematics Params - wheel_radius: 0.0762 - track_width: 0.5032 - wheel_base: 0.458 - - max_steering_position_error: 0.0 - - wheels_positions: ["right", "left"] - - #Cartesian and wheels limits - base: - linear: - x: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - y: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - angular: - z: - velocity: - min: -1.0 - max: 1.0 - acceleration: - min: -5.0 - max: 5.0 - right: - traction: - joint_name: robot_right_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 - - left: - traction: - joint_name: robot_left_wheel_joint - limits: - velocity: - min: -27.7 - max: 27.7 - acceleration: - min: -10.0 - max: 10.0 diff --git a/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz deleted file mode 100644 index 2a377a0..0000000 --- a/robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz +++ /dev/null @@ -1,449 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 374 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_base_docking_contact: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_front: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_left: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_rear: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_right: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_left_wheel_tire_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_left_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_right_support: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_right_wheel_tire_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 9.600186347961426 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6553981304168701 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.7822139263153076 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000001ff000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650100000240000001740000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml b/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml deleted file mode 100644 index 672037d..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui/bridge.yaml +++ /dev/null @@ -1,51 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml b/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml deleted file mode 100644 index 672037d..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/bridge.yaml +++ /dev/null @@ -1,51 +0,0 @@ -- ros_topic_name: "/clock" - gz_topic_name: "clock" - ros_type_name: "rosgraph_msgs/msg/Clock" - gz_type_name: "gz.msgs.Clock" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin -- ros_topic_name: "/robot/front_laser/scan" - gz_topic_name: "/robot/front_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -#gz topic published by Sensors plugin -- ros_topic_name: "/robot/rear_laser/scan" - gz_topic_name: "/robot/rear_laser/scan" - ros_type_name: "sensor_msgs/msg/LaserScan" - gz_type_name: "gz.msgs.LaserScan" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (Camera) -- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/front_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/front_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/front_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info" - gz_topic_name: "/robot/rear_camera_color/color/camera_info" - ros_type_name: "sensor_msgs/msg/CameraInfo" - gz_type_name: "gz.msgs.CameraInfo" - direction: GZ_TO_ROS - -- ros_topic_name: "/robot/rear_rgbd_camera/color/image_raw" - gz_topic_name: "/robot/rear_camera_color/color/image_raw" - ros_type_name: "sensor_msgs/msg/Image" - gz_type_name: "gz.msgs.Image" - direction: GZ_TO_ROS - -# gz topic published by Sensors plugin (IMU) -- ros_topic_name: "/robot/imu/data" - gz_topic_name: "/robot/imu/data" - ros_type_name: "sensor_msgs/msg/Imu" - gz_type_name: "ignition.msgs.IMU" - direction: GZ_TO_ROS diff --git a/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz deleted file mode 100644 index 4ef1014..0000000 --- a/robotnik_gazebo_ignition/config/rbvogui_xl/rviz_config.rviz +++ /dev/null @@ -1,429 +0,0 @@ -Panels: - - Class: rviz_common/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 - - /Image1 - - /FrontLaserScan1 - - /RearLaserScan1 - Splitter Ratio: 0.5 - Tree Height: 262 - - Class: rviz_common/Selection - Name: Selection - - Class: rviz_common/Tool Properties - Expanded: - - /2D Goal Pose1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz_common/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz_common/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: FrontLaserScan -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz_default_plugins/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 10 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz_default_plugins/RobotModel - Collision Enabled: false - Description File: "" - Description Source: Topic - Description Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/robot_description - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - robot_back_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_logos_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_battery_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_chassis_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_contactors_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_base_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_leds_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_rear_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Mass Properties: - Inertia: false - Mass: false - Name: RobotModel - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz_default_plugins/Image - Enabled: true - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: FrontLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/front_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz_default_plugins/LaserScan - Color: 255; 255; 255 - Color Transformer: Intensity - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 0 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: RearLaserScan - Position Transformer: XYZ - Selectable: true - Size (Pixels): 3 - Size (m): 0.05000000074505806 - Style: Flat Squares - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /robot/rear_laser/scan - Use Fixed Frame: true - Use rainbow: true - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint - Frame Rate: 30 - Name: root - Tools: - - Class: rviz_default_plugins/Interact - Hide Inactive Objects: true - - Class: rviz_default_plugins/MoveCamera - - Class: rviz_default_plugins/Select - - Class: rviz_default_plugins/FocusCamera - - Class: rviz_default_plugins/Measure - Line color: 128; 128; 0 - - Class: rviz_default_plugins/SetInitialPose - Covariance x: 0.25 - Covariance y: 0.25 - Covariance yaw: 0.06853891909122467 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /initialpose - - Class: rviz_default_plugins/SetGoal - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /goal_pose - - Class: rviz_default_plugins/PublishPoint - Single click: true - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /clicked_point - Transformation: - Current: - Class: rviz_default_plugins/TF - Value: true - Views: - Current: - Class: rviz_default_plugins/Orbit - Distance: 6.171943664550781 - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true - Focal Shape Size: 0.05000000074505806 - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Pitch: 0.6603981852531433 - Target Frame: - Value: Orbit (rviz) - Yaw: 2.4503984451293945 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1043 - Hide Left Dock: false - Hide Right Dock: false - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: false - Width: 1920 - X: 1920 - Y: 0 diff --git a/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz b/robotnik_gazebo_ignition/config/rviz_config.rviz similarity index 54% rename from robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz rename to robotnik_gazebo_ignition/config/rviz_config.rviz index 975bc2e..93dce6d 100644 --- a/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz +++ b/robotnik_gazebo_ignition/config/rviz_config.rviz @@ -3,12 +3,9 @@ Panels: Help Height: 78 Name: Displays Property Tree Widget: - Expanded: - - /Global Options1 - - /Status1 - - /RobotModel1 + Expanded: ~ Splitter Ratio: 0.5 - Tree Height: 241 + Tree Height: 448 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -26,7 +23,10 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: RearLaserScan + SyncSource: FrontLaserScan + - Class: rviz_plugin_tutorials/Teleop + Name: Teleop + Topic: robotnik_base_control/cmd_vel_unstamped Visualization Manager: Class: "" Displays: @@ -58,7 +58,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/robot_description + Value: robot_description Enabled: true Links: All Links Enabled: true @@ -66,153 +66,6 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order - robot_back_left_visual_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_visual_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_back_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_docking_contact: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_front: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_left: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_rear: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_base_logo_right: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_left_visual_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_left_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_rgbd_camera_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_color_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra1_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_infra2_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_front_rgbd_camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_visual_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_front_right_wheel_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_rear_laser_link: - Alpha: 1 - Show Axes: false - Show Trail: false - robot_top_cover: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - robot_vectornav_link: - Alpha: 1 - Show Axes: false - Show Trail: false Mass Properties: Inertia: false Mass: false @@ -221,6 +74,18 @@ Visualization Manager: Update Interval: 0 Value: true Visual Enabled: true + - Class: rviz_default_plugins/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: true + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: false + Update Interval: 0 + Value: true - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -239,7 +104,7 @@ Visualization Manager: Max Intensity: 0 Min Color: 0; 0; 0 Min Intensity: 0 - Name: RearLaserScan + Name: FrontLaserScan Position Transformer: XYZ Selectable: true Size (Pixels): 3 @@ -251,7 +116,7 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/rear_laser/scan + Value: front_laser/scan Use Fixed Frame: true Use rainbow: true Value: true @@ -267,7 +132,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/front_rgbd_camera/color/image_raw + Value: front_rgbd_camera/color/image_raw Value: true - Alpha: 1 Autocompute Intensity Bounds: true @@ -299,14 +164,48 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /robot/front_laser/scan + Value: rear_laser/scan + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.05000000074505806 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: top_laser/points Use Fixed Frame: true Use rainbow: true Value: true Enabled: true Global Options: Background Color: 48; 48; 48 - Fixed Frame: robot_base_footprint + Fixed Frame: robot_odom Frame Rate: 30 Name: root Tools: @@ -349,25 +248,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 10.589208602905273 + Distance: 3.8563950061798096 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: -0.03788736090064049 - Y: -0.05605512112379074 - Z: 0.16410411894321442 - Focal Shape Fixed Size: true + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.6653980612754822 + Pitch: 0.7853981852531433 Target Frame: Value: Orbit (rviz) - Yaw: 2.1203980445861816 + Yaw: 0.7853981852531433 Saved: ~ Window Geometry: Displays: @@ -377,15 +276,17 @@ Window Geometry: Height: 1016 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000001600ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d00650100000000000007380000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004010000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000001ad0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000249000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d006100670065010000028a0000010f0000002800ffffff000000010000010f0000035efc0200000004fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000215000000a000fffffffb0000000c00540065006c0065006f00700100000256000001430000004500fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a0000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004720000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false + Teleop: + collapsed: false Time: collapsed: false Tool Properties: collapsed: false Views: collapsed: false - Width: 1848 - X: 72 + Width: 1850 + X: 70 Y: 27 diff --git a/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in b/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in new file mode 100644 index 0000000..408d17e --- /dev/null +++ b/robotnik_gazebo_ignition/hooks/robotnik_gazebo_ignition.sh.in @@ -0,0 +1,39 @@ +#!/usr/bin/env sh + +# This hook adds robotnik gazebo resources to the appropriate environment variables +_GZ_PKGS=${GZ_RESOURCE_PKGS:-"robotnik_gazebo_ignition robotnik_description robotnik_sensors ur_description"} + + +_prepend_unique_value() { + eval _cur="\${$1}" + case ":$_cur:" in *":$2:"*) return 0;; esac + if [ -n "$_cur" ]; then eval export "$1=\"$2:$_cur\""; else eval export "$1=\"$2\""; fi +} + +_get_parent_abs_path() { + echo "$(CDPATH= cd -- "$(dirname "$1")" 2>/dev/null && pwd)" +} + +if [ -n "$AMENT_CURRENT_PREFIX" ]; then + _self_prefix="$AMENT_CURRENT_PREFIX" +else + _hook_dir="$(CDPATH= cd -- "$(dirname "$0")" 2>/dev/null && pwd)" + _self_prefix="$(CDPATH= cd -- "$_hook_dir/../../.." 2>/dev/null && pwd)" +fi + +_prefixes="$AMENT_PREFIX_PATH" +case ":$_prefixes:" in *":$_self_prefix:"*) : ;; *) _prefixes="$_self_prefix${_prefixes:+:$_prefixes}";; esac + +for _prefix in $(printf %s "$_prefixes" | tr ':' ' '); do + for _pkg in $_GZ_PKGS; do + _p="$_prefix/share/$_pkg" + if [ -d "$_p" ]; then + _prepend_unique_value GZ_SIM_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + _prepend_unique_value IGN_GAZEBO_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + _prepend_unique_value GAZEBO_RESOURCE_PATH "$(_get_parent_abs_path "$_p")" + fi + done +done + +unset _prefix _pkg _p _prefixes _self_prefix _hook_dir _GZ_PKGS +unset -f _prepend_unique_value _get_parent_abs_path diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py index 841ea09..1de11b2 100644 --- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py @@ -1,4 +1,4 @@ -# Copyright (c) 2022, Robotnik Automation S.L.L. +# Copyright (c) 2025, Robotnik Automation S.L.L. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -22,209 +22,288 @@ # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -import os +import tempfile +import yaml + + from launch import LaunchDescription -from launch.actions import GroupAction, IncludeLaunchDescription -from launch.substitutions import LaunchConfiguration, Command, FindExecutable -from launch_ros.actions import Node, PushRosNamespace -from launch_ros.substitutions import FindPackageShare -from launch_ros.descriptions import ParameterValue -from robotnik_common.launch import ExtendedArgument, AddArgumentParser +from launch.actions import IncludeLaunchDescription, OpaqueFunction from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.conditions import IfCondition +from launch_ros.parameter_descriptions import ParameterFile +from launch.substitutions import LaunchConfiguration -from ament_index_python.packages import get_package_share_directory +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare -from launch.event_handlers import (OnExecutionComplete, OnProcessExit, - OnProcessIO, OnProcessStart, OnShutdown) -from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess, - LogInfo, RegisterEventHandler, TimerAction) +from robotnik_common.launch import AddArgumentParser, ExtendedArgument -def generate_launch_description(): +from pathlib import Path +from tempfile import NamedTemporaryFile +from typing import Union, Optional - ld = LaunchDescription() - add_to_launcher = AddArgumentParser(ld) +from launch import SomeSubstitutionsType, SomeSubstitutionsType_types_tuple +from launch.substitutions import SubstitutionFailure +from launch.frontend.parse_substitution import parse_substitution +from launch.utilities import normalize_to_list_of_substitutions, perform_substitutions +from launch.utilities.typing_file_path import FilePath +from launch.substitution import Substitution +from launch import LaunchContext - arg = ExtendedArgument( - name='namespace', - description='Namespace', - default_value='robot', - use_env=True, - environment='NAMESPACE', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='robot', - description='Robot model (rbvogui, rbkairos, rbtheron, rbsummit)', - default_value='', - use_env=True, - environment='ROBOT', - ) - add_to_launcher.add_arg(arg) - robot = LaunchConfiguration('robot') - - arg = ExtendedArgument( - name='robot_model', - description='Robot type variation (rbvogui, rbvogui_6w, rbvogui_ackermann)', - default_value=robot, - use_env=True, - environment='ROBOT_MODEL', - ) - add_to_launcher.add_arg(arg) - robot_model = LaunchConfiguration('robot_model') - - arg = ExtendedArgument( - name='robot_xacro_file', - description='Name of the xacro file', - default_value=[robot, '/', robot_model, '.urdf.xacro'], - use_env=True, - environment='ROBOT_XACRO_FILE', - ) - add_to_launcher.add_arg(arg) - - robot_xacro_file = LaunchConfiguration('robot_xacro_file') - arg = ExtendedArgument( - name='robot_xacro_path', - description='Path to the xacro file', - default_value=[FindPackageShare('robotnik_description'), '/robots/', robot_xacro_file], - use_env=True, - environment='ROBOT_XACRO_PATH', - ) - add_to_launcher.add_arg(arg) - arg = ExtendedArgument( - name='x', - description='x position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) +# TODO: move this utility class into robotnik_common +class ConfigFile(Substitution): + """Substitution to get the path of the configuration file.""" - arg = ExtendedArgument( - name='y', - description='y position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) + def __init__( + self, + param_file: Union[FilePath, SomeSubstitutionsType], + ) -> None: + """ + Construct a parameter file description. - arg = ExtendedArgument( - name='z', - description='z position in world', - default_value='0.0', - ) - add_to_launcher.add_arg(arg) - - arg = ExtendedArgument( - name='has_arm', - description='If robot has an arm to start controller', - default_value='False', - ) - add_to_launcher.add_arg(arg) - params = add_to_launcher.process_arg() + :param param_file: The path to the parameter file or a substitution that resolves to it. + """ + self.__evaluated_param_file: Optional[Path] = None + self.__created_tmp_file = False - robot_dir = os.path.join(get_package_share_directory('robotnik_description'), 'launch') - - robot_state = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(robot_dir, 'robot_description.launch.py') - ), - launch_arguments={ - 'verbose': 'false', - 'robot_xacro_file': robot_xacro_file, - 'namespace': params['namespace'], - 'gazebo_ignition': 'true', - }.items(), - ) + self.__param_file = param_file + if isinstance(param_file, SomeSubstitutionsType_types_tuple): + self.__param_file = normalize_to_list_of_substitutions(param_file) # type: ignore - ld.add_action(robot_state) - - robot_spawner = Node( - package='ros_gz_sim', - executable='create', - arguments=[ - '-name', [params['namespace'], '/', params['robot']], - '-topic', "robot_description", - '-robot_namespace', params['namespace'], - '-x', params['x'], - '-y', params['y'], - '-z', params['z'], - ], - output='screen', - namespace=params['namespace'] - ) - ld.add_action(robot_spawner) + def perform(self, context: LaunchContext) -> str: + """Substitute the parameter file path.""" + param_file = self.__param_file + if isinstance(param_file, list): + # list of substitutions + param_file = perform_substitutions(context, self.__param_file) # type: ignore + + param_file_path: Path = Path(param_file) # type: ignore + with open(param_file_path, 'r') as f, NamedTemporaryFile( + mode='w', prefix='launch_params_', delete=False + ) as h: + parsed = perform_substitutions(context, parse_substitution(f.read())) # type: ignore + try: + yaml.safe_load(parsed) + except Exception: + raise SubstitutionFailure( + 'The substituted parameter file is not a valid yaml file') + h.write(parsed) + param_file_path = Path(h.name) + self.__created_tmp_file = True + self.__evaluated_param_file = param_file_path + return str(param_file_path) + + def cleanup(self) -> None: + """Remove the temporary file if it was created.""" + if self.__created_tmp_file and self.__evaluated_param_file is not None: + try: + self.__evaluated_param_file.unlink() + except FileNotFoundError: + # The file may have been deleted already, ignore this error + pass + self.__evaluated_param_file = None + + def __del__(self): + """Clean up the temporary file when the object is deleted.""" + self.cleanup() + + +def substitute_param_context(param, context): + """Resolve a parameter if it is a LaunchConfiguration.""" + if isinstance(param, LaunchConfiguration): + return param.perform(context) + return param + +def launch_setup(context, params): + ret = [] + + # Robot Description + ret.append(IncludeLaunchDescription( + PythonLaunchDescriptionSource([ + FindPackageShare('robotnik_description'), '/launch/robot_description.launch.py' + ]), + launch_arguments={ + 'verbose': 'false', + 'robot_xacro_file': params['robot_xacro'], + 'frame_prefix': [params['robot_id'], '_'], + 'namespace': params['robot_id'], + 'gazebo_ignition': 'true', + }.items(), + )) + + # Spawner + ret.append(Node( + package='ros_gz_sim', + executable='create', + namespace=params['robot_id'], + arguments=[ + '-name', params['robot_id'], + '-topic', "robot_description", + '-robot_namespace', params['robot_id'], + '-x', params['x'], + '-y', params['y'], + '-z', params['z'], + ], + output='screen', + )) + + # Gazebo bridge + def generate_bridge_yaml(params) -> str: + robot_id = substitute_param_context(params['robot_id'], context) + bridge_raw = [ + ("clock", "/clock", "rosgraph_msgs/msg/Clock", "gz.msgs.Clock", "GZ_TO_ROS"), + (f"/{robot_id}/imu/data", f"/{robot_id}/imu/data", "sensor_msgs/msg/Imu", "ignition.msgs.IMU", "GZ_TO_ROS"), + (f"/{robot_id}/gps/data", f"/{robot_id}/gps/fix", "sensor_msgs/msg/NavSatFix", "ignition.msgs.NavSat", "GZ_TO_ROS"), + ] + def add_camera(camera_name): + bridge_raw.extend([ + (f"/{robot_id}/{camera_name}_camera_color/color/camera_info", f"/{robot_id}/{camera_name}_rgbd_camera/color/camera_info", "sensor_msgs/msg/CameraInfo", "gz.msgs.CameraInfo", "GZ_TO_ROS"), + (f"/{robot_id}/{camera_name}_camera_color/color/image_raw", f"/{robot_id}/{camera_name}_rgbd_camera/color/image_raw", "sensor_msgs/msg/Image", "gz.msgs.Image", "GZ_TO_ROS"), + ]) + def add_laser(laser_name): + bridge_raw.extend([ + (f"/{robot_id}/{laser_name}_laser/scan", f"/{robot_id}/{laser_name}_laser/scan", "sensor_msgs/msg/LaserScan", "gz.msgs.LaserScan", "GZ_TO_ROS"), + ]) + def add_pointcloud(points_name): + bridge_raw.extend([ + ( f"/{robot_id}/{points_name}_lidar/scan/points", f"/{robot_id}/{points_name}_laser/points", "sensor_msgs/msg/PointCloud2", "gz.msgs.PointCloudPacked", "GZ_TO_ROS"), + ]) + + def add_depth_camera(camera_name): + bridge_raw.extend([ + (f"/{robot_id}/{camera_name}_camera_depth/depth/camera_info", f"/{robot_id}/{camera_name}_rgbd_camera/depth/camera_info", "sensor_msgs/msg/CameraInfo", "gz.msgs.CameraInfo", "GZ_TO_ROS"), + (f"/{robot_id}/{camera_name}_camera_depth/depth/image_raw", f"/{robot_id}/{camera_name}_rgbd_camera/depth/image_raw", "sensor_msgs/msg/Image", "gz.msgs.Image", "GZ_TO_ROS"), + ]) - bridge_params = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/bridge.yaml'] - ros_gz_bridge = Node( + add_camera("front") + add_camera("rear") + add_camera("top_ptz") + #add_depth_camera("front") + add_laser("front") + add_laser("rear") + add_pointcloud("top") + + bridge_config = [{"ros_topic_name": ros, "gz_topic_name": gz, "ros_type_name": ros_type, "gz_type_name": gz_type, "direction": direction} for gz, ros, ros_type, gz_type, direction in bridge_raw] + with tempfile.NamedTemporaryFile(mode='w', delete=False) as tmp: + yaml.dump(bridge_config, tmp) + return tmp.name + + bridge_yaml = generate_bridge_yaml(params) + ret.append(Node( package="ros_gz_bridge", executable="parameter_bridge", parameters=[ - {'config_file': bridge_params}, + {'config_file': bridge_yaml}, ], - namespace=params['namespace'] - ) - ld.add_action(ros_gz_bridge) + namespace=params['robot_id'], + )) - joint_state_broadcaster = Node( - package='controller_manager', - executable='spawner', - arguments=['joint_state_broadcaster'], - namespace=params['namespace'] - ) - ld.add_action(joint_state_broadcaster) - - joint_trajectory_controller= Node( - package='controller_manager', - executable='spawner', - arguments=['joint_trajectory_controller'], - output='screen', - emulate_tty=True, - namespace=params['namespace'], - condition=IfCondition(params['has_arm']) - ) + def extract_controllers_from_yaml(yaml_path): + + data = {} + existing_controllers = [] + # Load the YAML file + with open(yaml_path, 'r') as f: + + # Read the file content + content = f.read() + # Remove the string "---\n/**:" if it exists at the beginning + if content.startswith('---\n/**:'): + content = content[len('---\n/**:'):] + # Move file pointer back to start for yaml.safe_load + f.seek(0) + f = tempfile.SpooledTemporaryFile(mode='w+') + f.write(content) + f.seek(0) + + try: + data = yaml.safe_load(f) + except Exception as e: + raise RuntimeError(f"Failed to parse YAML file '{yaml_path}': {e}") + + for controller in data: + existing_controllers.append(controller) + return existing_controllers - init_joint_trajectory_controller = RegisterEventHandler( - OnProcessExit( - target_action=joint_state_broadcaster, - on_exit=[ - LogInfo(msg='JointStateBroadcaster spawned, launching JointTrajectoryController'), - joint_trajectory_controller - ] + def get_ros2_control_yaml_path(params): + return str( + Path( + FindPackageShare('robotnik_gazebo_ignition').perform(context) + ) + / 'config' + / 'profile' + / substitute_param_context(params['robot'], context) + / 'ros2_control.yaml' ) + + path = get_ros2_control_yaml_path(params) + new_controllers = extract_controllers_from_yaml(path) + + # ROS2 control + controllers = ['joint_state_broadcaster'] + controllers.extend(new_controllers) + print("Controllers to be spawned:", controllers) + + robot_controller_config = ConfigFile( + [ + FindPackageShare('robotnik_gazebo_ignition'), '/config/profile/', LaunchConfiguration('robot'), '/ros2_control.yaml', + ], + ) + + + controllers.append('--param-file') + controllers.append( + robot_controller_config, # type: ignore ) - ld.add_action(init_joint_trajectory_controller) - robotnik_controller= Node( + ret.append(Node( package='controller_manager', executable='spawner', - arguments=['robotnik_base_controller'], + namespace=params['robot_id'], + arguments=controllers, output='screen', - emulate_tty=True, - namespace=params['namespace'] - ) + )) - init_robotnik_controller = RegisterEventHandler( - OnProcessExit( - target_action=joint_state_broadcaster, - on_exit=[ - LogInfo(msg='JointStateBroadcaster spawned, launching RobotnikBaseController'), - robotnik_controller - ] - ) - ) - ld.add_action(init_robotnik_controller) - - rviz2_config = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/rviz_config.rviz'] - - rviz2 = Node( + # RViz + ret.append(Node( package="rviz2", executable="rviz2", - namespace=params['namespace'], - arguments=['-d', rviz2_config] + namespace=params['robot_id'], + arguments=[ + '-d', [FindPackageShare('robotnik_gazebo_ignition'), '/config/rviz_config.rviz'], + # Fixed frame + '-f', [params['robot_id'], '_odom'], + # Window name + '-t', [params['robot_id'], ' - ', params['robot_model'], ' - RViz'] + ] + )) + return ret - ) - ld.add_action(rviz2) - return ld +def generate_launch_description(): + raw_args = [ + ("robot_id", "Unique Robot Identifier", "robot", "ROBOT_ID"), + ("robot", "Robot Model Name", "", "ROBOT"), + ("robot_model", "Robot Variant or Type", LaunchConfiguration('robot'), "ROBOT_MODEL"), + ("robot_xacro", "Path to Robot Xacro File", [FindPackageShare('robotnik_description'), '/robots/', LaunchConfiguration('robot'), '/', LaunchConfiguration('robot_model'), '.urdf.xacro'], "ROBOT_XACRO"), + ("x", "Initial X Coordinate", "0.0", "X"), + ("y", "Initial Y Coordinate", "0.0", "Y"), + ("z", "Initial Z Coordinate", "0.0", "Z"), + ("has_arm", "Enable Arm Controller", "False", "HAS_ARM"), + ] + ld = LaunchDescription() + add_to_launcher = AddArgumentParser(ld) + for arg in raw_args: + extended_arg = ExtendedArgument( + name=arg[0], + description=arg[1], + default_value=arg[2], + use_env=True, + environment=arg[3], + ) + add_to_launcher.add_arg(extended_arg) + params = add_to_launcher.process_arg() + ld.add_action(OpaqueFunction(function=launch_setup, args=[params])) + return ld diff --git a/robotnik_gazebo_ignition/launch/spawn_world.launch.py b/robotnik_gazebo_ignition/launch/spawn_world.launch.py index 993566e..f12413d 100644 --- a/robotnik_gazebo_ignition/launch/spawn_world.launch.py +++ b/robotnik_gazebo_ignition/launch/spawn_world.launch.py @@ -44,15 +44,14 @@ def generate_launch_description(): arg = ExtendedArgument( name='world', description='world in gazebo classic', - default_value='demo.sdf.world', - # default_value='warehouse_big.sdf', + default_value='demo', ) add_to_launcher.add_arg(arg) arg = ExtendedArgument( name='world_path', description='world path in gazebo classic', - default_value=[FindPackageShare('robotnik_gazebo_ignition'), '/worlds/ignition/', world], + default_value=[FindPackageShare('robotnik_gazebo_ignition'), '/worlds/ignition/', world, '.world'], # type: ignore ) add_to_launcher.add_arg(arg) @@ -71,14 +70,12 @@ def generate_launch_description(): ), 'gz_sim.launch.py') ), - launch_arguments={ + launch_arguments={ 'gz_args':[ '-r ', '-s ', - #'-v4 ', #verbose level params['world_path'] - # 'empty.sdf' - ], + ], 'on_exit_shutdown':'true' }.items(), ), diff --git a/robotnik_gazebo_ignition/package.xml b/robotnik_gazebo_ignition/package.xml index 694561e..dec70cf 100644 --- a/robotnik_gazebo_ignition/package.xml +++ b/robotnik_gazebo_ignition/package.xml @@ -1,11 +1,12 @@ - + robotnik_gazebo_ignition - 0.0.0 - Package to simulate robots in Gazebo - - Carlos Gascon + 1.0.0 + Package to simulate robots in Gazebo + Robotnik Support Apache-2.0 ament_cmake @@ -21,12 +22,14 @@ teleop_twist_keyboard rqt_joint_trajectory_controller + robotnik_description + robotnik_sensors + ament_lint_auto ament_lint_common ament_cmake - + - diff --git a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo.world similarity index 96% rename from robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world rename to robotnik_gazebo_ignition/worlds/ignition/demo.world index 692d089..422c086 100644 --- a/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world +++ b/robotnik_gazebo_ignition/worlds/ignition/demo.world @@ -1,43 +1,36 @@ - - - - 0.001 + + 0.003 1.0 + 1000 - - gz-physics6-bullet-plugin - - - - - - + + + + ogre2 - - - - - + + + + 1 1 1 1 + 0.3 0.7 0.9 1 + 0 + false + + + 12 + + + 1 + 1 - 0 0 10 0 -0 0 - 0.8 0.8 0.8 1 + 0 0 10 0 -0 0 + 1.0 1.0 1.0 1 0.2 0.2 0.2 1 1000 @@ -45,80 +38,48 @@ 0.01 0.001 - -0.5 0.1 -0.9 + -0.5 0.5 -1.0 - - 1 - - - - - 0 0 1 - 100 100 - - - - - 65535 - - - - - 100 - - - - - - - - 10 - - - 0 - - - 0 0 1 - 100 100 - - - - 1 1 1 1 - 1 1 1 1 - - - 0 - 0 - 0 - - - 0 0 -9.8 - 6e-06 2.3e-05 -4.2e-05 - - - 0.001 - 1 - 1000 - - - cone_model - - - - - 0.4 0.4 0.4 1 - 0.7 0.7 0.7 1 - 1 - - + + EARTH_WGS84 - 0 - 0 - 0 + 39.551908 + -0.468661 + 108 0 + + true + + + + + 0 0 1 + + + + + + + 0 0 1 + 100 100 + + + + 0.8 0.8 0.8 1 + 0.8 0.8 0.8 1 + 0.8 0.8 0.8 1 + + + + + + 0 0 -9.8 + 6e-06 2.3e-05 -4.2e-05 + + true diff --git a/robotnik_simulation.humble.repos b/robotnik_simulation.humble.repos new file mode 100644 index 0000000..86dfd54 --- /dev/null +++ b/robotnik_simulation.humble.repos @@ -0,0 +1,32 @@ +repositories: + # Dependencies + ros-control/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 1.2.15 + ros-visualization/visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 + + # Robotnik + robotnik/robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 + robotnik/robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: 2.1.0 + robotnik/robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 + robotnik/robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: 2.1.0 + robotnik/robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: humble-devel diff --git a/robotnik_simulation.jazzy.repos b/robotnik_simulation.jazzy.repos new file mode 100644 index 0000000..a54fce4 --- /dev/null +++ b/robotnik_simulation.jazzy.repos @@ -0,0 +1,32 @@ +repositories: + # Dependencies + ros-control/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: 1.2.15 + ros-visualization/visualization_tutorials: + type: git + url: https://github.com/ros-visualization/visualization_tutorials.git + version: b43b3f6a867b1d799af3edba673c56d37178e847 # ros2 + + # Robotnik + robotnik/robotnik_common: + type: git + url: https://github.com/RobotnikAutomation/robotnik_common.git + version: 1.2.0 + robotnik/robotnik_description: + type: git + url: https://github.com/RobotnikAutomation/robotnik_description.git + version: 2.1.0 + robotnik/robotnik_interfaces: + type: git + url: https://github.com/RobotnikAutomation/robotnik_interfaces.git + version: 1.1.0 + robotnik/robotnik_sensors: + type: git + url: https://github.com/RobotnikAutomation/robotnik_sensors.git + version: 2.1.0 + robotnik/robotnik_simulation: + type: git + url: https://github.com/RobotnikAutomation/robotnik_simulation.git + version: jazzy-devel