开源软件名称(OpenSource Name):NaokiAkai/mcl_ros开源软件地址(OpenSource Url):https://github.com/NaokiAkai/mcl_ros开源编程语言(OpenSource Language):C++ 99.0%开源软件介绍(OpenSource Introduction):Cautionals_ros that is upper compatible of mcl_ros is available now. mcl_rosAbout mcl_rosmcl_ros is a ROS package for mobile robot localization with 2D LiDAR. Monte Carlo localization (MCL) is used as a localization algorithm. I confirmed that mcl_ros works on Ubuntu 18.04 and 20.04. How to installYou need to install ROS environment first. Then, install mcl_ros as
If you do not want to make a new workspace for mcl_ros, please copy the mcl_ros package to your workspace. How to runYou need to publish sensor_msgs::LaserScan, nav_msgs::Odometry, and nav_msgs::OccupancyGrid messages. Default topic names are "/scan", "/odom", and "/map". In addition, you need to set static transform publisher between the base link to laser sensor frames. Default frame names are "base_link" and "laser". Then, run mcl_ros as
Parameter descriptionsThere is a launch file under mcl_ros/src/mcl_ros/launch/ directory, named mcl.launch. The parameter descriptions can be seen in the launch file. CharacteristicsRobust localizationmcl_ros contains the localization method presented in [1]. The localization method simultaneously estimates the robot pose and sensor measurement classes. Here, two sensor measurements classes are considered; known and unknown, that is, mapped and unmapped obstacles. Because the method can simultaneously estimate the unknown measurement while localization, the localization robustness to unknown obstacles can be increased. To use the localization method, measurement_model_type is needed to be set to 2.
Adding random particles in resamplingAdding random particles in resampling is a simple method to improve localization robustness. mcl_ros uses this method. To use the method, use_augmented_mcl or add_random_particles_in_resampling is needed to be set to true.
or
If use_augmented_mcl is true, mcl_ros works as augmented MCL [2]. In my experience, I really recommend to set add_random_particles_in_resampling to true, instead of use_augmented_mcl. Rejecting unknown scanIn [2], a method to reject scans that might measure unknown obstacles is presented. To reject the unknown scan, the beam model [2] is utilized. The unknown scan rejection method is implemented in mcl_ros. To use the unknown scan rejection, reject_unknown_scan is needed to be set to true.
Note that the unknown scans are automatically detected if the method presented in [1] is used since it simultaneously estimates the unknown class measurements. Reference[1] Naoki Akai, Luis Yoichi Morales, and Hiroshi Murase. "Mobile robot localization considering class of sensor observations," In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3159-3166, 2018. [2] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. "Probabilistic robotics," MIT Press, 2005. LicenseMozilla Public License Version 2.0 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论