ROS中已经集成了AMCL(自适应蒙特卡洛定位)的解决方案,按照要求测试一般都没问题。
源码或者相关细节分析参考:机器人学习--定位算法AMCL详解_GGY1102的博客-CSDN博客_amcl定位
amcl的基本原理分析:amcl算法问题_遍历WORLD的博客-CSDN博客_amcl定位算法
问题1: 使用amcl需要手动在rviz中设定初始位置,如何开机后自动运行识别初始位置?(也就是初始化的时候用全局定位 Global localization; 之后的位姿跟踪用 local localization 或者 pose tracking的方法)
方法1: 调用函数 global_localization service(调用命令 rosservice call /global_localization "{}"); 调整位姿的协方差参数
:
amcl中手动定位自主定位问题_遍历WORLD的博客-CSDN博客
:ros的navigation之———amcl(localization)应用详解_chenxingwangzi的博客-CSDN博客_amcl
:AMCL定位_EAIBOT的博客-CSDN博客_amcl定位
方法2:通过视觉信息辅助实现全局定位,即给定初始位置的大概估计,撒粒子和基本权重
:深入AMCL(四):相机如何辅助AMCL自动全局定位_yuanguobin01的博客-CSDN博客
手动定位后如何实现主动定位:深入AMCL(三):AMCL手动初始化后如何自动定位_yuanguobin01的博客-CSDN博客