机器人与接口规范

发送到机器人的实时控制命令应满足 推荐的必要的 条件。应满足推荐条件以确保机器人的最佳运行。如果不满足必要条件,则运动将中止。

最终的机器人轨迹是对用户指定的轨迹进行处理的结果,以确保满足推荐条件。只要满足必要条件,机器人就会尝试遵循用户提供的轨迹,但只有在用户指定的轨迹也满足推荐条件的情况下,它才会与最终轨迹相匹配。如果违反了必要条件,则错误将中止运动:例如,如果用户定义的关节轨迹的第一点与机器人的起始位置有很大差别 (\(q(t=0) \neq q_c(t=0)\)) ,那 start_pose_invalid 错误将中止运动。

下面公式中使用的常数值在 Franka Emika Robot 的限制Franka Research 3 的限制 部分列举。

关节轨迹要求

必要条件

  • \(q_{min} < q_c < q_{max}\)

  • \(-\dot{q}_{max} < \dot{q}_c < \dot{q}_{max}\)

  • \(-\ddot{q}_{max} < \ddot{q}_c < \ddot{q}_{max}\)

  • \(-\dddot{q}_{max} < \dddot{q}_c < \dddot{q}_{max}\)

笛卡尔轨迹要求

必要条件

  • \(T\) 是合适的变换矩阵

  • \(-\dot{p}_{max} < \dot{p_c} < \dot{p}_{max}\) (笛卡尔速度)

  • \(-\ddot{p}_{max} < \ddot{p_c} < \ddot{p}_{max}\) (笛卡尔末端加速度)

  • \(-\dddot{p}_{max} < \dddot{p_c} < \dddot{p}_{max}\) (笛卡尔末端加加速度/加速度变化率)

从逆运动学中导出的条件:

  • \(q_{min} < q_c < q_{max}\)

  • \(-\dot{q}_{max} < \dot{q_c} < \dot{q}_{max}\)

  • \(-\ddot{q}_{max} < \ddot{q_c} < \ddot{q}_{max}\)

推荐条件

从逆运动学中导出的条件:

  • \(-{\tau_j}_{max} < {\tau_j}_d < {\tau_j}_{max}\)

  • \(-\dot{\tau_j}_{max} < \dot{{\tau_j}_d} < \dot{\tau_j}_{max}\)

在轨迹开始时,应满足以下条件:

  • \({}^OT_{EE} = {{}^OT_{EE}}_c\)

  • \(\dot{p}_{c} = 0\) (笛卡尔末端速度)

  • \(\ddot{p}_{c} = 0\) (笛卡尔末端加速度)

在轨迹结束时,应满足以下条件:

  • \(\dot{p}_{c} = 0\) (笛卡尔末端速度)

  • \(\ddot{p}_{c} = 0\) (笛卡尔末端加速度)

控制器要求

必要条件

  • \(-\dot{\tau_j}_{max} < \dot{{\tau_j}_d} < \dot{\tau_j}_{max}\)

推荐条件

  • \(-{\tau_j}_{max} < {\tau_j}_d < {\tau_j}_{max}\)

在轨迹开始时,应满足以下条件:

  • \({\tau_j}_{d} = 0\)

Franka Emika Robot 的限制

笛卡尔空间的限制如下:

名称

平移

旋转

肘部

\(\dot{p}_{max}\)

1.7 \(\frac{\text{m}}{\text{s}}\)

2.5 \(\frac{\text{rad}}{\text{s}}\)

2.1750 \(\frac{rad}{\text{s}}\)

\(\ddot{p}_{max}\)

13.0 \(\frac{\text{m}}{\text{s}^2}\)

25.0 \(\frac{\text{rad}}{\text{s}^2}\)

10.0 \(\;\frac{rad}{\text{s}^2}\)

\(\dddot{p}_{max}\)

6500.0 \(\frac{\text{m}}{\text{s}^3}\)

12500.0 \(\frac{\text{rad}}{\text{s}^3}\)

5000.0 \(\;\frac{rad}{\text{s}^3}\)

关节空间限制如下:

名称

关节 1

关节 2

关节 3

关节 4

关节 5

关节 6

关节 7

单位

\(q_{max}\)

2.8973

1.7628

2.8973

-0.0698

2.8973

3.7525

2.8973

\(\text{rad}\)

\(q_{min}\)

-2.8973

-1.7628

-2.8973

-3.0718

-2.8973

-0.0175

-2.8973

\(\text{rad}\)

\(\dot{q}_{max}\)

2.1750

2.1750

2.1750

2.1750

2.6100

2.6100

2.6100

\(\frac{\text{rad}}{\text{s}}\)

\(\ddot{q}_{max}\)

15

7.5

10

12.5

15

20

20

\(\frac{\text{rad}}{\text{s}^2}\)

\(\dddot{q}_{max}\)

7500

3750

5000

6250

7500

10000

10000

\(\frac{\text{rad}}{\text{s}^3}\)

\({\tau_j}_{max}\)

87

87

87

87

12

12

12

\(\text{Nm}\)

\(\dot{\tau_j}_{max}\)

1000

1000

1000

1000

1000

1000

1000

\(\frac{\text{Nm}}{\text{s}}\)

当关节 4 的角度为 \(q_{elbow-flip}\) 时,手臂可以达到其最大伸展,其中 \(q_{elbow-flip} = -0.467002423653011\:rad\)。该参数用于确定肘部的翻转方向。

Franka Research 3 的限制

笛卡尔空间的限制如下:

名称

平移

旋转

肘部

\(\dot{p}_{max}\)

3.0 \(\frac{\text{m}}{\text{s}}\)

2.5 \(\frac{\text{rad}}{\text{s}}\)

2.620 \(\frac{rad}{\text{s}}\)

\(\ddot{p}_{max}\)

9.0 \(\frac{\text{m}}{\text{s}^2}\)

17.0 \(\frac{\text{rad}}{\text{s}^2}\)

10.0 \(\;\frac{rad}{\text{s}^2}\)

\(\dddot{p}_{max}\)

4500.0 \(\frac{\text{m}}{\text{s}^3}\)

8500.0 \(\frac{\text{rad}}{\text{s}^3}\)

5000.0 \(\;\frac{rad}{\text{s}^3}\)

关节空间限制如下:

名称

关节 1

关节 2

关节 3

关节 4

关节 5

关节 6

关节 7

单位

\(q_{max}\)

2.7437

1.7837

2.9007

-0.1518

2.8065

4.5169

3.0159

\(\text{rad}\)

\(q_{min}\)

-2.7437

-1.7837

-2.9007

-3.0421

-2.8065

0.5445

-3.0159

\(\text{rad}\)

\(\dot{q}_{max}\)

2.62

2.62

2.62

2.62

5.26

4.18

5.26

\(\frac{\text{rad}}{\text{s}}\)

\(\ddot{q}_{max}\)

10

10

10

10

10

10

10

\(\frac{\text{rad}}{\text{s}^2}\)

\(\dddot{q}_{max}\)

5000

5000

5000

5000

5000

5000

5000

\(\frac{\text{rad}}{\text{s}^3}\)

\({\tau_j}_{max}\)

87

87

87

87

12

12

12

\(\text{Nm}\)

\(\dot{\tau_j}_{max}\)

1000

1000

1000

1000

1000

1000

1000

\(\frac{\text{Nm}}{\text{s}}\)

当关节 4 的角度为 \(q_{elbow-flip}\) 时,手臂可以达到其最大伸展,其中 \(q_{elbow-flip} = -0.467002423653011\:rad\)。该参数用于确定肘部的翻转方向。

重要

请注意,最大关节速度取决于关节位置。 关节在某一位置处的最大和最小关节速度计算如下:

_images/pbv_equations_max.svg

最大速度

_images/pbv_equations_min.svg

最小速度

由于大多数运动规划器只能处理固定的速度限制(矩形限制),因此我们在此提供了一个建议来说明使用哪些数值。

在下图中,系统速度限制通过红色和蓝色阈值进行可视化表示,而建议的 “位置-速度矩形限制” 则以黑色可视化表示。

FR3 关节限制的可视化
_images/pbv_limits_j1.svg

关节 1 的速度限制

_images/pbv_limits_j2.svg

关节 2 的速度限制

_images/pbv_limits_j3.svg

关节 3 的速度限制

_images/pbv_limits_j4.svg

关节 4 的速度限制

_images/pbv_limits_j5.svg

关节 5 的速度限制

_images/pbv_limits_j6.svg

关节 6 的速度限制

_images/pbv_limits_j7.svg

关节 7 的速度限制

以下是描述建议的位置-速度矩形限制的参数:

名称

关节 1

关节 2

关节 3

关节 4

关节 5

关节 6

关节 7

单位

\(q_{max}\)

2.3093

1.5133

2.4937

-0.4461

2.4800

4.2094

2.6895

\(\text{rad}\)

\(q_{min}\)

-2.3093

-1.5133

-2.4937

-2.7478

-2.4800

0.8521

-2.6895

\(\text{rad}\)

\(\dot{q}_{max}\)

2

1

1.5

1.25

3

1.5

3

\(\frac{\text{rad}}{\text{s}}\)

重要

这些限制是默认情况下在速率限制器和 franka_ros 内的 URDF 中使用的值。然而,这些只是一个建议,可以根据需要在规范内自由定义自己的矩形限制。

由于 FR3 本质上不会对系统限制(上图中的红线和蓝线)实施任何限制,因此还可以自由地实现自己的运动生成器,以利用 FR3 的硬件功能,超越现有运动生成器施加的矩形限制。

Denavit–Hartenberg 参数

Franka Emika Robot 运动链的 DH 参数是根据 Craig 约定导出的改进 DH(MDH),如下所示:

_images/dh-diagram.png

Franka Emika Robot 的 运动学链

关节

\(a\;(\text{m})\)

\(d\;(\text{m})\)

\(\alpha\;(\text{rad})\)

\(\theta\;(\text{rad})\)

关节 1

0

0.333

0

\(\theta_1\)

关节 2

0

0

\(-\frac{\pi}{2}\)

\(\theta_2\)

关节 3

0

0.316

\(\frac{\pi}{2}\)

\(\theta_3\)

关节 4

0.0825

0

\(\frac{\pi}{2}\)

\(\theta_4\)

关节 5

-0.0825

0.384

\(-\frac{\pi}{2}\)

\(\theta_5\)

关节 6

0

0

\(\frac{\pi}{2}\)

\(\theta_6\)

关节 7

0.088

0

\(\frac{\pi}{2}\)

\(\theta_7\)

Flange

0

0.107

0

0

注解

\({}^0T_{1}\) 是描述 坐标系 1坐标系 0 中的位置和方向的变换矩阵。运动学链可以如下计算: \({}^0T_{2} = {}^0T_{1} * {}^1T_{2}\)