From 0ab7e4fb64b18073835b4e13e9ec5bbac9ee0ca7 Mon Sep 17 00:00:00 2001 From: Arun-Prasad-V Date: Fri, 22 Dec 2023 19:55:27 +0530 Subject: [PATCH] Added urdf & mesh files for D405 model --- .../pointcloud/rs_d405_pointcloud_launch.py | 92 ++++++++++ realsense2_description/meshes/d405.stl | Bin 0 -> 194684 bytes realsense2_description/urdf/_d405.urdf.xacro | 165 ++++++++++++++++++ .../urdf/test_d405_camera.urdf.xacro | 10 ++ 4 files changed, 267 insertions(+) create mode 100644 realsense2_camera/examples/pointcloud/rs_d405_pointcloud_launch.py create mode 100644 realsense2_description/meshes/d405.stl create mode 100644 realsense2_description/urdf/_d405.urdf.xacro create mode 100644 realsense2_description/urdf/test_d405_camera.urdf.xacro diff --git a/realsense2_camera/examples/pointcloud/rs_d405_pointcloud_launch.py b/realsense2_camera/examples/pointcloud/rs_d405_pointcloud_launch.py new file mode 100644 index 0000000000..e4db15f0bc --- /dev/null +++ b/realsense2_camera/examples/pointcloud/rs_d405_pointcloud_launch.py @@ -0,0 +1,92 @@ +# Copyright 2023 Intel Corporation. All Rights Reserved. +# +# 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. + +# DESCRIPTION # +# ----------- # +# Use this launch file to launch a device and visualize pointcloud along with the camera model D405. +# The Parameters available for definition in the command line for the camera are described in rs_launch.configurable_parameters +# command line example: +# ros2 launch realsense2_camera rs_d405_pointcloud_launch.py + +"""Launch realsense2_camera node.""" +from launch import LaunchDescription +import launch_ros.actions +from launch.actions import OpaqueFunction +from launch.substitutions import LaunchConfiguration, ThisLaunchFileDir +import os +import sys +import pathlib +import xacro +import tempfile +from ament_index_python.packages import get_package_share_directory +sys.path.append(str(pathlib.Path(__file__).parent.absolute())) +sys.path.append(os.path.join(get_package_share_directory('realsense2_camera'), 'launch')) +import rs_launch + +local_parameters = [{'name': 'camera_name', 'default': 'camera', 'description': 'camera unique name'}, + {'name': 'camera_namespace', 'default': 'camera', 'description': 'camera namespace'}, + {'name': 'device_type', 'default': "d405", 'description': 'choose device by type'}, + {'name': 'enable_color', 'default': 'true', 'description': 'enable color stream'}, + {'name': 'enable_depth', 'default': 'true', 'description': 'enable depth stream'}, + {'name': 'pointcloud.enable', 'default': 'true', 'description': 'enable pointcloud'}, + ] + +def to_urdf(xacro_path, parameters=None): + """Convert the given xacro file to URDF file. + * xacro_path -- the path to the xacro file + * parameters -- to be used when xacro file is parsed. + """ + urdf_path = tempfile.mktemp(prefix="%s_" % os.path.basename(xacro_path)) + + # open and process file + doc = xacro.process_file(xacro_path, mappings=parameters) + # open the output file + out = xacro.open_output(urdf_path) + out.write(doc.toprettyxml(indent=' ')) + + return urdf_path + +def set_configurable_parameters(local_params): + return dict([(param['name'], LaunchConfiguration(param['name'])) for param in local_params]) + + +def generate_launch_description(): + params = rs_launch.configurable_parameters + xacro_path = os.path.join(get_package_share_directory('realsense2_description'), 'urdf', 'test_d405_camera.urdf.xacro') + urdf = to_urdf(xacro_path, {'use_nominal_extrinsics': 'true', 'add_plug': 'true'}) + return LaunchDescription( + rs_launch.declare_configurable_parameters(local_parameters) + + rs_launch.declare_configurable_parameters(params) + + [ + OpaqueFunction(function=rs_launch.launch_setup, + kwargs = {'params' : set_configurable_parameters(params)} + ), + launch_ros.actions.Node( + package='rviz2', + namespace='', + executable='rviz2', + name='rviz2', + arguments=['-d', [ThisLaunchFileDir(), '/rviz/urdf_pointcloud.rviz']], + output='screen', + parameters=[{'use_sim_time': False}] + ), + launch_ros.actions.Node( + name='model_node', + package='robot_state_publisher', + executable='robot_state_publisher', + namespace='', + output='screen', + arguments=[urdf] + ) + ]) diff --git a/realsense2_description/meshes/d405.stl b/realsense2_description/meshes/d405.stl new file mode 100644 index 0000000000000000000000000000000000000000..413d260f6d2294e19401298bf698be7e4cfa502f GIT binary patch literal 194684 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 literal 0 HcmV?d00001 diff --git a/realsense2_description/urdf/_d405.urdf.xacro b/realsense2_description/urdf/_d405.urdf.xacro new file mode 100644 index 0000000000..5ca17f2116 --- /dev/null +++ b/realsense2_description/urdf/_d405.urdf.xacro @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/realsense2_description/urdf/test_d405_camera.urdf.xacro b/realsense2_description/urdf/test_d405_camera.urdf.xacro new file mode 100644 index 0000000000..5a2b313f5d --- /dev/null +++ b/realsense2_description/urdf/test_d405_camera.urdf.xacro @@ -0,0 +1,10 @@ + + + + + + + + + +