帮助中心
帮助中心主页
激光雷达
外部传感器
其他传感器
总线型编码器
电池及充电
喇叭及氛围灯
功能授权
料箱机构

一、料箱机器人的组成

料箱机器人大体可以拆解为三个部分:

  1. 移动机器人底盘。
  2. 上层升降及缓存库位。
  3. 料斗机构。

1.1 底盘部分

底盘部分是典型的双轮差速结构,此处不再赘述。

1.2 上层升降及缓存库位

在 SEER 与海柔合作的型号中,上层升降机构使用铝型材进行搭建,升降电机使用增量编码器配合零位光电的方式进行标零,由于升降是由海柔自己的控制器进行控制的,同时提供了外部标零的 API 进行标零。
缓存库位的个数可以通过模型文件进行配置 container 的名称从而进行库位管理,这个库位管理即使机器人重新上电也能对此库位的信息进行恢复。

1.3 料斗机构

在 SEER 与海柔合作的型号中,由海柔的控制器进行整个料斗的控制,料斗的动作包括:

  • 料斗旋转:使用增量编码器加光电的方式进行零位的标定。
  • 料斗伸缩:使用增量编码器加光电的方式进行零位的标定。
  • 料箱识别:使用2D相机进行识别,可以识别1)料箱的二维码(所有料箱统一)进行取料箱的定位;2)货架的二维码(所有库位统一)进行放料箱的定位;3)条形码,进行料箱独立编号的识别。
  • 手指控制:使用 IO 进行控制,只有开合两种状态,不进行连续的位置反馈。

二、位置调整

2.1 取货

  1. 机器人到达取货点,在执行取货动作前,会先检测升降、伸缩臂、旋转、手指等各机构状态;
  2. 如果升降机构状态有异常,则会进行报错Error53809: Lift has error, please zero the machine!
  3. 如果伸缩臂状态有异常,则会进行报错 Error53814: Stretch has error, please zero the machine!
  4. 如果旋转机构状态有异常,则会进行报错 Error53811: Rotate has error, please zero the machine!
  5. 如果手指状态有异常,则会进行报错 Error53816: Finger has error, please zero the machine!
  6. 如果各机构状态无异常,料斗到达库位处,对料箱上的二维码进行拍照识别;
  7. 如果连续10次未识别到二维码信息,则会进行报错Error53835 :Rec fails! reach max times!
  8. 如果成功识别到二维码信息,料斗会根据识别结果调整位置进行取货;
  9. 如果料斗连续调整位置超过10次仍未完成,则会进行报错 Error53834: RecAdjust fails! reach max times!
  10. 如果料箱摆放位置有偏差或者伸缩臂伸出过短,导致取料箱时手指卡在料箱上,则需要根据实际情况手动摆放料箱或者调整手臂伸缩长度,机器人会进行报错 Error53816: Finger has error, please zero the machine!
  11. 如果料斗正常取到货架上的料箱,则查询自身背篓库位状态,并将料箱放至自身空背篓中;
  12. 如果自身背篓库位全满,则会进行报错 Error53821: All trays are full, can not load!
  13. 如果有空背篓,则料斗会将料箱放至空背篓中,各机构复位至初始状态,取货动作完成。
  14. 取货全过程会检测海柔控制器上报数据,若数据中有异常,则会进行报错 Error53802: Report data has error, failDescription: xxx, executionResult: xxx! 其中 executionResult 为海柔报错码,详情见4.3章。

💡 说明: 以上各报错情景根据报错码在4.1章脚本报错异常及快速处理方法中查看对应处理方法。

2.2 放货

  1. 机器人到达放货点,在执行放货动作前,会先检测升降、伸缩臂、旋转、手指等各机构状态;
  2. 如果升降机构状态有异常,则会进行报错Error53809: Lift has error, please zero the machine!
  3. 如果伸缩臂状态有异常,则会进行报错 Error53814: Stretch has error, please zero the machine!
  4. 如果旋转机构状态有异常,则会进行报错 Error53811: Rotate has error, please zero the machine!
  5. 如果手指状态有异常,则会进行报错 Error53816: Finger has error, please zero the machine!
  6. 如果各机构状态无异常,料斗根据放货指令中的goodsId查询自身背篓库位,如果查询不到对应goodsId 则进行报错 Error53825: No such goods found, can not unload, goodsId: xxx!
  7. 如果查询到对应 goodsId则取出料箱至料斗中,料斗升至货架库位处,拍照识别库位及货架二维码;
  8. 如果机器人识别到货架库位已有料箱,则进行报错 Error53832: The shelf has box. Cannot unload!
  9. 如果机器人识别货架库位为空,则拍照识别货架二维码,进行位置调整;
  10. 如果连续10次未识别到二维码信息,则会进行报错Error53835 :Rec fails! reach max times!
  11. 如果料斗连续调整位置超过10次仍未完成,则会进行报错 Error53834: RecAdjust fails! reach max times!
  12. 如果识别调整正常,则料斗将料箱放至货架库位上,各机构复位至初始状态,取货动作完成。
  13. 放货全过程会检测海柔控制器上报数据,若数据中有异常,则会进行报错 Error53802: Report data has error, failDescription: xxx, executionResult: xxx! 其中 executionResult 为海柔报错码,详情见4.3章。

💡 说明: 以上各报错情景根据报错码在4.1章脚本报错异常及快速处理方法中查看对应处理方法。

三、注意事项

  • 料箱机器人支持拼合单功能,会对自己身上的库位(缓存托盘)进行管理。
  • 同样是密集货架,料箱机器人面临的环境是更友好的,因为货架本身是固定的(和潜伏顶升是有区别的)。
  • 料箱车的识别对光线比较敏感,即使在有补光灯的情况下被阳光直射二维码也有可能无法识别。
  • 针对 SRC2000 的造车方案,我们可以支持完全的由 SRC 控制所有电机的方案。
  • 料箱车目前只用无线客户端,客户端是安装在机器人最顶上。
  • 料箱车目前只支持带二维码的料箱识别,不支持纸箱,不支持双伸位。

四、料箱车异常快速处理手册

  • 表1 料箱车报错信息及快速处理方法表,列出了料箱车所有可能出现的报错信息、报错解释及快速处理方案;
  • 表2 其他常见异常及快速处理方法表,列出了其他常见的异常现象和快速处理方案;
  • 表3 海柔上报数据报错信息查验表,列出了海柔控制器上报数据时的报错信息,可供查验和参考;
  • 若现场发生的异常现象不属于本手册所列出范围,或快速处理方案无效,请及时建立 coding,描述现象和发生时间点并上传报错截图和日志文件。

4.1 脚本报错异常及快速处理方法

错误等级报错码
( 脚本V2.2.3版本以下)
报错码
( 脚本V2.2.3版本以上)
报错内容报错解释处理方法
Error5300053800Task is wrong : xxx下发指令参数错误检查指令参数
Error5300053801Rec task is wrong :识别指令参数错误检查识别指令参数
Error5300053802Report data has error, failDescription: xxx, executionResult:xxx海柔上报数据异常4.3查看海柔报错信息。截报错图,取 RBK 日志,建coding
Error5300053803RBK version mismatch, please update rbkRBK 版本不匹配升级 RBK
及脚本文件
Error5300053804Init trays error:背篓 Container模型未配置或配置错误检查Container模型配置
Error5300053805Failed to pick up the goods! xxx取货时货叉中部光电未检测到货物检查货叉是否有安装光电,json配置文件中是否启用了货叉传感器功能
Error5300053806Fork upLimit DI is true, can not up!触发上限位光电检查上限位光电及lift参数
Error5300053807Fork downLimit DI is true, can not down!触发下限位光电检查下限位光电及lift参数
Error5300053808Fork limitDi is true, can not move!触发机械限位防坠开关检查防坠开关
Error5300053809Lift has error, please zero the machine!升降机构状态异常,需标零检查升降机构状态,标零
Error5300053810Stretch pos is not zero, cannot lift!!!伸缩机构不在初始位,无法升降检查伸缩机构状态,标零
Error5300053811Rotate has error, please zero the machine!旋转机构状态异常,需标零检查旋转机构状态,标零
Error5300053812Stretch pos is not zero, cannot rotate.!!! {}伸缩机构不在初始位,无法旋转检查伸缩机构状态,标零
Error5300053813Reach max stretch dist!伸缩臂到达最大长度检查stretch参数是否合理
Error5300053814Stretch has error, please zero the machine!伸缩臂状态异常,需标零检查伸缩机构状态, 标零
Error5300053815No finger data in message! Ctu cannot lift or rotate or stretch!缺失手指机构数据检查机器手指机构
Error5300053816Finger has error, please zero the machine!手指机构异常,需标零检查手指机构状态,标零
Error5300053817VisionBinType Type is wrong:binType参数错误检查binType参数
Error5300053818Rec no results.未识别到结果检查相机是否对准目标,检查lift参数
Error5300053819This good already exists:编号为goodsId的货物已存在检查货物配置数据
Error5300053820This tray is full, can not load, tray:目标背篓已满,无法取货检查货物配置数据
Error5300053821All trays are full, can not load所有背篓已满,无法取货检查货物配置数据
Error5300053822Task is wrong in load with recAdjust:识别取货时参数错误核对手册检查指令参数
Error5300053823Task is wrong in unload with recAdjust:识别放货时参数错误核对手册检查指令参数
Error5300053824This tray is empty, can not unload: tray:目标背篓为空,无法放货检查货物配置数据
Error5300053825No such goods found, can not unload, goodsId:背篓中没有编号为goodsId的货物,无法放货检查货物配置数据
Error5300053826Get the wrong goods in xxx floor, goodsId: xxxunload时取错料箱核对订单 goodsId和机器人背篓中的goodsId否一致
Error5300053828Fork has goods, cannot changePos!货叉中有货,不能执行换层操作检查货物配置数据
Error5300053829The target tray {tray_num} is null, cannot change goods初始背篓无货,不能换层检查货物配置数据
Error5300053830The target tray {tray_num} has goods, cannot change goods目标背篓有货,不能换层检查货物配置数据
Error5300053831ChangePosition0: not found goods:换层操作时,{changePosition0} 背篓中没有货物检查货物配置数据
Error5300053832The shelf has box. Cannot unload!!货架上有货,不能再放货检查货架上是否有货
Error5300053833VisionBinType Type is wrong:binType参数错误检查binType参数
Error5300053834RecAdjust fails!!! reach max times.识别调整失败,超出最大调整次数检查相机是否对准目标,检查lift参数
Error5300053835Rec fails! reach max times.识别失败,超出最大识别次数检查相机是否对准目标,检查lift参数
Warning5530055800socket connection broken, send message failed!海柔控制器连接断开,发送指令失败1. 检查网络问题 2. 检查海柔相关服务是否开启 3. 机器标零,料箱复位,订单重做
Warning5530055801Please update rbk
version:
脚本与 RBK 版本不匹配更新 RBK 版本(默认更新最新版本)
Warning5530055802ctu connect is overtime: {xxx}s与控制器连接超时检查网络环境, 检查海柔相关服务是否开启, 重新执行
Warning5530055803mode checking, ctu is connecting!正在检测运行模式,机器正在连接中等待机器运行,直到出现超时警告或正常运行
Warning5530055804please update rbk
version:
RBK 版本不匹配更新 RBK 版本(默认更新最新版本)
Warning5530055805ctu connect is overtime: {xxx}s与控制器连接超时检查网络环境, 检查海柔相关服务是否开启, 重新执行
Warning5530055806Finger status is not idle. Ctu cannot lift or rotate or stretch!手指状态错误机器标零
Warning5530055807Rec no results.拍照识别过程中未识别到目标相机拍照过程中正常现象,可不用处理,若最终识别失败,会有相应报错提示
Warning5530055808Picking robot is zero calibrating:机器正在标零等待标零完成
Warning5530055809Response time out: {xxx}s任务完成后回调通信响应超时检查回调服务器是否开启,检查postAddr参数是否正确

4.2 其他常见异常现象及处理方法

异常现象快速处理方法备注
伸缩臂过长,撞货架调整取放货指令中的stretch参数值根据现场货架实际情况
调整参数进行测试
伸缩臂过短,手指卡料箱调整取放货指令中的stretch参数值根据现场货架实际情况
调整参数进行测试
自身背篓取放料箱时伸缩臂过长或过短调整json配置文件中的stretchDist参数值根据车型实际情况
调整参数进行测试
识别取货时,识别后二次抬升过高或过低调整json配置文件中的rec_offz_box参数值根据现场货架实际情况
调整参数进行测试
识别放货时,识别后二次抬升过高或过低调整json配置文件中的rec_offz_shelf参数值根据现场货架实际情况
调整参数进行测试
自身背篓取料箱时抬升偏低或偏高调整json配置文件中的low0 - low4参数值low0 - low4 对应第 0 - 4层背篓
自身背篓放料箱时抬升偏低或偏高调整json配置文件中的high1 - high4参数值high1 - high4 对应第 0 - 4层背篓
触发货叉限位报警检查防坠手柄,检查限位DI配置正确配置DI
空箱检查异常检查json配置文件中是否启用货叉传感器检测forkSensor参数
没有货物配置数据检查模型文件是否配置了Container模型熟悉模型文件配置

4.3 海柔控制器上报数据异常

报错码错误解释对应仙工报错码
0x80000000指令序号错误
0x80000001指令解析错误
0x80000002不支持的功能
0x80000003调用顺序错误
0x80000004错误的参数
0x80000005资源申请失败
0x80000006目标未能找到
0x80000007目标超出限制
0x80000008超过时间/次数限制
0x80000009前置条件有误,或运行环境已发生变化
0x8000000A设备状态异常
0x8000000B接口访问受限
0x8000000C目标已经存在
0x800000FF未知错误
0x80000100网络设备异常
0x80000101网络连接断开
0x80000102指令序号错误
0x80000103通讯连接失败
0x80000104通讯数据异常
0x80000200手动保护
0x80000201碰撞保护
0x80000202限位保护
0x80000203锁定保护
0x80000204失控保护
0x80000300设备通讯错误
0x80000301设备已被占用
0x80000302设备不能支持
0x80000303设备功能失效
0x80000304设备数据异常
0x80000400目标库位为空53900
0x80000401目标库位占用53901
0x80000402目标背篓为空53902
0x80000403目标背篓占用53903
0x80000600定位信息无效
0x80000601障碍物阻挡
0x80000602负载超出限制
0x80000603负载/装置错位
0x80000604偏离行走路线
0x80000605指令执行过程被打断

4.4 脚本配置文件注意事项

  1. 所有涉及修改配置参数的操作,请修改ctuNoBlock.jsonctuTask.json配置文件即可,具体操作为修改对应参数的value值,default值仅供参考,可改可不改。
  2. 请勿轻易修改ctuNoBlock.pyctuTask.py文件中定义的参数值,请勿私自修改脚本代码内容。
  3. 更新和替换脚本文件时,无需更换json配置文件。
  4. 脚本文件xxx.py和配置文件xxx.json,文件名称需保持一致。
最近更新 2022/11/28
文章内容

一、料箱机器人的组成

1.1 底盘部分

1.2 上层升降及缓存库位

1.3 料斗机构

二、位置调整

2.1 取货

2.2 放货

三、注意事项

四、料箱车异常快速处理手册

4.1 脚本报错异常及快速处理方法

4.2 其他常见异常现象及处理方法

4.3 海柔控制器上报数据异常

4.4 脚本配置文件注意事项