3D-SLAM¶
Launch the indoor slam package via:
roslaunch mbs_slam indoor_slam.launch
Launch the outdoor slam package via:
roslaunch mbs_slam outdoor_slam.launch
Launch the localization slam package via:
roslaunch mbs_slam localization.launch
Saving the Point Clouds¶
rosservice call /hdl_graph_slam/dump
Save all the internal data (point clouds, floor coeffs, odoms, and pose graph) to a directory.
rosservice call /hdl_graph_slam/save_map "resolution: 0.05 destination: '/full_path_directory/map.pcd'"
Save the generated map as a PCD file.
3D-Mapping¶
3D-SLAM Configurations¶
By default mbs_slam nodes requires /mbs/points(sensor_msgs/PointCloud2) to be published. All other sensor informations are optional. Indepth information on the configuration parameters can be found in koide3
GPS¶
enable_gps:
True in case gps readings are provided. The mbs_slam
node needs typically supports 3 types of GPS messages:
/mbs/geopoint (geographic_msgs/GeoPointStamped)
/mbs/navsat (sensor_msgs/NavSatFix)
/mbs/nmea_sentence (nmea_msgs/Sentence)
From all of the above mentioned topics only longitude, latitude, and altitude are used and rest of the fields in the messages are ignored.
IMU Acceleration¶
enable_imu_acc
: By default acceleration resulting from sensor motion
is ignored therefore it is useful to provide this paramter (Do not set
bigger values for this constraint.)
IMU Orientation¶
enable_imu_ori
: In case the provided IMU has a reliable magentic
sensor, orientation can be added as a 3d orientation constraint. In case
of external magentic disturbances this paramter should be set to false.
Floor detection¶
For largescale flat indoor environments, this constraints can be specified. It will reduce the effect of accumulated rotation error.
3D-Localization¶
The node first does sensor localization using the onboard imu on the lidar. Odomerty prediction based on external imu is optional, if not set constant velocity model is used internally.
mbs_localization
provides 3d, real-time localization.
ROS Topics¶
/odom
(nav_msgs/Odometry)Estimated sensor pose in the map frame
/aligned\_points
Input point cloud aligned with the map
/status
(hdl_localization/ScanMatchingStatus)Scan matching result information (e.g., convergence, matching error, and inlier fraction)