0

我将 ros nav stack 与 google cartographer(映射和本地化)结合使用,在已知地图中导航机器人。现在,机器人遵循以可接受的精度生成的路径。但是,通常,一旦生成了路径,机器人就会以 params 文件中设置的最高速度(escape_velocity 参数)反转,然后开始在生成的路径上正确前进。

我附上了我所有参数文件的图像: 1. Praram Files-1 2. Param Files-2。顶部提到了每个参数文件的名称。但为避免混淆,它们的顺序如下:

A. Param Files-1: 1. Global Costmap Params 2. Local Costmap Params 3. Common Costmap Params 4. Global Plnner Params 5. Local Planner Params

B. 参数文件-2:移动基础参数

这是 rviz 上的视频链接。https://vimeo.com/320040685

绿色的细线是 ros nav stack 生成的计划。视频后面看到的较粗的线是实际的机器人运动。可以看到机器人先倒车,然后开始向前移动。

我是这个论坛的新手,所以如果我需要提供更多数据让任何人回答这个问题,请告诉我

还有其他人有这个问题吗?将不胜感激有关解决此问题的任何提示!提前致谢!

PS:我在 Ubuntu 14.04 上使用 ROS Indigo

4

2 回答 2

0

这是可以帮助您找到问题的观察列表:

  1. 您的机器人似乎不确定一开始的位置。尝试改进它以获得更好的导航。

  2. (我认为这是你的问题)你的机器人从本地成本图的通货膨胀层开始。我没有看到你的本地规划器文件,但默认情况下机器人会避免出现在这个地方。看看:通货膨胀成本图插件

  3. 检查您的机器人半径、避障和所有配置是否与您的机器人匹配。

  4. Navfn 已经很老了,它应该适用于您的项目,但使用 global planner 可能会很好。也可以尝试另一个当地的规划师。

希望这有帮助。

祝你今天过得愉快!

于 2019-03-01T15:39:16.513 回答
0

机器人进入逃生模式的唯一时间是它无法找到可行的前进路径以到达低成本区域并更接近所需路径。需要检查的几件事是:
1. 定位是否准确,机器人是否准确地知道它在哪里?
2. 打开调试模式,以便您可以从节点获得更多线索,您可以按照http://wiki.ros.org/rosconsole#Configuration
此处所述启用调试 3. 最后,在您的视频中,绿线在两条不同的路径之间跳跃。有没有机会让两个节点处理相同的数据并发出相互冲突的消息?

于 2019-03-03T14:36:02.573 回答