mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 08:47:45 +08:00
ported rtabmap_ros_pkg_split to ros2
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
# Example:
|
||||
# $ ros2 launch velodyne_driver velodyne_driver_node-VLP16-launch.py
|
||||
# $ ros2 launch velodyne_pointcloud velodyne_transform_node-VLP16-launch.py
|
||||
#
|
||||
# SLAM:
|
||||
# $ ros2 launch rtabmap_ros vlp16.launch.py
|
||||
|
||||
|
||||
from launch import LaunchDescription
|
||||
from launch.actions import DeclareLaunchArgument
|
||||
from launch.substitutions import LaunchConfiguration
|
||||
from launch_ros.actions import Node
|
||||
|
||||
def generate_launch_description():
|
||||
|
||||
use_sim_time = LaunchConfiguration('use_sim_time')
|
||||
deskewing = LaunchConfiguration('deskewing')
|
||||
|
||||
return LaunchDescription([
|
||||
|
||||
# Launch arguments
|
||||
DeclareLaunchArgument(
|
||||
'use_sim_time', default_value='false',
|
||||
description='Use simulation (Gazebo) clock if true'),
|
||||
|
||||
DeclareLaunchArgument(
|
||||
'deskewing', default_value='true',
|
||||
description='Enable lidar deskewing'),
|
||||
|
||||
# Nodes to launch
|
||||
Node(
|
||||
package='rtabmap_ros', executable='icp_odometry', output='screen',
|
||||
parameters=[{
|
||||
'frame_id':'velodyne',
|
||||
'odom_frame_id':'odom',
|
||||
'wait_for_transform':0.2,
|
||||
'expected_update_rate':15.0,
|
||||
'deskewing':deskewing,
|
||||
'use_sim_time':use_sim_time,
|
||||
}],
|
||||
remappings=[
|
||||
('scan_cloud', '/velodyne_points')
|
||||
],
|
||||
arguments=[
|
||||
'Icp/PointToPlane', 'true',
|
||||
'Icp/Iterations', '10',
|
||||
'Icp/VoxelSize', '0.1',
|
||||
'Icp/Epsilon', '0.001',
|
||||
'Icp/PointToPlaneK', '20',
|
||||
'Icp/PointToPlaneRadius', '0',
|
||||
'Icp/MaxTranslation', '2',
|
||||
'Icp/MaxCorrespondenceDistance', '1',
|
||||
'Icp/Strategy', '1',
|
||||
'Icp/OutlierRatio', '0.7',
|
||||
'Icp/CorrespondenceRatio', '0.01',
|
||||
'Odom/ScanKeyFrameThr', '0.6',
|
||||
'OdomF2M/ScanSubtractRadius', '0.1',
|
||||
'OdomF2M/ScanMaxSize', '15000',
|
||||
'OdomF2M/BundleAdjustment', 'false',
|
||||
]),
|
||||
|
||||
Node(
|
||||
package='rtabmap_ros', executable='point_cloud_assembler', output='screen',
|
||||
parameters=[{
|
||||
'max_clouds':10,
|
||||
'fixed_frame_id':'',
|
||||
'use_sim_time':use_sim_time,
|
||||
}],
|
||||
remappings=[
|
||||
('cloud', 'odom_filtered_input_scan')
|
||||
]),
|
||||
|
||||
Node(
|
||||
package='rtabmap_ros', executable='rtabmap', output='screen',
|
||||
parameters=[{
|
||||
'frame_id':'velodyne',
|
||||
'subscribe_depth':False,
|
||||
'subscribe_rgb':False,
|
||||
'subscribe_scan_cloud':True,
|
||||
'approx_sync':False,
|
||||
'wait_for_transform':0.2,
|
||||
'use_sim_time':use_sim_time,
|
||||
}],
|
||||
remappings=[
|
||||
('scan_cloud', 'assembled_cloud')
|
||||
],
|
||||
arguments=[
|
||||
'-d', # This will delete the previous database (~/.ros/rtabmap.db)
|
||||
'RGBD/ProximityMaxGraphDepth', '0',
|
||||
'RGBD/ProximityPathMaxNeighbors', '1',
|
||||
'RGBD/AngularUpdate', '0.05',
|
||||
'RGBD/LinearUpdate', '0.05',
|
||||
'RGBD/CreateOccupancyGrid', 'false',
|
||||
'Mem/NotLinkedNodesKept', 'false',
|
||||
'Mem/STMSize', '30',
|
||||
'Mem/LaserScanNormalK', '20',
|
||||
'Reg/Strategy', '1',
|
||||
'Icp/VoxelSize', '0.1',
|
||||
'Icp/PointToPlaneK', '20',
|
||||
'Icp/PointToPlaneRadius', '0',
|
||||
'Icp/PointToPlane', 'true',
|
||||
'Icp/Iterations', '10',
|
||||
'Icp/Epsilon', '0.001',
|
||||
'Icp/MaxTranslation', '3',
|
||||
'Icp/MaxCorrespondenceDistance', '1',
|
||||
'Icp/Strategy', '1',
|
||||
'Icp/OutlierRatio', '0.7',
|
||||
'Icp/CorrespondenceRatio', '0.2',
|
||||
]),
|
||||
|
||||
Node(
|
||||
package='rtabmap_ros', executable='rtabmapviz', output='screen',
|
||||
parameters=[{
|
||||
'frame_id':'velodyne',
|
||||
'odom_frame_id':'odom',
|
||||
'subscribe_odom_info':True,
|
||||
'subscribe_scan_cloud':True,
|
||||
'approx_sync':False,
|
||||
'use_sim_time':use_sim_time,
|
||||
}],
|
||||
remappings=[
|
||||
('scan_cloud', 'odom_filtered_input_scan')
|
||||
]),
|
||||
])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user