1

Reading material :
Introduction to Robotics: Mechanics and Control, 3rd Edition, John J. Craig


Chapter 7 : Trajectory Generation

7.1 Intro 问题描述

在机器人轨迹规划问题中,轨迹被定义为所有自由度的位置,速度,加速度的历史记录。问题主要包括:

  1. 用户在给定终点位置及末端触手的方向后,我们该如何给出详细的路径?

  2. 在规划好详细的路径之后,他们要如何在计算机中表示?

  3. 实际计算的的问题。 路径规划是实时的,路径点实在机器运转时实时计算的,所以就必须考虑点计算更新速率的问题。一般机械手操作过程中点更新的频率在60-2000Hz之间。


7.2 General Considerations in path and description and generation

主要考虑在工具框架{T}和静止框架{S}中机械臂的运动。

这样做的好处是当我们得到{T}相对于{S}的详细路径之后,我们的运动描述便可独立于任何的机器人,终端触手及工作部件。 这样相同的路径描述便可以应用于不同的机械臂中。而且,我们可以规划相对于活动机台(传送带)的运动,即{S}是随时间变化的。

结合上述,问题可以变成: {Tinitial} 移动到 {Tfinal}, 这样的改变往往包含方向和位置的改变。

我们有必要将运动用更加细节的方式描述而不是仅仅声明最终的状态。
一种方式是给出中间点序列(包含了位置和方向信息)。
包含了起点,终点,中间点的点集被称作路径点集。这里虽然叫点,但其实也是框架,包含了位置,方向,甚至一些临时特征比如两个中间点的时延。

路径必须至少是二阶光滑连续的。忽动忽停的运动将会导致机械损耗。
通过引入一系列中间点的限制条件我们可以保证路径光滑。


7.3 轴-空间体系

此体系用轴转角方程来描述路径形状。

每个路径点由{T}{S}相对框架中想要的位置和方向来确定,然后用逆向运动解将中间点转化成轴转角的集合。之后再为每一个起讫点之间的轴找一个光滑方程。

轴-空间体系便于计算,而且不会有奇异点。

三次多项式

至少需要四个限制条件才能确定一个光滑方程。
$$ theta(t) = a_{0} + a_{1}t+a_2t^2+a_3t^3 $$
四个未知数需要四个条件。

  • 一般是首尾位置知晓,首尾速度为0即可解决三次多项式。


有中间点的三次多项式

为了节约时间,在中间点处不能停下,所以我们用三次多项式去拟合路径。
我们会先将(位置,方向)信息转化成轴角之后再考虑用三次多项式去连接各个轴的中间点。

  • 首尾速度不是0, 首尾位置知晓。
    如果有多个中间点,只需重复应用上述方法。

有多种选择中间点速度的方法:

  • 用户在笛卡尔坐标系中自定义

  • 系统自动定义通过简单计算教学

  • 系统自动定义通过保证加速度连续

第一种用户自定义的方法在奇异点出无法实现。

第二种见下图, 如果斜率在中间点处改变符号,那么就将速度置0; 如果没有改变符号,那么就将速度设置为两个线段斜率的平均值。

clipboard.png

实现第三种需要一种新的方法,要在上述限制条件中引入加速度限制条件。

$$ theta(t) = a_{10} + a_{11}t+a_{12}t^2+a_{13}t^3 $$ $$theta(t) = a_{20} + a_{21}t+a_{22}t^2+a_{23}t^3 $$


高阶多项式

高阶多项式一般用于路线分割。举个栗子,如果我们想指定起讫点的位置,速度和加速度,那么就要用到五阶多项式。


抛物线衔接线性方程

clipboard.png

另一种路径形状是线性方程。
值得注意的是,虽然在这个体系中轴的运动时线性的,但是终端触手一般不会按直线移动(theta是角度,应该是弧线)。
走直线会造成速度在运动开始结束的地方不连续,为了让他连续,我们可以在两个端点处衔接一段抛物线。

clipboard.png

衔接区域的加速度是不变的。 我们假设衔接的前后两段抛物线有着相同的时长,所以加速度也相同。
这个问题有很多解,但是所有解都关于中点对称。

clipboard.png

  • 第一个衔接结束区域的速度必须等于线性区域的速度。

  • 通常先选择一个加速度,然后计算 tb

  • 加速度必须足够大否则无解

抛物线衔接带有中间点的路径

clipboard.png

重点是计算混合区域的混合时长。(开头结尾要单独算)
一般来说上述方法不会通过指定的中间点,只能是接近。如果想要机械臂精准通过的话必须加一步:

  • 系统自动将中间点替换成两个伪中间点,各在原始中间点的两边,如图。原始中间点会落在两个伪中间点之间的线性区域内。 原始中间点又被称作通过点。

clipboard.png


KirkBai
27 声望6 粉丝

引用和评论

0 条评论