diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index b499653..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2025, Robotnik Automation S.L.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-* Neither the name of the copyright holder nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND 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.
diff --git a/README.md b/README.md
index cc2f677..7e8e686 100644
--- a/README.md
+++ b/README.md
@@ -83,8 +83,7 @@
## About The Project
-[![Simulation View][gazebo-classic-screenshot]](https://github.com/RobotnikAutomation/robot_simulation)
-[![Simulation View][gazebo-ignition-screenshot]](https://github.com/RobotnikAutomation/robot_simulation)
+[![Simulation View][product-screenshot]](https://github.com/RobotnikAutomation/robot_simulation)
This package will combine the different Robotnik packages in ROS2 to simulate the robots in the different available platforms, as Gazebo Classic, Gazebo Ignition, etc.
@@ -99,73 +98,26 @@ This package works with the different packages that Robotnik developed for the r
### Prerequisites
-#### - Gazebo Ignition 6.16.0
-#### - Gazebo Classic 11.10.2
-#### - ROS2 Humble
-
First, be sure that you have all the [Gazebo packages](https://classic.gazebosim.org/tutorials?tut=ros2_installing) installed for ROS2.
-#### Install Gazebo Classic:
-
```sh
sudo apt install ros-humble-gazebo-ros-pkgs
```
-#### Install Gazebo Ignition:
-
-```sh
-sudo apt install ros-humble-ros-ign
-```
-
### Installation
Then, let's procede with the installation of the Robotnik packages.
-First, create the workspace to work with:
-```
-mkdir -p ~/ros2_ws/src
-cd ~/ros2_ws/src/
-```
-Then continue with the installation of packages.
+1. Init the submodules of this repository
+ ```sh
+ git submodule init && git submodule update
+ ```
-1. [robotnik_description](https://github.com/RobotnikAutomation/robotnik_description/tree/humble-devel)
-2. [robotnik_sensors](https://github.com/RobotnikAutomation/robotnik_sensors/tree/humble-devel)
-3. [robotnik_common](https://github.com/RobotnikAutomation/robotnik_common)
-4. [robotnik_interfaces](https://github.com/RobotnikAutomation/robotnik_interfaces)
-6. [robotnik_simulation](https://github.com/RobotnikAutomation/robotnik_simulation.git#)
+2. Install robotnik_controller dependencies
+ ```sh
+ sudo dpkg -i debs/*.deb
+ ```
- ```sh
- git clone https://github.com/RobotnikAutomation/robotnik_description.git -b humble-devel
-
- git clone https://github.com/RobotnikAutomation/robotnik_sensors.git -b humble-devel
-
- git clone https://github.com/RobotnikAutomation/robotnik_common.git -b humble
-
- git clone https://github.com/RobotnikAutomation/robotnik_interfaces.git -b humble-devel
-
- git clone https://github.com/RobotnikAutomation/robotnik_simulation.git -b humble
-
- ```
-
-Install the [robotnik_controller](./debs/) within the debs folder:
-
-```sh
-sudo dpkg -i ./robotnik_simulation/debs/ros-humble-robotnik-controllers*.deb
-```
-
-Install dependencies:
-```sh
-cd ~/ros2_ws
-rosdep update
-rosdep install --from-paths src --ignore-src -r -y
-```
-
-Finally, compile workspace:
-```
-source /opt/ros/humble/setup.bash
-cd ~/ros2_ws && colcon build
-source install/setup.bash
-```
(back to top )
@@ -202,149 +154,36 @@ ros2 launch robotnik_gazebo_classic spawn_world.launch.py world:=maze
Once you have the simulation running, you can spawn the robot in the world. For that, there is a launch file that starts all the nodes.
-| Arguments | Default | Description |
-|------------------|------------------------------|------------------------------------------------------------------------------------------------|
-| namespace | robot | namespace that will be in the nodes and topics and differenciate one robot entity from another |
-| robot | '' | robot type desired to be spawned, must be specified |
-| robot_model | _same as robot_ | robot_model variation of the robot type. For using this argument, robot has to be fulfilled |
-| robot_xacro_path | rbkairos/rbkairos.urdf.xacro | path to a xacro model if it is not included in the robotnik_description package |
-| 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.
-
-Available robots
-
-- rbvogui
-- rbtheron
-- rbsummit
-- rbkairos
-- rbrobout
-
-Available robot_model
-
-- rbkairos_plus
-- rbrobout_plus
-- rbtheron_plus
-- rbvogui_plus
-
-Example:
-```sh
-ros2 launch robotnik_gazebo_classic 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**.
-
-Example:
-```sh
-ros2 launch robotnik_gazebo_classic spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true
-```
-
-Then, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot.
-
-#### Control the robot
-
-All the controllers for the robots work with a Twist topic called /namespace/robotnik_base_controller/cmd_vel, the default topic is:
-
```sh
-/robot/robotnik_base_controller/cmd_vel
+ros2 launch robotnik_gazebo_classic spawn_robot.launch.py
```
-Also it can be used a Twist topic:
-```sh
-/robot/robotnik_base_controller/cmd_vel_unstamped
-```
-
-This topic will move the robot acording to the velocity demanded but it can be also controller by joint commands, using the topic:
-
-```sh
-/robot/robotnik_base_controller/cmd_joint
-```
-
-Topic type sensor_msgs/msg/JointState.
-
-
-I recommend to use teleop_twist_keyboard to control by cmd_vel:
-
-```sh
-ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/robot/robotnik_base_controller/cmd_vel_unstamped
-```
-
-### Mobile robots with manipulators
-
-There are two mobile bases with a manipulator that can be used:
-- rbkairos_plus
-- rbrobout_plus
-
-To use them launch the spawn of the robot as follows:
-
-```sh
-ros2 launch robotnik_gazebo_classic spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true
-```
-
-The arm has a joint_trajectory_controller configured that can be used with rqt_joint_trajectory_controller:
-
-
-```sh
-sudo apt install ros-humble-rqt-joint-trajectory-controller
-
-ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller --ros-args -r __ns:=/robot
-```
-
-### Gazebo Ignition
-
-#### Launch Gazebo
-
-Init the Gazebo world by launching:
-
-```sh
-ros2 launch robotnik_gazebo_ignition spawn_world.launch.py
-```
-
-
-#### Spawn Robot
-
-Once you have the simulation running, you can spawn the robot in the world. For that, there is a launch file that starts all the nodes.
-
| Arguments | Default | Description |
|------------------|------------------------------|------------------------------------------------------------------------------------------------|
| namespace | robot | namespace that will be in the nodes and topics and differenciate one robot entity from another |
-| robot | '' | robot type desired to be spawned, must be specified |
-| robot_model | _same as robot_ | robot_model variation of the robot type. For using this argument, robot has to be fulfilled |
-| robot_xacro_path | rbkairos/rbkairos.urdf.xacro | path to a xacro model if it is not included in the robotnik_description package |
+| robot | rbkairos | robot type desired to be spawned |
+| robot_model | _value of robot argument_ | robot_model variation of the robot type. For using this argument, robot has to be fulfilled |
+| robot_xacro_path | rbkairos/rbkairos.urdf.xacro | path to a xacro model if it is not included in the robot_description package |
| 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.
-Available robots
+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 by:
- rbvogui
- rbtheron
- rbsummit
- rbkairos
-- rbrobout
-
-Available robot_model
-
-- rbkairos_plus
-- rbrobout_plus
-- rbtheron_plus
-- rbvogui_plus
Example:
```sh
-ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbvogui
+ros2 launch robotnik_gazebo_classic spawn_robot.launch.py robot:=rbvogui
```
-In case that your robot has a variation (check [robots](robotnik_pkgs/robot_description/robots/) folder in robotnik_description package), you can select it by the argument **robot_model**.
+In case that your robot has a variation (check [robots](robotnik_pkgs/robot_description/robots/) folder in robot_description package), you can select it by the argument **robot_model**.
Example:
```sh
-ros2 launch robotnik_gazebo_ignition spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_plus has_arm:=true
+ros2 launch robotnik_gazebo_classic spawn_robot.launch.py robot:=rbkairos robot_model:=rbkairos_ur
```
Then, the arguments _x_, _y_ and _z_ selects the position respect the world frame to spawn the robot.
@@ -356,47 +195,20 @@ All the controllers for the robots work with a Twist topic called /namespace/rob
```sh
/robot/robotnik_base_controller/cmd_vel
```
-Also it can be used a Twist topic:
-```sh
-/robot/robotnik_base_controller/cmd_vel_unstamped
-```
-This topic will move the robot acording to the velocity demanded but it can be also controller by joint commands, using the topic:
+This topic will move the robot acsording to the velocity demanded but it can be also controller by joint commands, using the topic:
```sh
-/robot/robotnik_base_controller/cmd_joint
+/robot/robotnik_base_controller/joint_control_command
```
-Topic type sensor_msgs/msg/JointState.
-
+This topic is from type sensor_msgs/msg/JointState.
I recommend to use teleop_twist_keyboard to control by cmd_vel:
```sh
-ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r cmd_vel:=/robot/robotnik_base_controller/cmd_vel -p stamped:=true
-```
-
-### Mobile robots with manipulators
-
-There are two mobile bases with a manipulator that can be used:
-- rbkairos_plus
-- rbrobout_plus
-
-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 run teleop_twist_keyboard teleop_twist_keyboard --ros-arg cmd_vel:=/robot/robotnik_base_controller/cmd_vel
```
-
-The arm has a joint_trajectory_controller configured that can be used with rqt_joint_trajectory_controller:
-
-
-```sh
-sudo apt install ros-humble-rqt-joint-trajectory-controller
-
-ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller --ros-args -r __ns:=/robot
-```
-
#### Enjoy!

@@ -407,15 +219,15 @@ ros2 run rqt_joint_trajectory_controller rqt_joint_trajectory_controller --ros-a
## Custom Simulation
-In case that the robot model that you want to simulate is not in robotnik_description package, or the world, or you want to use a different controller, you will have to create your own simulaiton files.
+In case that the robot model that you want to simulate is not in robot_description package, or the world, or you want to use a different controller, you will have to create your own simulaiton files.
This will guide you to create your custom simulation.
### Custom Robot Model
1. First, create your own package for the project.
-2. In this package, create your URDF file. You can base in the [template file](robotnik_pkgs/robotnik_description/robots/robot_template.urdf.xacro) that are in robotnik_description package.
-3. In the README of [robotnik_description](robotnik_pkgs/robotnik_description/README.md) there is a brief descripiton on how to create a robot.
+2. In this package, create your URDF file. You can base in the [template file](robotnik_pkgs/robot_description/robots/robot_template.urdf.xacro) that are in robot_description package.
+3. In the README of [robot_description](robotnik_pkgs/robot_description/README.md) there is a brief descripiton on how to create a robot.
4. On this file you can modify and add all the sensors, arms and any other component.
5. Then, launch the spawn_robot with the argument _robot_xacro_path_.
@@ -432,7 +244,7 @@ To launch a custom file, you can use the _world_path_ argument that it's in the
## Roadmap
- [x] Add Gazebo Classic
-- [x] Add Gazebo Ignition
+- [ ] Add Gazebo Ignition
- [ ] Add more worlds
- [ ] Add multi robot support
@@ -497,5 +309,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/
-[gazebo-classic-screenshot]: img/simulation_view.png
-[gazebo-ignition-screenshot]: img/simulation_view_ignition.png
+[product-screenshot]: img/simulation_view.png
diff --git a/debs/ros-humble-robotnik-controller_0.0.0-20250131.153235-local_amd64.deb b/debs/ros-humble-robotnik-controller_0.0.0-20250131.153235-local_amd64.deb
new file mode 100644
index 0000000..d46f9f8
Binary files /dev/null and b/debs/ros-humble-robotnik-controller_0.0.0-20250131.153235-local_amd64.deb differ
diff --git a/debs/ros-humble-robotnik-controllers_0.0.0-20250407.104325-b0a866a_amd64.deb b/debs/ros-humble-robotnik-controllers_0.0.0-20250407.104325-b0a866a_amd64.deb
deleted file mode 100644
index 3a9f7dd..0000000
Binary files a/debs/ros-humble-robotnik-controllers_0.0.0-20250407.104325-b0a866a_amd64.deb and /dev/null differ
diff --git a/debs/ros-humble-robotnik-interfaces_2.2.0-20241219.115354-5c44131_amd64.deb b/debs/ros-humble-robotnik-interfaces_2.2.0-20241219.115354-5c44131_amd64.deb
new file mode 100644
index 0000000..3b2683e
Binary files /dev/null and b/debs/ros-humble-robotnik-interfaces_2.2.0-20241219.115354-5c44131_amd64.deb differ
diff --git a/debs/ros-humble-robotnik-safety-msgs_2.2.0-20241219.115432-5c44131_amd64.deb b/debs/ros-humble-robotnik-safety-msgs_2.2.0-20241219.115432-5c44131_amd64.deb
new file mode 100644
index 0000000..18bc5ef
Binary files /dev/null and b/debs/ros-humble-robotnik-safety-msgs_2.2.0-20241219.115432-5c44131_amd64.deb differ
diff --git a/img/simulation_view_ignition.png b/img/simulation_view_ignition.png
deleted file mode 100644
index 0ea2299..0000000
Binary files a/img/simulation_view_ignition.png and /dev/null differ
diff --git a/robotnik_gazebo_classic/config/rbkairos/rbkairos_controller_params.yaml b/robotnik_gazebo_classic/config/rbkairos/rbkairos_controller_params.yaml
deleted file mode 100644
index 3c570d4..0000000
--- a/robotnik_gazebo_classic/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_classic/config/rbkairos/rviz_config.rviz b/robotnik_gazebo_classic/config/rbkairos/rviz_config.rviz
deleted file mode 100644
index 975bc2e..0000000
--- a/robotnik_gazebo_classic/config/rbkairos/rviz_config.rviz
+++ /dev/null
@@ -1,391 +0,0 @@
-Panels:
- - Class: rviz_common/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /Status1
- - /RobotModel1
- Splitter Ratio: 0.5
- Tree Height: 241
- - 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: RearLaserScan
-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_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
- 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/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
- - Class: rviz_default_plugins/Image
- Enabled: true
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: FrontCameraImage
- 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: 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/front_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: 10.589208602905273
- 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.6653980612754822
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 2.1203980445861816
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: false
- FrontCameraImage:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: false
- QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000001600ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d00650100000000000007380000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004010000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: false
- Width: 1848
- X: 72
- Y: 27
diff --git a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml b/robotnik_gazebo_classic/config/rbkairos_controller_params.yaml
similarity index 81%
rename from robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml
rename to robotnik_gazebo_classic/config/rbkairos_controller_params.yaml
index 3c570d4..45441f8 100644
--- a/robotnik_gazebo_ignition/config/rbkairos/rbkairos_controller_params.yaml
+++ b/robotnik_gazebo_classic/config/rbkairos_controller_params.yaml
@@ -8,7 +8,7 @@
type: joint_state_broadcaster/JointStateBroadcaster
robotnik_base_controller:
- type: robotnik_controllers/RBKairosController
+ type: robotnik_controller/RBKairosController
joint_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
@@ -23,12 +23,12 @@
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
+ - robot_ur5e_shoulder_pan_joint
+ - robot_ur5e_shoulder_lift_joint
+ - robot_ur5e_elbow_joint
+ - robot_ur5e_wrist_1_joint
+ - robot_ur5e_wrist_2_joint
+ - robot_ur5e_wrist_3_joint
command_interfaces:
- position
@@ -49,24 +49,38 @@
publish_rate: 200
#General Params
+ profile_list: ["base"]
profile: base
debug: true
open_loop: true
#Timeouts
joint_command_timeout: 0.1
+ imu_timeout: 0.2
cmd_vel_timeout: 1.0
+ #Topics
+ cmd_vel_topic: ~/cmd_vel
+ odom_topic: ~/odom
+ imu_topic: /robot/imu/data
+ emergency_topic: ~/emergency
+ joint_control_topic: ~/joint_control_command
+
#Odom
odom_frame_id: robot_odom
base_frame_id: robot_base_footprint
- use_2D_odom: true
+ set_odometry_service: ~/set_odometry
+
+ #Imu
+ use_imu: true
#Kinematics Params
wheel_radius: 0.2552
wheel_base: 0.43
track_width: 0.538
+ wheels_positions: ["front_right", "front_left", "back_right", "back_left"]
+
#Cartesian and wheels limits
base:
linear:
diff --git a/robotnik_gazebo_classic/config/rbsummit/rbsummit_controller_params.yaml b/robotnik_gazebo_classic/config/rbsummit/rbsummit_controller_params.yaml
deleted file mode 100644
index 75e1dd2..0000000
--- a/robotnik_gazebo_classic/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_classic/config/rbsummit/rviz_config.rviz b/robotnik_gazebo_classic/config/rbsummit/rviz_config.rviz
deleted file mode 100644
index e58f6b1..0000000
--- a/robotnik_gazebo_classic/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/rbsummit/rbsummit_controller_params.yaml b/robotnik_gazebo_classic/config/rbsummit_controller_params.yaml
similarity index 83%
rename from robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml
rename to robotnik_gazebo_classic/config/rbsummit_controller_params.yaml
index 75e1dd2..4977225 100644
--- a/robotnik_gazebo_ignition/config/rbsummit/rbsummit_controller_params.yaml
+++ b/robotnik_gazebo_classic/config/rbsummit_controller_params.yaml
@@ -8,7 +8,7 @@
type: joint_state_broadcaster/JointStateBroadcaster
robotnik_base_controller:
- type: robotnik_controllers/RBSummitController
+ type: robotnik_controller/RBSummitController
joint_state_broadcaster:
ros__parameters:
@@ -21,24 +21,40 @@
publish_rate: 200
#General Params
+ profile_list: ["base"]
profile: base
debug: true
open_loop: true
#Timeouts
joint_command_timeout: 0.1
+ imu_timeout: 0.2
cmd_vel_timeout: 1.0
+ #Topics
+ cmd_vel_topic: ~/cmd_vel
+ odom_topic: ~/odom
+ imu_topic: /robot/imu/data
+ emergency_topic: ~/emergency
+ joint_control_topic: ~/joint_control_command
+
#Odom
odom_frame_id: robot_odom
base_frame_id: robot_base_footprint
- use_2D_odom: true
+ set_odometry_service: ~/set_odometry
+
+ #Imu
+ use_imu: true
#Kinematics Params
wheel_radius: 0.1125
track_width: 0.47
wheel_base: 0.458
+ max_steering_position_error: 0.3
+
+ wheels_positions: ["front_right", "front_left", "back_right", "back_left"]
+
#Cartesian and wheels limits
base:
linear:
diff --git a/robotnik_gazebo_classic/config/rbtheron/rviz_config.rviz b/robotnik_gazebo_classic/config/rbtheron/rviz_config.rviz
deleted file mode 100644
index 2a377a0..0000000
--- a/robotnik_gazebo_classic/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_classic/config/rbtheron/rbtheron_controller_params.yaml b/robotnik_gazebo_classic/config/rbtheron_controller_params.yaml
similarity index 82%
rename from robotnik_gazebo_classic/config/rbtheron/rbtheron_controller_params.yaml
rename to robotnik_gazebo_classic/config/rbtheron_controller_params.yaml
index 5c13224..2b2b614 100644
--- a/robotnik_gazebo_classic/config/rbtheron/rbtheron_controller_params.yaml
+++ b/robotnik_gazebo_classic/config/rbtheron_controller_params.yaml
@@ -8,7 +8,7 @@
type: joint_state_broadcaster/JointStateBroadcaster
robotnik_base_controller:
- type: robotnik_controllers/RBTheronController
+ type: robotnik_controller/RBTheronController
joint_state_broadcaster:
ros__parameters:
@@ -21,25 +21,37 @@
publish_rate: 200
#General Params
+ profile_list: ["base"]
profile: base
debug: true
open_loop: true
#Timeouts
joint_command_timeout: 0.1
+ imu_timeout: 0.2
cmd_vel_timeout: 1.0
+ #Topics
+ cmd_vel_topic: ~/cmd_vel
+ odom_topic: ~/odom
+ imu_topic: /robot/imu/data
+ emergency_topic: ~/emergency
+ joint_control_topic: ~/joint_control_command
+
#Odom
odom_frame_id: robot_odom
base_frame_id: robot_base_footprint
- use_2D_odom: true
+ set_odometry_service: ~/set_odometry
+
+ #Imu
+ use_imu: true
#Kinematics Params
wheel_radius: 0.0762
track_width: 0.5032
wheel_base: 0.458
- max_steering_position_error: 0.0
+ max_steering_position_error: 0.3
wheels_positions: ["right", "left"]
diff --git a/robotnik_gazebo_classic/config/rbvogui/rbvogui_controller_params.yaml b/robotnik_gazebo_classic/config/rbvogui/rbvogui_controller_params.yaml
deleted file mode 100644
index 8141b2d..0000000
--- a/robotnik_gazebo_classic/config/rbvogui/rbvogui_controller_params.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-/**:
- controller_manager:
- 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
- profile: base
- debug: true
- open_loop: true
-
- #Timeouts
- joint_command_timeout: 0.1
- cmd_vel_timeout: 0.5
-
- #Odom
- odom_frame_id: robot_odom
- base_frame_id: robot_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
- min_turning_ratio: 1.0
-
- max_steering_position_error: 0.3
-
- #Cartesian and wheels limits
- base:
- linear:
- x:
- velocity:
- min: -0.3
- max: 0.3
- acceleration:
- min: -1.0
- max: 1.0
- y:
- velocity:
- min: -0.3
- max: 0.3
- acceleration:
- min: -1.0
- max: 1.0
- angular:
- z:
- velocity:
- min: -0.3
- max: 0.3
- acceleration:
- min: -1.0
- max: 1.0
-
- front_right:
- traction:
- joint_name: robot_front_right_wheel_joint
- limits:
- velocity:
- min: -3.0
- max: 3.0
- acceleration:
- min: -10.0
- max: 10.0
- steering:
- joint_name: robot_front_right_steering_joint
- limits:
- velocity:
- min: -1.0
- max: 1.0
- position:
- min: -2.8
- max: 2.8
-
- front_left:
- traction:
- joint_name: robot_front_left_wheel_joint
- limits:
- velocity:
- min: -3.0
- max: 3.0
- acceleration:
- min: -10.0
- max: 10.0
- steering:
- joint_name: robot_front_left_steering_joint
- limits:
- velocity:
- min: -1.0
- max: 1.0
- position:
- min: -2.8
- max: 2.8
-
- back_right:
- traction:
- joint_name: robot_back_right_wheel_joint
- limits:
- velocity:
- min: -3.0
- max: 3.0
- acceleration:
- min: -10.0
- max: 10.0
- steering:
- joint_name: robot_back_right_steering_joint
- limits:
- velocity:
- min: -1.0
- max: 1.0
- position:
- min: -2.8
- max: 2.8
-
- back_left:
- traction:
- joint_name: robot_back_left_wheel_joint
- limits:
- velocity:
- min: -3.0
- max: 3.0
- acceleration:
- min: -10.0
- max: 10.0
- steering:
- joint_name: robot_back_left_steering_joint
- limits:
- velocity:
- min: -1.0
- max: 1.0
- position:
- min: -2.8
- max: 2.8
diff --git a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml b/robotnik_gazebo_classic/config/rbvogui_controller_params.yaml
similarity index 88%
rename from robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml
rename to robotnik_gazebo_classic/config/rbvogui_controller_params.yaml
index 8141b2d..6bfadd9 100644
--- a/robotnik_gazebo_ignition/config/rbvogui/rbvogui_controller_params.yaml
+++ b/robotnik_gazebo_classic/config/rbvogui_controller_params.yaml
@@ -8,7 +8,7 @@
type: joint_state_broadcaster/JointStateBroadcaster
robotnik_base_controller:
- type: robotnik_controllers/RBVoguiController
+ type: robotnik_controller/RBVoguiController
joint_state_broadcaster:
ros__parameters:
@@ -21,18 +21,30 @@
publish_rate: 50
#General Params
+ profile_list: ["base"]
profile: base
debug: true
open_loop: true
#Timeouts
joint_command_timeout: 0.1
+ imu_timeout: 0.2
cmd_vel_timeout: 0.5
+ #Topics
+ cmd_vel_topic: ~/cmd_vel
+ odom_topic: ~/odom
+ imu_topic: /robot/imu/data
+ emergency_topic: ~/emergency
+ joint_control_topic: ~/joint_control_command
+
#Odom
odom_frame_id: robot_odom
base_frame_id: robot_base_footprint
- use_2D_odom: true
+ set_odometry_service: ~/set_odometry
+
+ #Imu
+ use_imu: true
#Kinematics Params
wheel_radius: 0.1125 #0.2552
@@ -42,6 +54,8 @@
max_steering_position_error: 0.3
+ wheels_positions: ["front_right", "front_left", "back_right", "back_left"]
+
#Cartesian and wheels limits
base:
linear:
diff --git a/robotnik_gazebo_classic/launch/spawn_robot.launch.py b/robotnik_gazebo_classic/launch/spawn_robot.launch.py
index bf7420e..d872f28 100644
--- a/robotnik_gazebo_classic/launch/spawn_robot.launch.py
+++ b/robotnik_gazebo_classic/launch/spawn_robot.launch.py
@@ -50,27 +50,21 @@ def generate_launch_description():
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',
+ default_value='rbkairos',
)
add_to_launcher.add_arg(arg)
robot = LaunchConfiguration('robot')
arg = ExtendedArgument(
name='robot_model',
- description='Robot type variation (rbvogui, rbvogui_6w, rbvogui_ackermann)',
+ description='Robot type variation (rbvogui, rbkairos_ur), default=robot value',
default_value=robot,
- use_env=True,
- environment='ROBOT_MODEL',
)
add_to_launcher.add_arg(arg)
robot_model = LaunchConfiguration('robot_model')
@@ -79,8 +73,6 @@ def generate_launch_description():
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)
@@ -88,9 +80,7 @@ def generate_launch_description():
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',
+ default_value=[FindPackageShare('robot_description'), '/robots/', robot_xacro_file],
)
add_to_launcher.add_arg(arg)
@@ -115,16 +105,9 @@ def generate_launch_description():
)
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()
- robot_dir = os.path.join(get_package_share_directory('robotnik_description'), 'launch')
+ robot_dir = os.path.join(get_package_share_directory('robot_description'), 'launch')
robot_state = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
@@ -162,38 +145,7 @@ def generate_launch_description():
arguments=['joint_state_broadcaster'],
namespace=params['namespace']
)
-
- init_joint_state_broadcaster = RegisterEventHandler(
- OnProcessExit(
- target_action=robot_spawner,
- on_exit=[
- LogInfo(msg='Robot spawned'),
- joint_state_broadcaster
- ]
- )
- )
- ld.add_action(init_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'])
- )
-
- init_joint_trajectory_controller = RegisterEventHandler(
- OnProcessExit(
- target_action=joint_state_broadcaster,
- on_exit=[
- LogInfo(msg='Joint States spawned'),
- joint_trajectory_controller
- ]
- )
- )
- ld.add_action(init_joint_trajectory_controller)
+ ld.add_action(joint_state_broadcaster)
robotnik_controller= Node(
package='controller_manager',
@@ -214,17 +166,26 @@ def generate_launch_description():
)
)
ld.add_action(init_robotnik_controller)
-
- rviz2_config = [get_package_share_directory('robotnik_gazebo_classic'),'/config/', robot,'/rviz_config.rviz']
- rviz2 = Node(
- package="rviz2",
- executable="rviz2",
- namespace=params['namespace'],
- arguments=['-d', rviz2_config]
+ # joint_trajectory_controller= Node(
+ # package='controller_manager',
+ # executable='spawner',
+ # arguments=['joint_trajectory_controller'],
+ # output='screen',
+ # emulate_tty=True,
+ # namespace=params['namespace']
+ # )
+
+ # init_joint_trajectory_controller = RegisterEventHandler(
+ # OnProcessExit(
+ # target_action=robotnik_controller,
+ # on_exit=[
+ # LogInfo(msg='Joint States spawned'),
+ # joint_trajectory_controller
+ # ]
+ # )
+ # )
+ # ld.add_action(init_joint_trajectory_controller)
- )
- ld.add_action(rviz2)
-
return ld
diff --git a/robotnik_gazebo_classic/package.xml b/robotnik_gazebo_classic/package.xml
index 0c6c2aa..8460855 100644
--- a/robotnik_gazebo_classic/package.xml
+++ b/robotnik_gazebo_classic/package.xml
@@ -10,17 +10,10 @@
ament_cmake
- controller_manager
- control_msgs
- controller_interface
- gazebo_ros2_control
- joint_state_broadcaster
- joint_trajectory_controller
-
robotnik_sensors
robotnik_msgs
robotnik_common
- robotnik_description
+ robot_description
ur_description
ament_lint_auto
@@ -28,7 +21,7 @@
ament_cmake
-
+
diff --git a/robotnik_gazebo_ignition/CMakeLists.txt b/robotnik_gazebo_ignition/CMakeLists.txt
index bba97ca..f084fed 100644
--- a/robotnik_gazebo_ignition/CMakeLists.txt
+++ b/robotnik_gazebo_ignition/CMakeLists.txt
@@ -26,10 +26,16 @@ endif()
# Install launch files
install(DIRECTORY
launch
- config
worlds
+ config
DESTINATION share/${PROJECT_NAME}/
)
+install(PROGRAMS
+ config/auxiliar/ignition_bridge.sh
+ DESTINATION share/${PROJECT_NAME}/config/auxiliar
+)
+
+
ament_package()
diff --git a/robotnik_gazebo_ignition/config/auxiliar/ignition_bridge.sh b/robotnik_gazebo_ignition/config/auxiliar/ignition_bridge.sh
new file mode 100755
index 0000000..f2c0026
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/auxiliar/ignition_bridge.sh
@@ -0,0 +1,120 @@
+#!/bin/bash
+
+# Archivo YAML de salida
+OUTPUT_YAML="topics.yaml"
+
+# Obtener namespace desde el primer argumento
+NAMESPACE="$1"
+
+# Diccionario de tipos válidos: ["gz_type_name"]="ros_type_name"
+declare -A valid_types=(
+ ["ignition.msgs.Actuators"]="actuator_msgs/msg/Actuators"
+ ["ignition.msgs.Time"]="builtin_interfaces/msg/Time"
+ ["ignition.msgs.Vector3d"]="geometry_msgs/msg/Point"
+ ["ignition.msgs.Pose"]="geometry_msgs/msg/Pose"
+ ["ignition.msgs.Pose_V"]="geometry_msgs/msg/PoseArray"
+ ["ignition.msgs.PoseWithCovariance"]="geometry_msgs/msg/PoseWithCovariance"
+ ["ignition.msgs.Quaternion"]="geometry_msgs/msg/Quaternion"
+ ["ignition.msgs.Twist"]="geometry_msgs/msg/Twist"
+ ["ignition.msgs.TwistWithCovariance"]="geometry_msgs/msg/TwistWithCovariance"
+ ["ignition.msgs.Wrench"]="geometry_msgs/msg/Wrench"
+ ["ignition.msgs.NavSat"]="gps_msgs/msg/GPSFix"
+ ["ignition.msgs.Odometry"]="nav_msgs/msg/Odometry"
+ ["ignition.msgs.OdometryWithCovariance"]="nav_msgs/msg/Odometry"
+ ["ignition.msgs.Any"]="rcl_interfaces/msg/ParameterValue"
+ ["ignition.msgs.Altimeter"]="ros_gz_interfaces/msg/Altimeter"
+ ["ignition.msgs.Contact"]="ros_gz_interfaces/msg/Contact"
+ ["ignition.msgs.Contacts"]="ros_gz_interfaces/msg/Contacts"
+ ["ignition.msgs.Dataframe"]="ros_gz_interfaces/msg/Dataframe"
+ ["ignition.msgs.Entity"]="ros_gz_interfaces/msg/Entity"
+ ["ignition.msgs.EntityWrench"]="ros_gz_interfaces/msg/EntityWrench"
+ ["ignition.msgs.Float_V"]="ros_gz_interfaces/msg/Float32Array"
+ ["ignition.msgs.GUICamera"]="ros_gz_interfaces/msg/GuiCamera"
+ ["ignition.msgs.JointWrench"]="ros_gz_interfaces/msg/JointWrench"
+ ["ignition.msgs.Light"]="ros_gz_interfaces/msg/Light"
+ ["ignition.msgs.LogicalCameraImage"]="ros_gz_interfaces/msg/LogicalCameraImage"
+ ["ignition.msgs.Param"]="ros_gz_interfaces/msg/ParamVec"
+ ["ignition.msgs.Param_V"]="ros_gz_interfaces/msg/ParamVec"
+ ["ignition.msgs.SensorNoise"]="ros_gz_interfaces/msg/SensorNoise"
+ ["ignition.msgs.StringMsg_V"]="ros_gz_interfaces/msg/StringVec"
+ ["ignition.msgs.TrackVisual"]="ros_gz_interfaces/msg/TrackVisual"
+ ["ignition.msgs.VideoRecord"]="ros_gz_interfaces/msg/VideoRecord"
+ ["ignition.msgs.Clock"]="rosgraph_msgs/msg/Clock"
+ ["ignition.msgs.BatteryState"]="sensor_msgs/msg/BatteryState"
+ ["ignition.msgs.CameraInfo"]="sensor_msgs/msg/CameraInfo"
+ ["ignition.msgs.FluidPressure"]="sensor_msgs/msg/FluidPressure"
+ ["ignition.msgs.Image"]="sensor_msgs/msg/Image"
+ ["ignition.msgs.IMU"]="sensor_msgs/msg/Imu"
+ ["ignition.msgs.Model"]="sensor_msgs/msg/JointState"
+ ["ignition.msgs.Joy"]="sensor_msgs/msg/Joy"
+ ["ignition.msgs.LaserScan"]="sensor_msgs/msg/LaserScan"
+ ["ignition.msgs.Magnetometer"]="sensor_msgs/msg/MagneticField"
+ ["ignition.msgs.PointCloudPacked"]="sensor_msgs/msg/PointCloud2"
+ ["ignition.msgs.Boolean"]="std_msgs/msg/Bool"
+ ["ignition.msgs.Color"]="std_msgs/msg/ColorRGBA"
+ ["ignition.msgs.Empty"]="std_msgs/msg/Empty"
+ ["ignition.msgs.Float"]="std_msgs/msg/Float32"
+ ["ignition.msgs.Double"]="std_msgs/msg/Float64"
+ ["ignition.msgs.Header"]="std_msgs/msg/Header"
+ ["ignition.msgs.Int32"]="std_msgs/msg/Int32"
+ ["ignition.msgs.StringMsg"]="std_msgs/msg/String"
+ ["ignition.msgs.UInt32"]="std_msgs/msg/UInt32"
+ ["ignition.msgs.JointTrajectory"]="trajectory_msgs/msg/JointTrajectory"
+ ["ignition.msgs.AnnotatedAxisAligned2DBox"]="vision_msgs/msg/Detection2D"
+ ["ignition.msgs.AnnotatedAxisAligned2DBox_V"]="vision_msgs/msg/Detection2DArray"
+ ["ignition.msgs.AnnotatedOriented3DBox"]="vision_msgs/msg/Detection3D"
+ ["ignition.msgs.AnnotatedOriented3DBox_V"]="vision_msgs/msg/Detection3DArray"
+)
+
+echo "Esperando la adaptación del robot..."
+
+sleep 10
+
+echo "Generando listado de topics..."
+
+# Obtener la lista de topics
+topics=$(ign topic -l)
+
+# Limpiar el archivo YAML si ya existe
+echo "---" > "$OUTPUT_YAML"
+
+# Iterar sobre cada topic
+echo "Procesando topics..."
+for topic in $topics; do
+ echo "Analizando topic: $topic"
+
+ # Filtro por namespace o topic /clock
+ if [[ ! "$topic" =~ ^"/$NAMESPACE" ]]; then
+ echo "Omitido por no coincidir con namespace o /clock"
+ continue
+ fi
+
+ # Obtener información del topic
+ type_info=$(ign topic -i -t "$topic" | grep -oP 'ignition.msgs.*' | head -n1)
+
+ if [ -z "$type_info" ]; then
+ type_info=$(ign topic -i -t "$topic" | grep -oP 'Subscribers \[.*\]:\s*\K.*' | awk '{print $NF}')
+ fi
+
+ if [ -z "$type_info" ]; then
+ echo "No se pudo obtener el tipo del topic $topic, omitiendo..."
+ continue
+ fi
+
+ ros_type="${valid_types[$type_info]}"
+ if [ -z "$ros_type" ]; then
+ echo "Tipo $type_info no está en la lista de tipos válidos, omitiendo..."
+ continue
+ fi
+
+ # Guardar información en YAML
+ echo "- ros_topic_name: \"$topic\"" >> "$OUTPUT_YAML"
+ echo " gz_topic_name: \"$topic\"" >> "$OUTPUT_YAML"
+ echo " ros_type_name: \"$ros_type\"" >> "$OUTPUT_YAML"
+ echo " gz_type_name: \"$type_info\"" >> "$OUTPUT_YAML"
+ echo " direction: GZ_TO_ROS" >> "$OUTPUT_YAML"
+
+done
+
+echo "Proceso finalizado. Archivo generado: $OUTPUT_YAML"
+
diff --git a/robotnik_gazebo_ignition/config/auxiliar/initial_bridge.yaml b/robotnik_gazebo_ignition/config/auxiliar/initial_bridge.yaml
new file mode 100644
index 0000000..3e35db5
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/auxiliar/initial_bridge.yaml
@@ -0,0 +1,12 @@
+# bridge_params.yaml
+
+- gz_topic_name: "imu/data"
+ ros_type_name: "sensor_msgs/msg/Imu"
+ gz_type_name: "ignition.msgs.IMU"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
diff --git a/robotnik_gazebo_ignition/config/auxiliar/topics.yaml b/robotnik_gazebo_ignition/config/auxiliar/topics.yaml
new file mode 100644
index 0000000..817c530
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/auxiliar/topics.yaml
@@ -0,0 +1,161 @@
+---
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/gazebo/resource_paths"
+ gz_topic_name: "/gazebo/resource_paths"
+ ros_type_name: "ros_gz_interfaces/msg/StringVec"
+ gz_type_name: "ignition.msgs.StringMsg_V"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/gui/camera/pose"
+ gz_topic_name: "/gui/camera/pose"
+ ros_type_name: "geometry_msgs/msg/Pose"
+ gz_type_name: "ignition.msgs.Pose"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_color/color/camera_info"
+ gz_topic_name: "/robot/front_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_color/color/image_raw"
+ gz_topic_name: "/robot/front_camera_color/color/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_depth/depth/camera_info"
+ gz_topic_name: "/robot/front_camera_depth/depth/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_depth/depth/image_raw"
+ gz_topic_name: "/robot/front_camera_depth/depth/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_depth/depth/image_raw/points"
+ gz_topic_name: "/robot/front_camera_depth/depth/image_raw/points"
+ ros_type_name: "sensor_msgs/msg/PointCloud2"
+ gz_type_name: "ignition.msgs.PointCloudPacked"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_irred1/ired/camera_info"
+ gz_topic_name: "/robot/front_camera_irred1/ired/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_irred1/ired/image_raw"
+ gz_topic_name: "/robot/front_camera_irred1/ired/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_irred2/ired/camera_info"
+ gz_topic_name: "/robot/front_camera_irred2/ired/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/front_camera_irred2/ired/image_raw"
+ gz_topic_name: "/robot/front_camera_irred2/ired/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- 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
+- ros_topic_name: "/robot/rear_camera_color/color/camera_info"
+ gz_topic_name: "/robot/rear_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_color/color/image_raw"
+ gz_topic_name: "/robot/rear_camera_color/color/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_depth/depth/camera_info"
+ gz_topic_name: "/robot/rear_camera_depth/depth/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_depth/depth/image_raw"
+ gz_topic_name: "/robot/rear_camera_depth/depth/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_depth/depth/image_raw/points"
+ gz_topic_name: "/robot/rear_camera_depth/depth/image_raw/points"
+ ros_type_name: "sensor_msgs/msg/PointCloud2"
+ gz_type_name: "ignition.msgs.PointCloudPacked"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_irred1/ired/camera_info"
+ gz_topic_name: "/robot/rear_camera_irred1/ired/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_irred1/ired/image_raw"
+ gz_topic_name: "/robot/rear_camera_irred1/ired/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_irred2/ired/camera_info"
+ gz_topic_name: "/robot/rear_camera_irred2/ired/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/rear_camera_irred2/ired/image_raw"
+ gz_topic_name: "/robot/rear_camera_irred2/ired/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_3d_laser/scan"
+ gz_topic_name: "/robot/top_3d_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_3d_laser/scan/points"
+ gz_topic_name: "/robot/top_3d_laser/scan/points"
+ ros_type_name: "sensor_msgs/msg/PointCloud2"
+ gz_type_name: "ignition.msgs.PointCloudPacked"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_ptz_camera/color/camera_info"
+ gz_topic_name: "/robot/top_ptz_camera/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_ptz_camera/color/image_raw"
+ gz_topic_name: "/robot/top_ptz_camera/color/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_ptz_camera/thermal/camera_info"
+ gz_topic_name: "/robot/top_ptz_camera/thermal/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/top_ptz_camera/thermal/image_raw"
+ gz_topic_name: "/robot/top_ptz_camera/thermal/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "ignition.msgs.Image"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/robot/ublox/data"
+ gz_topic_name: "/robot/ublox/data"
+ ros_type_name: "gps_msgs/msg/GPSFix"
+ gz_type_name: "ignition.msgs.NavSat"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/world/default/clock"
+ gz_topic_name: "/world/default/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/world/default/dynamic_pose/info"
+ gz_topic_name: "/world/default/dynamic_pose/info"
+ ros_type_name: "geometry_msgs/msg/PoseArray"
+ gz_type_name: "ignition.msgs.Pose_V"
+ direction: GZ_TO_ROS
+- ros_topic_name: "/world/default/pose/info"
+ gz_topic_name: "/world/default/pose/info"
+ ros_type_name: "geometry_msgs/msg/PoseArray"
+ gz_type_name: "ignition.msgs.Pose_V"
+ direction: GZ_TO_ROS
diff --git a/robotnik_gazebo_ignition/config/bridge.yaml b/robotnik_gazebo_ignition/config/bridge.yaml
new file mode 100644
index 0000000..98abf69
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/bridge.yaml
@@ -0,0 +1,42 @@
+# bridge_params.yaml
+
+- gz_topic_name: "imu/data"
+ ros_type_name: "sensor_msgs/msg/Imu"
+ gz_type_name: "ignition.msgs.IMU"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "front_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "rear_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "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_name: "front_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "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_name: "rear_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
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/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz
deleted file mode 100644
index 975bc2e..0000000
--- a/robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz
+++ /dev/null
@@ -1,391 +0,0 @@
-Panels:
- - Class: rviz_common/Displays
- Help Height: 78
- Name: Displays
- Property Tree Widget:
- Expanded:
- - /Global Options1
- - /Status1
- - /RobotModel1
- Splitter Ratio: 0.5
- Tree Height: 241
- - 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: RearLaserScan
-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_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
- 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/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
- - Class: rviz_default_plugins/Image
- Enabled: true
- Max Value: 1
- Median window: 5
- Min Value: 0
- Name: FrontCameraImage
- 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: 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/front_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: 10.589208602905273
- 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.6653980612754822
- Target Frame:
- Value: Orbit (rviz)
- Yaw: 2.1203980445861816
- Saved: ~
-Window Geometry:
- Displays:
- collapsed: false
- FrontCameraImage:
- collapsed: false
- Height: 1016
- Hide Left Dock: false
- Hide Right Dock: false
- QMainWindow State: 000000ff00000000fd00000004000000000000021c0000035efc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000017a000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000002000460072006f006e007400430061006d0065007200610049006d00610067006501000001bb000001de0000001600ffffff000000010000010f0000035efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b0000035e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d00650100000000000007380000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004010000035e00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
- Selection:
- collapsed: false
- Time:
- collapsed: false
- Tool Properties:
- collapsed: false
- Views:
- collapsed: false
- Width: 1848
- X: 72
- Y: 27
diff --git a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml b/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml
index 3f1dde9..98f3996 100644
--- a/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml
+++ b/robotnik_gazebo_ignition/config/rbrobout/bridge.yaml
@@ -1,26 +1,48 @@
-- 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
+# bridge_params.yaml
-# gz topic published by Sensors plugin (IMU)
-- ros_topic_name: "/robot/imu/data"
- gz_topic_name: "/robot/imu/data"
+- gz_topic_name: "imu/data"
ros_type_name: "sensor_msgs/msg/Imu"
gz_type_name: "ignition.msgs.IMU"
- direction: GZ_TO_ROS
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "front_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "rear_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "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_name: "front_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "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_name: "rear_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/tf"
+ gz_topic_name: "/model/robot/rbrobout/tf"
+ ros_type_name: "tf2_msgs/msg/TFMessage"
+ gz_type_name: "ignition.msgs.Pose_V"
+ direction: "GZ_TO_ROS"
diff --git a/robotnik_gazebo_ignition/config/rbrobout/gz_bridge.yaml b/robotnik_gazebo_ignition/config/rbrobout/gz_bridge.yaml
new file mode 100644
index 0000000..367fc5a
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/rbrobout/gz_bridge.yaml
@@ -0,0 +1,60 @@
+# bridge_params.yaml
+- ros_topic_name: "/imu/data"
+ gz_topic_name: "/imu/data"
+ ros_type_name: "sensor_msgs/msg/Imu"
+ gz_type_name: "ignition.msgs.IMU"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/robotnik_base_controller/cmd_vel"
+ gz_topic_name: "cmd_vel"
+ ros_type_name: "geometry_msgs/msg/Twist"
+ gz_type_name: "ignition.msgs.Twist"
+ direction: "ROS_TO_GZ"
+
+- ros_topic_name: "/robot/robotnik_base_controller/cmd_vel"
+ gz_topic_name: "cmd_vel_rear"
+ ros_type_name: "geometry_msgs/msg/Twist"
+ gz_type_name: "ignition.msgs.Twist"
+ direction: "ROS_TO_GZ"
+
+- ros_topic_name: "/robot/front_laser/scan"
+ gz_topic_name: "/front_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/rear_laser/scan"
+ gz_topic_name: "/rear_laser/scan"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/robotnik_base_controller/odometry"
+ gz_topic_name: "/model/robot/rbrobout/odometry"
+ ros_type_name: "nav_msgs/msg/Odometry"
+ gz_type_name: "ignition.msgs.Odometry"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/front_rgbd_camera/color/camera_info"
+ gz_topic_name: "/robot/front_rgbd_camera/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/rear_rgbd_camera/color/camera_info"
+ gz_topic_name: "/robot/rear_rgbd_camera/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/tf"
+ gz_topic_name: "/model/robot/rbrobout/tf"
+ ros_type_name: "tf2_msgs/msg/TFMessage"
+ gz_type_name: "ignition.msgs.Pose_V"
+ 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
index 4ef1014..ccde893 100644
--- a/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz
+++ b/robotnik_gazebo_ignition/config/rbrobout/rviz_config.rviz
@@ -7,11 +7,12 @@ Panels:
- /Global Options1
- /Status1
- /RobotModel1
- - /Image1
- /FrontLaserScan1
- /RearLaserScan1
+ - /Image1
+ - /Image2
Splitter Ratio: 0.5
- Tree Height: 262
+ Tree Height: 357
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
@@ -61,7 +62,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
@@ -69,22 +70,12 @@ Visualization Manager:
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:
+ robot_back_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_back_right_wheel:
+ robot_back_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -93,26 +84,8 @@ Visualization Manager:
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:
+ robot_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -126,12 +99,7 @@ Visualization Manager:
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:
+ robot_front_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -177,17 +145,7 @@ Visualization Manager:
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:
+ robot_front_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -259,20 +217,6 @@ Visualization Manager:
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:
@@ -282,8 +226,8 @@ Visualization Manager:
Axis: Z
Channel Name: intensity
Class: rviz_default_plugins/LaserScan
- Color: 255; 255; 255
- Color Transformer: Intensity
+ Color: 153; 193; 241
+ Color Transformer: FlatColor
Decay Time: 0
Enabled: true
Invert Rainbow: false
@@ -303,7 +247,7 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/front_laser/scan
+ Value: front_laser/scan
Use Fixed Frame: true
Use rainbow: true
Value: true
@@ -316,8 +260,8 @@ Visualization Manager:
Axis: Z
Channel Name: intensity
Class: rviz_default_plugins/LaserScan
- Color: 255; 255; 255
- Color Transformer: Intensity
+ Color: 246; 97; 81
+ Color Transformer: FlatColor
Decay Time: 0
Enabled: true
Invert Rainbow: false
@@ -337,10 +281,38 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/rear_laser/scan
+ Value: rear_laser/scan
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: front_camera_color/color/image_raw
+ 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: rear_camera_color/color/image_raw
+ Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
@@ -387,7 +359,7 @@ Visualization Manager:
Views:
Current:
Class: rviz_default_plugins/Orbit
- Distance: 6.171943664550781
+ Distance: 9.925859451293945
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
@@ -410,12 +382,12 @@ Visualization Manager:
Window Geometry:
Displays:
collapsed: false
- Height: 1043
+ Height: 1016
Hide Left Dock: false
Hide Right Dock: false
Image:
collapsed: false
- QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ QMainWindow State: 000000ff00000000fd0000000400000000000002550000035afc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001f0000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000001c4000001d30000000000000000fb0000000c00430061006d00650072006100000002eb000000c90000000000000000fb0000000c00430061006d00650072006101000002d0000000c70000000000000000fb0000000a0049006d0061006700650100000233000000980000002800fffffffb0000000a0049006d00610067006501000002d1000000c60000002800fffffffb0000000c00430061006d00650072006101000002d0000000c70000000000000000000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a000002fb00fffffffb0000000800540069006d00650100000000000004500000000000000000000003ca0000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
@@ -424,6 +396,6 @@ Window Geometry:
collapsed: false
Views:
collapsed: false
- Width: 1920
- X: 1920
- Y: 0
+ Width: 1850
+ X: 70
+ Y: 27
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/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/rbwatcher/bridge.yaml b/robotnik_gazebo_ignition/config/rbwatcher/bridge.yaml
new file mode 100644
index 0000000..8b2d422
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/rbwatcher/bridge.yaml
@@ -0,0 +1,84 @@
+# bridge_params.yaml
+- gz_topic_name: "imu/data"
+ ros_type_name: "sensor_msgs/msg/Imu"
+ gz_type_name: "ignition.msgs.IMU"
+ direction: "GZ_TO_ROS"
+
+
+
+#- ros_topic_name: "/robot/top_3d_laser/scan"
+ # gz_topic_name: "/robot/top_3d_laser/scan"
+ #ros_type_name: "sensor_msgs/msg/LaserScan"
+ #gz_type_name: "ignition.msgs.LaserScan"
+ #direction: "GZ_TO_ROS"
+
+- gz_topic_name: "top_3d_laser/scan/points"
+ ros_type_name: "sensor_msgs/msg/PointCloud2"
+ gz_type_name: "ignition.msgs.PointCloudPacked"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "ublox/data"
+ ros_type_name: "sensor_msgs/msg/NavSatFix"
+ gz_type_name: "ignition.msgs.NavSat"
+ direction: "GZ_TO_ROS"
+
+
+
+- gz_topic_name: "front_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "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/front_camera_depth/depth/image_raw/points"
+ # gz_topic_name: "/robot/front_camera_depth/depth/image_raw/points"
+ # ros_type_name: "sensor_msgs/msg/PointCloud2"
+ # gz_type_name: "ignition.msgs.PointCloudPacked"
+ # direction: "GZ_TO_ROS"
+
+- gz_topic_name: "rear_camera_color/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "rear_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_camera_depth/depth/image_raw/points"
+ # gz_topic_name: "/robot/rear_camera_depth/depth/image_raw/points"
+ # ros_type_name: "sensor_msgs/msg/PointCloud2"
+ # gz_type_name: "ignition.msgs.PointCloudPacked"
+ # direction: "GZ_TO_ROS"
+
+- gz_topic_name: "top_ptz_camera/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "top_ptz_camera/color/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "gz.msgs.Image"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "top_ptz_camera/thermal/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- gz_topic_name: "top_ptz_camera/thermal/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "gz.msgs.Image"
+ direction: "GZ_TO_ROS"
+
+
diff --git a/robotnik_gazebo_ignition/config/rbwatcher/gz_bridge.yaml b/robotnik_gazebo_ignition/config/rbwatcher/gz_bridge.yaml
new file mode 100644
index 0000000..ef7fa6d
--- /dev/null
+++ b/robotnik_gazebo_ignition/config/rbwatcher/gz_bridge.yaml
@@ -0,0 +1,72 @@
+# bridge_params.yaml
+- 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"
+
+
+
+- ros_topic_name: "/robot/top_3d_laser/point_cloud"
+ gz_topic_name: "/top_3d_laser/point_cloud"
+ ros_type_name: "sensor_msgs/msg/LaserScan"
+ gz_type_name: "ignition.msgs.LaserScan"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/clock"
+ gz_topic_name: "/clock"
+ ros_type_name: "rosgraph_msgs/msg/Clock"
+ gz_type_name: "ignition.msgs.Clock"
+ direction: "GZ_TO_ROS"
+
+
+
+- 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: "ignition.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: "ignition.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"
+
+- ros_topic_name: "/robot/top_ptz_camera/color/camera_info"
+ gz_topic_name: "/robot/top_ptz_camera/color/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/top_ptz_camera/color/image_raw"
+ gz_topic_name: "/robot/top_ptz_camera/color/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "gz.msgs.Image"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/top_ptz_camera/thermal/camera_info"
+ gz_topic_name: "/robot/top_ptz_camera/thermal/camera_info"
+ ros_type_name: "sensor_msgs/msg/CameraInfo"
+ gz_type_name: "ignition.msgs.CameraInfo"
+ direction: "GZ_TO_ROS"
+
+- ros_topic_name: "/robot/top_ptz_camera/thermal/image_raw"
+ gz_topic_name: "/robot/top_ptz_camera/thermal/image_raw"
+ ros_type_name: "sensor_msgs/msg/Image"
+ gz_type_name: "gz.msgs.Image"
+ direction: "GZ_TO_ROS"
+
+
diff --git a/robotnik_gazebo_classic/config/rbrobout/rviz_config.rviz b/robotnik_gazebo_ignition/config/rbwatcher/rviz_config.rviz
similarity index 76%
rename from robotnik_gazebo_classic/config/rbrobout/rviz_config.rviz
rename to robotnik_gazebo_ignition/config/rbwatcher/rviz_config.rviz
index 4ef1014..07154e4 100644
--- a/robotnik_gazebo_classic/config/rbrobout/rviz_config.rviz
+++ b/robotnik_gazebo_ignition/config/rbwatcher/rviz_config.rviz
@@ -1,17 +1,18 @@
Panels:
- Class: rviz_common/Displays
- Help Height: 78
+ Help Height: 129
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /RobotModel1
+ - /PointCloud21
- /Image1
- - /FrontLaserScan1
- - /RearLaserScan1
+ - /Image2
+ - /Image3
Splitter Ratio: 0.5
- Tree Height: 262
+ Tree Height: 186
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
@@ -29,7 +30,7 @@ Panels:
Experimental: false
Name: Time
SyncMode: 0
- SyncSource: FrontLaserScan
+ SyncSource: PointCloud2
Visualization Manager:
Class: ""
Displays:
@@ -61,7 +62,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
@@ -69,7 +70,7 @@ Visualization Manager:
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
- robot_back_left_base_wheel:
+ robot_antenna_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -79,11 +80,6 @@ Visualization Manager:
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
@@ -93,151 +89,162 @@ Visualization Manager:
Alpha: 1
Show Axes: false
Show Trail: false
+ Value: true
robot_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_base_logos_link:
+ Value: true
+ robot_front_left_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_battery_link:
+ robot_front_rgbd_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_chassis_link:
+ robot_front_rgbd_camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_contactors_link:
+ robot_front_rgbd_camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_laser_base_link:
+ robot_front_rgbd_camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_laser_link:
+ robot_front_rgbd_camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_left_base_wheel:
+ robot_front_rgbd_camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_left_wheel:
+ 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_rgbd_camera_base_link:
+ robot_front_right_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_color_frame:
+ Value: true
+ robot_gps_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_color_optical_frame:
+ Value: true
+ robot_gps_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_depth_frame:
+ robot_rear_rgbd_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_depth_optical_frame:
+ robot_rear_rgbd_camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra1_frame:
+ robot_rear_rgbd_camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra1_optical_frame:
+ robot_rear_rgbd_camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra2_frame:
+ robot_rear_rgbd_camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra2_optical_frame:
+ robot_rear_rgbd_camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_link:
+ robot_rear_rgbd_camera_infra1_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_right_base_wheel:
+ robot_rear_rgbd_camera_infra2_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_right_wheel:
+ robot_rear_rgbd_camera_infra2_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_leds_link:
+ robot_rear_rgbd_camera_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_rear_laser_base_link:
+ robot_top_3d_laserbase_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_rear_laser_link:
+ robot_top_3d_laserlink:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_base_link:
+ robot_top_ptz_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_color_frame:
+ Value: true
+ robot_top_ptz_camera_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_color_optical_frame:
+ robot_top_ptz_camera_optical_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_depth_frame:
+ robot_top_ptz_camera_optical_thermal_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_depth_optical_frame:
+ robot_top_ptz_camera_pan_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra1_frame:
+ Value: true
+ robot_top_ptz_camera_thermal_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra1_optical_frame:
+ robot_top_ptz_camera_tilt_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra2_frame:
+ Value: true
+ robot_top_ptz_camera_zoom_color_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra2_optical_frame:
+ robot_top_ptz_camera_zoom_thermal_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_link:
+ robot_top_structure_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -259,20 +266,6 @@ Visualization Manager:
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:
@@ -281,7 +274,7 @@ Visualization Manager:
Value: true
Axis: Z
Channel Name: intensity
- Class: rviz_default_plugins/LaserScan
+ Class: rviz_default_plugins/PointCloud2
Color: 255; 255; 255
Color Transformer: Intensity
Decay Time: 0
@@ -291,11 +284,11 @@ Visualization Manager:
Max Intensity: 0
Min Color: 0; 0; 0
Min Intensity: 0
- Name: FrontLaserScan
+ Name: PointCloud2
Position Transformer: XYZ
Selectable: true
Size (Pixels): 3
- Size (m): 0.05000000074505806
+ Size (m): 0.009999999776482582
Style: Flat Squares
Topic:
Depth: 5
@@ -303,48 +296,56 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/front_laser/scan
+ Value: top_3d_laser/scan/points
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
+ - Class: rviz_default_plugins/Image
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
+ Max Value: 1
+ Median window: 5
+ Min Value: 0
+ Name: Image
+ Normalize Range: true
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: front_camera_color/color/image_raw
+ 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: rear_camera_color/color/image_raw
+ 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: top_ptz_camera/color/image_raw
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:
@@ -387,7 +388,7 @@ Visualization Manager:
Views:
Current:
Class: rviz_default_plugins/Orbit
- Distance: 6.171943664550781
+ Distance: 16.387645721435547
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
@@ -402,20 +403,20 @@ Visualization Manager:
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
- Pitch: 0.6603981852531433
+ Pitch: 0.5753982663154602
Target Frame:
Value: Orbit (rviz)
- Yaw: 2.4503984451293945
+ Yaw: 2.8904004096984863
Saved: ~
Window Geometry:
Displays:
collapsed: false
- Height: 1043
+ Height: 1016
Hide Left Dock: false
Hide Right Dock: false
Image:
collapsed: false
- QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ QMainWindow State: 000000ff00000000fd0000000400000000000002550000035afc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000178000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000001c4000001d30000000000000000fb0000000c00430061006d00650072006100000002eb000000c90000000000000000fb0000000c00430061006d006500720061010000029e000000f90000000000000000fb0000000a0049006d00610067006501000001bb000000730000002800fffffffb0000000a0049006d0061006700650100000234000000960000002800fffffffb0000000a0049006d00610067006501000002d0000000c70000002800ffffff000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a000002fb00fffffffb0000000800540069006d00650100000000000004500000000000000000000003ca0000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
@@ -424,6 +425,6 @@ Window Geometry:
collapsed: false
Views:
collapsed: false
- Width: 1920
- X: 1920
- Y: 0
+ Width: 1850
+ X: 70
+ Y: 27
diff --git a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py
index 33ef8c6..b668866 100644
--- a/robotnik_gazebo_ignition/launch/spawn_robot.launch.py
+++ b/robotnik_gazebo_ignition/launch/spawn_robot.launch.py
@@ -39,8 +39,6 @@
from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess,
LogInfo, RegisterEventHandler, TimerAction)
-from launch.conditions import IfCondition, UnlessCondition
-
def generate_launch_description():
@@ -89,7 +87,7 @@ def generate_launch_description():
arg = ExtendedArgument(
name='robot_xacro_path',
description='Path to the xacro file',
- default_value=[FindPackageShare('robotnik_description'), '/robots/', robot_xacro_file],
+ default_value=[FindPackageShare('robot_description'), '/robots/', robot_xacro_file],
use_env=True,
environment='ROBOT_XACRO_PATH',
)
@@ -115,17 +113,9 @@ def generate_launch_description():
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()
- robot_dir = os.path.join(get_package_share_directory('robotnik_description'), 'launch')
+ robot_dir = os.path.join(get_package_share_directory('robot_description'), 'launch')
robot_state = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
@@ -156,56 +146,45 @@ def generate_launch_description():
namespace=params['namespace']
)
ld.add_action(robot_spawner)
-
bridge_params = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/bridge.yaml']
+
ros_gz_bridge = Node(
package="ros_gz_bridge",
executable="parameter_bridge",
- parameters=[
- {'config_file': bridge_params},
+ parameters=[
+ {'config_file': bridge_params,
+ 'expand_gz_topic_names':True},
],
namespace=params['namespace']
)
- ld.add_action(ros_gz_bridge)
+ # ros_gz_image_bridge = Node(
+ # package="ros_gz_image",
+ # executable="image_bridge",
+ # arguments=[
+ # "/robot/front_rgbd_camera/color/image_raw",
+ # "/robot/rear_rgbd_camera/color/image_raw"
+ # #"/robot/front_rgbd_camera/ired1/image_raw",
+ # #"/robot/rear_rgbd_camera/ired1/image_raw",
+ # #"/robot/front_rgbd_camera/ired2/image_raw",
+ # #"/robot/rear_rgbd_camera/ired2/image_raw",
+ # #"/robot/front_rgbd_camera/depth/image_raw",
+ # #"/robot/rear_rgbd_camera/depth/image_raw"
+ # ],
+ # namespace=params['namespace']
+ # )
+ # ld.add_action(ros_gz_image_bridge)
+
+ # controller_dir = os.path.join(get_package_share_directory('robotnik_controller'), 'launch')
+
+
joint_state_broadcaster = Node(
package='controller_manager',
executable='spawner',
arguments=['joint_state_broadcaster'],
namespace=params['namespace']
)
-
- init_joint_state_broadcaster = RegisterEventHandler(
- OnProcessExit(
- target_action=robot_spawner,
- on_exit=[
- LogInfo(msg='Robot spawned'),
- joint_state_broadcaster
- ]
- )
- )
- ld.add_action(init_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'])
- )
-
- init_joint_trajectory_controller = RegisterEventHandler(
- OnProcessExit(
- target_action=joint_state_broadcaster,
- on_exit=[
- LogInfo(msg='Joint States spawned'),
- joint_trajectory_controller
- ]
- )
- )
- ld.add_action(init_joint_trajectory_controller)
+ ld.add_action(joint_state_broadcaster)
robotnik_controller= Node(
package='controller_manager',
@@ -226,17 +205,16 @@ def generate_launch_description():
)
)
ld.add_action(init_robotnik_controller)
-
- rviz2_config = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/rviz_config.rviz']
- rviz2 = Node(
- package="rviz2",
- executable="rviz2",
- namespace=params['namespace'],
- arguments=['-d', rviz2_config]
-
+ init_param_bridge = RegisterEventHandler(
+ OnProcessExit(
+ target_action=robotnik_controller,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ ros_gz_bridge
+ ]
+ )
)
- ld.add_action(rviz2)
+ ld.add_action(init_param_bridge)
return ld
-
diff --git a/robotnik_gazebo_ignition/launch/spawn_robotRbwatcher.launch.py b/robotnik_gazebo_ignition/launch/spawn_robotRbwatcher.launch.py
new file mode 100644
index 0000000..906ce4a
--- /dev/null
+++ b/robotnik_gazebo_ignition/launch/spawn_robotRbwatcher.launch.py
@@ -0,0 +1,213 @@
+# Copyright (c) 2022, Robotnik Automation S.L.L.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the Robotnik Automation S.L.L. nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL Robotnik Automation S.L.L. BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# 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
+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.launch_description_sources import PythonLaunchDescriptionSource
+
+from ament_index_python.packages import get_package_share_directory
+
+from launch.event_handlers import (OnExecutionComplete, OnProcessExit,
+ OnProcessIO, OnProcessStart, OnShutdown)
+from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess,
+ LogInfo, RegisterEventHandler, TimerAction)
+
+
+def generate_launch_description():
+
+ ld = LaunchDescription()
+ add_to_launcher = AddArgumentParser(ld)
+
+ 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='rbvogui',
+ 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('robot_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)
+
+ arg = ExtendedArgument(
+ name='y',
+ description='y position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+
+ arg = ExtendedArgument(
+ name='z',
+ description='z position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ params = add_to_launcher.process_arg()
+
+ robot_dir = os.path.join(get_package_share_directory('robot_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(),
+ )
+
+ 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)
+ bridge_params = os.path.join(get_package_share_directory('robot_description'),'simulators/gazebo_ignition/rbwatcher','gz_bridge.yaml')
+
+ ros_gz_bridge = Node(
+ package="ros_gz_bridge",
+ executable="parameter_bridge",
+ arguments=[
+ '--ros-args',
+ '-p',
+ f'config_file:={bridge_params}'
+ ],
+ namespace=params['namespace']
+ )
+ ld.add_action(ros_gz_bridge)
+
+ # ros_gz_image_bridge = Node(
+ # package="ros_gz_image",
+ # executable="image_bridge",
+ # arguments=[
+ # "/robot/front_rgbd_camera/color/image_raw",
+ # "/robot/rear_rgbd_camera/color/image_raw"
+ # #"/robot/front_rgbd_camera/ired1/image_raw",
+ # #"/robot/rear_rgbd_camera/ired1/image_raw",
+ # #"/robot/front_rgbd_camera/ired2/image_raw",
+ # #"/robot/rear_rgbd_camera/ired2/image_raw",
+ # #"/robot/front_rgbd_camera/depth/image_raw",
+ # #"/robot/rear_rgbd_camera/depth/image_raw"
+ # ],
+ # namespace=params['namespace']
+ # )
+ # ld.add_action(ros_gz_image_bridge)
+
+ # controller_dir = os.path.join(get_package_share_directory('robotnik_controller'), 'launch')
+
+
+ joint_state_broadcaster = Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['joint_state_broadcaster'],
+ namespace=params['namespace']
+ )
+ ld.add_action(joint_state_broadcaster)
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'],
+ output='screen',
+ emulate_tty=True,
+ namespace=params['namespace']
+ )
+
+ init_robotnik_controller = RegisterEventHandler(
+ OnProcessExit(
+ target_action=joint_state_broadcaster,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ robotnik_controller
+ ]
+ )
+ )
+ ld.add_action(init_robotnik_controller)
+
+
+
+ return ld
diff --git a/robotnik_gazebo_ignition/launch/spawn_robot_dinamicbridge.launch.py b/robotnik_gazebo_ignition/launch/spawn_robot_dinamicbridge.launch.py
new file mode 100644
index 0000000..8c5b89c
--- /dev/null
+++ b/robotnik_gazebo_ignition/launch/spawn_robot_dinamicbridge.launch.py
@@ -0,0 +1,272 @@
+# Copyright (c) 2022, Robotnik Automation S.L.L.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the Robotnik Automation S.L.L. nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL Robotnik Automation S.L.L. BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# 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
+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.launch_description_sources import PythonLaunchDescriptionSource
+from launch.conditions import IfCondition
+
+from ament_index_python.packages import get_package_share_directory
+
+from launch.event_handlers import (OnExecutionComplete, OnProcessExit,
+ OnProcessIO, OnProcessStart, OnShutdown)
+from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess,
+ LogInfo, RegisterEventHandler, TimerAction)
+
+
+def generate_launch_description():
+
+ ld = LaunchDescription()
+ add_to_launcher = AddArgumentParser(ld)
+
+ 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('robot_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)
+
+ arg = ExtendedArgument(
+ name='y',
+ description='y position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+
+ 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()
+
+ robot_dir = os.path.join(get_package_share_directory('robot_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',
+ 'frame_prefix': [params['namespace'],'_']
+ }.items(),
+ )
+
+ 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)
+
+
+
+
+
+ rviz2_config = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/', robot,'/rviz_config.rviz']
+
+ rviz2 = Node(
+ package="rviz2",
+ executable="rviz2",
+ namespace=params['namespace'],
+ arguments=['-d', rviz2_config]
+
+ )
+ ld.add_action(rviz2)
+
+ initial_bridge_params = get_package_share_directory('robotnik_gazebo_ignition') + '/config/auxiliar/initial_bridge.yaml'
+
+ bridge_yaml_generator = [get_package_share_directory('robotnik_gazebo_ignition'),'/config/auxiliar/ignition_bridge.sh']
+
+ bridge_yaml_creator = ExecuteProcess(
+ cmd=[
+ bridge_yaml_generator,params['namespace']
+ ],
+ cwd=get_package_share_directory('robotnik_gazebo_ignition')+'/config/auxiliar',
+ output='screen',
+ name="bridge_yaml_creator",
+ )
+
+ bridge_params = get_package_share_directory('robotnik_gazebo_ignition') + '/config/auxiliar/topics.yaml'
+
+ ros_gz_bridge = Node(
+ package="ros_gz_bridge",
+ executable="parameter_bridge",
+ arguments=[
+ '--ros-args',
+ '-p',
+ f'config_file:={bridge_params}'
+ ],
+ namespace=params['namespace']
+ )
+
+ init_bridge_creator = RegisterEventHandler(
+ OnProcessExit(
+ target_action=robot_spawner,
+ on_exit=[
+ LogInfo(msg='Robot spawned'),
+ bridge_yaml_creator
+ ]
+ )
+ )
+ ld.add_action(init_bridge_creator)
+
+ init_gz_bridge = RegisterEventHandler(
+ OnProcessExit(
+ target_action=bridge_yaml_creator,
+ on_exit=[
+ LogInfo(msg='Bridge file generated'),
+ ros_gz_bridge
+ ]
+ )
+ )
+ ld.add_action(init_gz_bridge)
+
+ 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'])
+ )
+
+ init_joint_trajectory_controller = RegisterEventHandler(
+ OnProcessExit(
+ target_action=joint_state_broadcaster,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ joint_trajectory_controller
+ ]
+ )
+ )
+ ld.add_action(init_joint_trajectory_controller)
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'],
+ output='screen',
+ emulate_tty=True,
+ namespace=params['namespace']
+ )
+
+ init_robotnik_controller = RegisterEventHandler(
+ OnProcessExit(
+ target_action=joint_state_broadcaster,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ robotnik_controller
+ ]
+ )
+ )
+ ld.add_action(init_robotnik_controller)
+
+ return ld
+
diff --git a/robotnik_gazebo_ignition/launch/spawn_world.launch.py b/robotnik_gazebo_ignition/launch/spawn_world.launch.py
index 1c7e2f6..7c7e969 100644
--- a/robotnik_gazebo_ignition/launch/spawn_world.launch.py
+++ b/robotnik_gazebo_ignition/launch/spawn_world.launch.py
@@ -41,24 +41,35 @@ def generate_launch_description():
add_to_launcher = AddArgumentParser(ld)
world = LaunchConfiguration('world')
+ arg = ExtendedArgument(
+ name='namespace',
+ description='Namespace',
+ default_value='robot',
+ use_env=True,
+ environment='NAMESPACE',
+ )
+ add_to_launcher.add_arg(arg)
+
arg = ExtendedArgument(
name='world',
description='world in gazebo classic',
- default_value='demo.sdf.world',
+ 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/', world],
+ default_value=[FindPackageShare('robotnik_gazebo_ignition'), '/worlds/ignition/', world, '.sdf.world'],
)
add_to_launcher.add_arg(arg)
params = add_to_launcher.process_arg()
+
gazebo_ignition_launch_group = GroupAction(
actions=[
+ PushRosNamespace(namespace=params['namespace']),
IncludeLaunchDescription(
PythonLaunchDescriptionSource(
os.path.join(
@@ -76,7 +87,6 @@ def generate_launch_description():
'-s ',
#'-v4 ', #verbose level
params['world_path']
- # 'empty.sdf'
],
'on_exit_shutdown':'true'
}.items(),
@@ -101,8 +111,20 @@ def generate_launch_description():
)
]
)
-
+
ld.add_action(gazebo_ignition_launch_group)
+
+ imuclock_gz_bridge = Node(
+ package='ros_gz_bridge',
+ executable='parameter_bridge',
+ name='ros_gz_clock_bridge',
+ namespace=params['namespace'],
+ output='screen',
+ arguments=[
+ '/clock@rosgraph_msgs/msg/Clock[ignition.msgs.Clock'],
+ )
+
+ ld.add_action(imuclock_gz_bridge)
return ld
diff --git a/robotnik_gazebo_ignition/package.xml b/robotnik_gazebo_ignition/package.xml
index 778dc78..21a2216 100644
--- a/robotnik_gazebo_ignition/package.xml
+++ b/robotnik_gazebo_ignition/package.xml
@@ -10,25 +10,12 @@
ament_cmake
- controller_manager
- control_msgs
- controller_interface
- ign_ros2_control
- joint_state_broadcaster
- joint_trajectory_controller
-
- robotnik_sensors
- robotnik_msgs
- robotnik_common
- robotnik_description
- ur_description
-
ament_lint_auto
ament_lint_common
ament_cmake
-
+
diff --git a/robotnik_gazebo_ignition/worlds/demo.world b/robotnik_gazebo_ignition/worlds/demo.world
new file mode 100644
index 0000000..6481d67
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/demo.world
@@ -0,0 +1,2877 @@
+
+
+
+ ogre
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+ 65535
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+ 10
+
+
+ 0
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.001
+ 1
+ 1000
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+ 0.446728 1.67861 0 0 -0 0
+
+
+
+
+ 12.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.48611 -9.23618 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 15.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.8299 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.8299 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 0.010798 18.6989 0 0 -0 3.13929
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.07983 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.07983 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3392 15.2739 0 0 -0 1.56788
+ 0
+ 0
+ 0
+
+
+
+
+
+ 22.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 22.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.08605 11.73 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.3492 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -12.6492 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.22807 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.77807 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.80307 14.6103 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 3.00964 14.8055 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.80964 16.7305 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 13.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 15.334 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 8.9507 16.009 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.13766 -9.19892 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25937 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25937 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -7.63336 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 9.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 9.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.74848 2.42372 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.44023 -6.0788 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.93611 7.28882 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.488893 8.71382 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -10.2909 8.62897 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.7159 3.07897 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.6993 -8.09105 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.5507 0.301111 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.09 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.09 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -5.66889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.80211 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.80211 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.525 -11.64 0 0 -0 -0.000382
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.90238 -6.74877 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 13 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 13 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.78611 -0.561178 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.7007 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.0399 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.0399 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -0.133858 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 9.2007 8.70895 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 10.259 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.6583 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.6583 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.35 6.05503 0 0 -0 1.57068
+ 0
+ 0
+ 0
+
+
+
+
+
+ 10.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 10.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 -6.59105 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.54551 5.81108 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 5.03395 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.7007 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 16.4257 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 23.6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 23.6 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 0.083953 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.00073 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.00073 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 13.9257 -11.641 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 12.6757 -1.54105 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 15.0616 1.24113 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.7743 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 -14.566 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -15.1889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.85 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.85 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.000659 -18.7389 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.36111 5.86382 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.39784 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.39784 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.35 -18.115 0 0 -0 1.56971
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.56903 -16.8068 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.74403 -15.0068 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -1.48097 -15.0068 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.45 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.45 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -7.2673 -13.3717 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.4676 -16.796 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+ 1
+
+
+ 95 560000000
+ 96 21539812
+ 1633516541 377109527
+ 95560
+
+ -0.267831 1.98478 0 0 -0 1.57088
+ 1 1 1
+
+ 8.96823 3.47162 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5032 19.3343 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -18.9667 1.99412 0 0 -0 -1.57302
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5404 -15.3556 0 0 -0 3.13876
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -11.9974 -4.10219 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9272 -9.36572 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8771 -10.6656 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9277 -3.24459 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8776 -4.79443 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8778 -1.81943 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.0736 4.99326 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9987 6.79311 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -13.5024 9.88445 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.6024 9.88428 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.2775 10.9342 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 8.93173 -6.15216 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.36623 -6.98513 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -2.69149 1.23611 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.8114 -3.45497 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -7.55704 6.92032 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.98161 1.49521 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.89599 -8.30679 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -3.34588 -9.73136 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.82414 -9.71388 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.567801 -12.5659 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.40242 -15.3655 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3733 -12.5393 0 0 -0 1.57049
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.48055 6.88769 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 0.292737 9.77094 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3726 8.6864 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.133269 -6.98572 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.9775 11.1848 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -10.5274 9.88468 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.3215 -15.3657 0 0 -0 3.14155
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.3224 12.486 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.07863 -1.56118 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -5.3026 12.4851 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0777 13.6846 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0781 18.4096 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.353144 19.3355 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3721 15.9114 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 1.27223 14.6606 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -1.51014 17.0463 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3736 -3.7886 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.2968 19.3366 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.9224 -15.3647 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 18.4711 1.98559 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.13215 8.34543 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 17.8458 19.3362 0 0 -0 3.14059
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5388 3.55513 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7386 6.72999 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7391 0.504989 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 13.1044 -5.28147 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5273 13.4537 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 0 0 -0 0
+ 1 1 1
+
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 10 0 -0 0
+
+
+
+
+ 10.4424 7.27736 7.91302 0 0.5498 -2.56
+ orbit
+ perspective
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/empty_world.sdf b/robotnik_gazebo_ignition/worlds/empty_world.sdf
new file mode 100644
index 0000000..c800dfb
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/empty_world.sdf
@@ -0,0 +1,139 @@
+
+
+
+ ogre
+
+
+ 0.001
+ 1
+ 1000
+
+
+
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ true
+
+
+ true
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 0 0 -0 0
+
+ 0 0 0 0 -0 0
+ 1
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+ false
+
+ 0 0 0 0 -0 0
+ false
+
+
+ 4.95399 5.5438 0.5 0 -0 0
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 1 1 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 0 10 0 -0 0
+ true
+ 1
+ -0.5 0.1 -0.9
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.01
+ 0.90000000000000002
+ 0.001
+
+
+ 0
+ 0
+ 0
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/demo.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world
similarity index 99%
rename from robotnik_gazebo_ignition/worlds/demo.sdf.world
rename to robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world
index 1d4c5d3..9505ca5 100644
--- a/robotnik_gazebo_ignition/worlds/demo.sdf.world
+++ b/robotnik_gazebo_ignition/worlds/ignition/demo.sdf.world
@@ -10,7 +10,6 @@
- gz-physics6-bullet-plugin
-
1
0 0 10 0 -0 0
@@ -57,14 +55,15 @@
65535
-
+
-
+
100
-
+ 50
+
-
+
@@ -96,11 +95,6 @@
0.001
1
1000
-
-
- cone_model
-
-
0.4 0.4 0.4 1
diff --git a/robotnik_gazebo_ignition/worlds/ignition/demo2.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/demo2.sdf.world
new file mode 100644
index 0000000..9505ca5
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/ignition/demo2.sdf.world
@@ -0,0 +1,2781 @@
+
+
+
+
+
+
+ 0.001
+ 1.0
+
+
+
+
+
+
+
+
+ ogre2
+
+
+
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+ 65535
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+ 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
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+ true
+
+
+
+ 0.5 0 0 0 1.57 0
+
+
+ 0.02
+ 1
+
+
+
+ 1 0 0 1
+ 1 0 0 1
+
+
+
+
+
+
+ 0 0.5 0 -1.57 0 0
+
+
+ 0.02
+ 1
+
+
+
+ 0 1 0 1
+ 0 1 0 1
+
+
+
+
+
+
+ 0 0 0.5 0 0 1.57
+
+
+ 0.02
+ 1
+
+
+
+ 0 0 1 1
+ 0 0 1 1
+
+
+
+
+
+
+ 0.446728 2 0 0 0 1.57
+
+
+
+
+ 12.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.48611 -9.23618 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 15.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.8299 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.8299 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 0.010798 18.6989 0 0 -0 3.13929
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.07983 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.07983 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3392 15.2739 0 0 -0 1.56788
+ 0
+ 0
+ 0
+
+
+
+
+
+ 22.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 22.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.08605 11.73 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.3492 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -12.6492 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.22807 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.77807 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.80307 14.6103 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 3.00964 14.8055 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.80964 16.7305 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 13.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 15.334 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 8.9507 16.009 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.13766 -9.19892 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25937 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25937 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -7.63336 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 9.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 9.5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.74848 2.42372 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.44023 -6.0788 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.93611 7.28882 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.488893 8.71382 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -10.2909 8.62897 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.7159 3.07897 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.6993 -8.09105 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.5507 0.301111 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.09 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.09 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -5.66889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.80211 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.80211 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.525 -11.64 0 0 -0 -0.000382
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.90238 -6.74877 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 13 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 13 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.78611 -0.561178 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.7007 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.0399 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.0399 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -0.133858 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 9.2007 8.70895 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 10.259 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.6583 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.6583 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.35 6.05503 0 0 -0 1.57068
+ 0
+ 0
+ 0
+
+
+
+
+
+ 10.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 10.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 -6.59105 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.54551 5.81108 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 5.03395 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.7007 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 16.4257 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 23.6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 23.6 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 0.083953 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.00073 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.00073 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 13.9257 -11.641 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 12.6757 -1.54105 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 15.0616 1.24113 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.7743 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 -14.566 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -15.1889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.85 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.85 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.000659 -18.7389 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.36111 5.86382 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.39784 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.39784 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.35 -18.115 0 0 -0 1.56971
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.56903 -16.8068 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.5 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.74403 -15.0068 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.25 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -1.48097 -15.0068 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.45 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.45 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ -7.2673 -13.3717 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+ 1 1 1 1
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.4676 -16.796 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+ 1
+
+
+
+ 95 560000000
+ 96 21539812
+ 1633516541 377109527
+ 95560
+
+ -0.267831 1.98478 0 0 -0 1.57088
+ 1 1 1
+
+ 8.96823 3.47162 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5032 19.3343 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -18.9667 1.99412 0 0 -0 -1.57302
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5404 -15.3556 0 0 -0 3.13876
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -11.9974 -4.10219 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9272 -9.36572 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8771 -10.6656 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9277 -3.24459 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8776 -4.79443 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8778 -1.81943 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.0736 4.99326 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9987 6.79311 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -13.5024 9.88445 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.6024 9.88428 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.2775 10.9342 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 8.93173 -6.15216 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.36623 -6.98513 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -2.69149 1.23611 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.8114 -3.45497 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -7.55704 6.92032 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.98161 1.49521 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.89599 -8.30679 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -3.34588 -9.73136 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.82414 -9.71388 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.567801 -12.5659 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.40242 -15.3655 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3733 -12.5393 0 0 -0 1.57049
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.48055 6.88769 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 0.292737 9.77094 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3726 8.6864 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.133269 -6.98572 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.9775 11.1848 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -10.5274 9.88468 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.3215 -15.3657 0 0 -0 3.14155
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.3224 12.486 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.07863 -1.56118 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -5.3026 12.4851 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0777 13.6846 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0781 18.4096 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.353144 19.3355 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3721 15.9114 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 1.27223 14.6606 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -1.51014 17.0463 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3736 -3.7886 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.2968 19.3366 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.9224 -15.3647 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 18.4711 1.98559 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.13215 8.34543 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 17.8458 19.3362 0 0 -0 3.14059
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5388 3.55513 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7386 6.72999 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7391 0.504989 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 13.1044 -5.28147 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5273 13.4537 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/ignition/prueba3.sdf.world b/robotnik_gazebo_ignition/worlds/ignition/prueba3.sdf.world
new file mode 100644
index 0000000..e4c8751
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/ignition/prueba3.sdf.world
@@ -0,0 +1,518 @@
+
+
+
+
+ 0.001
+ 1
+ 1000
+
+
+
+
+
+
+ ogre2
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ true
+
+
+ true
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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 0 0 -0 0
+
+ 0 0 0 0 -0 0
+ 1
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ 1
+
+
+ false
+
+ 0 0 0 0 -0 0
+ false
+
+
+ -3.75 0 0.5 0 -0 0
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 5 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 5 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 3.75 0 0.5 0 -0 0
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 5 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 5 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 -3.75 0.5 0 -0 1.5708
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 5 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 5 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 3.75 0.5 0 -0 1.5708
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 5 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 5 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 7.5 0 0.5 0 -0 0
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 15 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 15 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ -7.5 0 0.5 0 -0 0
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 15 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 15 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 7.5 0.5 0 -0 1.5708
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 15 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 15 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 -7.5 0.5 0 -0 1.5708
+
+
+
+ 0.16666
+ 0
+ 0
+ 0.16666
+ 0
+ 0.16666
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.1 15 2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1 15 2.4
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 1.83862 -0.006986 0.5 0 -0 0
+
+
+
+ 0.10000000000000001
+ 0
+ 0
+ 0.10000000000000001
+ 0
+ 0.10000000000000001
+
+ 1
+ 0 0 0 0 -0 0
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.5
+
+
+
+ 0.3 0.3 0.3 1
+ 0.7 0.7 0.7 1
+ 1 1 1 1
+
+
+ 0 0 0 0 -0 0
+ false
+
+ false
+ false
+
+
+ 0 0 10 0 -0 0
+ true
+ 1
+ -0.5 0.1 -0.9
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.01
+ 0.90000000000000002
+ 0.001
+
+
+ 0
+ 0
+ 0
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/maze.world b/robotnik_gazebo_ignition/worlds/maze.world
new file mode 100644
index 0000000..6481d67
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/maze.world
@@ -0,0 +1,2877 @@
+
+
+
+ ogre
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+ 65535
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+ 10
+
+
+ 0
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+ 0.001
+ 1
+ 1000
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+ 0.446728 1.67861 0 0 -0 0
+
+
+
+
+ 12.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.48611 -9.23618 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 15.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.8299 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.8299 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 0.010798 18.6989 0 0 -0 3.13929
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.07983 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.07983 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3392 15.2739 0 0 -0 1.56788
+ 0
+ 0
+ 0
+
+
+
+
+
+ 22.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 22.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.08605 11.73 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.3492 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -12.6492 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.22807 16.6603 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -6.77807 14.6103 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.80307 14.6103 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 3.00964 14.8055 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.80964 16.7305 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 13.234 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 15.334 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 8.9507 16.009 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.13766 -9.19892 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25937 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25937 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -7.63336 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 9.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 9.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.74848 2.42372 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.44023 -6.0788 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.93611 7.28882 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.488893 8.71382 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -10.2909 8.62897 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.7159 3.07897 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -11.6993 -8.09105 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.5507 0.301111 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.09 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.09 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -5.66889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5.80211 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5.80211 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -14.525 -11.64 0 0 -0 -0.000382
+ 0
+ 0
+ 0
+
+
+
+
+
+ 5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.90238 -6.74877 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 13 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 13 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.78611 -0.561178 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.7007 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12.0399 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12.0399 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -8.97051 -0.133858 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 9.2007 8.70895 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 7.9007 10.259 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11.6583 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11.6583 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.35 6.05503 0 0 -0 1.57068
+ 0
+ 0
+ 0
+
+
+
+
+
+ 10.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 10.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 -6.59105 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 11 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 11 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -3.54551 5.81108 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 10.5007 5.03395 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.7007 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 2 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 2 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 16.4257 11.809 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 23.6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 23.6 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 0.083953 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.00073 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.00073 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 13.9257 -11.641 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 12.6757 -1.54105 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 4.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 4.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 15.0616 1.24113 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 12 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 12 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -5.7743 -11.641 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.3507 -14.566 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 7.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 7.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -17.3507 -15.1889 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 34.85 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 34.85 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -0.000659 -18.7389 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 6.36111 5.86382 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 1.39784 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 1.39784 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 17.35 -18.115 0 0 -0 1.56971
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 1.56903 -16.8068 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.5 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.5 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 4.74403 -15.0068 0 0 -0 0
+ 0
+ 0
+ 0
+
+
+
+
+
+ 6.25 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 6.25 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -1.48097 -15.0068 0 0 -0 3.14159
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.45 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.45 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ -7.2673 -13.3717 0 0 -0 -1.5708
+ 0
+ 0
+ 0
+
+
+
+
+
+ 3.75 0.15 2.5
+
+
+ 0 0 1.25 0 -0 0
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 1.25 0 -0 0
+
+
+ 3.75 0.15 2.5
+
+
+
+
+ 1 1 1 1
+
+
+ 0
+
+
+ 11.4676 -16.796 0 0 -0 1.5708
+ 0
+ 0
+ 0
+
+ 1
+
+
+ 95 560000000
+ 96 21539812
+ 1633516541 377109527
+ 95560
+
+ -0.267831 1.98478 0 0 -0 1.57088
+ 1 1 1
+
+ 8.96823 3.47162 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5032 19.3343 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -18.9667 1.99412 0 0 -0 -1.57302
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.5404 -15.3556 0 0 -0 3.13876
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -11.9974 -4.10219 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9272 -9.36572 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8771 -10.6656 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9277 -3.24459 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8776 -4.79443 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -14.8778 -1.81943 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.0736 4.99326 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.9987 6.79311 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -13.5024 9.88445 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -15.6024 9.88428 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -16.2775 10.9342 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 8.93173 -6.15216 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.36623 -6.98513 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -2.69149 1.23611 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.8114 -3.45497 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -7.55704 6.92032 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.98161 1.49521 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.89599 -8.30679 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -3.34588 -9.73136 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 7.82414 -9.71388 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.567801 -12.5659 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 5.40242 -15.3655 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3733 -12.5393 0 0 -0 1.57049
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.48055 6.88769 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 0.292737 9.77094 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3726 8.6864 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.133269 -6.98572 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -8.9775 11.1848 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -10.5274 9.88468 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.3215 -15.3657 0 0 -0 3.14155
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 6.3224 12.486 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.07863 -1.56118 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -5.3026 12.4851 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0777 13.6846 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -12.0781 18.4096 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -0.353144 19.3355 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3721 15.9114 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 1.27223 14.6606 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -1.51014 17.0463 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 11.3736 -3.7886 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.2968 19.3366 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.9224 -15.3647 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 18.4711 1.98559 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ -6.13215 8.34543 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 17.8458 19.3362 0 0 -0 3.14059
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5388 3.55513 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7386 6.72999 0 0 -0 1.57088
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 14.7391 0.504989 0 0 -0 -1.57072
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 13.1044 -5.28147 0 0 -0 7.5e-05
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+ 16.5273 13.4537 0 0 -0 -3.14151
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 0 0 -0 0
+ 1 1 1
+
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 10 0 -0 0
+
+
+
+
+ 10.4424 7.27736 7.91302 0 0.5498 -2.56
+ orbit
+ perspective
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/vineyard.world b/robotnik_gazebo_ignition/worlds/vineyard.world
new file mode 100644
index 0000000..4054579
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/vineyard.world
@@ -0,0 +1,1690 @@
+
+
+
+ ogre
+
+
+
+
+ quick
+ 20
+ 1
+ 0
+
+
+ 0
+ 0.2
+ 100
+ 0
+
+
+ 0.001
+ 1
+ 1000
+
+
+ 1
+ 0 0 10 0 -0 0
+ 0.8 0.8 0.8 1
+ 0.2 0.2 0.2 1
+
+ 1000
+ 0.9
+ 0.01
+ 0.001
+
+ -0.5 0.1 -0.9
+
+
+ 1
+
+
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+ 100
+ 50
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+ 0
+
+
+ 0 0 1
+ 100 100
+
+
+
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+
+
+ 0.4 0.4 0.4 1
+ 0.7 0.7 0.7 1
+ 1
+
+
+ 12
+
+
+
+ 0.3
+
+
+
+ 3062 196000000
+ 254 661994958
+ 1608285969 313470901
+ 253698
+
+ 0 0 0 0 -0 0
+ 1 1 1
+
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 12.5344 4.14618 0 0 -0 1.6
+ 1 1 1
+
+ 12.5344 4.14618 0 0 -0 1.6
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 12.6103 -0.232748 0 0 0 -1.56738
+ 1 1 1
+
+ 12.6103 -0.232748 0 0 0 -1.56738
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 12.5544 -4.54164 0 0 0 -1.6
+ 1 1 1
+
+ 12.5544 -4.54164 0 0 0 -1.6
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -8.40975 1.63801 0 0 -0 0
+ 1 1 1
+
+ -8.40975 1.63801 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -5 3 0 0 -0 0
+ 1 1 1
+
+ -5 3 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -3 5 0 0 -0 0
+ 1 1 1
+
+ -3 5 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 8.58192 1.51696 0 0 -0 0
+ 1 1 1
+
+ 8.58192 1.51696 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 8.6436 -1.70008 0 0 -0 0
+ 1 1 1
+
+ 8.6436 -1.70008 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -3.59619 1.58231 0 0 -0 0
+ 1 1 1
+
+ -3.59619 1.58231 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -5 -1 0 0 -0 0
+ 1 1 1
+
+ -5 -1 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -8 -1 0 0 -0 0
+ 1 1 1
+
+ -8 -1 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 3.41755 -3 0 0 -0 0
+ 1 1 1
+
+ 3.41755 -3 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -1 -3 0 0 -0 0
+ 1 1 1
+
+ -1 -3 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -8 5 0 0 -0 0
+ 1 1 1
+
+ -8 5 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -0.070313 7.17179 0 0 -0 0
+ 1 1 1
+
+ -0.070313 7.17179 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -1.50786 -4.92707 0 0 -0 0
+ 1 1 1
+
+ -1.50786 -4.92707 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 3.73238 -1.60869 0 0 -0 0
+ 1 1 1
+
+ 3.73238 -1.60869 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ -6.5175 -3 0 0 -0 0
+ 1 1 1
+
+ -6.5175 -3 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 7.47318 4.52036 0 0 -0 0
+ 1 1 1
+
+ 7.47318 4.52036 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 3.73077 1.57083 0 0 -0 0
+ 1 1 1
+
+ 3.73077 1.57083 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 7.56456 6.09483 0 0 -0 0
+ 1 1 1
+
+ 7.56456 6.09483 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 2 6.1557 0 0 -0 0
+ 1 1 1
+
+ 2 6.1557 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+ 0 0 0 0 -0 0
+
+
+
+ 0 0 10 0 -0 0
+
+
+
+ 1
+
+
+
+
+ model://jersey_barrier/meshes/jersey_barrier.dae
+
+
+
+
+ 0 0 0.5715 0 -0 0
+
+
+ 4.06542 0.3063 1.143
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.032258 0 -0 0
+
+
+ 4.06542 0.8107 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.1 0 -0 0
+
+
+ 4.06542 0.65 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.2 0 -0 0
+
+
+ 4.06542 0.5 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 -0.224 0.2401 0.9 -0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0.224 0.2401 -0.9 0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 15 1 0 0 -0 0
+
+
+ 1
+
+
+
+
+ model://jersey_barrier/meshes/jersey_barrier.dae
+
+
+
+
+ 0 0 0.5715 0 -0 0
+
+
+ 4.06542 0.3063 1.143
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.032258 0 -0 0
+
+
+ 4.06542 0.8107 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.1 0 -0 0
+
+
+ 4.06542 0.65 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.2 0 -0 0
+
+
+ 4.06542 0.5 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 -0.224 0.2401 0.9 -0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0.224 0.2401 -0.9 0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 15.5398 -6 0 0 -0 0
+
+
+ 1
+
+
+
+
+ model://jersey_barrier/meshes/jersey_barrier.dae
+
+
+
+
+ 0 0 0.5715 0 -0 0
+
+
+ 4.06542 0.3063 1.143
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.032258 0 -0 0
+
+
+ 4.06542 0.8107 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.1 0 -0 0
+
+
+ 4.06542 0.65 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0.2 0 -0 0
+
+
+ 4.06542 0.5 0.1
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 -0.224 0.2401 0.9 -0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0.224 0.2401 -0.9 0 0
+
+
+ 4.06542 0.5 0.064516
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 14 -7.47311 0 0 -0 0
+
+
+
+ -1.60943 -1.80051 41.1576 -0 1.5698 0.001957
+ orbit
+ perspective
+
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 3 1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -1.50786 1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 3 -1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 7 1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 7 -1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 7 -3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -5 -1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -8 -1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 3.41755 -3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -1 -3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -6.5175 -3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 7.47318 3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 3 3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 7.56456 5 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard4/meshes/Grape4_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ 2 5 0 0 -0 0
+
+
+ EARTH_WGS84
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -8.40975 1 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -5 3 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -3 5 0 0 -0 0
+
+
+ 1
+
+
+ 0 0 0 0 -0 0
+ 1
+ 1
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 -0 0
+ 0
+
+
+ model://vineyard0/meshes/Grape0_low.dae
+ 0.02 0.02 0.02
+
+
+
+
+ 0
+ 0
+
+ 0
+ 0
+ 1
+ 0
+
+ -8 5 0 0 -0 0
+
+ 0 0 -9.8
+ 6e-06 2.3e-05 -4.2e-05
+
+
+
+
diff --git a/robotnik_gazebo_ignition/worlds/willow_garage.world b/robotnik_gazebo_ignition/worlds/willow_garage.world
new file mode 100644
index 0000000..9d5e8d8
--- /dev/null
+++ b/robotnik_gazebo_ignition/worlds/willow_garage.world
@@ -0,0 +1,38 @@
+
+
+
+
+ ogre
+
+
+
+ 0 0 -9.8
+
+
+ quick
+ 40
+ 1.0
+
+
+ 0.0
+ 0.2
+ 100.0
+ 0.0
+
+
+ 0.001
+
+
+
+ model://sun
+
+
+
+ model://ground_plane
+
+
+ model://willowgarage
+ -16 -18 0.001 0 0 0
+
+
+
diff --git a/webots_robotnik/LICENSE b/webots_robotnik/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/webots_robotnik/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/webots_robotnik/launch/rbwatcher_launch_alfa.py b/webots_robotnik/launch/rbwatcher_launch_alfa.py
new file mode 100644
index 0000000..aa2ff6a
--- /dev/null
+++ b/webots_robotnik/launch/rbwatcher_launch_alfa.py
@@ -0,0 +1,228 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from launch.substitutions import LaunchConfiguration
+from ament_index_python.packages import get_package_share_directory
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+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 ExtendedArgument, AddArgumentParser
+from launch.substitutions import TextSubstitution, PathJoinSubstitution, Command, PythonExpression
+
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+
+ ld = LaunchDescription()
+ add_to_launcher = AddArgumentParser(ld)
+
+ package_dir = get_package_share_directory('webots_robotnik')
+ robot_controller_path = os.path.join(package_dir, 'resource', 'rbwatcher_controller_avanzado.urdf')
+ robot_description_path = os.path.join(package_dir, 'resource', 'rbrobout.urdf')
+ use_sim_time = LaunchConfiguration('use_sim_time', default=True)
+ mode = LaunchConfiguration('mode')
+
+ robot_description_content = load_urdf(robot_description_path)
+
+
+ arg = ExtendedArgument(
+ name='namespace',
+ description='Robot personal name',
+ default_value='robot',
+ use_env=True,
+ environment='NAMESPACE',
+ )
+ add_to_launcher.add_arg(arg)
+ namespace = LaunchConfiguration('namespace')
+
+ arg = ExtendedArgument(
+ name='robot',
+ description='Robot model (rbvogui, rbkairos, rbtheron, rbsummit)',
+ default_value='rbwatcher',
+ 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='x',
+ description='x position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ x_pos = LaunchConfiguration('x')
+
+ arg = ExtendedArgument(
+ name='y',
+ description='y position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ y_pos = LaunchConfiguration('y')
+
+ arg = ExtendedArgument(
+ name='z',
+ description='z position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ z_pos = LaunchConfiguration('z')
+ params = add_to_launcher.process_arg()
+
+
+
+ robot_state_publisher = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='screen',
+ parameters=[{
+ 'robot_description': ' '
+ }],
+ namespace=params['namespace'],
+ )
+ ld.add_action(robot_state_publisher)
+
+ spawn_robot_service_call = ExecuteProcess(
+ cmd=[
+ 'ros2', 'service', 'call',
+ '/Ros2Supervisor/spawn_node_from_string',
+ 'webots_ros2_msgs/srv/SpawnNodeFromString',
+ [
+ TextSubstitution(text='{data: "'),
+ robot, TextSubstitution(text=' { name \\"'),
+ namespace, TextSubstitution(text='\\" translation '),
+ x_pos, TextSubstitution(text=' '),
+ y_pos, TextSubstitution(text=' '),
+ z_pos, TextSubstitution(text=' }"}')
+ ]
+ ],
+ output='screen'
+ )
+ ld.add_action(spawn_robot_service_call)
+
+ my_robot_driver = WebotsController(
+ robot_name='rbwatcher',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'set_robot_state_publisher': True},
+ ]
+ )
+ #ld.add_action(my_robot_driver)
+
+ footprint_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'rbwatcher/base_link', 'base_footprint'],
+ namespace=params['namespace'],
+ )
+ ld.add_action(footprint_publisher)
+
+ baselink_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'rbwatcher/base_link', 'base_link'],
+ namespace=params['namespace'],
+ )
+ ld.add_action(baselink_publisher)
+
+ world_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'world', 'rbwatcher/odom'],
+ namespace=params['namespace'],
+ )
+ ld.add_action(world_publisher)
+
+ controller_manager_timeout = ['--controller-manager-timeout', '50']
+ controller_manager_prefix = 'python.exe' if os.name == 'nt' else ''
+
+ joint_state_broadcaster = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['joint_state_broadcaster'] + controller_manager_timeout,
+ namespace=params['namespace'],
+ )
+
+ diffdrive_controller_spawner = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['diffdrive_controller'] + controller_manager_timeout,
+ namespace=params['namespace'],
+ )
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'] + controller_manager_timeout,
+ prefix=controller_manager_prefix,
+ output='screen',
+ emulate_tty=True,
+ )
+
+ ros_control_spawners = [diffdrive_controller_spawner, joint_state_broadcaster]
+
+ ros2_control_params = os.path.join(package_dir, 'resource', 'ros2controlrbwatcher.yml') #Va pero simplemente puedo seleccionar un yaml predeterminado
+
+
+ ros2_control_params2= PathJoinSubstitution([ #No va porque no reconoce PathJoinSubstitution como string
+ package_dir,
+ 'resource',
+ TextSubstitution(text='ros2control'),
+ LaunchConfiguration('robot'),
+ TextSubstitution(text='.yml')
+ ])
+
+ ros2_control_params2 = [package_dir, '/resource/ros2control', robot, '.yml'] #No va porque no saca el valor de LaunchConfiguration(Robot)
+
+ print(ros2_control_params2)
+
+
+ rbwatcher_driver = WebotsController(
+ robot_name='rbwatcher',
+ namespace='rbwatcher',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'use_sim_time': use_sim_time,
+ 'set_robot_state_publisher': True,
+ 'update_rate': 100},
+ ros2_control_params
+ ],
+ respawn=True
+ )
+ ld.add_action(rbwatcher_driver)
+
+ waiting_node = WaitForControllerConnection(
+ target_driver=rbwatcher_driver,
+ nodes_to_start=ros_control_spawners
+ )
+ ld.add_action(waiting_node)
+
+ return ld
diff --git a/webots_robotnik/launch/robot_launch_alfa.py b/webots_robotnik/launch/robot_launch_alfa.py
new file mode 100644
index 0000000..69ff648
--- /dev/null
+++ b/webots_robotnik/launch/robot_launch_alfa.py
@@ -0,0 +1,301 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from launch.actions import GroupAction, IncludeLaunchDescription
+from launch.launch_description_sources import PythonLaunchDescriptionSource
+from launch.substitutions import LaunchConfiguration
+from ament_index_python.packages import get_package_share_directory,get_package_prefix
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+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 ExtendedArgument, AddArgumentParser
+from launch.substitutions import TextSubstitution, PathJoinSubstitution, Command, PythonExpression
+from webots_ros2_driver.utils import controller_protocol, controller_ip_address
+
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+
+ ld = LaunchDescription()
+ add_to_launcher = AddArgumentParser(ld)
+
+ package_dir = get_package_share_directory('webots_robotnik')
+ robot_controller_path = os.path.join(package_dir, 'resource', 'rbrobout_controller_avanzado.urdf')
+
+ #robot_description_path = os.path.join(package_dir, 'resource', 'rbrobout.urdf')
+ use_sim_time = LaunchConfiguration('use_sim_time', default=True)
+ mode = LaunchConfiguration('mode')
+
+ #robot_description_content = load_urdf(robot_description_path)
+
+
+ arg = ExtendedArgument(
+ name='namespace',
+ description='Robot personal name',
+ default_value='robot',
+ use_env=True,
+ environment='NAMESPACE',
+ )
+ add_to_launcher.add_arg(arg)
+ namespace = LaunchConfiguration('namespace')
+
+ arg = ExtendedArgument(
+ name='robot',
+ description='Robot model (rbvogui, rbkairos, rbtheron, rbsummit)',
+ default_value='rbrobout',
+ 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='x',
+ description='x position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ x_pos = LaunchConfiguration('x')
+
+ arg = ExtendedArgument(
+ name='y',
+ description='y position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ y_pos = LaunchConfiguration('y')
+
+ arg = ExtendedArgument(
+ name='z',
+ description='z position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ z_pos = LaunchConfiguration('z')
+ params = add_to_launcher.process_arg()
+
+
+ robot_state_publisher = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='screen',
+ parameters=[{
+ 'robot_description': ' ',
+ }],
+ namespace=params['namespace'],
+ )
+
+ ld.add_action(robot_state_publisher)
+
+ spawn_robot_service_call = ExecuteProcess(
+ cmd=[
+ 'ros2', 'service', 'call',
+ '/Ros2Supervisor/spawn_node_from_string',
+ 'webots_ros2_msgs/srv/SpawnNodeFromString',
+ [
+ TextSubstitution(text='{data: "'),
+ robot,
+ TextSubstitution(text=' { name \\"'), namespace, TextSubstitution(text='\\" '),
+ TextSubstitution(text='robot_base_link \\"'), namespace, TextSubstitution(text='/base_link\\" '),
+ TextSubstitution(text='robot_rear_laser_base_link \\"'), namespace, TextSubstitution(text='/rear_laser_base_link\\" '),
+ TextSubstitution(text='robot_rear_laser_link \\"'), namespace, TextSubstitution(text='/rear_laser_link\\" '),
+ TextSubstitution(text='robot_front_laser_base_link \\"'), namespace, TextSubstitution(text='/front_laser_base_link\\" '),
+ TextSubstitution(text='robot_front_laser_link \\"'), namespace, TextSubstitution(text='/front_laser_link\\" '),
+ TextSubstitution(text='robot_rear_rgbd_camera_color_frame \\"'), namespace, TextSubstitution(text='/rear_rgbd_camera_color_frame\\" '),
+ TextSubstitution(text='robot_rear_rgbd_camera_infra2_frame \\"'), namespace, TextSubstitution(text='/rear_rgbd_camera_infra2_frame\\" '),
+ TextSubstitution(text='robot_rear_rgbd_camera_link \\"'), namespace, TextSubstitution(text='/rear_rgbd_camera_link\\" '),
+ TextSubstitution(text='robot_rear_rgbd_camera_depth_frame \\"'), namespace, TextSubstitution(text='/rear_rgbd_camera_depth_frame\\" '),
+ TextSubstitution(text='robot_front_rgbd_camera_color_frame \\"'), namespace, TextSubstitution(text='/front_rgbd_camera_color_frame\\" '),
+ TextSubstitution(text='robot_front_rgbd_camera_infra2_frame \\"'), namespace, TextSubstitution(text='/front_rgbd_camera_infra2_frame\\" '),
+ TextSubstitution(text='robot_front_rgbd_camera_depth_frame \\"'), namespace, TextSubstitution(text='/front_rgbd_camera_depth_frame\\" '),
+ TextSubstitution(text='robot_front_rgbd_camera_link \\"'), namespace, TextSubstitution(text='/front_rgbd_camera_link\\" '),
+ TextSubstitution(text='robot_vectornav_base_link \\"'), namespace, TextSubstitution(text='/vectornav_base_link\\" '),
+ TextSubstitution(text='robot_back_right_wheel_link \\"'), namespace, TextSubstitution(text='/back_right_wheel_link\\" '),
+ TextSubstitution(text='robot_front_right_wheel_link \\"'), namespace, TextSubstitution(text='/front_right_wheel_link\\" '),
+ TextSubstitution(text='robot_back_left_wheel_link \\"'), namespace, TextSubstitution(text='/back_left_wheel_link\\" '),
+ TextSubstitution(text='robot_front_left_wheel_link \\"'), namespace, TextSubstitution(text='/front_left_wheel_link\\" '),
+ TextSubstitution(text='robot_front_laser_sensor \\"'), namespace, TextSubstitution(text='/front_laser_sensor\\" '),
+ TextSubstitution(text='robot_rear_laser_sensor \\"'), namespace, TextSubstitution(text='/rear_laser_sensor\\" '),
+ TextSubstitution(text='rear_camera_color \\"'), namespace, TextSubstitution(text='/rear_camera_color\\" '),
+ TextSubstitution(text='rear_camera_depth \\"'), namespace, TextSubstitution(text='/rear_camera_depth\\" '),
+ TextSubstitution(text='rear_camera_irred1 \\"'), namespace, TextSubstitution(text='/rear_camera_irred1\\" '),
+ TextSubstitution(text='rear_camera_irred2 \\"'), namespace, TextSubstitution(text='/rear_camera_irred2\\" '),
+ TextSubstitution(text='front_camera_color \\"'), namespace, TextSubstitution(text='/front_camera_color\\" '),
+ TextSubstitution(text='front_camera_depth \\"'), namespace, TextSubstitution(text='/front_camera_depth\\" '),
+ TextSubstitution(text='front_camera_irred1 \\"'), namespace, TextSubstitution(text='/front_camera_irred1\\" '),
+ TextSubstitution(text='front_camera_irred2 \\"'), namespace, TextSubstitution(text='/front_camera_irred2\\" '),
+ TextSubstitution(text='imu_inertial \\"'), namespace, TextSubstitution(text='/imu_inertial\\" '),
+ TextSubstitution(text='imu_accelerometer \\"'), namespace, TextSubstitution(text='/imu_accelerometer\\" '),
+ TextSubstitution(text='imu_gyro \\"'), namespace, TextSubstitution(text='/imu_gyro\\" '),
+ TextSubstitution(text='imu_compass \\"'), namespace, TextSubstitution(text='/imu_compass\\" '),
+ TextSubstitution(text='robot_vectornav_link \\"'), namespace, TextSubstitution(text='/vectornav_link\\" '),
+ TextSubstitution(text='robot_top_structure_link \\"'), namespace, TextSubstitution(text='/top_structure_link\\" '),
+ TextSubstitution(text='robot_gps_base_link \\"'), namespace, TextSubstitution(text='/gps_base_link\\" '),
+ TextSubstitution(text='robot_top_3d_laser \\"'), namespace, TextSubstitution(text='/top_3d_laser\\" '),
+ TextSubstitution(text='robot_top_3d_laserlink \\"'), namespace, TextSubstitution(text='/top_3d_laserlink\\" '),
+ TextSubstitution(text='robot_top_3d_laserbase_link \\"'), namespace, TextSubstitution(text='/top_3d_laserbase_link\\" '),
+ TextSubstitution(text='robot_antenna_base_link \\"'), namespace, TextSubstitution(text='/antenna_base_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_sensor \\"'), namespace, TextSubstitution(text='/top_ptz_camera_sensor\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_zoom_color_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_zoom_color_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_optical_frame_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_optical_frame_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_frame_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_frame_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_zoom_thermal_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_zoom_thermal_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_optical_thermal_frame_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_optical_thermal_frame_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_thermal_frame_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_thermal_frame_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_tilt_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_tilt_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_pan_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_pan_link\\" '),
+ TextSubstitution(text='robot_top_ptz_camera_base_link \\"'), namespace, TextSubstitution(text='/top_ptz_camera_base_link\\" '),
+ TextSubstitution(text='translation '),
+ x_pos, TextSubstitution(text=' '),
+ y_pos, TextSubstitution(text=' '),
+ z_pos, TextSubstitution(text=' }"}')
+ ]
+ ],
+ output='screen'
+ )
+ ld.add_action(spawn_robot_service_call)
+
+
+
+ footprint_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', [namespace,'/base_link'], [namespace,'/base_footprint']],
+ namespace=params['namespace'],
+ )
+ ld.add_action(footprint_publisher)
+
+ worldtf_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=[x_pos, y_pos, z_pos, '0', '0', '0', 'world', [namespace,'/odom']],
+ namespace=params['namespace'],
+ )
+ ld.add_action(worldtf_publisher)
+
+ controller_manager_timeout = ['--controller-manager-timeout', '50']
+ controller_manager_prefix = 'python.exe' if os.name == 'nt' else ''
+
+ joint_state_broadcaster = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['joint_state_broadcaster'] + controller_manager_timeout,
+ namespace=params['namespace'],
+ )
+
+ diffdrive_controller_spawner = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['diffdrive_controller'] + controller_manager_timeout,
+ namespace=params['namespace'],
+ )
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'] + controller_manager_timeout,
+ prefix=controller_manager_prefix,
+ output='screen',
+ emulate_tty=True,
+ )
+
+ ros_control_spawners = [diffdrive_controller_spawner, joint_state_broadcaster]
+
+
+ ros2_control_params = [package_dir, '/resource/',robot,'/ros2control', robot, '.yml']
+
+
+
+ node_name = ['webots_controller_',namespace]
+ webots_controller = (os.path.join(get_package_share_directory('webots_ros2_driver'), 'scripts', 'webots-controller'))
+ protocol = controller_protocol()
+ ip_address = controller_ip_address() if (protocol == 'tcp') else ''
+ ip_address_option = [] if not ip_address else ['--ip-address=' + ip_address]
+ port = '1234'
+
+
+
+ ros_arguments = [
+ f"-r", ["__ns:=/",namespace],
+ f"-p", ["robot_description:=",package_dir,'/resource/',robot,'/',robot,'_controller_avanzado.urdf'],
+ f"-p", "use_sim_time:=True",
+ f"-p", "set_robot_state_publisher:=True",
+ f"-p", "update_rate:=100"]
+
+
+ rbrobout_driver = ExecuteProcess(
+ cmd=[
+ webots_controller,
+ ["--robot-name=",namespace],
+ ['--protocol=', protocol],
+ *ip_address_option,
+ ['--port=', port],
+ 'ros2',
+ '--ros-args',
+ *ros_arguments,
+ '--params-file',
+ ros2_control_params
+ ],
+ output='screen',
+ name=node_name,
+ respawn=True,
+ # Set WEBOTS_HOME to package directory to load correct controller library
+ additional_env={'WEBOTS_HOME': get_package_prefix('webots_ros2_driver')},
+ )
+ ld.add_action(rbrobout_driver)
+
+ waiting_node = WaitForControllerConnection(
+ target_driver=rbrobout_driver,
+ nodes_to_start=joint_state_broadcaster
+ )
+ ld.add_action(waiting_node)
+
+ init_diffdrive_controller = RegisterEventHandler(
+ OnProcessExit(
+ target_action=joint_state_broadcaster,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ diffdrive_controller_spawner
+ ]
+ )
+ )
+ ld.add_action(init_diffdrive_controller)
+
+ rviz2_config = [get_package_share_directory('webots_robotnik'),'/resource/', robot,'/rviz_config.rviz']
+
+ rviz2 = Node(
+ package="rviz2",
+ executable="rviz2",
+ namespace=params['namespace'],
+ arguments=['-d', rviz2_config]
+
+ )
+ ld.add_action(rviz2)
+
+ return ld
diff --git a/webots_robotnik/launch/robot_launch_alfaViejo.py b/webots_robotnik/launch/robot_launch_alfaViejo.py
new file mode 100644
index 0000000..ac63e1c
--- /dev/null
+++ b/webots_robotnik/launch/robot_launch_alfaViejo.py
@@ -0,0 +1,205 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from launch.substitutions import LaunchConfiguration
+from ament_index_python.packages import get_package_share_directory
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+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 ExtendedArgument, AddArgumentParser
+from launch.substitutions import TextSubstitution, PathJoinSubstitution, Command, PythonExpression
+
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+
+ ld = LaunchDescription()
+ add_to_launcher = AddArgumentParser(ld)
+
+ package_dir = get_package_share_directory('webots_robotnik')
+ robot_controller_path = os.path.join(package_dir, 'resource', 'rbrobout_controller_avanzado.urdf')
+ robot_description_path = os.path.join(package_dir, 'resource', 'rbrobout.urdf')
+ use_sim_time = LaunchConfiguration('use_sim_time', default=True)
+ mode = LaunchConfiguration('mode')
+
+ robot_description_content = load_urdf(robot_description_path)
+
+
+ arg = ExtendedArgument(
+ name='namespace',
+ description='Robot personal name',
+ default_value='robot',
+ use_env=True,
+ environment='NAMESPACE',
+ )
+ add_to_launcher.add_arg(arg)
+ namespace = LaunchConfiguration('namespace')
+
+ arg = ExtendedArgument(
+ name='robot',
+ description='Robot model (rbvogui, rbkairos, rbtheron, rbsummit)',
+ default_value='rbrobout',
+ 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='x',
+ description='x position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ x_pos = LaunchConfiguration('x')
+
+ arg = ExtendedArgument(
+ name='y',
+ description='y position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ y_pos = LaunchConfiguration('y')
+
+ arg = ExtendedArgument(
+ name='z',
+ description='z position in world',
+ default_value='0.0',
+ )
+ add_to_launcher.add_arg(arg)
+ z_pos = LaunchConfiguration('z')
+ params = add_to_launcher.process_arg()
+
+
+
+ robot_state_publisher = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='screen',
+ parameters=[{
+ 'robot_description': ' '
+ }],
+ )
+ ld.add_action(robot_state_publisher)
+
+ spawn_robot_service_call = ExecuteProcess(
+ cmd=[
+ 'ros2', 'service', 'call',
+ '/Ros2Supervisor/spawn_node_from_string',
+ 'webots_ros2_msgs/srv/SpawnNodeFromString',
+ [
+ TextSubstitution(text='{data: "'),
+ robot, TextSubstitution(text=' { name \\"'),
+ namespace, TextSubstitution(text='\\" translation '),
+ x_pos, TextSubstitution(text=' '),
+ y_pos, TextSubstitution(text=' '),
+ z_pos, TextSubstitution(text=' }"}')
+ ]
+ ],
+ output='screen'
+ )
+ ld.add_action(spawn_robot_service_call)
+
+ my_robot_driver = WebotsController(
+ robot_name='rbrobout',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'set_robot_state_publisher': True},
+ ]
+ )
+ #ld.add_action(my_robot_driver)
+
+ footprint_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'base_link', 'base_footprint'],
+ )
+ ld.add_action(footprint_publisher)
+
+ controller_manager_timeout = ['--controller-manager-timeout', '50']
+ controller_manager_prefix = 'python.exe' if os.name == 'nt' else ''
+
+ joint_state_broadcaster = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['joint_state_broadcaster'] + controller_manager_timeout,
+ )
+
+ diffdrive_controller_spawner = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['diffdrive_controller'] + controller_manager_timeout,
+ )
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'] + controller_manager_timeout,
+ prefix=controller_manager_prefix,
+ output='screen',
+ emulate_tty=True,
+ )
+
+ ros_control_spawners = [diffdrive_controller_spawner, joint_state_broadcaster]
+
+ ros2_control_params = os.path.join(package_dir, 'resource', 'ros2controlrbrobout.yml') #Va pero simplemente puedo seleccionar un yaml predeterminado
+
+
+ ros2_control_params2= PathJoinSubstitution([ #No va porque no reconoce PathJoinSubstitution como string
+ package_dir,
+ 'resource',
+ TextSubstitution(text='ros2control'),
+ LaunchConfiguration('robot'),
+ TextSubstitution(text='.yml')
+ ])
+
+ ros2_control_params2 = [package_dir, '/resource/ros2control', robot, '.yml'] #No va porque no saca el valor de LaunchConfiguration(Robot)
+
+ print(ros2_control_params2)
+
+
+ rbrobout_driver = WebotsController(
+ robot_name='rbrobout',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'use_sim_time': use_sim_time,
+ 'set_robot_state_publisher': True,
+ 'update_rate': 100},
+ ros2_control_params
+ ],
+ respawn=True
+ )
+ ld.add_action(rbrobout_driver)
+
+ waiting_node = WaitForControllerConnection(
+ target_driver=rbrobout_driver,
+ nodes_to_start=ros_control_spawners
+ )
+ ld.add_action(waiting_node)
+
+ return ld
diff --git a/webots_robotnik/launch/robot_launch_avanzado.py b/webots_robotnik/launch/robot_launch_avanzado.py
new file mode 100644
index 0000000..fcbd33e
--- /dev/null
+++ b/webots_robotnik/launch/robot_launch_avanzado.py
@@ -0,0 +1,129 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from launch.substitutions import LaunchConfiguration
+from ament_index_python.packages import get_package_share_directory
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+from launch.event_handlers import (OnExecutionComplete, OnProcessExit,
+ OnProcessIO, OnProcessStart, OnShutdown)
+from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess,
+ LogInfo, RegisterEventHandler, TimerAction)
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+ package_dir = get_package_share_directory('webots_robotnik')
+ robot_controller_path = os.path.join(package_dir, 'resource', 'rbrobout_controller_avanzado.urdf')
+ robot_description_path = os.path.join(package_dir, 'resource', 'rbrobout.urdf')
+ use_sim_time = LaunchConfiguration('use_sim_time', default=True)
+
+ robot_description_content = load_urdf(robot_description_path)
+
+ webots = WebotsLauncher(
+ world=os.path.join(package_dir, 'worlds', 'Prueba_rbrobout_webots.wbt'),
+ ros2_supervisor=True
+ )
+
+ robot_state_publisher = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='screen',
+ parameters=[{
+ 'robot_description': ' '
+ }],
+ )
+
+ my_robot_driver = WebotsController(
+ robot_name='rbrobout',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'set_robot_state_publisher': True},
+ ]
+ )
+
+ footprint_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'base_link', 'base_footprint'],
+ )
+
+ controller_manager_timeout = ['--controller-manager-timeout', '50']
+ controller_manager_prefix = 'python.exe' if os.name == 'nt' else ''
+
+ #diffdrive_controller_spawner = Node(
+ #package='controller_manager',
+ #output='screen',
+ #prefix=controller_manager_prefix,
+ #arguments=['diffdrive_controller'] + controller_manager_timeout,
+ #)
+
+ joint_state_broadcaster = Node(
+ package='controller_manager',
+ executable='spawner',
+ output='screen',
+ prefix=controller_manager_prefix,
+ arguments=['joint_state_broadcaster'] + controller_manager_timeout,
+ )
+
+ robotnik_controller= Node(
+ package='controller_manager',
+ executable='spawner',
+ arguments=['robotnik_base_controller'] + controller_manager_timeout,
+ prefix=controller_manager_prefix,
+ output='screen',
+ emulate_tty=True,
+ )
+
+ ros_control_spawners = [robotnik_controller, joint_state_broadcaster]
+
+ ros2_control_params = os.path.join(package_dir, 'resource', 'rbrobout_controller_params.yaml')
+
+ rbrobout_driver = WebotsController(
+ robot_name='rbrobout',
+ parameters=[
+ {'robot_description': robot_controller_path,
+ 'use_sim_time': use_sim_time,
+ 'set_robot_state_publisher': True},
+ ros2_control_params
+ ],
+ respawn=True
+ )
+
+ waiting_node = WaitForControllerConnection(
+ target_driver=rbrobout_driver,
+ nodes_to_start=[joint_state_broadcaster]
+ )
+
+
+ init_robotnik_controller = RegisterEventHandler(
+ OnProcessExit(
+ target_action=joint_state_broadcaster,
+ on_exit=[
+ LogInfo(msg='Joint States spawned'),
+ robotnik_controller
+ ]
+ )
+ )
+
+ return LaunchDescription([
+ webots,
+ webots._supervisor,
+ #my_robot_driver,
+ robot_state_publisher,
+ rbrobout_driver,
+ waiting_node,
+ init_robotnik_controller,
+ footprint_publisher,
+ launch.actions.RegisterEventHandler(
+ event_handler=launch.event_handlers.OnProcessExit(
+ target_action=webots,
+ on_exit=[launch.actions.EmitEvent(event=launch.events.Shutdown())],
+ )
+ )
+ ])
diff --git a/webots_robotnik/launch/robot_launch_beta.py b/webots_robotnik/launch/robot_launch_beta.py
new file mode 100644
index 0000000..fc4d283
--- /dev/null
+++ b/webots_robotnik/launch/robot_launch_beta.py
@@ -0,0 +1,62 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from ament_index_python.packages import get_package_share_directory
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+ package_dir = get_package_share_directory('webots_robotnik')
+ robot_controller_path = os.path.join(package_dir, 'resource', 'rbrobout_controller.urdf')
+ robot_description_path = os.path.join(package_dir, 'resource', 'rbrobout.urdf')
+
+ robot_description_content = load_urdf(robot_description_path)
+
+ webots = WebotsLauncher(
+ world=os.path.join(package_dir, 'worlds', 'Prueba_rbrobout_webots.wbt'),
+ ros2_supervisor=True
+ )
+
+ robot_state_publisher = Node(
+ package='robot_state_publisher',
+ executable='robot_state_publisher',
+ output='screen',
+ parameters=[{
+ 'robot_description': robot_description_content
+ }],
+ )
+
+ my_robot_driver = WebotsController(
+ robot_name='rbrobout',
+ parameters=[
+ {'robot_description': robot_controller_path},
+ {'set_robot_state_publisher': True},
+ ]
+ )
+
+ footprint_publisher = Node(
+ package='tf2_ros',
+ executable='static_transform_publisher',
+ output='screen',
+ arguments=['0', '0', '0', '0', '0', '0', 'base_link', 'base_footprint'],
+ )
+
+ return LaunchDescription([
+ webots,
+ webots._supervisor,
+ my_robot_driver,
+ robot_state_publisher,
+ footprint_publisher,
+ launch.actions.RegisterEventHandler(
+ event_handler=launch.event_handlers.OnProcessExit(
+ target_action=webots,
+ on_exit=[launch.actions.EmitEvent(event=launch.events.Shutdown())],
+ )
+ )
+ ])
diff --git a/webots_robotnik/launch/world_launch.py b/webots_robotnik/launch/world_launch.py
new file mode 100644
index 0000000..4ce8c08
--- /dev/null
+++ b/webots_robotnik/launch/world_launch.py
@@ -0,0 +1,38 @@
+import os
+import launch
+from launch_ros.actions import Node
+from launch import LaunchDescription
+from launch.substitutions import LaunchConfiguration
+from ament_index_python.packages import get_package_share_directory
+from webots_ros2_driver.webots_launcher import WebotsLauncher, Ros2SupervisorLauncher
+from webots_ros2_driver.webots_controller import WebotsController
+from webots_ros2_driver.wait_for_controller_connection import WaitForControllerConnection
+from launch.event_handlers import (OnExecutionComplete, OnProcessExit,
+ OnProcessIO, OnProcessStart, OnShutdown)
+from launch.actions import (DeclareLaunchArgument, EmitEvent, ExecuteProcess,
+ LogInfo, RegisterEventHandler, TimerAction)
+
+def load_urdf(file_path):
+ with open(file_path, 'r') as f:
+ return f.read()
+
+def generate_launch_description():
+ package_dir = get_package_share_directory('webots_robotnik')
+ use_sim_time = LaunchConfiguration('use_sim_time', default=True)
+
+
+ webots = WebotsLauncher(
+ world=os.path.join(package_dir, 'worlds', 'Prueba_rbrobout_webots.wbt'),
+ ros2_supervisor=True
+ )
+
+ return LaunchDescription([
+ webots,
+ webots._supervisor,
+ launch.actions.RegisterEventHandler(
+ event_handler=launch.event_handlers.OnProcessExit(
+ target_action=webots,
+ on_exit=[launch.actions.EmitEvent(event=launch.events.Shutdown())],
+ )
+ )
+ ])
diff --git a/webots_robotnik/package.xml b/webots_robotnik/package.xml
new file mode 100644
index 0000000..741a49f
--- /dev/null
+++ b/webots_robotnik/package.xml
@@ -0,0 +1,22 @@
+
+
+
+ webots_robotnik
+ 0.0.0
+ TODO: Package description
+ joel
+ Apache-2.0
+
+ rclpy
+ geometry_msgs
+ webots_ros2_driver
+
+ ament_copyright
+ ament_flake8
+ ament_pep257
+ python3-pytest
+
+
+ ament_python
+
+
diff --git a/webots_robotnik/protos/rbrobout (noFields).proto b/webots_robotnik/protos/rbrobout (noFields).proto
new file mode 100644
index 0000000..c7a0a17
--- /dev/null
+++ b/webots_robotnik/protos/rbrobout (noFields).proto
@@ -0,0 +1,613 @@
+#VRML_SIM R2023b utf8
+# license: Apache License 2.0
+# license url: http://www.apache.org/licenses/LICENSE-2.0
+# This is a proto file for Webots for the rbrobout
+# template language: javascript
+# Extracted from: /home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/src/robot_description/robots/rbrobout/rbrobout.urdf
+
+PROTO rbrobout [
+ field SFVec3f translation 0 0 -0.49
+ field SFRotation rotation 0 0 1 0
+ field SFString name "rbrobout" # Is `Robot.name`.
+ field SFString controller "" # Is `Robot.controller`.
+ field MFString controllerArgs [] # Is `Robot.controllerArgs`.
+ field SFString customData "" # Is `Robot.customData`.
+ field SFBool supervisor FALSE # Is `Robot.supervisor`.
+ field SFBool synchronization TRUE # Is `Robot.synchronization`.
+ field SFBool selfCollision FALSE # Is `Robot.selfCollision`.
+ field MFNode toolSlot [] # Extend the robot with new nodes at the end of the arm.
+]
+{
+ Robot {
+ translation IS translation
+ controller IS controller
+ physics Physics {
+ }
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.5 0.5 0.5
+ roughness 1
+ metalness 0
+ }
+ geometry Box {
+ size 0.001 0.001 0.001
+ }
+ }
+ Solid {
+ translation -6.210151132147768e-08 9.696835165239764e-09 0.17664612811097358
+ rotation 0.15848101536233386 0.9873620246746995 -4.42952216530456e-08 4.520739722719765e-06
+ children [
+ Shape {
+ appearance DEF darkgrey PBRAppearance {
+ baseColor 0.1 0.1 0.1
+ roughness 1
+ metalness 0
+ }
+ geometry DEF robout_chassis Mesh {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/src/robot_description/meshes/bases/rbrobout/robout_chassis.stl"
+ ]
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position -2.141492116036656e-16
+ axis 0 1 0
+ anchor 0.558 -0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_right_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_front_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.558 -0.2865 0
+ rotation 0 1 0 0 # Sin rotación global para el modelo (esto sigue siendo global)
+
+ children [
+ # Parte visual del modelo (malla) - aquà rotamos junto con la colisión
+ Shape {
+ appearance USE darkgrey
+ geometry DEF robout_wheel Mesh {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/src/robot_description/meshes/wheels/omni_wheel/robout_wheel.stl"
+ ]
+ }
+ }
+ # Colisión de la rueda, aquà aplicamos la rotación
+ Shape {
+ appearance USE darkgrey
+ geometry DEF wheel_collision Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ }
+ ]
+ rotation 1 0 0 1.5708 # Rotamos todo, tanto la malla como la colisión (90 grados sobre el eje X)
+ name "robot_front_right_wheel_link"
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [0 0 0]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.1081415779968945e-12 -7.332384579843867e-13 -8.282206990138889e-06
+ angularVelocity -7.347666218576626e-12 -5.2549886211720226e-11 -4.02051968338612e-18
+ }
+
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position 2.554591342287735e-11
+ axis 0 1 0
+ anchor 0.558 0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_left_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_front_left_wheel_joint_sensor"
+ }
+ ]
+endPoint Solid {
+ translation 0.558 0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name "robot_front_left_wheel_link"
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position 2.5509238640594927e-11
+ axis 0 1 0
+ anchor -0.558 0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_left_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_back_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.558 0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name "robot_back_left_wheel_link"
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position -2.1428697019024251e-16
+ axis 0 1 0
+ anchor -0.558 -0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_right_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_back_right_wheel_joint_sensor"
+ }
+ ]
+endPoint Solid {
+ translation -0.558 -0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name "robot_back_right_wheel_link"
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ Solid {
+ translation 0.242 -0.053 -0.028
+ children [
+ Shape {
+ appearance DEF vectornav_imu_color PBRAppearance {
+ baseColor 1 0 0
+ roughness 1
+ metalness 0
+ }
+ geometry DEF vectornav_vn100 Mesh {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/imu/vectornav_vn100.stl"
+ ]
+ }
+ }
+ Solid {
+ translation -0.00745 0 0.0088
+ children [
+ InertialUnit {
+ name "imu inertial"
+ }
+ Accelerometer {
+ name "imu accelerometer"
+ }
+ Gyro {
+ name "imu gyro"
+ }
+ Compass {
+ name "imu compass"
+ }
+ ]
+ name "robot_vectornav_link"
+ }
+ ]
+ name "robot_vectornav_base_link"
+ boundingObject Box {
+ size 0.036 0.037 0.009
+ }
+ physics Physics {
+ density -1
+ mass 0.05
+ centerOfMass [
+ 0 0 0.01
+ ]
+ inertiaMatrix [
+ 3.333333e-06 3.333333e-06 3.333333e-06
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation 0.845 0.02 0.1555
+ children [
+ Pose {
+ translation 0.0149 -0.0175 0
+ rotation 0.5773502691896258 0.5773502691896258 0.5773502691896258 2.094395
+ children [
+ DEF intel_d435_color_visual CadShape {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/depth/intel_realsense_d435/intel_d435_color.dae"
+ ]
+ }
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ RangeFinder {
+ name "front_camera_depth"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ near 0.1
+ minRange 0.1
+ noise 0.007
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_depth_frame"
+ }
+ Solid {
+ translation 0 -0.05 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name "front_camera_irred1"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name "front_camera_irred2"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_infra2_frame"
+ }
+ Solid {
+ translation 0 0.015 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name "front_camera_color"
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_color_frame"
+ }
+ ]
+ name "robot_front_rgbd_camera_link"
+ boundingObject Box {
+ size 0.02505 0.09 0.025
+ }
+ physics Physics {
+ density -1
+ mass 0.1
+ centerOfMass [
+ 0.0025 -0.015 0
+ ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation -0.845 0.02 0.1555
+ rotation 0 -1 0 3.141593
+ children [
+ Pose {
+ translation 0.0149 -0.0175 0
+ rotation 0.5773502691896258 0.5773502691896258 0.5773502691896258 2.094395
+ children [
+ USE intel_d435_color_visual
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ RangeFinder {
+ name "rear_camera_depth"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ near 0.1
+ minRange 0.1
+ noise 0.007
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_depth_frame"
+ }
+ Solid {
+ translation 0 -0.05 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_irred1"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_irred2"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_infra2_frame"
+ }
+ Solid {
+ translation 0 0.015 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_color"
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_color_frame"
+ }
+ ]
+ name "robot_rear_rgbd_camera_link"
+ boundingObject Box {
+ size 0.02505 0.09 0.025
+ }
+ physics Physics {
+ density -1
+ mass 0.1
+ centerOfMass [
+ 0.0025 -0.015 0
+ ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation 0.8 0.3666 -0.06
+ rotation 0 0 1 0.785398
+ children [
+ DEF microscan3_visual CadShape {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/2d_lidar/sick/microscan3.dae"
+ ]
+ }
+ Solid {
+ translation 0 0 0.11
+ children [
+ Lidar {
+ name "robot_front_laser_sensor"
+ horizontalResolution 700
+ fieldOfView 4.7
+ numberOfLayers 1
+ minRange 0.05
+ maxRange 64
+ noise 0.000156
+ resolution 0.00575
+ }
+ ]
+ name "robot_front_laser_link"
+ }
+ ]
+ name "robot_front_laser_base_link"
+ boundingObject DEF microscan3 Mesh {
+ url [
+ "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/2d_lidar/sick/microscan3.dae"
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 1.15
+ centerOfMass [
+ 0 0 0.075
+ ]
+ inertiaMatrix [
+ 0.003337012 0.003358383 0.002382896
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation -0.8 -0.3666 -0.06
+ rotation 0 0 -1 2.356194
+ children [
+ USE microscan3_visual
+ Solid {
+ translation 0 0 0.11
+ children [
+ Lidar {
+ name "robot_rear_laser_sensor"
+ horizontalResolution 700
+ fieldOfView 4.7
+ numberOfLayers 1
+ minRange 0.05
+ maxRange 64
+ noise 0.000156
+ resolution 0.00575
+ }
+ ]
+ name "robot_rear_laser_link"
+ }
+ ]
+ name "robot_rear_laser_base_link"
+ boundingObject USE microscan3
+ physics Physics {
+ density -1
+ mass 1.15
+ centerOfMass [
+ 0 0 0.075
+ ]
+ inertiaMatrix [
+ 0.003337012 0.003358383 0.002382896
+ 0 0 0
+ ]
+ }
+ }
+ ]
+ name "robot_base_link"
+ boundingObject USE robout_chassis
+ physics Physics {
+ density -1
+ mass 70
+ centerOfMass [
+ 0 0 0.1
+ ]
+ inertiaMatrix [
+ 38.16667 67.33333 104.1667
+ 0 0 0
+ ]
+ }
+ linearVelocity -7.807809119424266e-14 -8.078330905563233e-15 -8.053926776554262e-06
+ angularVelocity -7.347797488777971e-12 -5.254967010210104e-11 -4.0195083981356815e-18
+ }
+ ]
+ name IS name
+}
+}
diff --git a/webots_robotnik/protos/rbrobout.proto b/webots_robotnik/protos/rbrobout.proto
new file mode 100644
index 0000000..8a60683
--- /dev/null
+++ b/webots_robotnik/protos/rbrobout.proto
@@ -0,0 +1,650 @@
+#VRML_SIM R2023b utf8
+# license: Apache License 2.0
+# license url: http://www.apache.org/licenses/LICENSE-2.0
+# This is a proto file for Webots for the rbrobout
+# template language: javascript
+# Extracted from: /home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/src/robot_description/robots/rbrobout/rbrobout.urdf
+
+PROTO rbrobout [
+ field SFVec3f translation 0 0 -0.49
+ field SFRotation rotation 0 0 1 0
+ field SFString name "rbrobout" # Is `Robot.name`.
+ field SFString controller "" # Is `Robot.controller`.
+ field MFString controllerArgs [] # Is `Robot.controllerArgs`.
+ field SFString customData "" # Is `Robot.customData`.
+ field SFBool supervisor FALSE # Is `Robot.supervisor`.
+ field SFBool synchronization TRUE # Is `Robot.synchronization`.
+ field SFBool selfCollision FALSE # Is `Robot.selfCollision`.
+ field MFNode toolSlot [] # Extend the robot with new nodes at the end of the arm.
+
+ field SFString robot_base_link "rbrobout/base_link" # Is `Robot.base_link`.
+ field SFString robot_rear_laser_base_link "rbrobout/rear_laser_base_link" # Is `Robot.rear_laser_base_link`.
+ field SFString robot_rear_laser_link "rbrobout/rear_laser_link" # Is `Robot.rear_laser_link`.
+ field SFString robot_front_laser_base_link "rbrobout/front_laser_base_link" # Is `Robot.front_laser_base_link`.
+ field SFString robot_front_laser_link "rbrobout/front_laser_link" # Is `Robot.front_laser_link`.
+ field SFString robot_rear_rgbd_camera_color_frame "rbrobout/rear_rgbd_camera_color_frame" # Is `Robot.rear_rgbd_camera_color_frame`.
+ field SFString robot_rear_rgbd_camera_infra2_frame "rbrobout/rear_rgbd_camera_infra2_frame" # Is `Robot.rear_rgbd_camera_infra2_frame`.
+ field SFString robot_rear_rgbd_camera_depth_frame "rbrobout/rear_rgbd_camera_depth_frame" # Is `Robot.rear_rgbd_camera_depth_frame`.
+ field SFString robot_rear_rgbd_camera_link "rbrobout/rear_rgbd_camera_link" # Is `Robot.rear_rgbd_camera_link`.
+ field SFString robot_front_rgbd_camera_color_frame "rbrobout/front_rgbd_camera_color_frame" # Is `Robot.front_rgbd_camera_color_frame`.
+ field SFString robot_front_rgbd_camera_infra2_frame "rbrobout/front_rgbd_camera_infra2_frame" # Is `Robot.front_rgbd_camera_infra2_frame `.
+ field SFString robot_front_rgbd_camera_depth_frame "rbrobout/front_rgbd_camera_depth_frame" # Is `Robot.front_rgbd_camera_depth_frame`.
+ field SFString robot_front_rgbd_camera_link "rbrobout/front_rgbd_camera_link" # Is `Robot.front_rgbd_camera_link`.
+ field SFString robot_vectornav_base_link "rbrobout/vectornav_base_link" # Is `Robot.vectornav_base_link `.
+ field SFString robot_back_right_wheel_link "rbrobout/back_right_wheel_link" # Is `Robot.back_right_wheel_link `.
+ field SFString robot_front_right_wheel_link "rbrobout/front_right_wheel_link" # Is `Robot.front_right_wheel_link `.
+ field SFString robot_back_left_wheel_link "rbrobout/back_left_wheel_link" # Is `Robot.back_left_wheel_link `.
+ field SFString robot_front_left_wheel_link "rbrobout/front_left_wheel_link" # Is `Robot.front_left_wheel_link `.
+
+ field SFString robot_front_laser_sensor "rbrobout/front_laser_sensor" # Is `Robot.front_laser_sensor `.
+ field SFString robot_rear_laser_sensor "rbrobout/rear_laser_sensor" # Is `Robot.rear_laser_sensor `.
+ field SFString rear_camera_color "rbrobout/rear_camera_color" # Is `Robot.rear_camera_color `.
+ field SFString front_camera_color "rbrobout/front_camera_color" # Is `Robot.front_camera_color `.
+ field SFString rear_camera_depth "rbrobout/rear_camera_depth" # Is `Robot.rear_camera_depth `.
+ field SFString front_camera_depth "rbrobout/front_camera_depth" # Is `Robot.front_camera_depth `.
+ field SFString rear_camera_irred1 "rbrobout/rear_camera_irred1" # Is `Robot.rear_camera_irred1 `.
+ field SFString front_camera_irred1 "rbrobout/front_camera_irred1" # Is `Robot.front_camera_irred1 `.
+ field SFString rear_camera_irred2 "rbrobout/rear_camera_irred2" # Is `Robot.rear_camera_irred2 `.
+ field SFString front_camera_irred2 "rbrobout/front_camera_irred2" # Is `Robot.front_camera_irred2 `.
+ field SFString imu_inertial "rbrobout/imu_inertial" # Is `Robot.imu_inertial `.
+ field SFString imu_accelerometer "rbrobout/imu_accelerometer" # Is `Robot.imu_accelerometer `.
+ field SFString imu_gyro "rbrobout/imu_gyro" # Is `Robot.imu_gyro `.
+ field SFString imu_compass "rbrobout/imu_compass" # Is `Robot.imu_compass `.
+ field SFString robot_vectornav_link "rbrobout/vectornav_link" # Is `Robot.robot_vectornav_link `.
+
+]
+{
+ Robot {
+ translation IS translation
+ rotation IS rotation
+ controller IS controller
+ physics Physics {
+ }
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.5 0.5 0.5
+ roughness 1
+ metalness 0
+ }
+ geometry Box {
+ size 0.001 0.001 0.001
+ }
+ }
+ Solid {
+ translation -6.210151132147768e-08 9.696835165239764e-09 0.17664612811097358
+ rotation 0.15848101536233386 0.9873620246746995 -4.42952216530456e-08 4.520739722719765e-06
+ children [
+ Shape {
+ appearance DEF darkgrey PBRAppearance {
+ baseColor 0.1 0.1 0.1
+ roughness 1
+ metalness 0
+ }
+ geometry DEF robout_chassis Mesh {
+ url [
+ "../../../../robot_description/share/robot_description/meshes/bases/rbrobout/robout_chassis.stl"
+ ]
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position -2.141492116036656e-16
+ axis 0 1 0
+ anchor 0.558 -0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_right_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_front_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.558 -0.2865 0
+ rotation 0 1 0 0 # Sin rotación global para el modelo (esto sigue siendo global)
+
+ children [
+ # Parte visual del modelo (malla) - aquà rotamos junto con la colisión
+ Shape {
+ appearance USE darkgrey
+ geometry DEF robout_wheel Mesh {
+ url [
+ "../../../../robot_description/share/robot_description/meshes/wheels/omni_wheel/robout_wheel.stl"
+ ]
+ }
+ }
+ # Colisión de la rueda, aquà aplicamos la rotación
+ Shape {
+ appearance USE darkgrey
+ geometry DEF wheel_collision Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ }
+ ]
+ rotation 1 0 0 1.5708 # Rotamos todo, tanto la malla como la colisión (90 grados sobre el eje X)
+ name IS robot_front_right_wheel_link
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [0 0 0]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.1081415779968945e-12 -7.332384579843867e-13 -8.282206990138889e-06
+ angularVelocity -7.347666218576626e-12 -5.2549886211720226e-11 -4.02051968338612e-18
+ }
+
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position 2.554591342287735e-11
+ axis 0 1 0
+ anchor 0.558 0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_left_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_front_left_wheel_joint_sensor"
+ }
+ ]
+endPoint Solid {
+ translation 0.558 0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name IS robot_front_left_wheel_link
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position 2.5509238640594927e-11
+ axis 0 1 0
+ anchor -0.558 0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_left_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_back_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.558 0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name IS robot_back_left_wheel_link
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ position -2.1428697019024251e-16
+ axis 0 1 0
+ anchor -0.558 -0.2865 0
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_right_wheel_joint"
+ maxVelocity 100
+ maxTorque 100
+ }
+ PositionSensor {
+ name "robot_back_right_wheel_joint_sensor"
+ }
+ ]
+endPoint Solid {
+ translation -0.558 -0.2865 0
+ rotation 0 1 0 0
+ children [
+ Shape {
+ appearance USE darkgrey
+ geometry USE robout_wheel
+ }
+ Shape {
+ appearance USE darkgrey
+ geometry USE wheel_collision
+ }
+ ]
+ rotation 1 0 0 1.570796
+ name IS robot_back_right_wheel_link
+ boundingObject Cylinder {
+ height 0.087
+ radius 0.127
+ }
+ physics Physics {
+ density -1
+ mass 6.5
+ centerOfMass [
+ 0 0 0
+ ]
+ inertiaMatrix [
+ 0.0303095 0.05241925 0.0303095
+ 0 0 0
+ ]
+ }
+ linearVelocity 5.108122338309992e-12 -7.332349543793639e-13 -8.282211184626447e-06
+ angularVelocity -7.347666425332296e-12 -5.2549888443541723e-11 -4.0204077585993676e-18
+ }
+ }
+ Solid {
+ translation 0.242 -0.053 -0.028
+ children [
+ Shape {
+ appearance DEF vectornav_imu_color PBRAppearance {
+ baseColor 1 0 0
+ roughness 1
+ metalness 0
+ }
+ geometry DEF vectornav_vn100 Mesh {
+ url [
+ "../../../../robotnik_sensors/share/robotnik_sensors/meshes/imu/vectornav_vn100.stl"
+ ]
+ }
+ }
+ Solid {
+ translation -0.00745 0 0.0088
+ children [
+ InertialUnit {
+ name IS imu_inertial
+ }
+ Accelerometer {
+ name IS imu_accelerometer
+ }
+ Gyro {
+ name IS imu_gyro
+ }
+ Compass {
+ name IS imu_compass
+ }
+ ]
+ name IS robot_vectornav_link
+ }
+ ]
+ name IS robot_vectornav_base_link
+ boundingObject Box {
+ size 0.036 0.037 0.009
+ }
+ physics Physics {
+ density -1
+ mass 0.05
+ centerOfMass [
+ 0 0 0.01
+ ]
+ inertiaMatrix [
+ 3.333333e-06 3.333333e-06 3.333333e-06
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation 0.845 0.02 0.1555
+ children [
+ Pose {
+ translation 0.0149 -0.0175 0
+ rotation 0.5773502691896258 0.5773502691896258 0.5773502691896258 2.094395
+ children [
+ DEF intel_d435_color_visual CadShape {
+ url [
+ "../../../../robotnik_sensors/share/robotnik_sensors/meshes/depth/intel_realsense_d435/intel_d435_color.dae"
+ ]
+ }
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ RangeFinder {
+ name IS front_camera_depth
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ near 0.1
+ minRange 0.1
+ noise 0.007
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_depth_frame
+ }
+ Solid {
+ translation 0 -0.05 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name IS front_camera_irred1
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name IS front_camera_irred2
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_infra2_frame
+ }
+ Solid {
+ translation 0 0.015 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 1 0
+ children [
+ Camera {
+ name IS front_camera_color
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_color_frame
+ }
+ ]
+ name IS robot_front_rgbd_camera_link
+ boundingObject Box {
+ size 0.02505 0.09 0.025
+ }
+ physics Physics {
+ density -1
+ mass 0.1
+ centerOfMass [
+ 0.0025 -0.015 0
+ ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation -0.845 0.02 0.1555
+ rotation 0 -1 0 3.141593
+ children [
+ Pose {
+ translation 0.0149 -0.0175 0
+ rotation 0.5773502691896258 0.5773502691896258 0.5773502691896258 2.094395
+ children [
+ USE intel_d435_color_visual
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ RangeFinder {
+ name IS rear_camera_depth
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ near 0.1
+ minRange 0.1
+ noise 0.007
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_depth_frame
+ }
+ Solid {
+ translation 0 -0.05 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_irred1
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_irred2
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_infra2_frame
+ }
+ Solid {
+ translation 0 0.015 0
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_color
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.05
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_color_frame
+ }
+ ]
+ name IS robot_rear_rgbd_camera_link
+ boundingObject Box {
+ size 0.02505 0.09 0.025
+ }
+ physics Physics {
+ density -1
+ mass 0.1
+ centerOfMass [
+ 0.0025 -0.015 0
+ ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation 0.8 0.3666 -0.06
+ rotation 0 0 1 0.785398
+ children [
+ DEF microscan3_visual CadShape {
+ url [
+ "../../../../robotnik_sensors/share/robotnik_sensors/meshes/2d_lidar/sick/microscan3.dae"
+ ]
+ }
+ Solid {
+ translation 0 0 0.11
+ children [
+ Lidar {
+ name IS robot_front_laser_sensor
+ horizontalResolution 700
+ fieldOfView 4.7
+ numberOfLayers 1
+ minRange 0.05
+ maxRange 64
+ noise 0.000156
+ resolution 0.00575
+ }
+ ]
+ name IS robot_front_laser_link
+ }
+ ]
+ name IS robot_front_laser_base_link
+ boundingObject DEF microscan3 Mesh {
+ url [
+ "../../../../robotnik_sensors/share/robotnik_sensors/meshes/2d_lidar/sick/microscan3.dae"
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 1.15
+ centerOfMass [
+ 0 0 0.075
+ ]
+ inertiaMatrix [
+ 0.003337012 0.003358383 0.002382896
+ 0 0 0
+ ]
+ }
+ }
+ Solid {
+ translation -0.8 -0.3666 -0.06
+ rotation 0 0 -1 2.356194
+ children [
+ USE microscan3_visual
+ Solid {
+ translation 0 0 0.11
+ children [
+ Lidar {
+ name IS robot_rear_laser_sensor
+ horizontalResolution 700
+ fieldOfView 4.7
+ numberOfLayers 1
+ minRange 0.05
+ maxRange 64
+ noise 0.000156
+ resolution 0.00575
+ }
+ ]
+ name IS robot_rear_laser_link
+ }
+ ]
+ name IS robot_rear_laser_base_link
+ boundingObject USE microscan3
+ physics Physics {
+ density -1
+ mass 1.15
+ centerOfMass [
+ 0 0 0.075
+ ]
+ inertiaMatrix [
+ 0.003337012 0.003358383 0.002382896
+ 0 0 0
+ ]
+ }
+ }
+ ]
+ name IS robot_base_link
+ boundingObject USE robout_chassis
+ physics Physics {
+ density -1
+ mass 70
+ centerOfMass [
+ 0 0 0.1
+ ] selfCollision IS selfCollision
+ inertiaMatrix [
+ 38.16667 67.33333 104.1667
+ 0 0 0
+ ]
+ }
+ linearVelocity -7.807809119424266e-14 -8.078330905563233e-15 -8.053926776554262e-06
+ angularVelocity -7.347797488777971e-12 -5.254967010210104e-11 -4.0195083981356815e-18
+ }
+ ]
+ name IS name
+}
+}
diff --git a/webots_robotnik/protos/rbwatcher (noFields).proto b/webots_robotnik/protos/rbwatcher (noFields).proto
new file mode 100644
index 0000000..64bc968
--- /dev/null
+++ b/webots_robotnik/protos/rbwatcher (noFields).proto
@@ -0,0 +1,869 @@
+#VRML_SIM R2023b utf8
+# license: Apache License 2.0
+# license url: http://www.apache.org/licenses/LICENSE-2.0
+# This is a proto file for Webots for the rbwatcher
+# Extracted from: /tmp/tmpdw819j8u.urdf
+
+PROTO rbwatcher [
+ field SFVec3f translation 0 0 0
+ field SFRotation rotation 0 0 1 0
+ field SFString name "rbwatcher" # Is `Robot.name`.
+ field SFString controller "" # Is `Robot.controller`.
+ field MFString controllerArgs [] # Is `Robot.controllerArgs`.
+ field SFString customData "" # Is `Robot.customData`.
+ field SFBool supervisor FALSE # Is `Robot.supervisor`.
+ field SFBool synchronization TRUE # Is `Robot.synchronization`.
+ field SFBool selfCollision FALSE # Is `Robot.selfCollision`.
+]
+{
+ Robot {
+ translation IS translation
+ rotation IS rotation
+ controller IS controller
+ controllerArgs IS controllerArgs
+ customData IS customData
+ supervisor IS supervisor
+ synchronization IS synchronization
+ selfCollision IS selfCollision
+ physics Physics {
+ }
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry Box {
+ size 0.001000 0.001000 0.001000
+ }
+ }
+ Solid {
+ translation 0.000000 0.000000 0.117500
+ children [
+ Shape {
+ appearance DEF darkgrey PBRAppearance {
+ baseColor 0.100000 0.100000 0.100000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rbwatcher_body Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/bases/rbwatcher/rbwatcher_body.stl"
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor 0.227950 -0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_right_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_front_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.227950 -0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rubber_wheel_v2_right Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/wheels/rubber_wheel/rubber_wheel_v2_right.stl"
+ }
+ }
+ ]
+ name "robot_front_right_wheel"
+ boundingObject USE rubber_wheel_v2_right
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor 0.227950 0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_left_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_front_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.227950 0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rubber_wheel_v2_left Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/wheels/rubber_wheel/rubber_wheel_v2_left.stl"
+ }
+ }
+ ]
+ name "robot_front_left_wheel"
+ boundingObject USE rubber_wheel_v2_left
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor -0.227950 -0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_right_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_back_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.227950 -0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry USE rubber_wheel_v2_right
+ }
+ ]
+ name "robot_back_right_wheel"
+ boundingObject USE rubber_wheel_v2_right
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor -0.227950 0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_left_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_back_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.227950 0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry USE rubber_wheel_v2_left
+ }
+ ]
+ name "robot_back_left_wheel"
+ boundingObject USE rubber_wheel_v2_left
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ Solid {
+ translation -0.170240 0.000000 0.276090
+ children [
+ Shape {
+ appearance DEF alu_color PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rbwatcher_top_structure Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/structures/rbwatcher/rbwatcher_top_structure.stl"
+ }
+ }
+ ]
+ name "robot_top_structure_link"
+ boundingObject USE rbwatcher_top_structure
+ physics Physics {
+ density -1
+ mass 0.001000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.000000e-04 1.000000e-06 1.000000e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.035340 0.132000 0.161090
+ children [
+ Shape {
+ appearance DEF vectornav_imu_color PBRAppearance {
+ baseColor 1.000000 0.000000 0.000000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF vectornav_vn100 Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/imu/vectornav_vn100.stl"
+ }
+ }
+ Solid {
+ translation -0.007450 0.000000 0.008800
+ children [
+ InertialUnit {
+ name "imu inertial"
+ }
+ Accelerometer {
+ name "imu accelerometer"
+ }
+ Gyro {
+ name "imu gyro"
+ }
+ Compass {
+ name "imu compass"
+ }
+ ]
+ name "robot_vectornav_link"
+ }
+ ]
+ name "robot_vectornav_base_link"
+ boundingObject Pose {
+ translation 0.000000 0.000000 0.004500
+ children [
+ Box {
+ size 0.036000 0.037000 0.009000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.050000
+ centerOfMass [ 0.000000 0.000000 0.010000 ]
+ inertiaMatrix [
+ 3.333333e-06 3.333333e-06 3.333333e-06
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation 0.308810 0.020000 0.152430
+ children [
+ Pose {
+ translation 0.014900 -0.017500 0.000000
+ rotation 0.577350 0.577350 0.577350 2.094395
+ children [
+ DEF intel_d435_color_visual CadShape {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/depth/intel_realsense_d435/intel_d435_color.dae"
+ }
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ RangeFinder {
+ name "front_camera_depth"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.007000
+ near 0.100000
+ minRange 0.100000
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_depth_frame"
+ }
+ Solid {
+ translation 0.000000 -0.050000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name "front_camera_irred1"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ Pose {
+ translation 0 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name "front_camera_irred2"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_infra2_frame"
+ }
+ Solid {
+ translation 0.000000 0.015000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name "front_camera_color"
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name "robot_front_rgbd_camera_color_frame"
+ }
+ ]
+ name "robot_front_rgbd_camera_link"
+ boundingObject Pose {
+ translation 0.000000 -0.017500 0.000000
+ children [
+ Box {
+ size 0.025050 0.090000 0.025000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.002500 -0.015000 0.000000 ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.318000 0.020000 0.183080
+ rotation 0.000000 1.000000 0.000000 3.141593
+ children [
+ Pose {
+ translation 0.014900 -0.017500 0.000000
+ rotation 0.577350 0.577350 0.577350 2.094395
+ children [
+ USE intel_d435_color_visual
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ RangeFinder {
+ name "rear_camera_depth"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.007000
+ near 0.100000
+ minRange 0.100000
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_depth_frame"
+ }
+ Solid {
+ translation 0.000000 -0.050000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_irred1"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_irred2"
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_infra2_frame"
+ }
+ Solid {
+ translation 0.000000 0.015000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name "rear_camera_color"
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name "robot_rear_rgbd_camera_color_frame"
+ }
+ ]
+ name "robot_rear_rgbd_camera_link"
+ boundingObject Pose {
+ translation 0.000000 -0.017500 0.000000
+ children [
+ Box {
+ size 0.025050 0.090000 0.025000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.002500 -0.015000 0.000000 ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.248240 0.095000 0.763590
+ children [
+ Shape {
+ appearance DEF ublox_gps_color PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF antenna_ANN_MB Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/gps/antenna_ANN_MB.stl"
+ }
+ }
+ ]
+ name "robot_gps_base_link"
+ boundingObject Pose {
+ translation 0.000000 0.000000 0.011250
+ children [
+ Box {
+ size 0.060700 0.083000 0.022500
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.200000
+ centerOfMass [ 0.000000 0.000000 0.015000 ]
+ inertiaMatrix [
+ 1.243500e-04 1.243500e-04 2.187000e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.119240 0.000000 0.386090
+ children [
+ Shape {
+ appearance DEF blackgray_color PBRAppearance {
+ baseColor 0.250000 0.250000 0.250000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF helios_16p Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/3d_lidar/robotsense/helios_16p.stl"
+ }
+ }
+ Solid {
+ translation 0.000000 0.000000 0.063500
+ children [
+ Lidar {
+ name "robot_top_3d_laser"
+ fieldOfView 6.283185
+ verticalFieldOfView 1.483530
+ horizontalResolution 1200
+ numberOfLayers 16
+ minRange 0.300000
+ maxRange 100.000000
+ near 0.3
+ resolution 0.001000
+ }
+ ]
+ name "robot_top_3d_laserlink"
+ }
+ ]
+ name "robot_top_3d_laserbase_link"
+ boundingObject USE helios_16p
+ physics Physics {
+ density -1
+ mass 0.840000
+ centerOfMass [ 0.000000 0.000000 0.041350 ]
+ inertiaMatrix [
+ 1.310420e-03 1.310420e-03 1.663340e-03
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.241240 0.000000 0.311090
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF antena_wifi_2J7A747Bc Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/others/antena_wifi_2J7A747Bc.stl"
+ }
+ }
+ ]
+ name "robot_antenna_base_link"
+ boundingObject USE antena_wifi_2J7A747Bc
+ physics Physics {
+ }
+ }
+ Solid {
+ translation -0.118080 0.000000 0.554290
+ children [
+ Transform {
+ translation -0.070000 -0.070000 -0.045000
+ scale 0.001000 0.001000 0.001000
+ children [
+ Shape {
+ appearance DEF grey_color PBRAppearance {
+ baseColor 0.100000 0.100000 0.100000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF link_750_base Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_base.stl"
+ }
+ }
+ ]
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 0.000000 1.000000
+ anchor 0.000000 0.000000 0.031800
+ }
+ device [
+ RotationalMotor {
+ name "robot_top_ptz_camera_pan_joint"
+ maxVelocity 1.0
+ minPosition -3.1416
+ maxPosition 3.1416
+ maxTorque 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_pan_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.000000 0.000000 0.031800
+ children [
+ Shape {
+ appearance USE grey_color
+ geometry DEF link_750_pan Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_pan.stl"
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 -1.000000 0.000000
+ anchor 0.000000 0.000000 0.102000
+ }
+ device [
+ RotationalMotor {
+ name "robot_top_ptz_camera_tilt_joint"
+ maxVelocity 1.0
+ minPosition -1.5708
+ maxPosition 1.5708
+ maxTorque 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_tilt_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.000000 0.000000 0.102000
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ Pose {
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ Shape {
+ appearance USE grey_color
+ geometry DEF link_750_tilt Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_tilt.stl"
+ }
+ }
+ ]
+ }
+ Solid {
+ translation 0.050000 0.025000 0.000000
+ rotation -1.000000 0.000000 0.000000 1.570796
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name "robot_top_ptz_camera_sensor"
+ fieldOfView 1.047198
+ width 640
+ height 480
+ }
+ ]
+ }
+ Solid {
+ rotation -0.577350 0.577350 -0.577350 2.094395
+ children [
+ SliderJoint {
+ jointParameters JointParameters {
+ axis 0.000000 0.000000 1.000000
+ }
+ device [
+ LinearMotor {
+ name "robot_top_ptz_camera_zoom_color_joint"
+ maxVelocity 5.0
+ maxPosition 10000.0
+ maxForce 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_zoom_color_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ name "robot_top_ptz_camera_zoom_color_link"
+ physics Physics {
+ density -1
+ mass 0.000010
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-08 1.841667e-08 2.016667e-08
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_optical_frame_link"
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_frame_link"
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation 0.050000 -0.025000 0.000000
+ rotation -1.000000 0.000000 0.000000 1.570796
+ children [
+ Solid {
+ rotation -0.577350 0.577350 -0.577350 2.094395
+ children [
+ SliderJoint {
+ jointParameters JointParameters {
+ axis 0.000000 0.000000 1.000000
+ }
+ device [
+ LinearMotor {
+ name "robot_top_ptz_camera_zoom_thermal_joint"
+ maxVelocity 5.0
+ maxPosition 10000.0
+ maxForce 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_zoom_thermal_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ name "robot_top_ptz_camera_zoom_thermal_link"
+ physics Physics {
+ density -1
+ mass 0.000010
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-08 1.841667e-08 2.016667e-08
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_optical_thermal_frame_link"
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_thermal_frame_link"
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_tilt_link"
+ boundingObject Pose {
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ USE link_750_tilt
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_pan_link"
+ boundingObject USE link_750_pan
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.016667e-04 1.841667e-04 1.841667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name "robot_top_ptz_camera_base_link"
+ boundingObject Pose {
+ translation -0.070000 -0.070000 -0.045000
+ children [
+ USE link_750_base
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.800000
+ centerOfMass [ 0.066000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.976600e-03 2.976600e-03 3.630000e-03
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name "robot_base_link"
+ boundingObject USE rbwatcher_body
+ physics Physics {
+ density -1
+ mass 50.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.391000e+00 6.853000e+00 6.125000e+00
+ 4.000000e-03 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS name
+ }
+}
diff --git a/webots_robotnik/protos/rbwatcher.proto b/webots_robotnik/protos/rbwatcher.proto
new file mode 100644
index 0000000..e6bf5be
--- /dev/null
+++ b/webots_robotnik/protos/rbwatcher.proto
@@ -0,0 +1,907 @@
+#VRML_SIM R2023b utf8
+# license: Apache License 2.0
+# license url: http://www.apache.org/licenses/LICENSE-2.0
+# This is a proto file for Webots for the rbwatcher
+# Extracted from: /tmp/tmpdw819j8u.urdf
+
+PROTO rbwatcher [
+ field SFVec3f translation 0 0 0
+ field SFRotation rotation 0 0 1 0
+ field SFString name "rbwatcher" # Is `Robot.name`.
+ field SFString controller "" # Is `Robot.controller`.
+ field MFString controllerArgs [] # Is `Robot.controllerArgs`.
+ field SFString customData "" # Is `Robot.customData`.
+ field SFBool supervisor FALSE # Is `Robot.supervisor`.
+ field SFBool synchronization TRUE # Is `Robot.synchronization`.
+ field SFBool selfCollision FALSE # Is `Robot.selfCollision`.
+ field MFNode toolSlot [] # Extend the robot with new nodes at the end of the arm.
+
+ field SFString robot_base_link "rbwatcher/base_link" # Is `Robot.base_link`.
+ field SFString robot_rear_rgbd_camera_color_frame "rbwatcher/rear_rgbd_camera_color_frame" # Is `Robot.rear_rgbd_camera_color_frame`.
+ field SFString robot_rear_rgbd_camera_infra2_frame "rbwatcher/rear_rgbd_camera_infra2_frame" # Is `Robot.rear_rgbd_camera_infra2_frame`.
+ field SFString robot_rear_rgbd_camera_depth_frame "rbwatcher/rear_rgbd_camera_depth_frame" # Is `Robot.rear_rgbd_camera_depth_frame`.
+ field SFString robot_rear_rgbd_camera_link "rbwatcher/rear_rgbd_camera_link" # Is `Robot.rear_rgbd_camera_link`.
+ field SFString robot_front_rgbd_camera_color_frame "rbwatcher/front_rgbd_camera_color_frame" # Is `Robot.front_rgbd_camera_color_frame`.
+ field SFString robot_front_rgbd_camera_infra2_frame "rbwatcher/front_rgbd_camera_infra2_frame" # Is `Robot.front_rgbd_camera_infra2_frame `.
+ field SFString robot_front_rgbd_camera_depth_frame "rbwatcher/front_rgbd_camera_depth_frame" # Is `Robot.front_rgbd_camera_depth_frame`.
+ field SFString robot_front_rgbd_camera_link "rbwatcher/front_rgbd_camera_link" # Is `Robot.front_rgbd_camera_link`.
+ field SFString robot_vectornav_base_link "rbwatcher/vectornav_base_link" # Is `Robot.vectornav_base_link `.
+ field SFString robot_back_right_wheel_link "rbwatcher/back_right_wheel_link" # Is `Robot.back_right_wheel_link `.
+ field SFString robot_front_right_wheel_link "rbwatcher/front_right_wheel_link" # Is `Robot.front_right_wheel_link `.
+ field SFString robot_back_left_wheel_link "rbwatcher/back_left_wheel_link" # Is `Robot.back_left_wheel_link `.
+ field SFString robot_front_left_wheel_link "rbwatcher/front_left_wheel_link" # Is `Robot.front_left_wheel_link `.
+
+ field SFString rear_camera_color "rbwatcher/rear_camera_color" # Is `Robot.rear_camera_color `.
+ field SFString front_camera_color "rbwatcher/front_camera_color" # Is `Robot.front_camera_color `.
+ field SFString rear_camera_depth "rbwatcher/rear_camera_depth" # Is `Robot.rear_camera_depth `.
+ field SFString front_camera_depth "rbwatcher/front_camera_depth" # Is `Robot.front_camera_depth `.
+ field SFString rear_camera_irred1 "rbwatcher/rear_camera_irred1" # Is `Robot.rear_camera_irred1 `.
+ field SFString front_camera_irred1 "rbwatcher/front_camera_irred1" # Is `Robot.front_camera_irred1 `.
+ field SFString rear_camera_irred2 "rbwatcher/rear_camera_irred2" # Is `Robot.rear_camera_irred2 `.
+ field SFString front_camera_irred2 "rbwatcher/front_camera_irred2" # Is `Robot.front_camera_irred2 `.
+ field SFString imu_inertial "rbwatcher/imu_inertial" # Is `Robot.imu_inertial `.
+ field SFString imu_accelerometer "rbwatcher/imu_accelerometer" # Is `Robot.imu_accelerometer `.
+ field SFString imu_gyro "rbwatcher/imu_gyro" # Is `Robot.imu_gyro `.
+ field SFString imu_compass "rbwatcher/imu_compass" # Is `Robot.imu_compass `.
+ field SFString robot_vectornav_link "rbwatcher/vectornav_link" # Is `Robot.robot_vectornav_link `.
+
+ field SFString robot_top_structure_link "rbwatcher/top_structure_link" # Is `Robot.top_structure_link `.
+ field SFString robot_gps_base_link "rbwatcher/gps_base_link" # Is `Robot.gps_base_link `.
+ field SFString robot_top_3d_laser "rbwatcher/top_3d_laser" # Is `Robot.top_3d_laser `.
+ field SFString robot_top_3d_laserlink "rbwatcher/top_3d_laserlink" # Is `Robot.top_3d_laserlink `.
+ field SFString robot_top_3d_laserbase_link "rbwatcher/top_3d_laserbase_link" # Is `Robot.top_3d_laserbase_link `.
+ field SFString robot_antenna_base_link "rbwatcher/antenna_base_link" # Is `Robot.antenna_base_link `.
+ field SFString robot_top_ptz_camera_sensor "rbwatcher/top_ptz_camera_sensor" # Is `Robot.top_ptz_camera_sensor `.
+ field SFString robot_top_ptz_camera_zoom_color_link "rbwatcher/top_ptz_camera_zoom_color_link" # Is `Robot.top_ptz_camera_zoom_color_link `.
+ field SFString robot_top_ptz_camera_optical_frame_link "rbwatcher/top_ptz_camera_optical_frame_link" # Is `Robot.top_ptz_camera_optical_frame_link `.
+ field SFString robot_top_ptz_camera_frame_link "rbwatcher/top_ptz_camera_frame_link" # Is `Robot.top_ptz_camera_frame_link `.
+ field SFString robot_top_ptz_camera_zoom_thermal_link "rbwatcher/top_ptz_camera_zoom_thermal_link" # Is `Robot.top_ptz_camera_zoom_thermal_link `.
+ field SFString robot_top_ptz_camera_optical_thermal_frame_link "rbwatcher/top_ptz_camera_optical_thermal_frame_link" # Is `Robot.top_ptz_camera_optical_thermal_frame_link `.
+ field SFString robot_top_ptz_camera_thermal_frame_link "rbwatcher/top_ptz_camera_thermal_frame_link" # Is `Robot.top_ptz_camera_thermal_frame_link `.
+ field SFString robot_top_ptz_camera_tilt_link "rbwatcher/top_ptz_camera_tilt_link" # Is `Robot.top_ptz_camera_tilt_link `.
+ field SFString robot_top_ptz_camera_pan_link "rbwatcher/top_ptz_camera_pan_link" # Is `Robot.top_ptz_camera_pan_link `.
+ field SFString robot_top_ptz_camera_base_link "rbwatcher/top_ptz_camera_base_link" # Is `Robot.top_ptz_camera_base_link `.
+
+]
+{
+ Robot {
+ translation IS translation
+ rotation IS rotation
+ controller IS controller
+ physics Physics {
+ }
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry Box {
+ size 0.001000 0.001000 0.001000
+ }
+ }
+ Solid {
+ translation 0.000000 0.000000 0.117500
+ children [
+ Shape {
+ appearance DEF darkgrey PBRAppearance {
+ baseColor 0.100000 0.100000 0.100000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rbwatcher_body Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/bases/rbwatcher/rbwatcher_body.stl"
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor 0.227950 -0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_right_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_front_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.227950 -0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rubber_wheel_v2_right Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/wheels/rubber_wheel/rubber_wheel_v2_right.stl"
+ }
+ }
+ ]
+ name IS robot_front_right_wheel_link
+ boundingObject USE rubber_wheel_v2_right
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor 0.227950 0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_front_left_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_front_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.227950 0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rubber_wheel_v2_left Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/wheels/rubber_wheel/rubber_wheel_v2_left.stl"
+ }
+ }
+ ]
+ name IS robot_front_left_wheel_link
+ boundingObject USE rubber_wheel_v2_left
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor -0.227950 -0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_right_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_back_right_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.227950 -0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry USE rubber_wheel_v2_right
+ }
+ ]
+ name IS robot_back_right_wheel_link
+ boundingObject USE rubber_wheel_v2_right
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 1.000000 0.000000
+ anchor -0.227950 0.155000 0.000000
+ }
+ device [
+ RotationalMotor {
+ name "robot_back_left_wheel_joint"
+ maxVelocity 100.0
+ maxTorque 100.0
+ }
+ PositionSensor {
+ name "robot_back_left_wheel_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation -0.227950 0.155000 0.000000
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry USE rubber_wheel_v2_left
+ }
+ ]
+ name IS robot_back_left_wheel_link
+ boundingObject USE rubber_wheel_v2_left
+ physics Physics {
+ density -1
+ mass 4.000000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.052758e-02 2.761250e-02 2.052758e-02
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ Solid {
+ translation -0.170240 0.000000 0.276090
+ children [
+ Shape {
+ appearance DEF alu_color PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF rbwatcher_top_structure Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/structures/rbwatcher/rbwatcher_top_structure.stl"
+ }
+ }
+ ]
+ name IS robot_top_structure_link
+ boundingObject USE rbwatcher_top_structure
+ physics Physics {
+ density -1
+ mass 0.001000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.000000e-04 1.000000e-06 1.000000e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.035340 0.132000 0.161090
+ children [
+ Shape {
+ appearance DEF vectornav_imu_color PBRAppearance {
+ baseColor 1.000000 0.000000 0.000000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF vectornav_vn100 Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/imu/vectornav_vn100.stl"
+ }
+ }
+ Solid {
+ translation -0.007450 0.000000 0.008800
+ children [
+ InertialUnit {
+ name IS imu_inertial
+ }
+ Accelerometer {
+ name IS imu_accelerometer
+ }
+ Gyro {
+ name IS imu_gyro
+ }
+ Compass {
+ name IS imu_compass
+ }
+ ]
+ name IS robot_vectornav_link
+ }
+ ]
+ name IS robot_vectornav_base_link
+ boundingObject Pose {
+ translation 0.000000 0.000000 0.004500
+ children [
+ Box {
+ size 0.036000 0.037000 0.009000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.050000
+ centerOfMass [ 0.000000 0.000000 0.010000 ]
+ inertiaMatrix [
+ 3.333333e-06 3.333333e-06 3.333333e-06
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation 0.308810 0.020000 0.152430
+ children [
+ Pose {
+ translation 0.014900 -0.017500 0.000000
+ rotation 0.577350 0.577350 0.577350 2.094395
+ children [
+ DEF intel_d435_color_visual CadShape {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/depth/intel_realsense_d435/intel_d435_color.dae"
+ }
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ RangeFinder {
+ name IS front_camera_depth
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.007000
+ near 0.100000
+ minRange 0.100000
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_depth_frame
+ }
+ Solid {
+ translation 0.000000 -0.050000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name IS front_camera_irred1
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ Pose {
+ translation 0 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name IS front_camera_irred2
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_infra2_frame
+ }
+ Solid {
+ translation 0.000000 0.015000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name IS front_camera_color
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name IS robot_front_rgbd_camera_color_frame
+ }
+ ]
+ name IS robot_front_rgbd_camera_link
+ boundingObject Pose {
+ translation 0.000000 -0.017500 0.000000
+ children [
+ Box {
+ size 0.025050 0.090000 0.025000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.002500 -0.015000 0.000000 ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.318000 0.020000 0.183080
+ rotation 0.000000 1.000000 0.000000 3.141593
+ children [
+ Pose {
+ translation 0.014900 -0.017500 0.000000
+ rotation 0.577350 0.577350 0.577350 2.094395
+ children [
+ USE intel_d435_color_visual
+ ]
+ }
+ Solid {
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ RangeFinder {
+ name IS rear_camera_depth
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.007000
+ near 0.100000
+ minRange 0.100000
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_depth_frame
+ }
+ Solid {
+ translation 0.000000 -0.050000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_irred1
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_irred2
+ fieldOfView 1.487021
+ width 1280
+ height 720
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_infra2_frame
+ }
+ Solid {
+ translation 0.000000 0.015000 0.000000
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 1 0 0 3.14159
+ children [
+ Camera {
+ name IS rear_camera_color
+ fieldOfView 1.211259
+ width 1920
+ height 1080
+ noise 0.050000
+ }
+ ]
+ }
+ ]
+ name IS robot_rear_rgbd_camera_color_frame
+ }
+ ]
+ name IS robot_rear_rgbd_camera_link
+ boundingObject Pose {
+ translation 0.000000 -0.017500 0.000000
+ children [
+ Box {
+ size 0.025050 0.090000 0.025000
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.002500 -0.015000 0.000000 ]
+ inertiaMatrix [
+ 7.270833e-05 1.041667e-05 7.270833e-05
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.248240 0.095000 0.763590
+ children [
+ Shape {
+ appearance DEF ublox_gps_color PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF antenna_ANN_MB Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/gps/antenna_ANN_MB.stl"
+ }
+ }
+ ]
+ name IS robot_gps_base_link
+ boundingObject Pose {
+ translation 0.000000 0.000000 0.011250
+ children [
+ Box {
+ size 0.060700 0.083000 0.022500
+ }
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.200000
+ centerOfMass [ 0.000000 0.000000 0.015000 ]
+ inertiaMatrix [
+ 1.243500e-04 1.243500e-04 2.187000e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.119240 0.000000 0.386090
+ children [
+ Shape {
+ appearance DEF blackgray_color PBRAppearance {
+ baseColor 0.250000 0.250000 0.250000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF helios_16p Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/3d_lidar/robotsense/helios_16p.stl"
+ }
+ }
+ Solid {
+ translation 0.000000 0.000000 0.063500
+ children [
+ Lidar {
+ name IS robot_top_3d_laser
+ fieldOfView 6.283185
+ verticalFieldOfView 1.483530
+ horizontalResolution 1200
+ numberOfLayers 16
+ minRange 0.300000
+ maxRange 100.000000
+ near 0.3
+ resolution 0.001000
+ }
+ ]
+ name IS robot_top_3d_laserlink
+ }
+ ]
+ name IS robot_top_3d_laserbase_link
+ boundingObject USE helios_16p
+ physics Physics {
+ density -1
+ mass 0.840000
+ centerOfMass [ 0.000000 0.000000 0.041350 ]
+ inertiaMatrix [
+ 1.310420e-03 1.310420e-03 1.663340e-03
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation -0.241240 0.000000 0.311090
+ children [
+ Shape {
+ appearance PBRAppearance {
+ baseColor 0.500000 0.500000 0.500000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF antena_wifi_2J7A747Bc Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robot_description/share/robot_description/meshes/others/antena_wifi_2J7A747Bc.stl"
+ }
+ }
+ ]
+ name IS robot_antenna_base_link
+ boundingObject USE antena_wifi_2J7A747Bc
+ physics Physics {
+ }
+ }
+ Solid {
+ translation -0.118080 0.000000 0.554290
+ children [
+ Transform {
+ translation -0.070000 -0.070000 -0.045000
+ scale 0.001000 0.001000 0.001000
+ children [
+ Shape {
+ appearance DEF grey_color PBRAppearance {
+ baseColor 0.100000 0.100000 0.100000
+ roughness 1.000000
+ metalness 0
+ }
+ geometry DEF link_750_base Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_base.stl"
+ }
+ }
+ ]
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 0.000000 1.000000
+ anchor 0.000000 0.000000 0.031800
+ }
+ device [
+ RotationalMotor {
+ name "robot_top_ptz_camera_pan_joint"
+ maxVelocity 1.0
+ minPosition -3.1416
+ maxPosition 3.1416
+ maxTorque 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_pan_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.000000 0.000000 0.031800
+ children [
+ Shape {
+ appearance USE grey_color
+ geometry DEF link_750_pan Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_pan.stl"
+ }
+ }
+ HingeJoint {
+ jointParameters HingeJointParameters {
+ axis 0.000000 -1.000000 0.000000
+ anchor 0.000000 0.000000 0.102000
+ }
+ device [
+ RotationalMotor {
+ name "robot_top_ptz_camera_tilt_joint"
+ maxVelocity 1.0
+ minPosition -1.5708
+ maxPosition 1.5708
+ maxTorque 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_tilt_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ translation 0.000000 0.000000 0.102000
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ Pose {
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ Shape {
+ appearance USE grey_color
+ geometry DEF link_750_tilt Mesh {
+ url "/home/joel/Documentos/GitHub/Robotnik_practicas/Robotnik_ws/install/robotnik_sensors/share/robotnik_sensors/meshes/link_750_tilt.stl"
+ }
+ }
+ ]
+ }
+ Solid {
+ translation 0.050000 0.025000 0.000000
+ rotation -1.000000 0.000000 0.000000 1.570796
+ children [
+ Pose {
+ translation 0.01 0 0
+ rotation 0 0 0 0
+ children [
+ Camera {
+ name IS robot_top_ptz_camera_sensor
+ fieldOfView 1.047198
+ width 640
+ height 480
+ }
+ ]
+ }
+ Solid {
+ rotation -0.577350 0.577350 -0.577350 2.094395
+ children [
+ SliderJoint {
+ jointParameters JointParameters {
+ axis 0.000000 0.000000 1.000000
+ }
+ device [
+ LinearMotor {
+ name "robot_top_ptz_camera_zoom_color_joint"
+ maxVelocity 5.0
+ maxPosition 10000.0
+ maxForce 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_zoom_color_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ name IS robot_top_ptz_camera_zoom_color_link
+ physics Physics {
+ density -1
+ mass 0.000010
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-08 1.841667e-08 2.016667e-08
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_optical_frame_link
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_frame_link
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ Solid {
+ translation 0.050000 -0.025000 0.000000
+ rotation -1.000000 0.000000 0.000000 1.570796
+ children [
+ Solid {
+ rotation -0.577350 0.577350 -0.577350 2.094395
+ children [
+ SliderJoint {
+ jointParameters JointParameters {
+ axis 0.000000 0.000000 1.000000
+ }
+ device [
+ LinearMotor {
+ name "robot_top_ptz_camera_zoom_thermal_joint"
+ maxVelocity 5.0
+ maxPosition 10000.0
+ maxForce 10000.0
+ }
+ PositionSensor {
+ name "robot_top_ptz_camera_zoom_thermal_joint_sensor"
+ }
+ ]
+ endPoint Solid {
+ name IS robot_top_ptz_camera_zoom_thermal_link
+ physics Physics {
+ density -1
+ mass 0.000010
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-08 1.841667e-08 2.016667e-08
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_optical_thermal_frame_link
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_thermal_frame_link
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_tilt_link
+ boundingObject Pose {
+ rotation 1.000000 0.000000 0.000000 1.570796
+ children [
+ USE link_750_tilt
+ ]
+ }
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 1.841667e-04 1.841667e-04 2.016667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_pan_link
+ boundingObject USE link_750_pan
+ physics Physics {
+ density -1
+ mass 0.100000
+ centerOfMass [ 0.000000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.016667e-04 1.841667e-04 1.841667e-04
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ }
+ ]
+ name IS robot_top_ptz_camera_base_link
+ physics Physics {
+ density -1
+ mass 0.800000
+ centerOfMass [ 0.066000 0.000000 0.000000 ]
+ inertiaMatrix [
+ 2.976600e-03 2.976600e-03 3.630000e-03
+ 0.000000e+00 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS robot_base_link
+ boundingObject USE rbwatcher_body
+ physics Physics {
+ density -1
+ mass 50.000000
+ centerOfMass [ 0.000000 0.000000 0.000000]
+ selfCollision IS selfCollision
+ inertiaMatrix [
+ 1.391000e+00 6.853000e+00 6.125000e+00
+ 4.000000e-03 0.000000e+00 0.000000e+00
+ ]
+ }
+ }
+ ]
+ name IS name
+ }
+}
diff --git a/webots_robotnik/resource/rbrobout/rbrobout.urdf b/webots_robotnik/resource/rbrobout/rbrobout.urdf
new file mode 100644
index 0000000..5e45d54
--- /dev/null
+++ b/webots_robotnik/resource/rbrobout/rbrobout.urdf
@@ -0,0 +1,877 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.90
+ 0.85
+ 2.75e6
+ 8.25e1
+ 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.90
+ 0.85
+ 2.75e6
+ 8.25e1
+ 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.90
+ 0.85
+ 2.75e6
+ 8.25e1
+ 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.90
+ 0.85
+ 2.75e6
+ 8.25e1
+ 0 0 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+ true
+ 200.0
+ true
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+ 0.0
+
+ 0.01
+
+
+
+
+
+
+
+ Gazebo/Red
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.2112585008840648
+ 0.6806784082777885
+
+ 1920
+ 1080
+ RGB_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ L_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ L_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+ 0.0 0.0 0.0 0.0 0.0 0.0
+ false
+ 30
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ B8G8R8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.007
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.2112585008840648
+ 0.6806784082777885
+
+ 1920
+ 1080
+ RGB_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ L_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ L_INT8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.05
+
+
+ 1
+ 30
+ false
+
+
+
+
+ 0.0 0.0 0.0 0.0 0.0 0.0
+ false
+ 30
+
+ 1.4870205226991688
+ 0.8377580409572782
+
+ 1280
+ 720
+ B8G8R8
+
+
+ 0.1
+ 100
+
+
+ gaussian
+ 0.0
+ 0.007
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 0 0
+ false
+ 30
+
+
+
+ 700
+ 1
+ -2.35
+ 2.35
+
+
+
+ 0.05
+ 64.0
+ 0.00575
+
+
+ gaussian
+ 0.0
+ 0.01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 0 0 0 0 0
+ false
+ 30
+
+
+
+ 700
+ 1
+ -2.35
+ 2.35
+
+
+
+ 0.05
+ 64.0
+ 0.00575
+
+
+ gaussian
+ 0.0
+ 0.01
+
+
+
+
+
+
+
+
+ robot_description
+ robot_state_publisher
+
+
+
+
+
+ webots_ros2_control::Ros2ControlSystem
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
diff --git a/webots_robotnik/resource/rbrobout/rbrobout_controller.urdf b/webots_robotnik/resource/rbrobout/rbrobout_controller.urdf
new file mode 100644
index 0000000..3423779
--- /dev/null
+++ b/webots_robotnik/resource/rbrobout/rbrobout_controller.urdf
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/webots_robotnik/resource/rbrobout/rbrobout_controller_avanzado.urdf b/webots_robotnik/resource/rbrobout/rbrobout_controller_avanzado.urdf
new file mode 100644
index 0000000..feffbcd
--- /dev/null
+++ b/webots_robotnik/resource/rbrobout/rbrobout_controller_avanzado.urdf
@@ -0,0 +1,47 @@
+
+
+
+
+ robot_description
+ robot_state_publisher
+
+
+
+
+
+ webots_ros2_control::Ros2ControlSystem
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
diff --git a/robotnik_gazebo_classic/config/rbrobout/rbrobout_controller_params.yaml b/webots_robotnik/resource/rbrobout/rbrobout_controller_params.yaml
similarity index 85%
rename from robotnik_gazebo_classic/config/rbrobout/rbrobout_controller_params.yaml
rename to webots_robotnik/resource/rbrobout/rbrobout_controller_params.yaml
index f73820b..41aab4e 100644
--- a/robotnik_gazebo_classic/config/rbrobout/rbrobout_controller_params.yaml
+++ b/webots_robotnik/resource/rbrobout/rbrobout_controller_params.yaml
@@ -8,11 +8,12 @@
type: joint_state_broadcaster/JointStateBroadcaster
robotnik_base_controller:
- type: robotnik_controllers/RBKairosController
+ type: robotnik_controller/RBKairosController
joint_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
-
+
+
joint_state_broadcaster:
ros__parameters:
use_sim_time: true
@@ -50,26 +51,38 @@
publish_rate: 200
#General Params
+ profile_list: ["base"]
profile: base
debug: true
open_loop: true
#Timeouts
joint_command_timeout: 0.1
+ imu_timeout: 0.2
cmd_vel_timeout: 1.0
+ #Topics
+ cmd_vel_topic: ~/cmd_vel
+ odom_topic: ~/odometry
+ imu_topic: ~/imu/data
+ emergency_topic: ~/emergency
+ joint_control_topic: ~/joint_control_command
+
#Odom
- odom_frame_id: robot_odom_robotnik_controller
- base_frame_id: robot_base_footprint
- use_2D_odom: true
+ odom_frame_id: robot_odom
+ base_frame_id: robot_base_link
+ set_odometry_service: ~/set_odometry
#Imu
+ use_imu: true
#Kinematics Params
wheel_radius: 0.15
wheel_base: 0.573
track_width: 1.116
+ wheels_positions: ["front_right", "front_left", "back_right", "back_left"]
+
#Cartesian and wheels limits
base:
linear:
diff --git a/webots_robotnik/resource/rbrobout/ros2controlrbrobout.yml b/webots_robotnik/resource/rbrobout/ros2controlrbrobout.yml
new file mode 100644
index 0000000..e11572b
--- /dev/null
+++ b/webots_robotnik/resource/rbrobout/ros2controlrbrobout.yml
@@ -0,0 +1,37 @@
+/**:
+ controller_manager:
+ ros__parameters:
+ update_rate: 50
+
+ diffdrive_controller:
+ type: diff_drive_controller/DiffDriveController
+
+ joint_state_broadcaster:
+ type: joint_state_broadcaster/JointStateBroadcaster
+
+ diffdrive_controller:
+ ros__parameters:
+ left_wheel_names: ["robot_front_left_wheel_joint", "robot_back_left_wheel_joint"]
+ right_wheel_names: ["robot_front_right_wheel_joint", "robot_back_right_wheel_joint"]
+
+ wheel_separation: 0.573
+ wheel_radius: 0.127
+
+ # The real separation between wheels is not resulting in a perfect odometry
+ wheel_separation_multiplier: 1.112
+
+ use_stamped_vel: false
+ base_frame_id: "base_link"
+
+ linear:
+ x:
+ max_velocity: 0.2 # Maximal speed of turtlebot
+ z:
+ max_velocity: 0.2 # Maximal speed of turtlebot
+
+ joint_state_broadcaster:
+ ros__parameters:
+ use_sim_time: true
+ publish_rate: 200
+ extra_joints:
+ - robot_lift_ewellix_lift_top_joint
diff --git a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz b/webots_robotnik/resource/rbrobout/rviz_config.rviz
similarity index 79%
rename from robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz
rename to webots_robotnik/resource/rbrobout/rviz_config.rviz
index 4ef1014..ccde893 100644
--- a/robotnik_gazebo_ignition/config/rbvogui/rviz_config.rviz
+++ b/webots_robotnik/resource/rbrobout/rviz_config.rviz
@@ -7,11 +7,12 @@ Panels:
- /Global Options1
- /Status1
- /RobotModel1
- - /Image1
- /FrontLaserScan1
- /RearLaserScan1
+ - /Image1
+ - /Image2
Splitter Ratio: 0.5
- Tree Height: 262
+ Tree Height: 357
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
@@ -61,7 +62,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
@@ -69,22 +70,12 @@ Visualization Manager:
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:
+ robot_back_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_back_right_wheel:
+ robot_back_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -93,26 +84,8 @@ Visualization Manager:
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:
+ robot_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -126,12 +99,7 @@ Visualization Manager:
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:
+ robot_front_left_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -177,17 +145,7 @@ Visualization Manager:
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:
+ robot_front_right_wheel_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -259,20 +217,6 @@ Visualization Manager:
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:
@@ -282,8 +226,8 @@ Visualization Manager:
Axis: Z
Channel Name: intensity
Class: rviz_default_plugins/LaserScan
- Color: 255; 255; 255
- Color Transformer: Intensity
+ Color: 153; 193; 241
+ Color Transformer: FlatColor
Decay Time: 0
Enabled: true
Invert Rainbow: false
@@ -303,7 +247,7 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/front_laser/scan
+ Value: front_laser/scan
Use Fixed Frame: true
Use rainbow: true
Value: true
@@ -316,8 +260,8 @@ Visualization Manager:
Axis: Z
Channel Name: intensity
Class: rviz_default_plugins/LaserScan
- Color: 255; 255; 255
- Color Transformer: Intensity
+ Color: 246; 97; 81
+ Color Transformer: FlatColor
Decay Time: 0
Enabled: true
Invert Rainbow: false
@@ -337,10 +281,38 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/rear_laser/scan
+ Value: rear_laser/scan
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: front_camera_color/color/image_raw
+ 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: rear_camera_color/color/image_raw
+ Value: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
@@ -387,7 +359,7 @@ Visualization Manager:
Views:
Current:
Class: rviz_default_plugins/Orbit
- Distance: 6.171943664550781
+ Distance: 9.925859451293945
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
@@ -410,12 +382,12 @@ Visualization Manager:
Window Geometry:
Displays:
collapsed: false
- Height: 1043
+ Height: 1016
Hide Left Dock: false
Hide Right Dock: false
Image:
collapsed: false
- QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ QMainWindow State: 000000ff00000000fd0000000400000000000002550000035afc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000001f0000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000001c4000001d30000000000000000fb0000000c00430061006d00650072006100000002eb000000c90000000000000000fb0000000c00430061006d00650072006101000002d0000000c70000000000000000fb0000000a0049006d0061006700650100000233000000980000002800fffffffb0000000a0049006d00610067006501000002d1000000c60000002800fffffffb0000000c00430061006d00650072006101000002d0000000c70000000000000000000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a000002fb00fffffffb0000000800540069006d00650100000000000004500000000000000000000003ca0000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
@@ -424,6 +396,6 @@ Window Geometry:
collapsed: false
Views:
collapsed: false
- Width: 1920
- X: 1920
- Y: 0
+ Width: 1850
+ X: 70
+ Y: 27
diff --git a/webots_robotnik/resource/rbwatcher/rbwatcher_controller_avanzado.urdf b/webots_robotnik/resource/rbwatcher/rbwatcher_controller_avanzado.urdf
new file mode 100644
index 0000000..b5aad3b
--- /dev/null
+++ b/webots_robotnik/resource/rbwatcher/rbwatcher_controller_avanzado.urdf
@@ -0,0 +1,63 @@
+
+
+
+
+ robot_description
+ robot_state_publisher
+
+
+
+
+
+ webots_ros2_control::Ros2ControlSystem
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -10
+ 10
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
+ -20
+ 20
+
+
+
+
+
+
diff --git a/webots_robotnik/resource/rbwatcher/ros2controlrbwatcher.yml b/webots_robotnik/resource/rbwatcher/ros2controlrbwatcher.yml
new file mode 100644
index 0000000..ad6f582
--- /dev/null
+++ b/webots_robotnik/resource/rbwatcher/ros2controlrbwatcher.yml
@@ -0,0 +1,38 @@
+/**:
+ controller_manager:
+ ros__parameters:
+ update_rate: 50
+
+ diffdrive_controller:
+ type: diff_drive_controller/DiffDriveController
+
+ joint_state_broadcaster:
+ type: joint_state_broadcaster/JointStateBroadcaster
+
+ diffdrive_controller:
+ ros__parameters:
+ left_wheel_names: ["robot_front_left_wheel_joint", "robot_back_left_wheel_joint"]
+ right_wheel_names: ["robot_front_right_wheel_joint", "robot_back_right_wheel_joint"]
+
+ wheel_separation: 0.573
+ wheel_radius: 0.127
+
+ # The real separation between wheels is not resulting in a perfect odometry
+ wheel_separation_multiplier: 1.112
+
+ use_stamped_vel: false
+ base_frame_id: "base_link"
+
+ linear:
+ x:
+ max_velocity: 0.2 # Maximal speed of turtlebot
+ z:
+ max_velocity: 0.2 # Maximal speed of turtlebot
+
+ joint_state_broadcaster:
+ ros__parameters:
+ use_sim_time: true
+ publish_rate: 200
+ extra_joints:
+ - robot_top_ptz_camera_pan_joint
+ - robot_top_ptz_camera_tilt_joint
diff --git a/robotnik_gazebo_classic/config/rbvogui/rviz_config.rviz b/webots_robotnik/resource/rbwatcher/rviz_config.rviz
similarity index 76%
rename from robotnik_gazebo_classic/config/rbvogui/rviz_config.rviz
rename to webots_robotnik/resource/rbwatcher/rviz_config.rviz
index 4ef1014..07154e4 100644
--- a/robotnik_gazebo_classic/config/rbvogui/rviz_config.rviz
+++ b/webots_robotnik/resource/rbwatcher/rviz_config.rviz
@@ -1,17 +1,18 @@
Panels:
- Class: rviz_common/Displays
- Help Height: 78
+ Help Height: 129
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /RobotModel1
+ - /PointCloud21
- /Image1
- - /FrontLaserScan1
- - /RearLaserScan1
+ - /Image2
+ - /Image3
Splitter Ratio: 0.5
- Tree Height: 262
+ Tree Height: 186
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
@@ -29,7 +30,7 @@ Panels:
Experimental: false
Name: Time
SyncMode: 0
- SyncSource: FrontLaserScan
+ SyncSource: PointCloud2
Visualization Manager:
Class: ""
Displays:
@@ -61,7 +62,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
@@ -69,7 +70,7 @@ Visualization Manager:
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
- robot_back_left_base_wheel:
+ robot_antenna_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -79,11 +80,6 @@ Visualization Manager:
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
@@ -93,151 +89,162 @@ Visualization Manager:
Alpha: 1
Show Axes: false
Show Trail: false
+ Value: true
robot_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_base_logos_link:
+ Value: true
+ robot_front_left_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_battery_link:
+ robot_front_rgbd_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_chassis_link:
+ robot_front_rgbd_camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_contactors_link:
+ robot_front_rgbd_camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_laser_base_link:
+ robot_front_rgbd_camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_laser_link:
+ robot_front_rgbd_camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_left_base_wheel:
+ robot_front_rgbd_camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_left_wheel:
+ 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_rgbd_camera_base_link:
+ robot_front_right_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_color_frame:
+ Value: true
+ robot_gps_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_color_optical_frame:
+ Value: true
+ robot_gps_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_depth_frame:
+ robot_rear_rgbd_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_depth_optical_frame:
+ robot_rear_rgbd_camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra1_frame:
+ robot_rear_rgbd_camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra1_optical_frame:
+ robot_rear_rgbd_camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra2_frame:
+ robot_rear_rgbd_camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_infra2_optical_frame:
+ robot_rear_rgbd_camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_front_rgbd_camera_link:
+ robot_rear_rgbd_camera_infra1_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_right_base_wheel:
+ robot_rear_rgbd_camera_infra2_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_front_right_wheel:
+ robot_rear_rgbd_camera_infra2_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
- Value: true
- robot_leds_link:
+ robot_rear_rgbd_camera_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_rear_laser_base_link:
+ robot_top_3d_laserbase_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
- robot_rear_laser_link:
+ robot_top_3d_laserlink:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_base_link:
+ robot_top_ptz_camera_base_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_color_frame:
+ Value: true
+ robot_top_ptz_camera_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_color_optical_frame:
+ robot_top_ptz_camera_optical_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_depth_frame:
+ robot_top_ptz_camera_optical_thermal_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_depth_optical_frame:
+ robot_top_ptz_camera_pan_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra1_frame:
+ Value: true
+ robot_top_ptz_camera_thermal_frame_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra1_optical_frame:
+ robot_top_ptz_camera_tilt_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra2_frame:
+ Value: true
+ robot_top_ptz_camera_zoom_color_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_infra2_optical_frame:
+ robot_top_ptz_camera_zoom_thermal_link:
Alpha: 1
Show Axes: false
Show Trail: false
- robot_rear_rgbd_camera_link:
+ robot_top_structure_link:
Alpha: 1
Show Axes: false
Show Trail: false
@@ -259,20 +266,6 @@ Visualization Manager:
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:
@@ -281,7 +274,7 @@ Visualization Manager:
Value: true
Axis: Z
Channel Name: intensity
- Class: rviz_default_plugins/LaserScan
+ Class: rviz_default_plugins/PointCloud2
Color: 255; 255; 255
Color Transformer: Intensity
Decay Time: 0
@@ -291,11 +284,11 @@ Visualization Manager:
Max Intensity: 0
Min Color: 0; 0; 0
Min Intensity: 0
- Name: FrontLaserScan
+ Name: PointCloud2
Position Transformer: XYZ
Selectable: true
Size (Pixels): 3
- Size (m): 0.05000000074505806
+ Size (m): 0.009999999776482582
Style: Flat Squares
Topic:
Depth: 5
@@ -303,48 +296,56 @@ Visualization Manager:
Filter size: 10
History Policy: Keep Last
Reliability Policy: Reliable
- Value: /robot/front_laser/scan
+ Value: top_3d_laser/scan/points
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
+ - Class: rviz_default_plugins/Image
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
+ Max Value: 1
+ Median window: 5
+ Min Value: 0
+ Name: Image
+ Normalize Range: true
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: front_camera_color/color/image_raw
+ 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: rear_camera_color/color/image_raw
+ 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: top_ptz_camera/color/image_raw
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:
@@ -387,7 +388,7 @@ Visualization Manager:
Views:
Current:
Class: rviz_default_plugins/Orbit
- Distance: 6.171943664550781
+ Distance: 16.387645721435547
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
@@ -402,20 +403,20 @@ Visualization Manager:
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
- Pitch: 0.6603981852531433
+ Pitch: 0.5753982663154602
Target Frame:
Value: Orbit (rviz)
- Yaw: 2.4503984451293945
+ Yaw: 2.8904004096984863
Saved: ~
Window Geometry:
Displays:
collapsed: false
- Height: 1043
+ Height: 1016
Hide Left Dock: false
Hide Right Dock: false
Image:
collapsed: false
- QMainWindow State: 000000ff00000000fd00000004000000000000025500000379fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b0000018f000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000001d0000001e40000001600fffffffb0000000c00430061006d00650072006100000002eb000000c90000000000000000000000010000010f00000379fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000379000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007800000003efc0100000002fb0000000800540069006d00650100000000000007800000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000004100000037900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
+ QMainWindow State: 000000ff00000000fd0000000400000000000002550000035afc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000178000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000001c4000001d30000000000000000fb0000000c00430061006d00650072006100000002eb000000c90000000000000000fb0000000c00430061006d006500720061010000029e000000f90000000000000000fb0000000a0049006d00610067006501000001bb000000730000002800fffffffb0000000a0049006d0061006700650100000234000000960000002800fffffffb0000000a0049006d00610067006501000002d0000000c70000002800ffffff000000010000010f0000035afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d0000035a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073a0000003efc0100000002fb0000000800540069006d006501000000000000073a000002fb00fffffffb0000000800540069006d00650100000000000004500000000000000000000003ca0000035a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
@@ -424,6 +425,6 @@ Window Geometry:
collapsed: false
Views:
collapsed: false
- Width: 1920
- X: 1920
- Y: 0
+ Width: 1850
+ X: 70
+ Y: 27
diff --git a/webots_robotnik/resource/ros2control.yml b/webots_robotnik/resource/ros2control.yml
new file mode 100644
index 0000000..b24d4d9
--- /dev/null
+++ b/webots_robotnik/resource/ros2control.yml
@@ -0,0 +1,33 @@
+controller_manager:
+ ros__parameters:
+ update_rate: 50
+
+ diffdrive_controller:
+ type: diff_drive_controller/DiffDriveController
+
+ joint_state_broadcaster:
+ type: joint_state_broadcaster/JointStateBroadcaster
+
+diffdrive_controller:
+ ros__parameters:
+ left_wheel_names: ["left wheel motor"]
+ right_wheel_names: ["right wheel motor"]
+
+ wheel_separation: 0.16
+ wheel_radius: 0.033
+
+ # The real separation between wheels is not resulting in a perfect odometry
+ wheel_separation_multiplier: 1.112
+
+ use_stamped_vel: false
+ base_frame_id: "base_link"
+
+ linear:
+ x:
+ max_velocity: 0.2 # Maximal speed of turtlebot
+
+joint_state_broadcaster:
+ ros__parameters:
+ extra_joints:
+ - LDS-01_secondary_motor
+ - LDS-01_main_motor
diff --git a/webots_robotnik/resource/webots_robotnik b/webots_robotnik/resource/webots_robotnik
new file mode 100644
index 0000000..e69de29
diff --git a/webots_robotnik/setup.cfg b/webots_robotnik/setup.cfg
new file mode 100644
index 0000000..49dca47
--- /dev/null
+++ b/webots_robotnik/setup.cfg
@@ -0,0 +1,4 @@
+[develop]
+script_dir=$base/lib/webots_robotnik
+[install]
+install_scripts=$base/lib/webots_robotnik
diff --git a/webots_robotnik/setup.py b/webots_robotnik/setup.py
new file mode 100644
index 0000000..511163e
--- /dev/null
+++ b/webots_robotnik/setup.py
@@ -0,0 +1,41 @@
+from setuptools import setup
+from glob import glob
+import os
+
+package_name = 'webots_robotnik'
+
+data_files = []
+data_files.append(('share/ament_index/resource_index/packages', ['resource/' + package_name]))
+data_files.append(('share/' + package_name, ['package.xml']))
+
+# launch, worlds, protos
+data_files.append(('share/' + package_name + '/launch', glob('launch/*.py')))
+data_files.append(('share/' + package_name + '/worlds', glob('worlds/*.wbt')))
+data_files.append(('share/' + package_name + '/protos', glob('protos/*.proto')))
+
+# resource con subdirectorios
+for dirpath, dirnames, filenames in os.walk('resource'):
+ if filenames:
+ install_path = os.path.join('share', package_name, dirpath)
+ file_paths = [os.path.join(dirpath, f) for f in filenames]
+ data_files.append((install_path, file_paths))
+
+setup(
+ name=package_name,
+ version='0.0.0',
+ packages=[package_name],
+ data_files=data_files,
+ install_requires=['setuptools'],
+ zip_safe=True,
+ maintainer='joel',
+ maintainer_email='joelramosbeltran@gmail.com',
+ description='TODO: Package description',
+ license='TODO: License declaration',
+ tests_require=['pytest'],
+ entry_points={
+ 'console_scripts': [
+ 'my_robot_driver = my_package.my_robot_driver:main'
+ ],
+ },
+)
+
diff --git a/webots_robotnik/test/test_copyright.py b/webots_robotnik/test/test_copyright.py
new file mode 100644
index 0000000..97a3919
--- /dev/null
+++ b/webots_robotnik/test/test_copyright.py
@@ -0,0 +1,25 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_copyright.main import main
+import pytest
+
+
+# Remove the `skip` decorator once the source file(s) have a copyright header
+@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.')
+@pytest.mark.copyright
+@pytest.mark.linter
+def test_copyright():
+ rc = main(argv=['.', 'test'])
+ assert rc == 0, 'Found errors'
diff --git a/webots_robotnik/test/test_flake8.py b/webots_robotnik/test/test_flake8.py
new file mode 100644
index 0000000..27ee107
--- /dev/null
+++ b/webots_robotnik/test/test_flake8.py
@@ -0,0 +1,25 @@
+# Copyright 2017 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_flake8.main import main_with_errors
+import pytest
+
+
+@pytest.mark.flake8
+@pytest.mark.linter
+def test_flake8():
+ rc, errors = main_with_errors(argv=[])
+ assert rc == 0, \
+ 'Found %d code style errors / warnings:\n' % len(errors) + \
+ '\n'.join(errors)
diff --git a/webots_robotnik/test/test_pep257.py b/webots_robotnik/test/test_pep257.py
new file mode 100644
index 0000000..b234a38
--- /dev/null
+++ b/webots_robotnik/test/test_pep257.py
@@ -0,0 +1,23 @@
+# Copyright 2015 Open Source Robotics Foundation, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from ament_pep257.main import main
+import pytest
+
+
+@pytest.mark.linter
+@pytest.mark.pep257
+def test_pep257():
+ rc = main(argv=['.', 'test'])
+ assert rc == 0, 'Found code style errors / warnings'
diff --git a/webots_robotnik/webots_robotnik/__init__.py b/webots_robotnik/webots_robotnik/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/webots_robotnik/webots_robotnik/my_robot_driver.py b/webots_robotnik/webots_robotnik/my_robot_driver.py
new file mode 100644
index 0000000..a9ce260
--- /dev/null
+++ b/webots_robotnik/webots_robotnik/my_robot_driver.py
@@ -0,0 +1,49 @@
+import rclpy
+from geometry_msgs.msg import Twist
+
+HALF_DISTANCE_BETWEEN_WHEELS = 0.573
+WHEEL_RADIUS = 0.127
+
+class MyRobotDriver:
+ def init(self, webots_node, properties):
+ self.__robot = webots_node.robot
+
+ self.__left_front_motor = self.__robot.getDevice('robot_front_left_wheel_joint')
+ self.__right_front_motor = self.__robot.getDevice('robot_front_right_wheel_joint')
+ self.__left_rear_motor = self.__robot.getDevice('robot_back_left_wheel_joint')
+ self.__right_rear_motor = self.__robot.getDevice('robot_back_right_wheel_joint')
+
+ self.__left_front_motor.setPosition(float('inf'))
+ self.__left_front_motor.setVelocity(0)
+
+ self.__left_rear_motor.setPosition(float('inf'))
+ self.__left_rear_motor.setVelocity(0)
+
+ self.__right_front_motor.setPosition(float('inf'))
+ self.__right_front_motor.setVelocity(0)
+
+ self.__right_rear_motor.setPosition(float('inf'))
+ self.__right_rear_motor.setVelocity(0)
+
+ self.__target_twist = Twist()
+
+ rclpy.init(args=None)
+ self.__node = rclpy.create_node('my_robot_driver')
+ self.__node.create_subscription(Twist, 'cmd_vel', self.__cmd_vel_callback, 1)
+
+ def __cmd_vel_callback(self, twist):
+ self.__target_twist = twist
+
+ def step(self):
+ rclpy.spin_once(self.__node, timeout_sec=0)
+
+ forward_speed = self.__target_twist.linear.x
+ angular_speed = self.__target_twist.angular.z
+
+ command_motor_left = (forward_speed - angular_speed * HALF_DISTANCE_BETWEEN_WHEELS) / WHEEL_RADIUS
+ command_motor_right = (forward_speed + angular_speed * HALF_DISTANCE_BETWEEN_WHEELS) / WHEEL_RADIUS
+
+ self.__left_front_motor.setVelocity(command_motor_left)
+ self.__right_front_motor.setVelocity(command_motor_right)
+ self.__left_rear_motor.setVelocity(command_motor_left)
+ self.__right_rear_motor.setVelocity(command_motor_right)
diff --git a/webots_robotnik/worlds/.Prueba_rbrobout_webots.jpg b/webots_robotnik/worlds/.Prueba_rbrobout_webots.jpg
new file mode 100644
index 0000000..ce068e9
Binary files /dev/null and b/webots_robotnik/worlds/.Prueba_rbrobout_webots.jpg differ
diff --git a/webots_robotnik/worlds/.Prueba_rbrobout_webots.wbproj b/webots_robotnik/worlds/.Prueba_rbrobout_webots.wbproj
new file mode 100644
index 0000000..053086d
--- /dev/null
+++ b/webots_robotnik/worlds/.Prueba_rbrobout_webots.wbproj
@@ -0,0 +1,17 @@
+Webots Project File version R2023b
+perspectives: 000000ff00000000fd00000002000000010000011c000002f1fc0200000001fb0000001400540065007800740045006400690074006f00720100000016000002f10000003f00ffffff000000030000073a000000d9fc0100000001fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c01000000000000073a0000006900ffffff0000061c000002f100000001000000020000000100000008fc00000000
+simulationViewPerspectives: 000000ff0000000100000002000001000000051c0100000002010000000100
+sceneTreePerspectives: 000000ff00000001000000030000001c000002b4000000fa0100000002010000000200
+maximizedDockId: -1
+centralWidgetVisible: 1
+orthographicViewHeight: 1
+textFiles: -1
+consoles: Console:All:All
+renderingDevicePerspectives: rbrobout:front_camera_color;0;0.378268;0.0517268;0
+renderingDevicePerspectives: rbrobout:front_camera_depth;0;0.564185;0.0570871;0
+renderingDevicePerspectives: rbrobout:front_camera_irred1;0;0.564185;0.0570871;0
+renderingDevicePerspectives: rbrobout:front_camera_irred2;0;0.563726;0.0578527;0
+renderingDevicePerspectives: rbrobout:rear_camera_color;0;0.398958;0;0
+renderingDevicePerspectives: rbrobout:rear_camera_depth;0;0.567197;0.0520674;0
+renderingDevicePerspectives: rbrobout:rear_camera_irred1;0;0.598437;0;0
+renderingDevicePerspectives: rbrobout:rear_camera_irred2;0;0.598437;0;0
diff --git a/webots_robotnik/worlds/.prueba1.wbproj b/webots_robotnik/worlds/.prueba1.wbproj
new file mode 100644
index 0000000..5960b43
--- /dev/null
+++ b/webots_robotnik/worlds/.prueba1.wbproj
@@ -0,0 +1,9 @@
+Webots Project File version R2023b
+perspectives: 000000ff00000000fd00000002000000010000011c000002f1fc0200000001fb0000001400540065007800740045006400690074006f00720100000016000002f10000003f00ffffff000000030000073a000000d9fc0100000001fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c01000000000000073a0000006900ffffff0000061c000002f100000001000000020000000100000008fc00000000
+simulationViewPerspectives: 000000ff0000000100000002000001000000051c0100000002010000000100
+sceneTreePerspectives: 000000ff00000001000000030000001c000000c0000000fa0100000002010000000200
+maximizedDockId: -1
+centralWidgetVisible: 1
+orthographicViewHeight: 1
+textFiles: -1
+consoles: Console:All:All
diff --git a/webots_robotnik/worlds/Prueba_rbrobout_webots.wbt b/webots_robotnik/worlds/Prueba_rbrobout_webots.wbt
new file mode 100644
index 0000000..18cdd0b
--- /dev/null
+++ b/webots_robotnik/worlds/Prueba_rbrobout_webots.wbt
@@ -0,0 +1,55 @@
+#VRML_SIM R2023b utf8
+
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto"
+IMPORTABLE EXTERNPROTO "../protos/rbrobout.proto"
+IMPORTABLE EXTERNPROTO "../protos/rbwatcher.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/balls/protos/Ball.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/apartment_structure/protos/Wall.proto"
+
+WorldInfo {
+}
+Viewpoint {
+ orientation -0.3415372376488703 0.003484476863904683 0.9398617843705339 3.125229487157289
+ position 27.504321193053503 0.8999970111483542 24.446385068927718
+}
+TexturedBackground {
+}
+TexturedBackgroundLight {
+}
+RectangleArena {
+ translation 0 0 -0.64
+ floorSize 15 15
+ floorTileSize 1 1
+ wallHeight 1
+}
+Ball {
+ hidden linearVelocity_0 -1.2963801518755102e-15 -2.1501587573096195e-18 5.642261729932983e-17
+ hidden angularVelocity_0 4.271803677481759e-18 -2.575568655742158e-15 7.94156195852536e-40
+ translation 0.33942999999989426 -2.7200000007065985 -0.14000000000001572
+ rotation -0.001658860884203631 0.9999986240893367 1.4351811943874895e-08 2.4338652922105834e-06
+ radius 0.5
+ mass 1e-11
+}
+Wall {
+ translation -3.75 0 -0.64
+ size 0.1 5 2.4
+}
+Wall {
+ translation 3.75 0 -0.64
+ name "wall(1)"
+ size 0.1 5 2.4
+}
+Wall {
+ translation 0 -3.75 -0.64
+ rotation 0 0 1 1.5707996938995747
+ name "wall(2)"
+ size 0.1 5 2.4
+}
+Wall {
+ translation 0 3.75 -0.64
+ rotation 0 0 1 1.5707996938995747
+ name "wall(3)"
+ size 0.1 5 2.4
+}
diff --git a/webots_robotnik/worlds/auxiliar.txt b/webots_robotnik/worlds/auxiliar.txt
new file mode 100644
index 0000000..5f4577d
--- /dev/null
+++ b/webots_robotnik/worlds/auxiliar.txt
@@ -0,0 +1,27 @@
+#VRML_SIM R2025a utf8
+
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto"
+EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto"
+EXTERNPROTO "../protos/rbrobout.proto"
+
+WorldInfo {
+}
+Viewpoint {
+ orientation 0.10191405677525116 -0.18341781994458842 -0.9777379139413515 5.237674100104831
+ position -1.9942878694861297 -4.803766957859288 0.4791667009234102
+}
+TexturedBackground {
+}
+TexturedBackgroundLight {
+}
+RectangleArena {
+ translation 0 0 -0.64
+ floorSize 10 10
+ floorTileSize 1 1
+ wallHeight 0.3
+}
+rbrobout {
+ hidden rotation_3 1 2.5545921771152848e-11 -2.554591342287735e-11 1.570796
+ hidden rotation_4 1 2.5509246976885293e-11 -2.5509238640594923e-11 1.570796
+}