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