mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 03:57:46 +08:00
Refactor: update LiDAR documentation and unify IMU parameter descriptions
This commit is contained in:
@@ -51,36 +51,156 @@ def load_parameters(context, args):
|
||||
|
||||
def generate_launch_description():
|
||||
args = [
|
||||
DeclareLaunchArgument('device_type', default_value='lidar'),
|
||||
DeclareLaunchArgument('camera_name', default_value='lidar'),
|
||||
DeclareLaunchArgument('device_num', default_value='1'),
|
||||
DeclareLaunchArgument('upgrade_firmware', default_value=''),
|
||||
DeclareLaunchArgument('connection_delay', default_value='10'),
|
||||
DeclareLaunchArgument('publish_tf', default_value='true'),
|
||||
DeclareLaunchArgument('tf_publish_rate', default_value='0.0'),
|
||||
DeclareLaunchArgument('lidar_format', default_value='ANY'),#LIDAR_POINT, LIDAR_SPHERE_POINT, LIDAR_SCAN
|
||||
DeclareLaunchArgument('lidar_rate', default_value='20'),
|
||||
DeclareLaunchArgument('enable_scan_to_point', default_value='false'),
|
||||
DeclareLaunchArgument('repetitive_scan_mode', default_value='-1'),
|
||||
DeclareLaunchArgument('filter_level', default_value='-1'),
|
||||
DeclareLaunchArgument('vertical_fov', default_value='-1.0'),
|
||||
DeclareLaunchArgument('min_angle', default_value='-135.0'),
|
||||
DeclareLaunchArgument('max_angle', default_value='135.0'),
|
||||
DeclareLaunchArgument('min_range', default_value='0.05'),
|
||||
DeclareLaunchArgument('max_range', default_value='30.0'),
|
||||
DeclareLaunchArgument('echo_mode', default_value='single channel'),
|
||||
DeclareLaunchArgument('point_cloud_qos', default_value='default'),
|
||||
DeclareLaunchArgument('enumerate_net_device', default_value='true'),
|
||||
DeclareLaunchArgument('net_device_ip', default_value=''),
|
||||
DeclareLaunchArgument('net_device_port', default_value='0'),
|
||||
DeclareLaunchArgument('log_level', default_value='none'),
|
||||
DeclareLaunchArgument('time_domain', default_value='device'),# global, device, system
|
||||
DeclareLaunchArgument('config_file_path', default_value=''),
|
||||
DeclareLaunchArgument('enable_heartbeat', default_value='false'),
|
||||
DeclareLaunchArgument('enable_imu', default_value='true'),
|
||||
DeclareLaunchArgument('imu_rate', default_value='50hz'),
|
||||
DeclareLaunchArgument('accel_range', default_value='2g'),
|
||||
DeclareLaunchArgument('gyro_range', default_value='1000dps'),
|
||||
DeclareLaunchArgument(
|
||||
'device_type',
|
||||
default_value='lidar',
|
||||
description='Device type to start: lidar or camera. Set lidar to start LiDAR; set camera to start a camera device.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'camera_name',
|
||||
default_value='lidar',
|
||||
description='Node namespace/device name. Used as prefix for topics, parameters, and TF.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'device_num',
|
||||
default_value='1',
|
||||
description='Number of devices to start. Required when launching multiple devices.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'upgrade_firmware',
|
||||
default_value='',
|
||||
description='Firmware file path. If set, attempts firmware upgrade on startup; empty means no upgrade.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'connection_delay',
|
||||
default_value='10',
|
||||
description='Reopen delay after hot-plug (milliseconds). Prevents firmware issues caused by immediate reconnect.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'publish_tf',
|
||||
default_value='true',
|
||||
description='Whether to publish TF frames. true to enable, false to disable.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'tf_publish_rate',
|
||||
default_value='0.0',
|
||||
description='TF publish frequency in Hz. <= 0 means use default or publish on demand.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'lidar_format',
|
||||
default_value='ANY', # LIDAR_POINT, LIDAR_SPHERE_POINT, LIDAR_SCAN
|
||||
description='LiDAR output format: LIDAR_POINT, LIDAR_SPHERE_POINT, or LIDAR_SCAN. ANY lets device/config decide.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'lidar_rate',
|
||||
default_value='20',
|
||||
description='LiDAR scan/publish rate in Hz. Supported range depends on device model.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'enable_scan_to_point',
|
||||
default_value='false',
|
||||
description='Convert LaserScan to PointCloud2 and publish. true to enable, false to disable.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'repetitive_scan_mode',
|
||||
default_value='-1',
|
||||
description='Repetitive scan mode. -1 uses device default; other values depend on device capability.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'filter_level',
|
||||
default_value='-1',
|
||||
description='Filtering level. -1 uses default; non-negative integers increase filtering strength.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'vertical_fov',
|
||||
default_value='-1.0',
|
||||
description='Vertical field of view in degrees. -1 uses device default.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'min_angle',
|
||||
default_value='-135.0',
|
||||
description='Minimum scan angle in degrees (e.g., -135.0).'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'max_angle',
|
||||
default_value='135.0',
|
||||
description='Maximum scan angle in degrees (e.g., 135.0).'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'min_range',
|
||||
default_value='0.05',
|
||||
description='Minimum measurable range in meters.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'max_range',
|
||||
default_value='30.0',
|
||||
description='Maximum measurable range in meters.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'echo_mode',
|
||||
default_value='single channel',
|
||||
description='Echo mode. Examples: single channel, First Echo, Last Echo. Actual options depend on device.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'point_cloud_qos',
|
||||
default_value='default',
|
||||
description='QoS for PointCloud/LaserScan: SYSTEM_DEFAULT, DEFAULT, PARAMETER_EVENTS, SERVICES_DEFAULT, PARAMETERS, SENSOR_DATA (case-insensitive).'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'enumerate_net_device',
|
||||
default_value='true',
|
||||
description='Automatically enumerate network devices. true for auto-discovery; false to use specified IP/port only.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'net_device_ip',
|
||||
default_value='',
|
||||
description='IP address of the network device. Leave empty to rely on enumeration or device defaults.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'net_device_port',
|
||||
default_value='0',
|
||||
description='Port of the network device. 0 uses device/driver defaults.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'log_level',
|
||||
default_value='none',
|
||||
description='SDK log level: none, debug, info, warn, error, fatal.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'time_domain',
|
||||
default_value='device', # global, device, system
|
||||
description='Timestamp domain: device (device clock), global (time sync), or system (host clock).'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'config_file_path',
|
||||
default_value='',
|
||||
description='Path to a YAML config file. If provided, overrides same-name launch arguments; otherwise defaults apply.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'enable_heartbeat',
|
||||
default_value='false',
|
||||
description='Send heartbeat to device. Enable when hardware logging/online monitoring is needed.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'enable_imu',
|
||||
default_value='true',
|
||||
description='Enable IMU (accelerometer and gyroscope) data publishing.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'imu_rate',
|
||||
default_value='50hz',
|
||||
description='IMU publish rate, e.g., 50hz, 100hz. Actual options depend on device.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'accel_range',
|
||||
default_value='2g',
|
||||
description='Accelerometer range, e.g., 2g, 4g, 8g, 16g. Device-dependent.'
|
||||
),
|
||||
DeclareLaunchArgument(
|
||||
'gyro_range',
|
||||
default_value='1000dps',
|
||||
description='Gyroscope range, e.g., 250dps, 500dps, 1000dps, 2000dps. Device-dependent.'
|
||||
),
|
||||
]
|
||||
|
||||
def get_params(context, args):
|
||||
|
||||
Reference in New Issue
Block a user