diff --git a/ros_gz_sim_demos/README.md b/ros_gz_sim_demos/README.md index 2774a009..dc00d300 100644 --- a/ros_gz_sim_demos/README.md +++ b/ros_gz_sim_demos/README.md @@ -114,7 +114,7 @@ GPU lidar data can be obtained as: Using the bridge: - ros2 launch ros_gz_sim_demos gpu_lidar_bridge.launch.py + ros2 launch ros_gz_sim_demos gpu_lidar_bridge.launch.xml *TODO*: Blocked by `ros_gz_point_cloud` [issue](https://github.com/gazebosim/ros_gz/issues/40). diff --git a/ros_gz_sim_demos/config/gpu_lidar.yaml b/ros_gz_sim_demos/config/gpu_lidar.yaml new file mode 100644 index 00000000..3a549383 --- /dev/null +++ b/ros_gz_sim_demos/config/gpu_lidar.yaml @@ -0,0 +1,12 @@ +# GPU lidar configuration. +- topic_name: "/lidar" + ros_type_name: "sensor_msgs/msg/LaserScan" + gz_type_name: "gz.msgs.LaserScan" + lazy: true + direction: GZ_TO_ROS + +- topic_name: "/lidar/points" + ros_type_name: "sensor_msgs/msg/PointCloud2" + gz_type_name: "gz.msgs.PointCloudPacked" + lazy: true + direction: GZ_TO_ROS diff --git a/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.py b/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.py deleted file mode 100644 index 42998efa..00000000 --- a/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.py +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2019 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. - -import os - -from ament_index_python.packages import get_package_share_directory - -from launch import LaunchDescription -from launch.actions import DeclareLaunchArgument -from launch.actions import IncludeLaunchDescription -from launch.conditions import IfCondition -from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.substitutions import LaunchConfiguration - -from launch_ros.actions import Node - - -def generate_launch_description(): - - pkg_ros_gz_sim_demos = get_package_share_directory('ros_gz_sim_demos') - pkg_ros_gz_sim = get_package_share_directory('ros_gz_sim') - - gz_sim = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(pkg_ros_gz_sim, 'launch', 'gz_sim.launch.py')), - launch_arguments={ - 'gz_args': '-r gpu_lidar_sensor.sdf' - }.items(), - ) - - # RViz - rviz = Node( - package='rviz2', - executable='rviz2', - arguments=['-d', os.path.join(pkg_ros_gz_sim_demos, 'rviz', 'gpu_lidar_bridge.rviz')], - condition=IfCondition(LaunchConfiguration('rviz')) - ) - - # Bridge - bridge = Node( - package='ros_gz_bridge', - executable='parameter_bridge', - arguments=['lidar@sensor_msgs/msg/LaserScan@gz.msgs.LaserScan', - '/lidar/points@sensor_msgs/msg/PointCloud2@gz.msgs.PointCloudPacked'], - output='screen' - ) - - return LaunchDescription([ - gz_sim, - DeclareLaunchArgument('rviz', default_value='true', - description='Open RViz.'), - bridge, - rviz, - ]) diff --git a/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.xml b/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.xml new file mode 100644 index 00000000..c56f551a --- /dev/null +++ b/ros_gz_sim_demos/launch/gpu_lidar_bridge.launch.xml @@ -0,0 +1,13 @@ + + + + + + + diff --git a/ros_gz_sim_demos/rviz/gpu_lidar_bridge.rviz b/ros_gz_sim_demos/rviz/gpu_lidar_bridge.rviz index 318229b3..a45ccf6b 100644 --- a/ros_gz_sim_demos/rviz/gpu_lidar_bridge.rviz +++ b/ros_gz_sim_demos/rviz/gpu_lidar_bridge.rviz @@ -5,15 +5,12 @@ Panels: Property Tree Widget: Expanded: - /Global Options1 - - /LaserScan1/Status1 - - /PointCloud21/Status1 Splitter Ratio: 0.504601240158081 - Tree Height: 701 + Tree Height: 688 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties Expanded: - - /2D Nav Goal1 - /Publish Point1 Name: Tool Properties Splitter Ratio: 0.5886790156364441 @@ -63,13 +60,17 @@ Visualization Manager: Min Intensity: 0 Name: LaserScan Position Transformer: XYZ - Queue Size: 10 Selectable: true Size (Pixels): 3 Size (m): 0.009999999776482582 Style: Flat Squares - Topic: /lidar - Unreliable: false + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /lidar Use Fixed Frame: true Use rainbow: true Value: true @@ -83,30 +84,33 @@ Visualization Manager: Channel Name: intensity Class: rviz_default_plugins/PointCloud2 Color: 255; 255; 255 - Color Transformer: "" + Color Transformer: Intensity Decay Time: 0 Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 + Max Intensity: 0 Min Color: 0; 0; 0 Min Intensity: 0 Name: PointCloud2 - Position Transformer: "" - Queue Size: 10 + Position Transformer: XYZ Selectable: true Size (Pixels): 3 Size (m): 0.009999999776482582 Style: Flat Squares - Topic: /lidar/points - Unreliable: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /lidar/points Use Fixed Frame: true Use rainbow: true Value: true Enabled: true Global Options: Background Color: 48; 48; 48 - Fixed Frame: model_with_lidar/link/gpu_lidar + Fixed Frame: map Frame Rate: 30 Name: root Tools: @@ -116,12 +120,30 @@ Visualization Manager: - Class: rviz_default_plugins/Measure Line color: 128; 128; 0 - Class: rviz_default_plugins/SetInitialPose - Topic: /initialpose + 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: /move_base_simple/goal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /move_base_simple/goal - Class: rviz_default_plugins/PublishPoint Single click: true - Topic: /clicked_point + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /clicked_point Transformation: Current: Class: rviz_default_plugins/TF @@ -129,25 +151,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 15.735194206237793 + Distance: 15.508606910705566 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 2.550645589828491 - Y: -0.290515273809433 - Z: -1.1467934846878052 + X: 3.5016579627990723 + Y: -0.3921697437763214 + Z: -0.31346774101257324 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.7253980040550232 + Pitch: 0.7553980350494385 Target Frame: Value: Orbit (rviz) - Yaw: 3.7385823726654053 + Yaw: 3.6435835361480713 Saved: ~ Window Geometry: Displays: @@ -155,7 +177,7 @@ Window Geometry: Height: 846 Hide Left Dock: false Hide Right Dock: true - QMainWindow State: 000000ff00000000fd0000000400000000000001ef000002f8fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000002ed00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b000002f8000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002f8fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b000002f8000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000002bb000002f800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000001ef000002f0fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000002ed00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003f000002f0000000cc00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002f8fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073000000003b000002f8000000a900fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d00650100000000000004500000000000000000000002bb000002f000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Tool Properties: @@ -163,5 +185,5 @@ Window Geometry: Views: collapsed: true Width: 1200 - X: 338 - Y: 1176 + X: 1286 + Y: 353