Size: 8149
Comment:
|
Size: 7421
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
{{{#!clearsilver CS/NodeAPI | {{{ #!clearsilver CS/NodeAPI |
Line 16: | Line 17: |
param { 0.name= cell_octave_factor 0.type= integer 0.desc= Quadratic size of the map with a side length of 2^(cell_octave_factor) * cell_size 0.default= 10 1.name= x_off_factor 1.type= double 1.desc= X-offset of the origin to the place the SLAM was initialized 1.default= 0.5 2.name= y_off_factor 2.type= double 2.desc= Y-offset of the origin to the place the SLAM was initialized 2.default= 0.5 3.name= yaw_off 3.type= double 3.desc= Orientation offset of the origin to the place the SLAM was initialized (rotation around vertical z-axis) 3.default= 0.5 } srv{ 0{ name = ~auto_flag type = optris_drivers/AutoFlag desc = enables and disables the automatic flag control. } |
|
Line 41: | Line 18: |
}}} {{{#!clearsilver CS/NodeAPI |
#!clearsilver CS/NodeAPI |
Only released in EOL distros:
Package Summary
Documented
The ohm_tsd_slam package provides a 2D SLAM approach for laser scanners.
- Maintainer: Philipp Koch <philipp.koch AT th-nuernberg DOT de>, Markus Kühn <markus.kuehn AT th-nuernberg DOT de>
- Author: Philipp Koch, Stefan May, Markus Kühn
- License: TODO
- Source: git https://github.com/autonohm/ohm_tsd_slam.git (branch: indigo-devel)
Contents
ROS Nodes
slam_node
Node for single robot SLAM with one laser scanner.Published Topics
map (nav_msgs/OccupancyGrid)- Map of the environment
- Absolute robot pose in the map frame
multi_slam_node
This node can build one map with multiple robots/laser scanners.Published Topics
/map (invalid message type for MsgLink(msg/type))- Map
- Pose of Robot number X. robotX might also replaced by a more distinctive namespace name.
Launch Files
Single Robot SLAM
<launch> <node pkg="tf" type="static_transform_publisher" name = "tf_laser" args = "-0.19 0 0.0 0 0 0 laser base_footprint 50"/> <node name = "slam_node" pkg = "ohm_tsd_slam" type = "slam_node" output = "screen"> <param name = "laser_topic" type = "string" value = "scan" /> <param name = "x_off_factor" type = "double" value = "0.5" /> <param name = "y_off_factor" type = "double" value = "0.5" /> <param name = "yaw_offset" type = "double" value = "0.0" /> <param name = "cell_octave_factor" type = "int" value = "13" /> <param name = "cellsize" type = "double" value = "0.015" /> <param name = "min_range" type = "double" value = "0.0" /> <param name = "max_range" type = "double" value = "30.0" /> <param name = "low_reflectivity_range" type = "double" value = "3.0" /> <param name = "occ_grid_time_interval" type = "double" value = "2.0" /> <param name = "loop_rate" type = "double" value = "40.0" /> <param name = "pose_topic" type = "string" value = "pose" /> <param name = "tf_base_frame" type = "string" value = "/map" /> <param name = "tf_child_frame" type = "string" value = "laser" /> <param name = "truncation_radius" type = "double" value = "2.0" /> <param name = "object_inflation_factor" type = "int" value = "0" /> <param name = "use_object_inflation" type = "bool" value = "false" /> <param name = "map_topic" type = "string" value = "/map" /> <param name = "get_map_topic" type = "string" value = "/map" /> <param name = "footprint_width" type = "double" value = "1.0" /> <param name = "footprint_height" type = "double" value = "1.0" /> <param name = "footprint_x_offset" type = "double" value = "-0.5" /> <param name = "use_icpsac" type = "bool" value = "false" /> <param name = "dist_filter_max" type = "double" value = "2.0" /> <param name = "dist_filter_min" type = "double" value = "0.1" /> <param name = "icp_iterations" type = "int" value = "25" /> <param name = "reg_trs_max" type = "double" value = "1.25" /> <param name = "reg_sin_rot_max" type = "double" value = "0.4" /> <param name = "ransac_reduce_factor" type = "int" value = "1"/> <param name = "node_control_topic" type = "string" value = node_control"/> </node> </launch>
Multi Robot SLAM
<launch> <node name = "multi_slam_node" pkg = "ohm_tsd_slam" type = "multi_slam_node" output = "screen"> <param name = "robot_nbr" type = "int" value = "2"/> <param name = "x_off_factor" type = "double" value = "0.5" /> <param name = "y_off_factor" type = "double" value = "0.5" /> <param name = "cell_octave_factor" type = "int" value = "13" /> <param name = "cellsize" type = "double" value = "0.015" /> <param name = "low_reflectivity_range" type = "double" value = "3.0" /> <param name = "occ_grid_time_interval" type = "double" value = "2.0" /> <param name = "truncation_radius" type = "double" value = "3.0" /> <param name = "object_inflation_factor" type = "int" value = "3"/> <param name = "use_object_inflation" type = "bool" value = "true" /> <param name = "reg_trs_max" type = "double" value = "0.5" /> <param name = "reg_sin_rot_max" type = "double" value = "0.5" /> <param name = "robot0/namespace" type = "string" value = "georg"/> <param name = "/georg/tf_child_frame" type = "string" value = "laser"/> <param name = "/georg/pose_topic" type = "string" value = "pose"/> <param name = "/georg/x_offset" type = "double" value = "1.0"/> <param name = "/georg/y_offset" type = "double" value = "0.0"/> <param name = "/georg/yaw_offset" type = "double" value = "0.0"/> <param name = "/georg/footprint_width" type = "double" value = "1.0"/> <param name = "/georg/footprint_height" type = "double" value = "1.0"/> <param name = "/georg/footprint_x_offset" type = "double" value = "-0.5"/> <param name = "/georg/low_reflectivity_range" type = "double" value = "3.0" /> <param name = "/georg/max_range" type = "double" value ="15.0" /> <param name = "/georg/min_range" type = "double" value ="0.01" /> <param name = "/georg/ransac_reduce_factor" type = "int" value = "1"/> <param name = "/georg/use_icpsac" type = "bool" value = "false" /> <param name = "/georg/icp_iterations" type = "int" value = "25" /> <param name = "/georg/dist_filter_max" type = "double" value = "2.0" /> <param name = "/georg/dist_filter_min" type = "double" value = "0.1" /> <param name = "/georg/node_control" type = "string" value = "node_control"/> <param name = "robot1/namespace" type = "string" value = "simon"/> <param name = "/simon/tf_child_frame" type = "string" value = "laser"/> <param name = "/simon/pose_topic" type = "string" value = "pose"/> <param name = "/simon/x_offset" type = "double" value = "1.8"/> <param name = "/simon/y_offset" type = "double" value = "0.0"/> <param name = "/simon/yaw_offset" type = "double" value = "0.0"/> <param name = "/simon/footprint_width" type = "double" value = "1.0"/> <param name = "/simon/footprint_height" type = "double" value = "1.0"/> <param name = "/simon/footprint_x_offset" type = "double" value = "-0.5"/> <param name = "/simon/low_reflectivity_range" type = "double" value = "3.0" /> <param name = "/simon/max_range" type = "double" value ="30.0" /> <param name = "/simon/min_range" type = "double" value ="0.01" /> <param name = "/simon/ransac_reduce_factor" type = "int" value = "4"/> <param name = "/simon/use_icpsac" type = "bool" value = "true" /> <param name = "/simon/icp_iterations" type = "int" value = "25" /> <param name = "/simon/dist_filter_max" type = "double" value = "0.2" /> <param name = "/simon/dist_filter_min" type = "double" value = "0.01" /> <param name = "/simon/node_control" type = "string" value = "node_control"/> </node> </launch>