From ad4b006ff4e1776181f6a48c6731480e413ae6fa Mon Sep 17 00:00:00 2001 From: JoelRamosBeltran Date: Thu, 8 May 2025 13:15:00 +0200 Subject: [PATCH] Robotnik_simulation Ignition y Webots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El Robotnik_simulation que he llevado a cabo durante las prácticas --- LICENSE | 27 - README.md | 241 +- ...ller_0.0.0-20250131.153235-local_amd64.deb | Bin 0 -> 249720 bytes ...rs_0.0.0-20250407.104325-b0a866a_amd64.deb | Bin 284264 -> 0 bytes ...es_2.2.0-20241219.115354-5c44131_amd64.deb | Bin 0 -> 5104 bytes ...gs_2.2.0-20241219.115432-5c44131_amd64.deb | Bin 0 -> 49978 bytes img/simulation_view_ignition.png | Bin 249690 -> 0 bytes .../rbkairos/rbkairos_controller_params.yaml | 135 - .../config/rbkairos/rviz_config.rviz | 391 --- .../config}/rbkairos_controller_params.yaml | 30 +- .../rbsummit/rbsummit_controller_params.yaml | 110 - .../config/rbsummit/rviz_config.rviz | 313 -- .../config}/rbsummit_controller_params.yaml | 20 +- .../config/rbtheron/rviz_config.rviz | 449 --- .../rbtheron_controller_params.yaml | 18 +- .../rbvogui/rbvogui_controller_params.yaml | 149 - .../config}/rbvogui_controller_params.yaml | 18 +- .../launch/spawn_robot.launch.py | 87 +- robotnik_gazebo_classic/package.xml | 11 +- robotnik_gazebo_ignition/CMakeLists.txt | 8 +- .../config/auxiliar/ignition_bridge.sh | 120 + .../config/auxiliar/initial_bridge.yaml | 12 + .../config/auxiliar/topics.yaml | 161 + robotnik_gazebo_ignition/config/bridge.yaml | 42 + .../config/rbkairos/bridge.yaml | 40 - .../config/rbkairos/rviz_config.rviz | 391 --- .../config/rbrobout/bridge.yaml | 68 +- .../config/rbrobout/gz_bridge.yaml | 60 + .../rbrobout/rbrobout_controller_params.yaml | 138 - .../config/rbrobout/rviz_config.rviz | 126 +- .../config/rbsummit/bridge.yaml | 42 - .../config/rbsummit/rviz_config.rviz | 313 -- .../config/rbtheron/bridge.yaml | 52 - .../rbtheron/rbtheron_controller_params.yaml | 91 - .../config/rbtheron/rviz_config.rviz | 449 --- .../config/rbvogui/bridge.yaml | 51 - .../config/rbwatcher/bridge.yaml | 84 + .../config/rbwatcher/gz_bridge.yaml | 72 + .../config/rbwatcher}/rviz_config.rviz | 215 +- .../launch/spawn_robot.launch.py | 94 +- .../launch/spawn_robotRbwatcher.launch.py | 213 ++ .../spawn_robot_dinamicbridge.launch.py | 272 ++ .../launch/spawn_world.launch.py | 30 +- robotnik_gazebo_ignition/package.xml | 15 +- robotnik_gazebo_ignition/worlds/demo.world | 2877 +++++++++++++++++ .../worlds/empty_world.sdf | 139 + .../worlds/{ => ignition}/demo.sdf.world | 16 +- .../worlds/ignition/demo2.sdf.world | 2781 ++++++++++++++++ .../worlds/ignition/prueba3.sdf.world | 518 +++ robotnik_gazebo_ignition/worlds/maze.world | 2877 +++++++++++++++++ .../worlds/vineyard.world | 1690 ++++++++++ .../worlds/willow_garage.world | 38 + webots_robotnik/LICENSE | 202 ++ .../launch/rbwatcher_launch_alfa.py | 228 ++ webots_robotnik/launch/robot_launch_alfa.py | 301 ++ .../launch/robot_launch_alfaViejo.py | 205 ++ .../launch/robot_launch_avanzado.py | 129 + webots_robotnik/launch/robot_launch_beta.py | 62 + webots_robotnik/launch/world_launch.py | 38 + webots_robotnik/package.xml | 22 + .../protos/rbrobout (noFields).proto | 613 ++++ webots_robotnik/protos/rbrobout.proto | 650 ++++ .../protos/rbwatcher (noFields).proto | 869 +++++ webots_robotnik/protos/rbwatcher.proto | 907 ++++++ .../resource/rbrobout/rbrobout.urdf | 877 +++++ .../rbrobout/rbrobout_controller.urdf | 6 + .../rbrobout_controller_avanzado.urdf | 47 + .../rbrobout/rbrobout_controller_params.yaml | 23 +- .../resource/rbrobout/ros2controlrbrobout.yml | 37 + .../resource/rbrobout}/rviz_config.rviz | 126 +- .../rbwatcher_controller_avanzado.urdf | 63 + .../rbwatcher/ros2controlrbwatcher.yml | 38 + .../resource/rbwatcher}/rviz_config.rviz | 215 +- webots_robotnik/resource/ros2control.yml | 33 + webots_robotnik/resource/webots_robotnik | 0 webots_robotnik/setup.cfg | 4 + webots_robotnik/setup.py | 41 + webots_robotnik/test/test_copyright.py | 25 + webots_robotnik/test/test_flake8.py | 25 + webots_robotnik/test/test_pep257.py | 23 + webots_robotnik/webots_robotnik/__init__.py | 0 .../webots_robotnik/my_robot_driver.py | 49 + .../worlds/.Prueba_rbrobout_webots.jpg | Bin 0 -> 31336 bytes .../worlds/.Prueba_rbrobout_webots.wbproj | 17 + webots_robotnik/worlds/.prueba1.wbproj | 9 + .../worlds/Prueba_rbrobout_webots.wbt | 55 + webots_robotnik/worlds/auxiliar.txt | 27 + 87 files changed, 18133 insertions(+), 3927 deletions(-) delete mode 100644 LICENSE create mode 100644 debs/ros-humble-robotnik-controller_0.0.0-20250131.153235-local_amd64.deb delete mode 100644 debs/ros-humble-robotnik-controllers_0.0.0-20250407.104325-b0a866a_amd64.deb create mode 100644 debs/ros-humble-robotnik-interfaces_2.2.0-20241219.115354-5c44131_amd64.deb create mode 100644 debs/ros-humble-robotnik-safety-msgs_2.2.0-20241219.115432-5c44131_amd64.deb delete mode 100644 img/simulation_view_ignition.png delete mode 100644 robotnik_gazebo_classic/config/rbkairos/rbkairos_controller_params.yaml delete mode 100644 robotnik_gazebo_classic/config/rbkairos/rviz_config.rviz rename {robotnik_gazebo_ignition/config/rbkairos => robotnik_gazebo_classic/config}/rbkairos_controller_params.yaml (81%) delete mode 100644 robotnik_gazebo_classic/config/rbsummit/rbsummit_controller_params.yaml delete mode 100644 robotnik_gazebo_classic/config/rbsummit/rviz_config.rviz rename {robotnik_gazebo_ignition/config/rbsummit => robotnik_gazebo_classic/config}/rbsummit_controller_params.yaml (83%) delete mode 100644 robotnik_gazebo_classic/config/rbtheron/rviz_config.rviz rename robotnik_gazebo_classic/config/{rbtheron => }/rbtheron_controller_params.yaml (82%) delete mode 100644 robotnik_gazebo_classic/config/rbvogui/rbvogui_controller_params.yaml rename {robotnik_gazebo_ignition/config/rbvogui => robotnik_gazebo_classic/config}/rbvogui_controller_params.yaml (88%) create mode 100755 robotnik_gazebo_ignition/config/auxiliar/ignition_bridge.sh create mode 100644 robotnik_gazebo_ignition/config/auxiliar/initial_bridge.yaml create mode 100644 robotnik_gazebo_ignition/config/auxiliar/topics.yaml create mode 100644 robotnik_gazebo_ignition/config/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbkairos/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbkairos/rviz_config.rviz create mode 100644 robotnik_gazebo_ignition/config/rbrobout/gz_bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbrobout/rbrobout_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbsummit/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbsummit/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/bridge.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/rbtheron_controller_params.yaml delete mode 100644 robotnik_gazebo_ignition/config/rbtheron/rviz_config.rviz delete mode 100644 robotnik_gazebo_ignition/config/rbvogui/bridge.yaml create mode 100644 robotnik_gazebo_ignition/config/rbwatcher/bridge.yaml create mode 100644 robotnik_gazebo_ignition/config/rbwatcher/gz_bridge.yaml rename {robotnik_gazebo_classic/config/rbrobout => robotnik_gazebo_ignition/config/rbwatcher}/rviz_config.rviz (76%) create mode 100644 robotnik_gazebo_ignition/launch/spawn_robotRbwatcher.launch.py create mode 100644 robotnik_gazebo_ignition/launch/spawn_robot_dinamicbridge.launch.py create mode 100644 robotnik_gazebo_ignition/worlds/demo.world create mode 100644 robotnik_gazebo_ignition/worlds/empty_world.sdf rename robotnik_gazebo_ignition/worlds/{ => ignition}/demo.sdf.world (99%) create mode 100644 robotnik_gazebo_ignition/worlds/ignition/demo2.sdf.world create mode 100644 robotnik_gazebo_ignition/worlds/ignition/prueba3.sdf.world create mode 100644 robotnik_gazebo_ignition/worlds/maze.world create mode 100644 robotnik_gazebo_ignition/worlds/vineyard.world create mode 100644 robotnik_gazebo_ignition/worlds/willow_garage.world create mode 100644 webots_robotnik/LICENSE create mode 100644 webots_robotnik/launch/rbwatcher_launch_alfa.py create mode 100644 webots_robotnik/launch/robot_launch_alfa.py create mode 100644 webots_robotnik/launch/robot_launch_alfaViejo.py create mode 100644 webots_robotnik/launch/robot_launch_avanzado.py create mode 100644 webots_robotnik/launch/robot_launch_beta.py create mode 100644 webots_robotnik/launch/world_launch.py create mode 100644 webots_robotnik/package.xml create mode 100644 webots_robotnik/protos/rbrobout (noFields).proto create mode 100644 webots_robotnik/protos/rbrobout.proto create mode 100644 webots_robotnik/protos/rbwatcher (noFields).proto create mode 100644 webots_robotnik/protos/rbwatcher.proto create mode 100644 webots_robotnik/resource/rbrobout/rbrobout.urdf create mode 100644 webots_robotnik/resource/rbrobout/rbrobout_controller.urdf create mode 100644 webots_robotnik/resource/rbrobout/rbrobout_controller_avanzado.urdf rename {robotnik_gazebo_classic/config => webots_robotnik/resource}/rbrobout/rbrobout_controller_params.yaml (85%) create mode 100644 webots_robotnik/resource/rbrobout/ros2controlrbrobout.yml rename {robotnik_gazebo_ignition/config/rbvogui => webots_robotnik/resource/rbrobout}/rviz_config.rviz (79%) create mode 100644 webots_robotnik/resource/rbwatcher/rbwatcher_controller_avanzado.urdf create mode 100644 webots_robotnik/resource/rbwatcher/ros2controlrbwatcher.yml rename {robotnik_gazebo_classic/config/rbvogui => webots_robotnik/resource/rbwatcher}/rviz_config.rviz (76%) create mode 100644 webots_robotnik/resource/ros2control.yml create mode 100644 webots_robotnik/resource/webots_robotnik create mode 100644 webots_robotnik/setup.cfg create mode 100644 webots_robotnik/setup.py create mode 100644 webots_robotnik/test/test_copyright.py create mode 100644 webots_robotnik/test/test_flake8.py create mode 100644 webots_robotnik/test/test_pep257.py create mode 100644 webots_robotnik/webots_robotnik/__init__.py create mode 100644 webots_robotnik/webots_robotnik/my_robot_driver.py create mode 100644 webots_robotnik/worlds/.Prueba_rbrobout_webots.jpg create mode 100644 webots_robotnik/worlds/.Prueba_rbrobout_webots.wbproj create mode 100644 webots_robotnik/worlds/.prueba1.wbproj create mode 100644 webots_robotnik/worlds/Prueba_rbrobout_webots.wbt create mode 100644 webots_robotnik/worlds/auxiliar.txt 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! ![rbvogui_gif](img/RBVogui_Docking.gif) @@ -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 0000000000000000000000000000000000000000..d46f9f83736694cb0b87b61e835a01c731671cf9 GIT binary patch literal 249720 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

X(CQG^m)>= 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 z

=4-DueFe*HZmiGzbxZ>K@4QycTiUEdw^4S{Gf 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

Ib>ejGE4@>m0LXWh4Bs!1utm_OODOy(_ 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 z%0D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%0At$Wywd9^#+}R@iNz% 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
Lk87S1^v#TNZbM@v;(Y%EN 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 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 0000000000000000000000000000000000000000..3b2683ead07011282a7b8f3ea14c60d3bc21059d GIT binary patch literal 5104 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�$nDacZGA#Pa+-Khq~zQ)Ti-|5YLn( z^l)yV;TNwnHFb2?l~q31Ko|PGhkf|_XFs%38{+*B!n0%eW9YWSY^2dnr%%0zY3gZK z$D(^c#qVL3*%wuAPr1piqxqc~U?yZ@`wG5>BRaWV69AJ4uRd8Z7I3zL41z}Rh|=HlrO zwrG@0kM+KUo5zzMJJ^cGVc!7O{im4n5aQD$`*6$p6bBzJ1TAA zXTA6qZ!uG6ne`UHy)5XebP{2Fgw@XOA>rJ6UUvWXRLTa3GI3qn{JDWfTLAiIa-(rq=tZNc>uTr53YQd{ySqpj zTNG4VO6(oTt|S;lbdw+Psc?1jHkiMQ7T@}hDYBA^0Jy3saBl~{ zWg#015FJsfi55QfX69^lZ){;%1qS>Md#3p@0Q=U2+p`6W5l?6RH5(v|PCiCP$pBtclXWP^BQ1e~ZEYi5f z-_7b1%aLb6@L-C}y{m&`6)Z?s&IAT97)t`y|C;Z53ZFmHt^&y_<|R%M4p7nAa}YqS zSUiX!UxWPd@_%7G>j(;Al_yW?PSt%kXZ~&yh?^`=RLpwYbz2yS&Q=(#=j>>4U_dXa z!$l%OC&gS(mJE>F4~pN^n6&4&J-Su*$2V7ju$3Cn=z!HV&g=QPmg9^^@0m5*pBiYr z73iP-+m;+mAh&BmICj0h84WRHkRxlXl_41^kr87{Rhl?W{0tCD!3nXpg11K
r-_e0ORIn=4qxF}hiorZbTMKM(feryhOC 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

$JE&_8@Y78VA94&P9jpK7X)PK( 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

>AExG)XaP@g3 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

`6-;J>KUaUOu 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 or4c^L4v=WADHS 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 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 0000000000000000000000000000000000000000..ce068e9d3c73041cff42332b37445cbc5e211680 GIT binary patch literal 31336 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 literal 0 HcmV?d00001 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 +}

@f9 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 z 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

!$Y&RGMPKF@Llg&2j!Tvcm4}GeLJZFw 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