我正在编写代码,用于快速探索用于机械臂移动的树。我有两个疑问
i)我必须使用什么距离度量来查找图中最近的节点?如果它是欧几里德距离,我该如何计算它,因为在机器人的每个手臂配置中都有两个连杆,而我不知道在这种情况下如何找到欧几里德距离。
如果ABC是树中最接近ADE的配置,我如何找到ADE和ABC之间的距离?
ii)我如何为目标生成随机配置,因为我的随机配置似乎从未达到目标,即使在5000次迭代之后也是如此。
提前谢谢。
发布于 2013-04-10 19:57:53
双回转臂的距离度量
RRT对于您选择的(伪)度量是非常健壮的,但是如果您得到的东西不是特别好,那么树的质量(以及路径)将受到影响。为了在整体上获得良好的性能,指标函数应该是快速的,所以在您转到更复杂的东西之前,我肯定会尝试更简单的东西。
在机器人手臂的情况下,许多指标都是可能的。也许最简单的是在两种配置中简单地使用末端执行器之间的欧几里德距离。如果您正在测试计划算法,那么几乎可以肯定的是,您必须让它工作起来。
如果你有一个完整的系统动力学模型,那么基于将手臂从一种配置移动到另一种配置所需能量的其他指标可能会表现得更好。
基于关节(关节局部)扫出的角度的其他度量可能是可以接受的,这些角度可以通过评估反向运动学解算器的路径得出-但我还没有在实践中尝试过。如果您需要实现连接配置功能,这也可能是一项有用的技术。
改进收敛
一旦您的度量函数正常工作,RRT就应该正常工作。然而,在实践中,您几乎总是需要在目标配置附近进行过采样,以鼓励算法利用在树构建阶段的其余部分完成的工作。最常见的是,您通过以大约5%的概率对目标配置状态进行采样来完成此操作。
https://stackoverflow.com/questions/15892563
复制相似问题