前面我们讨论过在二维空间建立人工势场函数,因为二维空间比较直观,然而机器人有不同的形状和大小,很容易出现四维、五维、六维甚至自由度更高的位形空间,在这种高维度空间,我们可能不太清楚该如何建立合适的势能方程。
一种为多自由度机器人生成势场的方法是,假设有一系列分布在机器人表面的控制点
对每个控制点,我们可以构建一个势场,引导机器人远离工作空间的障碍并走向目标点。
如前所述,可以通过计算每个点和工作空间中障碍物的距离来构建势场。
此外,通常可以根据位形空间坐标(由向量x表示)来计算每个控制点的位置。
然后,通过对这些单独的势能函数求和,我们可以构造一个总的势函数,可以认为这是位形空间坐标x的总函数
然后,通过已知位形空间的坐标x来计算这个函数的梯度,从而得到机器人的控制方案。
这个梯度能提供相关信息 ,引导机器人远离障碍,向目标移动。
在下面这个动画中,设置了一组控制点,用蓝色标记。想象每个控制点都配有可以检测附近障碍物距离的测距传感器,人工势场使用这个信息来使每一个控制点远离障碍,同时引导他们到达预设的目标。在人工势场中,所有斥力和引力会相互抵消,然后用梯度(下降法)确定机器人如何在实际中移动。
感谢 B 站 up 主 Here_Kin 的翻译和分享!
【自制中英】宾夕法尼亚大学机器人专项课程二 运动规划 - Robotics:Motion and Planning