机器人在ROS导航栈中的初始姿势。

我有一个比较简单的问题,就是导航栈中机器人姿势的初始化。在环境中做了一个SLAM,并从map_server中以所需的分辨率和大小保存静态地图,最后从静态地图服务器中提供后,我无法正确初始化我的机器人姿势。虽然,初始化可以用RVIZ(2D姿态估计选项),但显然是不准确的,因为我是用手做的。这有第二个缺点,即当我使用位置(move_base_trajectory主题)跟踪而不是速度跟踪(cmd_vel主题)时,有一个当前位置的偏移,我应该在我的低级控制器中手动补偿。有没有其他合适的(自动)姿势初始化方法?PS:我正在使用激光雷达扫描主题来馈送costmap功能.我也测试了机器人的初始化与hector_slam堆栈相当准确,但是,与此同时,我得到了第二个地图,这干扰了第一个地图和姿势关联不工作。我想应该有一个更合适的方法,我正在加载我的静态地图在启动文件中,和我的静态地图yaml文件。

<master auto="start"/>
 <!-- Run the map server --> 
    <node name="map_server" pkg="map_server" type="map_server" args="$(find my_robot_name_2dnav)/mymap.pgm 0.1"/>

而我的静态地图yaml文件就像这样简单:

image: mymap.pgm
resolution: 0.100000
origin: [-12.549999, -12.549999, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

解决方案:

使用 AMCL 用于在预建地图中进行定位。

您必须指定机器人初始位置的估计值,这可以通过Rviz或将其指定为一个参数来完成。初始位置不需要精确,即使它不是很精确,AMCL也会随着时间的推移完善位置。

给TA打赏
共{{data.count}}人
人已打赏
未分类

RSelenium文本提取在Loop中不工作。

2022-9-8 13:45:42

未分类

删除按钮在javascript中不能从视图中立即删除?

2022-9-8 13:56:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索