传送带功能介绍

1. 功能介绍

​ 在工业生产领域,传送带作为物料运输的关键设备,应用广泛。当它与机械臂搭配合作时,能够极大地优化生产流程,显著提升生产效率,发挥出很强的协同效应。而实现这一高效协作的核心要素,便是机械臂对传送带上物体的精确跟踪能力。

​ 实际运行过程中,系统通过的光电同步开关来敏锐感知来料情况。当检测到物料进入作业区域时,光电同步开关便会迅速将信号传递给机械臂,触发跟踪作业流程。与此同时,编码器实时记录工件在传送带上的位移数据。这些数据会被传输至机械臂的控制系统,机械臂依托内置的高性能算法,依据位移数据迅速做出补偿调整,从而实现对传送带上工件的稳定、动态跟踪。

2. 器件清单

所需器件:机械臂 X 1 、传送带 X 1 、增量编码器 X 1 、光电开关 X 1

所需控制柜:IS控制柜

所需机械臂:CANLITE协议机械臂

软件版本:0.31.1-beta45及以上

6

编码器接线步骤:

​ 本步骤主要使用“RS485 增量编码器 模拟输入输出“ 一栏。

​ 将编码器的24V和0V接至的24V和0V。将编码器的A、A-接至ENC A+、ENC A-,编码器的B、B-接至ENC B+、ENC B-,编码器的Z、Z-接至ENC Z+、ENC Z-。

光电开关接线步骤:

​ 将光电开关的0V接至控制柜上用户输入IO的0V,将光电开关的24V接至控制柜上用户输入IO的24V,将光电开关的信号输入线接至控制柜上用户输入IO的DI0X。

下图为iS控制柜的IO示例,用户可根据实际的控制柜和实际的IO去进行接线。

1

3. 传送带跟踪使用接口介绍

SDK接口链接:https://docs.aubo-robotics.cn/arcs_api/classarcs_1_1common__interface_1_1MotionControl.html

  1. int setConveyorTrackSensorOffset(int encoder_id, double offset)

    接口功能:设置传送带光电开关偏移值

  2. int setConveyorTrackSyncSeparation(int encoder_id, double distance, double time)

    接口功能:设置传送带同步分离

  3. int setConveyorTrackCompensate(int encoder_id, double comp)

    接口功能:设置传送带响应补偿值

  4. int setConveyorTrackEncoder(int encoder_id, int tick_per_meter)

    接口功能:设置传送带编码器每米跳数

  5. int setConveyorTrackLimit(int encoder_id, double limit)

    接口功能:设置传送带工作区域最大限制

  6. int setConveyorTrackStartWindow(int encoder_id, double window_min, double window_max)

    接口功能:设置传送带启动窗口区域

  7. bool isConveyorTrackExceed(int encoder_id)

    接口功能:判断机器人在传送带上的偏移距离是否超出工作区域最大限制

  8. bool hasItemOnConveyorToTrack(int encoder_id)

    接口功能:判断启动窗口内是否有可以跟踪的物品

  9. conveyorTrackLine(int encoder_id, const std::vector &direction)

    接口功能:开启传送带线性跟随

  10. conveyorTrackStop(int encoder_id, double a)

    接口功能:传送带停止对当前物品的跟随

  11. bool conveyorTrackSwitch(int encoder_id)

    接口功能:切换传送带跟随物品(当前物品跟随完成后调用)

  12. int conveyorTrackClearItems(int encoder_id)

    接口功能:清空传送带跟随队列

  13. int conveyorTrackCreatItem(int encoder_id, int item_id, const std::vector &offset)

    接口功能:增加传送带跟随物品

  14. int getConveyorTrackNextItem(int encoder_id)

    接口功能:获取传送带跟随标记物品的id

  15. bool isConveyorTrackSync(int encoder_id)

    接口功能:当前跟随的物品是否达到机器人与传送带相对同步的状态

  16. std::vector getConveyorTrackQueue(int encoder_id)

    接口功能:获取传送带跟随队列的编码器值

4. 传送带标定

使用工程:[传送带标定]

配置文件中的全局变量可参考:[传送带标定ins]

1.传送带方向和每米脉冲数的标定

​ 1>将工件放到传送带上(机械臂可达位置),将 "标定方向1" 解除抑制,设置路点1为工件上某点,运行工程。

​ 2>将机械臂移动至安全位置,运行传送带使工件移动一段距离后停止传送带(不超过机械臂可达范围),抑制 "标定方向1" ,解除 “标定方向2” ,设置路点0为上次工件上某点,运行工程。此时 传送带的方向(direction)每米脉冲数(tickPerMeter) 即标定完成。

17

2.启动窗口和工作区域的标定

​ 将机械臂移动至安全位置,抑制 "标定方向2" ,解除 “启动窗口和工作区域” 。将工件摆放到同步开关刚好触发处,然后运行工程,按照提示完成标定。其中bd_tick1、 bd_tick2、 bd_tick3、bd_tick4分别记录的是同步开关、启动窗口开始和结束以及工作区域最大限制的编码器位置。

3.同步开关偏移值的标定

​ 将机械臂移动至安全位置,抑制 "启动窗口和工作区域" ,解除 “同步开关偏移” 。将工件摆放到同步开关刚好触发处,然后运行工程,按照提示完成标定。其中bd_tick1、 bd_tick2分别记录的是同步开关、虚拟同步开关的编码器位置。

​ 标定完成后,将机械臂移动到工件所需的第一个工作路点,并记录到 一般 ==> 变量 中,如下第二图所示。

19

8

20

4.补偿值的标定

​ 将机械臂移动至安全位置,抑制 "同步开关偏移" ,解除 “补偿” 。其中 路点3 为待机点, 路点2同步开关偏移值的标定 中的工作路点。运行工程后测量误差,并通过 setConveyorTrackCompensate 接口设置进去(修改全局变量中conveyor_comp的值)。

21

5. 建立传送带追踪工程

工程: [传送带工程]

1.设计跟随路径

​ 如下图所示,假设工件上有四个跟随点,可以设计跟随路径为:从起始点出发,来到跟随点1,随后依次来到跟随点2、3、4、1,关闭传送带追踪后回到起始点位置。

​ 上述跟随路径仅为示例,实际路径可根据实际需求进行设计。

4

2.建立跟随工程

​ 目前有三种可选跟随实现逻辑

​ 1>如下图中第一个流程图所示,该逻辑适用于机械臂在传送带抓取工件后,需要脱离传送带进行其他作业,最后返回待机点。

​ 2>如下图中第二个流程图所示,该逻辑适用于连续对传送带上的工件进行作业,即不需要机械臂返回到待机点,处理完当前工件后立马处理下一个工件。

​ 3>如下图中第三个流程图所示,该逻辑适用于机械臂在传送带对工件作业后,脱离传送带进行其他作业,然后对工件进行二次传送带跟随作业,最后返回待机 点。

逻辑1示例程序 [传送带正常跟踪]

15

逻辑2示例程序 [传送带不减速切换]

5

逻辑3示例程序 [传送带多次开关跟随]

25

3.传送带物品检测的方式

​ 1>将同步开关连接至DI00(任何一个DIXX都可以),设置动作 开始传送带跟踪 (目前分为两种conveyorTrack和xconveyorTrack,conveyorTrack是IO为高时触发,xconveyorTrack是IO为低时触发)

16

​ 2>通过工程的多线程来检测工件

26

4.传送带跟随超过工作区域处理

​ 通过 gotoLine(行号) 将主线程还未执行的路点忽略,并将机械臂移动到安全位置(路点1)、弹窗提示和程序停止。其中行号是 路点1左边对应的行号

27

6. 注意事项

​ 由于传送带追踪不存在视觉传感器,而工件与传送带边沿的距离无法确定,所以需要保证在固定位置上放置固定形状的工件。

results matching ""

    No results matching ""