随动
一、背景
顶升机器人还有一个特殊的工作模式,就是随动,保持货物在世界坐标系下角度不变。到机器人到达目标点时,货物的角度和机器人平行或者垂直。
二、随动相关配置
- 随动的 AGV,在重启和重新定位后,需要先将转盘转到世界坐标系下的一个角度。
- 只要在 LM 或者 AP 点中设置了随动功能,车子运行过程中就会开启随动功能了
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
随动 | 站点属性 | false | ||||
去站点时,如果 AGV 有随动电机并且有货物,则开启随动功能 |
- 如果发送参数里面包含
key = “spin”, value="true”
,在起步、运行过程中、到达点位时都会开启随动功能。
json
{
"id":"LM1",
"spin":true
}
1
2
3
4
2
3
4
- 在只用 Roboshop 控制的情况下,如果目标点勾选的了随动,AGV 才会随动。此时并不是看 AGV 在当前点是否随动。
三、随动功能的参数配置说明
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
MinSpinAngle | 参数配置-navigation | °/s | 0.1 | 0.001 | 10 | ~latest |
随动时的最小执行角速度 | ||||||
SpinTheta1 | 参数配置-navigation | ° | 0.1 | 0 | 360 | ~latest |
随动到达点位时,货架到点的角度阈值。小于这个阈值时,会认为托盘旋转到位。如果对托盘旋转角度要求比较高的情况,将这个配小一些。 | ||||||
SpinTheta2 | 参数配置-navigation | ° | 90 | 0.1 | 360 | ~latest |
随动起步时,货架和起步朝向差值的报错阈值。小于这个阈值时,货架会调整朝向,大于这个阈值时,将报错。 | ||||||
SpinGoTheta | 参数配置-navigation | ° | 2.0 | 0.01 | 360.0 | ~latest |
随动起步时,货架和起步朝向的起步阈值。小于这个阈值时,会认为托盘旋转到位,AGV开始导航。如果对托盘旋转角度要求比较高的情况,将这个配小一些。 | ||||||
SpinDs | 参数配置-navigation | m | 0.3 | 0.0 | 1.0 | ~latest |
随动起步时,货架和里程中心偏差的报错阈值。大于这个阈值时,将报错。 | ||||||
PGVError | 参数配置-navigation | true | ~latest | |||
PGV 报错 |
Error52600
提示:
- Shelf is outside the safe region.
触发条件:
- 当货架下有二维码,顶升车上有 PGV 时,货架位置偏离。
解决方式:
- 需要检查一下货物是否真的偏离了,检查一下 PGV 是否读出异常。如果货物偏离不多,PGV 无异常,则,可以将参数配置的
SpinDs
和SpinTheta2
改大一些。 - 无论在什么情况下,都想关闭这个报错,则可以包
PGVError
关闭
Error52600
提示:
- Shelf has system error
触发条件:
- 当货架随动时被卡住
解决方式:
- 需要检查货架是否被卡住,将货架的尺寸增大
装载货物进行随动时货架抖动,或者进行随动时货架没有保持恒定角度,此时需要调整随动电机的 PID 参数
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
SpinKp | 参数配置-navigation | 0.6 | 0.0 | 100.0 | ~latest | |
随动电机的 Kp | ||||||
SpinKd | 参数配置-navigation | 1.0 | 0 | 100.0 | ~latest | |
随动电机的 Kd | ||||||
SpinKi | 参数配置-navigation | 0.01 | 0.0 | 100.0 | ~latest | |
随动电机的 Ki | ||||||
SpinRefThreshold | 参数配置-navigation | ° | 2.0 | 0.01 | 360.0 | ~latest |
机器人旋转角速度的参考阈值,如果机器人角速度低于此阈值,随动电机的角速度将不参考机器人当前的角速度。 |
四、托盘转动的任务指令
- 增量式:在当前托盘角度基础上增加一个角度。角度为正数则逆时针旋转,为负数顺时针旋转。
json
{
"skill_name": "GoByOdometer",
"increase_spin_angle":1.57
}
1
2
3
4
2
3
4
- 机器人坐标系:将托盘的角度转到机器人坐标系下的一个角度。
spin_direction
为 0,则就近转过去。spin_direction
为 1,则逆时针转过去。spin_direction
为 -1,则顺时针转过去。
json
{
"skill_name": "GoByOdometer",
"robot_spin_angle":-1.57,
"spin_direction":0.0
}
1
2
3
4
5
2
3
4
5
- 世界坐标系:将托盘的角度转到世界坐标系下的一个角度。
spin_direction
为 0,则就近转过去。spin_direction
为 1,则逆时针转过去。spin_direction
为 -1,则顺时针转过去。
json
{
"skill_name": "GoByOdometer",
"global_spin_angle":-1.57,
"spin_direction":0.0
}
1
2
3
4
5
2
3
4
5
托盘旋转的最大角速度,角加速度和角减速度受到下面参数限制:
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
MaxSpinRot | 参数配置-navigation | °/s | 30 | 0.001 | 360.0 | ~latest |
旋转电机的最大角速度 | ||||||
MaxSpinRotAcc | 参数配置-navigation | ![]() | 30.0 | 0.001 | 360.0 | ~latest |
旋转电机的最大角加速度 | ||||||
MaxSpinRotDec | 参数配置-navigation | ![]() | 30.0 | 0.001 | 360.0 | ~latest |
旋转电机的最大角减速度 |
五、线路上指定托盘角度
Robokit 支持在线路上配置货物朝向,每条线路都可以指定货物的朝向。
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
goodsDir | 线路属性 | ° | 999 | -999 | 999 | |
有随动功能的差动车,运载货物时,货物的朝向 |
也可以在任务参数goods_dir
中指定当前路径货物的朝向.
json
{
"source_id":"LM1",
"id":"LM2",
"goods_dir": 0 //货物朝向,单位角度
}
1
2
3
4
5
2
3
4
5
六、保持托盘和机器人平行
在某些场景下,要保持货物和机器人平行。用户可以调整两个参数。
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
AutoSpinToZero | 参数配置-navigation | true | ~latest | |||
载货状态下,起步前是否需要将托盘转到与机器人平行。 | ||||||
AutoSpinToZeroInUnload | 参数配置-navigation | true | ~latest | |||
不载货状态下,起步前是否需要将托盘转到与机器人平行。 |
注意:
- 所有的角度都是弧度制。托盘旋转的最大角速度,角加速度,角减速度是和 AGV 旋转同样的参数: MaxRot, MaxRotAcc, MaxRotDec。
- 托盘旋到位精度为 0.5 度。
- 指令中的"skill_name"可以省略。
- 如何调整
SpinKp
,SpinKd
,SpinKi
? 建议采用默认值,如果发现托盘转动比小车转动滞后,可以加大SpinKp
;如果发现托盘转动比小车转动超前,可以减小SpinKp
。 - 如果 PGV 噪声比较大,随动时可能会导致托盘咔咔响,可以把 SpinKd 参数改小改善此问题。
七、随动抖动
在机器人原地旋转随动时,货架会有抖动。有些现场需要尽可能低的抖动。为此,我们在参数配置中增加了一个参数,才降低随动导致的托盘抖动。
参数名称 | 参数位置 | 单位 | 默认值 | 最小值 | 最大值 | 支持版本 |
---|---|---|---|---|---|---|
SpinRatio | 参数配置-navigation | 0.02 | -1.0 | 1.0 | 3.3.5.76 |
可以通过调节 SpinRatio 的数值量降低抖动的幅度。
除此之外,可以减小参数配置中的SpinKp
, SpinKd
, SpinKi
来降低抖动的幅度。
最近更新 2022/11/28
有用
没用