├── CMakeLists.txt ├── README.md ├── description ├── example_gazebo.xacro ├── example_include.xacro └── example_robot.urdf.xacro ├── launch ├── rsp.launch.py └── rsp_sim.launch.py ├── package.xml ├── view_robot.rviz ├── view_with_camera.rviz └── worlds └── test_world.world /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | project(urdf_example) 3 | 4 | # Default to C99 5 | if(NOT CMAKE_C_STANDARD) 6 | set(CMAKE_C_STANDARD 99) 7 | endif() 8 | 9 | # Default to C++14 10 | if(NOT CMAKE_CXX_STANDARD) 11 | set(CMAKE_CXX_STANDARD 14) 12 | endif() 13 | 14 | if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 15 | add_compile_options(-Wall -Wextra -Wpedantic) 16 | endif() 17 | 18 | # find dependencies 19 | find_package(ament_cmake REQUIRED) 20 | # uncomment the following section in order to fill in 21 | # further dependencies manually. 22 | # find_package( REQUIRED) 23 | 24 | if(BUILD_TESTING) 25 | find_package(ament_lint_auto REQUIRED) 26 | # the following line skips the linter which checks for copyrights 27 | # uncomment the line when a copyright and license is not present in all source files 28 | #set(ament_cmake_copyright_FOUND TRUE) 29 | # the following line skips cpplint (only works in a git repo) 30 | # uncomment the line when this package is not in a git repo 31 | #set(ament_cmake_cpplint_FOUND TRUE) 32 | ament_lint_auto_find_test_dependencies() 33 | endif() 34 | 35 | 36 | install( 37 | DIRECTORY description launch worlds 38 | DESTINATION share/${PROJECT_NAME} 39 | ) 40 | 41 | ament_package() 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # URDF Example 2 | 3 | 4 | This repo contains an example of a URDF file and a launch script to run it. (ROS 2) 5 | This is part of a tutorial on creating URDF files, available at the links below: 6 | 7 | YouTube: 8 | [![See video for example](https://img.youtube.com/vi/CwdbsvcpOHM/0.jpg)](https://youtu.be/CwdbsvcpOHM) 9 | 10 | Blog Post: 11 | [https://articulatedrobotics.xyz/ready-for-ros-7-urdf/](https://articulatedrobotics.xyz/ready-for-ros-7-urdf/) 12 | 13 | 14 | 15 | ## How To Run 16 | 17 | 18 | 1. Build the package with colcon. 19 | 2. Launch the `robot_state_publisher` launch file with `ros2 launch urdf_example rsp.launch.py`. 20 | 3. Launch `joint_state_publisher_gui` with `ros2 run joint_state_publisher_gui joint_state_publisher_gui`. You may need to install it if you don't have it already. 21 | 4. Launch RViz with `rviz2` 22 | 23 | To replicate the RViz display shown in the video you will want to 24 | - Set your fixed frame to `world` 25 | - Add a `RobotModel` display, with the topic set to `/robot_description`, and alpha set to 0.8 26 | - Add a `TF` display with names enabled. -------------------------------------------------------------------------------- /description/example_gazebo.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Gazebo/Green 17 | 18 | 19 | 20 | Gazebo/Blue 21 | 22 | 23 | 24 | Gazebo/Orange 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 39 | 20 40 | slider_joint 41 | arm_joint 42 | 43 | 44 | 45 | 46 | 48 | 50 | 52 | 53 | 55 | 2 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 87 | 89 | 90 | 91 | 20 92 | true 93 | 94 | 1.3962634 95 | 96 | 640 97 | 480 98 | R8B8G8 99 | 100 | 101 | 0.02 102 | 300 103 | 104 | 105 | gaussian 106 | 0.0 107 | 0.007 108 | 109 | 110 | 111 | camera_link_optical 112 | 0.1 113 | 500 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | -------------------------------------------------------------------------------- /description/example_include.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /description/example_robot.urdf.xacro: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | -------------------------------------------------------------------------------- /launch/rsp.launch.py: -------------------------------------------------------------------------------- 1 | import os 2 | from ament_index_python.packages import get_package_share_directory 3 | from launch import LaunchDescription 4 | from launch_ros.actions import Node 5 | import xacro 6 | 7 | 8 | def generate_launch_description(): 9 | 10 | # Specify the name of the package and path to xacro file within the package 11 | pkg_name = 'urdf_example' 12 | file_subpath = 'description/example_robot.urdf.xacro' 13 | 14 | 15 | # Use xacro to process the file 16 | xacro_file = os.path.join(get_package_share_directory(pkg_name),file_subpath) 17 | robot_description_raw = xacro.process_file(xacro_file).toxml() 18 | 19 | 20 | # Configure the node 21 | node_robot_state_publisher = Node( 22 | package='robot_state_publisher', 23 | executable='robot_state_publisher', 24 | output='screen', 25 | parameters=[{'robot_description': robot_description_raw}] # add other parameters here if required 26 | ) 27 | 28 | 29 | # Run the node 30 | return LaunchDescription([ 31 | node_robot_state_publisher 32 | ]) 33 | -------------------------------------------------------------------------------- /launch/rsp_sim.launch.py: -------------------------------------------------------------------------------- 1 | import os 2 | from ament_index_python.packages import get_package_share_directory 3 | from launch import LaunchDescription 4 | from launch.actions import IncludeLaunchDescription 5 | from launch.launch_description_sources import PythonLaunchDescriptionSource 6 | 7 | 8 | from launch_ros.actions import Node 9 | import xacro 10 | 11 | 12 | def generate_launch_description(): 13 | 14 | # Specify the name of the package and path to xacro file within the package 15 | pkg_name = 'urdf_example' 16 | file_subpath = 'description/example_robot.urdf.xacro' 17 | 18 | 19 | # Use xacro to process the file 20 | xacro_file = os.path.join(get_package_share_directory(pkg_name),file_subpath) 21 | robot_description_raw = xacro.process_file(xacro_file).toxml() 22 | 23 | 24 | # Configure the node 25 | node_robot_state_publisher = Node( 26 | package='robot_state_publisher', 27 | executable='robot_state_publisher', 28 | output='screen', 29 | parameters=[{'robot_description': robot_description_raw, 30 | 'use_sim_time': True}] # add other parameters here if required 31 | ) 32 | 33 | 34 | 35 | gazebo = IncludeLaunchDescription( 36 | PythonLaunchDescriptionSource([os.path.join( 37 | get_package_share_directory('gazebo_ros'), 'launch'), '/gazebo.launch.py']), 38 | ) 39 | 40 | 41 | spawn_entity = Node(package='gazebo_ros', executable='spawn_entity.py', 42 | arguments=['-topic', 'robot_description', 43 | '-entity', 'my_bot'], 44 | output='screen') 45 | 46 | 47 | 48 | 49 | 50 | 51 | # Run the node 52 | return LaunchDescription([ 53 | gazebo, 54 | node_robot_state_publisher, 55 | spawn_entity 56 | ]) 57 | 58 | 59 | -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | urdf_example 5 | 0.0.0 6 | TODO: Package description 7 | newans 8 | TODO: License declaration 9 | 10 | ament_cmake 11 | 12 | ament_lint_auto 13 | ament_lint_common 14 | 15 | 16 | ament_cmake 17 | 18 | 19 | -------------------------------------------------------------------------------- /view_robot.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz_common/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /RobotModel1 8 | Splitter Ratio: 0.5 9 | Tree Height: 766 10 | - Class: rviz_common/Selection 11 | Name: Selection 12 | - Class: rviz_common/Tool Properties 13 | Expanded: 14 | - /2D Goal Pose1 15 | - /Publish Point1 16 | Name: Tool Properties 17 | Splitter Ratio: 0.5886790156364441 18 | - Class: rviz_common/Views 19 | Expanded: 20 | - /Current View1 21 | Name: Views 22 | Splitter Ratio: 0.5 23 | Visualization Manager: 24 | Class: "" 25 | Displays: 26 | - Alpha: 0.5 27 | Cell Size: 1 28 | Class: rviz_default_plugins/Grid 29 | Color: 160; 160; 164 30 | Enabled: true 31 | Line Style: 32 | Line Width: 0.029999999329447746 33 | Value: Lines 34 | Name: Grid 35 | Normal Cell Count: 0 36 | Offset: 37 | X: 0 38 | Y: 0 39 | Z: 0 40 | Plane: XY 41 | Plane Cell Count: 10 42 | Reference Frame: 43 | Value: true 44 | - Class: rviz_default_plugins/TF 45 | Enabled: true 46 | Frame Timeout: 15 47 | Frames: 48 | All Enabled: true 49 | arm_link: 50 | Value: true 51 | base_link: 52 | Value: true 53 | camera_link: 54 | Value: true 55 | slider_link: 56 | Value: true 57 | world: 58 | Value: true 59 | Marker Scale: 1 60 | Name: TF 61 | Show Arrows: true 62 | Show Axes: true 63 | Show Names: true 64 | Tree: 65 | world: 66 | base_link: 67 | slider_link: 68 | arm_link: 69 | camera_link: 70 | {} 71 | Update Interval: 0 72 | Value: true 73 | - Alpha: 0.800000011920929 74 | Class: rviz_default_plugins/RobotModel 75 | Collision Enabled: false 76 | Description File: "" 77 | Description Source: Topic 78 | Description Topic: 79 | Depth: 5 80 | Durability Policy: Volatile 81 | History Policy: Keep Last 82 | Reliability Policy: Reliable 83 | Value: /robot_description 84 | Enabled: true 85 | Links: 86 | All Links Enabled: true 87 | Expand Joint Details: false 88 | Expand Link Details: false 89 | Expand Tree: false 90 | Link Tree Style: Links in Alphabetic Order 91 | arm_link: 92 | Alpha: 1 93 | Show Axes: false 94 | Show Trail: false 95 | Value: true 96 | base_link: 97 | Alpha: 1 98 | Show Axes: false 99 | Show Trail: false 100 | Value: true 101 | camera_link: 102 | Alpha: 1 103 | Show Axes: false 104 | Show Trail: false 105 | Value: true 106 | slider_link: 107 | Alpha: 1 108 | Show Axes: false 109 | Show Trail: false 110 | Value: true 111 | world: 112 | Alpha: 1 113 | Show Axes: false 114 | Show Trail: false 115 | Name: RobotModel 116 | TF Prefix: "" 117 | Update Interval: 0 118 | Value: true 119 | Visual Enabled: true 120 | Enabled: true 121 | Global Options: 122 | Background Color: 48; 48; 48 123 | Fixed Frame: world 124 | Frame Rate: 30 125 | Name: root 126 | Tools: 127 | - Class: rviz_default_plugins/Interact 128 | Hide Inactive Objects: true 129 | - Class: rviz_default_plugins/MoveCamera 130 | - Class: rviz_default_plugins/Select 131 | - Class: rviz_default_plugins/FocusCamera 132 | - Class: rviz_default_plugins/Measure 133 | Line color: 128; 128; 0 134 | - Class: rviz_default_plugins/SetInitialPose 135 | Topic: 136 | Depth: 5 137 | Durability Policy: Volatile 138 | History Policy: Keep Last 139 | Reliability Policy: Reliable 140 | Value: /initialpose 141 | - Class: rviz_default_plugins/SetGoal 142 | Topic: 143 | Depth: 5 144 | Durability Policy: Volatile 145 | History Policy: Keep Last 146 | Reliability Policy: Reliable 147 | Value: /goal_pose 148 | - Class: rviz_default_plugins/PublishPoint 149 | Single click: true 150 | Topic: 151 | Depth: 5 152 | Durability Policy: Volatile 153 | History Policy: Keep Last 154 | Reliability Policy: Reliable 155 | Value: /clicked_point 156 | Transformation: 157 | Current: 158 | Class: rviz_default_plugins/TF 159 | Value: true 160 | Views: 161 | Current: 162 | Class: rviz_default_plugins/Orbit 163 | Distance: 3.431431531906128 164 | Enable Stereo Rendering: 165 | Stereo Eye Separation: 0.05999999865889549 166 | Stereo Focal Distance: 1 167 | Swap Stereo Eyes: false 168 | Value: false 169 | Focal Point: 170 | X: 1.8107112646102905 171 | Y: 0.7177653312683105 172 | Z: 0.437046080827713 173 | Focal Shape Fixed Size: true 174 | Focal Shape Size: 0.05000000074505806 175 | Invert Z Axis: false 176 | Name: Current View 177 | Near Clip Distance: 0.009999999776482582 178 | Pitch: 0.4753981828689575 179 | Target Frame: 180 | Value: Orbit (rviz) 181 | Yaw: 5.143584728240967 182 | Saved: ~ 183 | Window Geometry: 184 | Displays: 185 | collapsed: false 186 | Height: 989 187 | Hide Left Dock: false 188 | Hide Right Dock: true 189 | QMainWindow State: 000000ff00000000fd00000004000000000000015600000387fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000387000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000387fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b00000387000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000005340000038700000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 190 | Selection: 191 | collapsed: false 192 | Tool Properties: 193 | collapsed: false 194 | Views: 195 | collapsed: true 196 | Width: 1680 197 | X: 0 198 | Y: 0 199 | -------------------------------------------------------------------------------- /view_with_camera.rviz: -------------------------------------------------------------------------------- 1 | Panels: 2 | - Class: rviz_common/Displays 3 | Help Height: 78 4 | Name: Displays 5 | Property Tree Widget: 6 | Expanded: 7 | - /RobotModel1 8 | - /Image1 9 | - /PointCloud21 10 | Splitter Ratio: 0.5 11 | Tree Height: 558 12 | - Class: rviz_common/Selection 13 | Name: Selection 14 | - Class: rviz_common/Tool Properties 15 | Expanded: 16 | - /2D Goal Pose1 17 | - /Publish Point1 18 | Name: Tool Properties 19 | Splitter Ratio: 0.5886790156364441 20 | - Class: rviz_common/Views 21 | Expanded: 22 | - /Current View1 23 | Name: Views 24 | Splitter Ratio: 0.5 25 | Visualization Manager: 26 | Class: "" 27 | Displays: 28 | - Alpha: 0.5 29 | Cell Size: 1 30 | Class: rviz_default_plugins/Grid 31 | Color: 160; 160; 164 32 | Enabled: true 33 | Line Style: 34 | Line Width: 0.029999999329447746 35 | Value: Lines 36 | Name: Grid 37 | Normal Cell Count: 0 38 | Offset: 39 | X: 0 40 | Y: 0 41 | Z: 0 42 | Plane: XY 43 | Plane Cell Count: 10 44 | Reference Frame: 45 | Value: true 46 | - Class: rviz_default_plugins/TF 47 | Enabled: true 48 | Frame Timeout: 15 49 | Frames: 50 | All Enabled: true 51 | arm_link: 52 | Value: true 53 | base_link: 54 | Value: true 55 | camera_link: 56 | Value: true 57 | camera_link_optical: 58 | Value: true 59 | slider_link: 60 | Value: true 61 | world: 62 | Value: true 63 | Marker Scale: 1 64 | Name: TF 65 | Show Arrows: true 66 | Show Axes: true 67 | Show Names: true 68 | Tree: 69 | world: 70 | base_link: 71 | slider_link: 72 | arm_link: 73 | camera_link: 74 | camera_link_optical: 75 | {} 76 | Update Interval: 0 77 | Value: true 78 | - Alpha: 1 79 | Class: rviz_default_plugins/RobotModel 80 | Collision Enabled: false 81 | Description File: "" 82 | Description Source: Topic 83 | Description Topic: 84 | Depth: 5 85 | Durability Policy: Volatile 86 | History Policy: Keep Last 87 | Reliability Policy: Reliable 88 | Value: /robot_description 89 | Enabled: true 90 | Links: 91 | All Links Enabled: true 92 | Expand Joint Details: false 93 | Expand Link Details: false 94 | Expand Tree: false 95 | Link Tree Style: Links in Alphabetic Order 96 | arm_link: 97 | Alpha: 1 98 | Show Axes: false 99 | Show Trail: false 100 | Value: true 101 | base_link: 102 | Alpha: 1 103 | Show Axes: false 104 | Show Trail: false 105 | Value: true 106 | camera_link: 107 | Alpha: 1 108 | Show Axes: false 109 | Show Trail: false 110 | Value: true 111 | camera_link_optical: 112 | Alpha: 1 113 | Show Axes: false 114 | Show Trail: false 115 | slider_link: 116 | Alpha: 1 117 | Show Axes: false 118 | Show Trail: false 119 | Value: true 120 | world: 121 | Alpha: 1 122 | Show Axes: false 123 | Show Trail: false 124 | Name: RobotModel 125 | TF Prefix: "" 126 | Update Interval: 0 127 | Value: true 128 | Visual Enabled: true 129 | - Class: rviz_default_plugins/Image 130 | Enabled: true 131 | Max Value: 1 132 | Median window: 5 133 | Min Value: 0 134 | Name: Image 135 | Normalize Range: true 136 | Topic: 137 | Depth: 5 138 | Durability Policy: Volatile 139 | History Policy: Keep Last 140 | Reliability Policy: Reliable 141 | Value: /my_camera/image_raw 142 | Value: true 143 | - Alpha: 1 144 | Autocompute Intensity Bounds: true 145 | Autocompute Value Bounds: 146 | Max Value: 10 147 | Min Value: -10 148 | Value: true 149 | Axis: Z 150 | Channel Name: intensity 151 | Class: rviz_default_plugins/PointCloud2 152 | Color: 255; 255; 255 153 | Color Transformer: RGB8 154 | Decay Time: 0 155 | Enabled: true 156 | Invert Rainbow: false 157 | Max Color: 255; 255; 255 158 | Max Intensity: 4096 159 | Min Color: 0; 0; 0 160 | Min Intensity: 0 161 | Name: PointCloud2 162 | Position Transformer: XYZ 163 | Selectable: true 164 | Size (Pixels): 3 165 | Size (m): 0.009999999776482582 166 | Style: Flat Squares 167 | Topic: 168 | Depth: 5 169 | Durability Policy: Volatile 170 | History Policy: Keep Last 171 | Reliability Policy: Reliable 172 | Value: /my_camera/points 173 | Use Fixed Frame: true 174 | Use rainbow: true 175 | Value: true 176 | Enabled: true 177 | Global Options: 178 | Background Color: 48; 48; 48 179 | Fixed Frame: world 180 | Frame Rate: 30 181 | Name: root 182 | Tools: 183 | - Class: rviz_default_plugins/Interact 184 | Hide Inactive Objects: true 185 | - Class: rviz_default_plugins/MoveCamera 186 | - Class: rviz_default_plugins/Select 187 | - Class: rviz_default_plugins/FocusCamera 188 | - Class: rviz_default_plugins/Measure 189 | Line color: 128; 128; 0 190 | - Class: rviz_default_plugins/SetInitialPose 191 | Topic: 192 | Depth: 5 193 | Durability Policy: Volatile 194 | History Policy: Keep Last 195 | Reliability Policy: Reliable 196 | Value: /initialpose 197 | - Class: rviz_default_plugins/SetGoal 198 | Topic: 199 | Depth: 5 200 | Durability Policy: Volatile 201 | History Policy: Keep Last 202 | Reliability Policy: Reliable 203 | Value: /goal_pose 204 | - Class: rviz_default_plugins/PublishPoint 205 | Single click: true 206 | Topic: 207 | Depth: 5 208 | Durability Policy: Volatile 209 | History Policy: Keep Last 210 | Reliability Policy: Reliable 211 | Value: /clicked_point 212 | Transformation: 213 | Current: 214 | Class: rviz_default_plugins/TF 215 | Value: true 216 | Views: 217 | Current: 218 | Class: rviz_default_plugins/Orbit 219 | Distance: 8.259644508361816 220 | Enable Stereo Rendering: 221 | Stereo Eye Separation: 0.05999999865889549 222 | Stereo Focal Distance: 1 223 | Swap Stereo Eyes: false 224 | Value: false 225 | Focal Point: 226 | X: 3.6979176998138428 227 | Y: 1.2425514459609985 228 | Z: 0.03723698854446411 229 | Focal Shape Fixed Size: true 230 | Focal Shape Size: 0.05000000074505806 231 | Invert Z Axis: false 232 | Name: Current View 233 | Near Clip Distance: 0.009999999776482582 234 | Pitch: 0.29539841413497925 235 | Target Frame: 236 | Value: Orbit (rviz) 237 | Yaw: 3.543588399887085 238 | Saved: ~ 239 | Window Geometry: 240 | Displays: 241 | collapsed: false 242 | Height: 989 243 | Hide Left Dock: false 244 | Hide Right Dock: true 245 | Image: 246 | collapsed: false 247 | QMainWindow State: 000000ff00000000fd00000004000000000000015600000387fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002b7000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002f8000000ca0000002800ffffff000000010000010f00000387fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b00000387000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000005340000038700000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 248 | Selection: 249 | collapsed: false 250 | Tool Properties: 251 | collapsed: false 252 | Views: 253 | collapsed: true 254 | Width: 1680 255 | X: 0 256 | Y: 0 257 | -------------------------------------------------------------------------------- /worlds/test_world.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1 5 | 0 0 10 0 -0 0 6 | 0.8 0.8 0.8 1 7 | 0.2 0.2 0.2 1 8 | 9 | 1000 10 | 0.9 11 | 0.01 12 | 0.001 13 | 14 | -0.5 0.1 -0.9 15 | 16 | 0 17 | 0 18 | 0 19 | 20 | 21 | 22 | 1 23 | 24 | 25 | 26 | 27 | 0 0 1 28 | 100 100 29 | 30 | 31 | 32 | 33 | 34 | 100 35 | 50 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 10 47 | 48 | 49 | 0 50 | 51 | 52 | 0 0 1 53 | 100 100 54 | 55 | 56 | 57 | 61 | 62 | 63 | 0 64 | 0 65 | 0 66 | 67 | 68 | 0 0 -9.8 69 | 6e-06 2.3e-05 -4.2e-05 70 | 71 | 72 | 0.001 73 | 1 74 | 1000 75 | 76 | 77 | 0.4 0.4 0.4 1 78 | 0.7 0.7 0.7 1 79 | 1 80 | 81 | 82 | 83 | EARTH_WGS84 84 | 0 85 | 0 86 | 0 87 | 0 88 | 89 | 90 | 1 91 | 92 | 93 | 94 | 95 | model://jersey_barrier/meshes/jersey_barrier.dae 96 | 97 | 98 | 99 | 100 | 0 0 0.5715 0 -0 0 101 | 102 | 103 | 4.06542 0.3063 1.143 104 | 105 | 106 | 10 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 0 0 0.032258 0 -0 0 122 | 123 | 124 | 4.06542 0.8107 0.064516 125 | 126 | 127 | 10 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 0 0 0.1 0 -0 0 143 | 144 | 145 | 4.06542 0.65 0.1 146 | 147 | 148 | 10 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 0 0 0.2 0 -0 0 164 | 165 | 166 | 4.06542 0.5 0.1 167 | 168 | 169 | 10 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 0 -0.224 0.2401 0.9 -0 0 185 | 186 | 187 | 4.06542 0.5 0.064516 188 | 189 | 190 | 10 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 0 0.224 0.2401 -0.9 0 0 206 | 207 | 208 | 4.06542 0.5 0.064516 209 | 210 | 211 | 10 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 0 226 | 0 227 | 0 228 | 229 | 6.00612 1.70833 0 0 -0 0 230 | 231 | 232 | 233 | 234 | 0 0 0.4 0 -0 0 235 | 500 236 | 237 | 51.2096 238 | 51.2096 239 | 25 240 | 0 241 | 0 242 | 0 243 | 244 | 245 | 246 | 247 | 248 | model://construction_barrel/meshes/construction_barrel.dae 249 | 250 | 251 | 10 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | model://construction_barrel/meshes/construction_barrel.dae 269 | 270 | 271 | 272 | 0 273 | 0 274 | 0 275 | 276 | 5.88279 -0.038277 0 0 -0 0 277 | 278 | 279 | 280 | 281 | 282 | 283 | 10 10 10 284 | model://construction_cone/meshes/construction_cone.dae 285 | 286 | 287 | 10 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 10 10 10 305 | model://construction_cone/meshes/construction_cone.dae 306 | 307 | 308 | 309 | 0 310 | 311 | 0 0 0 0 -0 0 312 | 313 | 1 314 | 0 315 | 0 316 | 1 317 | 0 318 | 1 319 | 320 | 1 321 | 322 | 0 323 | 0 324 | 325 | 3.51442 -0.825176 0 0 -0 0 326 | 327 | 328 | 101 588000000 329 | 102 381087842 330 | 1636575335 590958485 331 | 101588 332 | 333 | 5.88278 -0.038281 0 0 0 -3e-06 334 | 1 1 1 335 | 336 | 5.88278 -0.038281 0 0 0 -3e-06 337 | 0 0 0 0 -0 0 338 | 3.45854 5.74438 4.40609 1.34623 0.77903 3.14097 339 | 1729.27 2872.19 2203.04 0 -0 0 340 | 341 | 342 | 343 | 3.51442 -0.825176 -0 0 -1e-06 0 344 | 1 1 1 345 | 346 | 3.51442 -0.825176 -0 0 -1e-06 0 347 | 0 0 0 0 -0 0 348 | -0 0 0.008512 2.58585 -1.13682 -3.14159 349 | -0 0 0.008512 0 -0 0 350 | 351 | 352 | 353 | 0 0 0 0 -0 0 354 | 1 1 1 355 | 356 | 0 0 0 0 -0 0 357 | 0 0 0 0 -0 0 358 | 0 0 0 0 -0 0 359 | 0 0 0 0 -0 0 360 | 361 | 362 | 363 | 6.00612 1.70833 0 0 -0 0 364 | 1 1 1 365 | 366 | 6.00612 1.70833 0 0 -0 0 367 | 0 0 0 0 -0 0 368 | 0 0 0 0 -0 0 369 | 0 0 0 0 -0 0 370 | 371 | 372 | 373 | 0 0 10 0 -0 0 374 | 375 | 376 | 377 | 378 | 2.9882 -12.0466 9.70847 0 0.599643 1.3882 379 | orbit 380 | perspective 381 | 382 | 383 | 384 | 385 | --------------------------------------------------------------------------------