sick_nav_350.launch.py
Go to the documentation of this file.
1 import os
2 import sys
3 from ament_index_python.packages import get_package_share_directory
4 from launch import LaunchDescription
5 from launch_ros.actions import Node
6 from launch.actions import DeclareLaunchArgument
7 
9 
10  ld = LaunchDescription()
11  sick_scan_pkg_prefix = get_package_share_directory('sick_scan_xd')
12  launchfile = os.path.basename(__file__)[:-3] # convert "<lidar_name>.launch.py" to "<lidar_name>.launch"
13  launch_file_path = os.path.join(sick_scan_pkg_prefix, 'launch/' + launchfile) # 'launch/sick_nav_350.launch')
14  node_arguments=[launch_file_path]
15 
16  # append optional commandline arguments in name:=value syntax
17  for arg in sys.argv:
18  if len(arg.split(":=")) == 2:
19  node_arguments.append(arg)
20 
21  ROS_DISTRO = os.environ.get('ROS_DISTRO') # i.e. 'eloquent', 'foxy', etc.
22  if ROS_DISTRO[0] <= "e": # ROS versions eloquent and earlier require "node_executable", ROS foxy and later use "executable"
23  node = Node(
24  package='sick_scan_xd',
25  node_executable='sick_generic_caller',
26  output='screen',
27  remappings=[ ('/sick_nav_350/scan', '/scan'), ], # remap laserscan messages to topic /scan, required for slam_toolbox
28  arguments=node_arguments
29  )
30  else: # ROS versions eloquent and earlier require "node_executable", ROS foxy and later use "executable"
31  node = Node(
32  package='sick_scan_xd',
33  executable='sick_generic_caller',
34  output='screen',
35  remappings=[ ('/sick_nav_350/scan', '/scan'), ], # remap laserscan messages to topic /scan, required for slam_toolbox
36  arguments=node_arguments
37  )
38 
39  ld.add_action(node)
40  return ld
sick_nav_350.generate_launch_description
def generate_launch_description()
Definition: sick_nav_350.launch.py:8


sick_scan_xd
Author(s): Michael Lehning , Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:10