CAN 总线编码器在AGV 角度计算中的应用

2014-02-14 08:49丁莹王小铎赵玮冯作鹏
机器人技术与应用 2014年4期
关键词:零位参数设置零点

丁莹 王小铎 赵玮 冯作鹏

(机科发展科技股份有限公司,北京,100044)

0 引言

根据美国物料搬运协会(America Material Handling Association)的定义,AGV 即Automated Guided Vehicle 的简称,是一种以充电电池为动力,自动导引的无人驾驶自动化车辆,它能在计算机的监控下,按路径规划和作业要求,精确行走并停靠到指定的地点,完成一系列的作业任务,如:取货任务、送货任务、充电任务等。

AGV 也叫做移动搬运机器人,它作为工厂自动化物流系统的柔性输送环节,经常与自动化物流生产设备进行对接,如:辊道输送设备、机械手、码垛机器人等,所以, AGV 对导航精度和定位精度要求非常高,一般在±5mm-±10mm 之间。

以激光导引AGV 自动导引车为例。在激光导引的AGV 系统中,AGV 小车上装有激光头(激光发射和检测装置),在AGV 运行区域装有反光板(Retro-reflector),各个反光板的坐标值及AGV 小车运行路线(电子地图)已传送到车载控制器中,AGV 在运行时激光头不停地旋转,向周围发射激光束,同时接收由反光板反射回来的光束,激光头将这些数据传送给AGV 车载控制器,从中计算出AGV 在当前坐标系中的位置(X 值、Y 值、角度值α),通过与车载控制器中电子地图里的目标位置进行比较,每50ms 修正一次,实现AGV 的连续导航(电子地图由线段组成,每条线段的属性定义了AGV 小车应行驶的速度、角度等参数)。

通常AGV 小车的驱动电机与转向电机上都装有编码器,作为AGV 行走速度、距离及角度位置的反馈,在AGV 运行过程中,主控制器不断将理论预估的物理位置与实际进行比较,并将比较的结果转化为对AGV 小车速度和角度的命令值,以此来修正AGV 小车在行走中的速度、位置、角度偏差,实现AGV 精确的定位精度。

由此可见,编码器对于AGV 的定位精度起着非常重要的作用。

1 两种编码器的特点

AGV 自动导引车如何选择适合的编码器呢?编码器按信号原理来分,有增量型编码器、绝对值编码器两种。增量型编码器有一个中心有轴的光电码盘,其上有环形通、暗的刻线,由光电发射和接收器件读取,获得四组正弦波组合成A、B、C、D 信号,每个正弦波相差90°相位,将C、D 信号反向,叠加在A、B 两相上,可增强稳定信号;每转输出一个Z 相脉冲以代表零位参考位。

绝对值编码器光码盘上有许多道光通道刻线,每道刻线依次以2 线、4 线、8 线、16 线……编排,这样,在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2 的零次方到2 的n-1 次方的唯一的2 进制编码(格雷码),即n 位绝对值编码器。

从应用上看,两种编码器有各自的优势,增量型编码器比较通用,价格比较便宜,绝对值编码器是由光电码盘的机械位置决定的,它不受停电、干扰的影响,但是价格要比增量型编码器贵很多。

2 使用传统增量型编码器存在的缺陷

AGV 自动导引车驱动编码器的选择只需考虑:在AGV 最大运行速度下,编码器的输出频率与控制器所能接受的频率相匹配,不需要有同步脉冲,但转向编码器的选择需要考虑舵轮回到零位时,车载控制器能够识别出来。

在AGV 自动导引车的调试过程中,转向角度的调试非常重要,这在很大程度上决定AGV 小车的定位精度。对于使用增量型编码器作为转向反馈的AGV 来说,通常需要编码器产生一个同步脉冲,依靠这个同步脉冲确定车轮旋转的零位。

由于绝对值编码器的价格比增量型编码器价格高很多,因此传统的AGV 大多选用增量型编码器,但是在应用过程中偶尔会发现AGV 零点丢失的问题。当AGV 断电时,需要主控制器记住舵轮的角度值,并且停电后AGV舵轮不能有任何移动;AGV 再次上电时,转向编码器在输出脉冲过程中,也不能有干扰而丢失脉冲,否则,主控制器记忆的零点就会偏移,造成AGV 舵轮零位丢失。虽然可以通过增加参考点的措施来修正上述舵轮的位置,但是在参考点以前,仍然不能保证位置是准确的。

3 使用CAN 总线绝对值编码器的必要性

图1 单舵轮SD 型AGV 控制系统结构图

AGV 作为现代化工厂物流系统中的关键工具,其稳定性、可靠性尤为重要,因此,即使零点丢失的现象偶然发生,但若发生就需要重新调试,对AGV 进行零点修正,这直接影响到物料的生产输送。为了彻底解决AGV 舵轮零点丢失的问题,笔者考虑使用绝对值编码器。图1 为CAN 总线绝对值编码器作为AGV 转向反馈的控制系统结构图。

AGV 车载控制器作为CAN 总线的主站,转向编码器及其他子模块作为CAN 总线的从站,每个子模块与主控制器通过CAN 总线进行通信,主控制器通过总线协调控制各子模块。由于绝对值编码器是由光电码盘的机械位置决定的,每个位置是唯一的,不受停电、干扰的影响,所以主控制器无需记忆零点位置,无需找参考点,而且不用一直计数,什么时候需要知道位置,什么时候就去读取它的位置信息。这样,编码器的抗干扰特性、数据的可靠性大大提高。

4 CAN 总线绝对值编码器在实际中的应用

下面以某品牌的CAN 总线绝对值编码器为例,介绍绝对值编码器在AGV 转向系统中的应用。

编码器舵轮结构见图 2 所示。已知舵轮转向齿轮与编码器齿轮速比为1:3.175,即舵轮转动1 圈,转向编码器转3.175 圈;编码器在CAN 总线上的节点号为7,具体设置见图3 所示。

单圈绝对值编码器,在转动中测量光电码盘各道刻线,以获取唯一的编码,当转动超过360°时,编码又回到原点,这样就不符合绝对编码唯一的原则,这样的编码只能用于旋转范围在360°以内的测量。此例中,舵轮转向齿轮与编码器齿轮速比为1:3.175,舵轮从-90°到+90°。在转动过程中,如果用单圈绝对值编码器,旋转绝对编码不唯一,所以,编码器齿轮与舵轮转向齿轮速比大于1∶1 时,要选用多圈绝对值编码器。

图2 编码器舵轮结构

图3 控制界面参数设置

AGV 自动导引车在正常工作时,舵轮的转动范围只可能在-90°转到+90°之间,如选用单圈分辨率为4096,总分辨率为65536 的多圈编码器,舵轮从-90°转到+90°,编码器一共转的脉冲数为(3.175/2)*4096=6502。当舵轮物理位置处在0°位置时,理论上CAN 总线编码器的数值应该是6502/2=3251,舵轮左转时,CAN 总线编码器的值应该从3251 开始增大,舵轮右转时,CAN 总线编码器的值从3251 开始减小,所以设定舵轮处在0°位置时CAN 总线编码器的数值为5000,通过主控制器中参数的换算关系,就可以得出舵轮在各个位置的角度值。(为了保证舵轮右转到-90°时编码器的值不要太接近0,因为过了0,CAN 总线编码器的数值就会变到最大,所以舵轮在0°位置时,编码器的值设置为5000。)

例如:当人为将舵轮转动到0°位置(即当前的角度值为0°),通过软件将5000 赋值给编码器,由于以下2个参数值是固定不变的:

CAN_Enc_7.SteerEncScal = 4096* 3.175 =13005( 舵轮转一圈,编码器转3.175 圈)

CAN_Enc_7. SteerEncFactor=36000(编码器转向因数按360°考虑)

调整CAN_Enc_7. SteerOffset 的值= -10420,使编码器的反馈值CAN_Enc_7. EncAngle= 0 与舵轮物理角度位置一致,这样就确定了AGV 自动导引车转向的零点位置。具体设置见图4 所示。

转向编码器设置、调试步骤如下:

图4 控制界面参数设置二

一般情况下,CAN 总线编码器需要通过CAN 总线诊断软件对编码器进行参数设置(包括节点号、波特率、分辨率、当前位置值等),具体设置见图5、图6 所示,设定完成后关机并给主控制器下传程序。

图5 控制界面参数设置三

如:按照某品牌通信协议,在确定AGV 转向零点位置时,需要设定如下参数:

图6 控制界面参数设置四

波特率为250kHz;

ID DLC Data 63F 8 2F 00 21 00 05 00 00 00 赋给编码器的值设置5BF 8 60 00 21 00 00 00 00 00 从编码器返回的确认信息值

设置节点号为7;

ID DLC Data 63F 8 2F 01 21 00 07 00 00 00 赋给编码器的值5BF 8 60 01 21 00 00 00 00 00 从编码器返回的确认信息值

保存Bus objects;

ID DLC Data 63F 8 23 05 21 00 73 61 76 65 赋给编码器的值5BF 8 60 05 21 00 00 00 00 00 从编码器返回的确认信息值

设置正转或反转的方向;(01 为逆时针旋转代码增加,00 为顺时针旋转代码增加)

ID DLC Data 607 8 2B 00 60 00 01 00 00 00 赋给编码器的值585 8 60 00 62 00 00 00 00 00 从编码器返回的确认信息值

单圈分辨率的设置;

ID DLC Data MUR 0X1000,十进制4096 607 8 23 01 60 00 00 10 00 00 赋给编码器的值585 8 60 01 60 00 00 00 00 00 从编码器返回的确认信息值

总分辨率的设置;

ID DLC Data 0X10000,十进制65536 607 8 23 02 60 00 00 00 01 00 赋给编码器的值585 8 60 02 60 00 00 00 00 00 从编码器返回的确认信息值

编码器预置值的设置;(例如:设置零位的值为5000)

ID DLC Data Set Preset Value 5000 607 8 23 03 60 00 88 13 00 00 赋给编码器的值585 8 从编码器返回的确认信息值

保存所有参数 。

ID DLC Data Set Preset Value 0 607 8 23 10 10 01 73 61 76 65 赋给编码器的值585 8 60 10 10 01 00 00 00 00 从编码器返回的确认信息值

5 结语

CAN 总线作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通信控制方式,已被广泛应用到各个自动化控制系统中。CANOpen 是基于CAN 总线的开放式协议,CAN 总线绝对值编码器与其他的信号形式比较,其数据传递得更可靠,更经济通用,更安全。

AGV 自动导引车作为自动化领域具有高科技附加值的关键物流输送设备,其安全性、可靠性尤为重要,同时,随着近两年电子科技技术的快速发展,CAN 总线绝对值编码器的成本也逐渐降低,已越来越广泛地做为AGV 自动导引车转向、升降等角度、位置反馈控制元器件。

本应用案例通过将CAN 总线多圈绝对值编码器应用于AGV 舵轮转向系统中,解决了传统转向系统中使用增量型编码器造成的零位丢失问题,为提高AGV 运行的可靠性、导航定位的精确性提供了有效途径,是AGV 制造企业应用的发展趋势。

猜你喜欢
零位参数设置零点
无刷力矩电机零位设计技术研究
2019年高考全国卷Ⅱ文科数学第21题的五种解法
一类Hamiltonian系统的Abelian积分的零点
电机零位对电动汽车能耗影响研究
蚁群算法求解TSP中的参数设置
RTK技术在放线测量中的应用
霍尔传感器零位特性及补偿方法研究
基于STM32处理器的大棚温湿度监控系统设计
分析起重机零位保护及检验
基于MATLAB仿真的井下变压器参数设置研究