帮助中心
帮助中心主页
激光雷达
外部传感器
其他传感器
总线型编码器
电池及充电
喇叭及氛围灯
功能授权
顶升机器人的取货和放货

一、背景

顶升机器人可以是差动车,双舵轮车,双轮差速模组车。在3.3.5.72+的版本后,顶升机器人可以是单舵轮车。
机器人顶起货物,可以通过识别自动规划路径去,也可以沿着客户绘制的线路过去。当到达工作点时可能会被障碍物阻挡,可以通过任务参数,线路参数,任务参数来屏蔽一些传感器。顶升取放所在流程中的位置如下:
任务指令


任务指令
任务指令

二、通过识别钻出货架

通过任务参数中指定 recGoOut 为 true,表示将采用相应识别文件,进行识别钻出货架。防止钻出货架时,被货架腿阻挡。目前只支持全向车,从货架中钻出。 其他车型将会忽略这个参数。

任务指令

三、货架识别文件的配置

控制识别偏移量,控制识别距离的参数。

参数名称参数位置单位默认值最小值最大值支持版本
rec_off_x识别文件-shelfm0-9999~latest
在识别坐标 x 方向的偏移量
rec_off_y识别文件-shelfm0-9999~latest
在识别坐标 y 方向的偏移量
rec_off_z识别文件-shelf°0-9999~latest
在识别坐标角度偏移量

识别坐标系为右手坐标系,x 轴指向识别物体外侧,即为识别表面的外法向向量。


控制识别距离的参数为recDist:表示识别货架的推荐识别距离。此距离为 AGV 到达识别点后与当前 AGV 的距离。如下图 AGV 正向识别导航到 AP 点所示。

四、顶升机构模型文件配置

3.3.5.68 及以前

参数名称参数位置单位默认值最小值最大值支持版本
counterPointDI模型文件-jack
-1-180~latest
对位光电DI,在顶升货物过程中,和顶着货物导航过程中都起作用。-1表示没有,可以为数组。
counterPointTime模型文件-jacks1.00.0110.0~latest
对位光电DI的滤波时间
loadTime模型文件-jacks300060000~latest
载货动作最长持续时间
unloadTime模型文件-jacks30006000~latest
卸货动作最长持续时间

counterPointDI 为顶升机构的对位光电,当机器人执行JackLoad载货后,counterPointDI会起效。如果在载货过程中,或者在载货执行中,如果存在一个 counterPointDI 没有被触发,会报 warning 54028。
3.3.5.70 及以后

参数名称参数位置单位默认值最小值最大值支持版本
counterPointDI模型文件-jack
-1-180~latest
对位光电DI,只在顶升货物过程中,起作用,-1表示没有,可以为数组。,就会报错
counterPointTime模型文件-jacks1.00.0110.0~latest
对位光电DI的滤波时间
cargoDI模型文件-jack
-1-180~latest
货物检测DI,只在顶货物导航中都起作用。-1表示没有,可以为数组。当存在一个DI没有触发,就会报错。
cargoDITime模型文件-jack1.00.0110.0~latest
货物检测DI的滤波时间
loadTime模型文件-jacks300060000~latest
载货动作最长持续时间
unloadTime模型文件-jacks30006000~latest
卸货动作最长持续时间

counterPointDI 为顶升机构的对位光电,当机器人执行JackLoad过程中,counterPointDI会起效。如果在载货过程中,或者在载货执行中,如果存在一个 counterPointDI 没有被触发,会报 warning 54028。
cargoDI 为顶升机构的货物检测光电,当机器人加载货物后,cargoDI会起效。如果在载货导航,如果存在一个 cargoDI 没有被触发,会报 warning 54028。

五、顶升机器人识别角度的控制

在任务参数中增加rec_dir用于指定识别时顶升机器人哪个角度朝向货物进行识别。rec_dir 后面的值单位为角度

json
{
  "id": "AP1",
  "operation": "JackLoad",
  "recognize":true,
  "rec_dir": 0
}
1
2
3
4
5
6
json
{
  "id": "AP1",
  "operation": "JackLoad",
  "recognize":true,
  "rec_dir": 180
}
1
2
3
4
5
6
json
{
  "id": "AP1",
  "operation": "JackLoad",
  "recognize":true,
  "rec_dir": 90
}
1
2
3
4
5
6
json
{
  "id": "AP1",
  "operation": "JackLoad",
  "recognize":true,
  "rec_dir": -90
}
1
2
3
4
5
6
  • 当任务中使用了rec_dir时,参数配置的 recAdjust配成 true/false 是不影响的,当不使用rec_dir时,会查看 recAdjust
参数名称参数位置单位默认值最小值最大值支持版本
recAdjust参数配置-navigationmtrue

~latest
识别前是否要调整

六、JackLoad 和 JackUnload完成标志

     顶升车执行JackLoad动作时,会默认将顶升电机,抬升到顶升电机的最大高度maxLength。如果顶升电机的motorDI配置有upReached,那么顶升电机抬升过程中到达maxLength或者upReached触发都认为到位。
顶升车执行JackUnload动作时,会默认将顶升电机,下降到顶升电机的最小高度minLength。如果顶升电机的minLength为0,并且配置有zeroDI,那么顶升电机下降到 0 位时,必须要 zeroDI, 否则继续执行下降动作。如果顶升电机的minLength不为0,并且配置有downReached,那么顶升电机下降过程中到达minLength或者downReached触发都认为到位。
顶升机构
顶升机构

参数名称参数位置单位默认值最小值最大值支持版本
maxLength模型文件-motorm0.05-360.0360.03.3.4.20~latest
线性机电机的最大量程
minLength模型文件-motorm0.0-360.0360.0
线性机电机的最小量程

七、顶升机器人先识别到点旋转后顶升

在有些场景下,需要机器人先识别钻入货架,再原地旋转特定角度jack_rot,最后进行顶升。
3.3.5.66 版本后支持

json
{
  "id": "AP1",
  "operation": "JackLoad",
  "jack_rot": 90, //顶升前,顶升车原地旋转的角度
  "recognize":true
}
1
2
3
4
5
6

八、顶升机器人顶起来后指定货物在地图坐标系下角度

在有些场景下,机器人顶起货架,货架的坐标系不是和车子的坐标系平行,而是需要人为指定的。下面的例子时,机器人钻入原地旋转后90度后,顶起货架,货架的坐标系还是在世界坐标系的0度。
3.3.5.66 版本后支持

json
{
  "id": "AP1",
  "operation": "JackLoad",
  "jack_rot": 90, //顶升前,顶升车原地旋转的角度,单位度
  "goods_dir": 0, //首次加载货物,货物在世界坐标系的角度, 单位度
  "recognize":true
}
1
2
3
4
5
6
7

九、顶升机器人取放货时,先识别目标点是否有障碍物

在有些场景下,顶升在卸货前,需要先识别目标点是否有栈板,如果有栈板了就报错,不再进行卸货。可以在导航指令中加入rec_target_obs来实现此功能。

json
{
    "id":"AP1",
    "rec_target_obs":true,  //顶升前,需要先识别目标点是否有障碍物。
    "recfile":"pallet/p0001.pallet",
    "recognize":true,
    "operation":"JackUnload"
}
1
2
3
4
5
6
7

在有些场景下,顶升在取货前,需要先识别目标点是否有栈板,如果没有栈板了就报错,不再进行卸货。可以在导航指令中加入rec_target_obs来实现此功能。

json
{
    "id":"AP1",
    "rec_target_obs":true,  //顶升前,需要先识别目标点是否有障碍物。
    "recfile":"pallet/p0001.pallet",
    "recognize":true,
    "operation":"JackLoad"
}
1
2
3
4
5
6
7

十、顶升机器人取货对位,可以设置对位距离

3.3.5.78 及以后
为了解决实际操作中遇到货架由于人工摆放 前后位置有误差(左右已经限位 所以都是前后偏差,由于货架比较特殊不适合利用货架识别功能),会经常发生到点后对位感应器失效的情况,导致顶升失效。
增加两个任务参数调整范围 jack_adjust_dist 和调整速度 jack_adjust_vel,顶升车同样利用导航到AP点,距离到AP点的jack_adjust_dist位置时,自动减速到 jack_adjsut_vel,同时开始检查对位感应器,感应到则立即停止(若到AP点还没有感应到则继行驶超过 jack_adjsut_dist报错并停车);然后确定对位感应ok,顶升并加载货架模型;等待新的导航任务,运行过程中货物检测 DI 感应不到停止,感应到则继续。

json
{
	"id": "AP1",
	"jack_adjust_dist": 0.1, // 单位 m
	"jack_adjust_vel": 0.01, // 单位 m/s
	"operation": "JackLoad"
}
1
2
3
4
5
6


如果在调整范围内没有出发对位DI,则报 52167 的错误码。

报错码

Error52800
提示:

  1. Jack byController Mode. Cannot Find Linear Motor

触发条件:

  1. 模型文件顶升设备配置错误。

解决方式:

  1. 需要检查 jack 机构的配置文件中的电机配置。

Error52801
提示:

  1. all Motors are empty!

触发条件:

  1. 模型文件顶升设备配置错误。

解决方式:

  1. 需要检查 jack 机构的配置文件中的电机配置。

Error52952
提示:

  1. Can't open Recfile, while ControllerJack. File: [x]。

触发条件:

  1. 识别文件无法找到。

解决方式:

  1. 需要检查识别文件路径和文件名是否存在。

Error52801
提示:

  1. Action Over Time [x]。

触发条件:

  1. 动作超时。

解决方式:

  1. 可能是顶升电机故障,或者是动作时长太短了。 可以将顶升模下文件中 loadTime 和 unloadTime 加大。

Warning54028
提示:checkDi is false. Di:
触发条件:

  1. 顶升载货时,没有触发 counterPointDI。

解决方式:

  1. 检查 counterPointDI 是否被触发,如果偶尔触发,偶尔不触发,则需要加大 counterPointTime。

Warning54306
提示:data is invalid:
触发条件:

  1. RGV 顶升车返回的用于测量顶升托盘高度的距离传感器数据为空。

解决方式:

  1. 需要检查 RGV 车子顶升托盘距离传感器的名字是否配置正确。

Error52801
提示:

  1. JackEnd is not in the action pool

触发条件:

  1. 机器人模型文件没有启用顶升设备,但是机器人受到了顶升任务

解决方式:

  1. 在模型文件中启用顶升任务。

Error52161
提示:

  1. The Goal has goods

触发条件:

  1. 顶升车放货前,识别到目标点有栈板

解决方式:

  1. 将目标点去掉栈板,或者修改识别文件

Error52961
提示:

  1. The Goal doesn't have goods. Cannot Load

触发条件:

  1. 顶升车取货前,识别到目标点没有栈板

解决方式:

  1. 将目标点增加栈板,或者修改识别文件

Error52167
提示:

  1. REACH GOAL LOAD NO DI

触发条件:

  1. 顶升车在调整范围内没有触发对位DI。

解决方式:

  1. 检查对位DI是否被触发,是否调整范围 jack_adjust_dist 太小,或者调整速度 jack_adjust_vel 太大.
最近更新 2022/11/28
文章内容

一、背景

二、通过识别钻出货架

三、货架识别文件的配置

四、顶升机构模型文件配置

五、顶升机器人识别角度的控制

六、JackLoad 和 JackUnload完成标志

七、顶升机器人先识别到点旋转后顶升

八、顶升机器人顶起来后指定货物在地图坐标系下角度

九、顶升机器人取放货时,先识别目标点是否有障碍物

十、顶升机器人取货对位,可以设置对位距离

报错码