机器人与接口规范
发送到机器人的实时控制命令应满足 推荐的 和 必要的 条件。应满足推荐条件以确保机器人的最佳运行。如果不满足必要条件,则运动将中止。
最终的机器人轨迹是对用户指定的轨迹进行处理的结果,以确保满足推荐条件。只要满足必要条件,机器人就会尝试遵循用户提供的轨迹,但只有在用户指定的轨迹也满足推荐条件的情况下,它才会与最终轨迹相匹配。如果违反了必要条件,则错误将中止运动:例如,如果用户定义的关节轨迹的第一点与机器人的起始位置有很大差别 (\(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}\)
推荐条件
\(-{\tau_j}_{max} < {\tau_j}_d < {\tau_j}_{max}\)
\(-\dot{\tau_j}_{max} < \dot{\tau_j}_d < \dot{\tau_j}_{max}\)
在轨迹开始时,应满足以下条件:
\(q = q_c\)
\(\dot{q}_{c} = 0\)
\(\ddot{q}_{c} = 0\)
在轨迹结束时,应满足以下条件:
\(\dot{q}_{c} = 0\)
\(\ddot{q}_{c} = 0\)
笛卡尔轨迹要求
必要条件
\(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\)。该参数用于确定肘部的翻转方向。
重要
请注意,最大关节速度取决于关节位置。 关节在某一位置处的最大和最小关节速度计算如下:
为了避免违反安全关节速度限制,FCI 的最大/最小关节速度限制比Datasheet手册中描述的更为严格。
由于大多数运动规划器只能处理固定的速度限制(矩形限制),因此我们在此提供了一个建议来说明使用哪些数值。
在下图中,系统速度限制通过红色和蓝色阈值进行可视化表示,而建议的 “位置-速度矩形限制” 则以黑色可视化表示。
以下是描述建议的位置-速度矩形限制的参数:
名称 |
关节 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 的硬件功能,超越现有运动生成器施加的矩形限制。