丁瑩 王小鐸 趙瑋 馮作鵬
(機科發(fā)展科技股份有限公司,北京,100044)
根據(jù)美國物料搬運協(xié)會(America Material Handling Association)的定義,AGV 即Automated Guided Vehicle 的簡稱,是一種以充電電池為動力,自動導引的無人駕駛自動化車輛,它能在計算機的監(jiān)控下,按路徑規(guī)劃和作業(yè)要求,精確行走并??康街付ǖ牡攸c,完成一系列的作業(yè)任務,如:取貨任務、送貨任務、充電任務等。
AGV 也叫做移動搬運機器人,它作為工廠自動化物流系統(tǒng)的柔性輸送環(huán)節(jié),經(jīng)常與自動化物流生產(chǎn)設備進行對接,如:輥道輸送設備、機械手、碼垛機器人等,所以, AGV 對導航精度和定位精度要求非常高,一般在±5mm-±10mm 之間。
以激光導引AGV 自動導引車為例。在激光導引的AGV 系統(tǒng)中,AGV 小車上裝有激光頭(激光發(fā)射和檢測裝置),在AGV 運行區(qū)域裝有反光板(Retro-reflector),各個反光板的坐標值及AGV 小車運行路線(電子地圖)已傳送到車載控制器中,AGV 在運行時激光頭不停地旋轉(zhuǎn),向周圍發(fā)射激光束,同時接收由反光板反射回來的光束,激光頭將這些數(shù)據(jù)傳送給AGV 車載控制器,從中計算出AGV 在當前坐標系中的位置(X 值、Y 值、角度值α),通過與車載控制器中電子地圖里的目標位置進行比較,每50ms 修正一次,實現(xiàn)AGV 的連續(xù)導航(電子地圖由線段組成,每條線段的屬性定義了AGV 小車應行駛的速度、角度等參數(shù))。
通常AGV 小車的驅(qū)動電機與轉(zhuǎn)向電機上都裝有編碼器,作為AGV 行走速度、距離及角度位置的反饋,在AGV 運行過程中,主控制器不斷將理論預估的物理位置與實際進行比較,并將比較的結(jié)果轉(zhuǎn)化為對AGV 小車速度和角度的命令值,以此來修正AGV 小車在行走中的速度、位置、角度偏差,實現(xiàn)AGV 精確的定位精度。
由此可見,編碼器對于AGV 的定位精度起著非常重要的作用。
AGV 自動導引車如何選擇適合的編碼器呢?編碼器按信號原理來分,有增量型編碼器、絕對值編碼器兩種。增量型編碼器有一個中心有軸的光電碼盤,其上有環(huán)形通、暗的刻線,由光電發(fā)射和接收器件讀取,獲得四組正弦波組合成A、B、C、D 信號,每個正弦波相差90°相位,將C、D 信號反向,疊加在A、B 兩相上,可增強穩(wěn)定信號;每轉(zhuǎn)輸出一個Z 相脈沖以代表零位參考位。
絕對值編碼器光碼盤上有許多道光通道刻線,每道刻線依次以2 線、4 線、8 線、16 線……編排,這樣,在編碼器的每一個位置,通過讀取每道刻線的通、暗,獲得一組從2 的零次方到2 的n-1 次方的唯一的2 進制編碼(格雷碼),即n 位絕對值編碼器。
從應用上看,兩種編碼器有各自的優(yōu)勢,增量型編碼器比較通用,價格比較便宜,絕對值編碼器是由光電碼盤的機械位置決定的,它不受停電、干擾的影響,但是價格要比增量型編碼器貴很多。
AGV 自動導引車驅(qū)動編碼器的選擇只需考慮:在AGV 最大運行速度下,編碼器的輸出頻率與控制器所能接受的頻率相匹配,不需要有同步脈沖,但轉(zhuǎn)向編碼器的選擇需要考慮舵輪回到零位時,車載控制器能夠識別出來。
在AGV 自動導引車的調(diào)試過程中,轉(zhuǎn)向角度的調(diào)試非常重要,這在很大程度上決定AGV 小車的定位精度。對于使用增量型編碼器作為轉(zhuǎn)向反饋的AGV 來說,通常需要編碼器產(chǎn)生一個同步脈沖,依靠這個同步脈沖確定車輪旋轉(zhuǎn)的零位。
由于絕對值編碼器的價格比增量型編碼器價格高很多,因此傳統(tǒng)的AGV 大多選用增量型編碼器,但是在應用過程中偶爾會發(fā)現(xiàn)AGV 零點丟失的問題。當AGV 斷電時,需要主控制器記住舵輪的角度值,并且停電后AGV舵輪不能有任何移動;AGV 再次上電時,轉(zhuǎn)向編碼器在輸出脈沖過程中,也不能有干擾而丟失脈沖,否則,主控制器記憶的零點就會偏移,造成AGV 舵輪零位丟失。雖然可以通過增加參考點的措施來修正上述舵輪的位置,但是在參考點以前,仍然不能保證位置是準確的。
圖1 單舵輪SD 型AGV 控制系統(tǒng)結(jié)構(gòu)圖
AGV 作為現(xiàn)代化工廠物流系統(tǒng)中的關(guān)鍵工具,其穩(wěn)定性、可靠性尤為重要,因此,即使零點丟失的現(xiàn)象偶然發(fā)生,但若發(fā)生就需要重新調(diào)試,對AGV 進行零點修正,這直接影響到物料的生產(chǎn)輸送。為了徹底解決AGV 舵輪零點丟失的問題,筆者考慮使用絕對值編碼器。圖1 為CAN 總線絕對值編碼器作為AGV 轉(zhuǎn)向反饋的控制系統(tǒng)結(jié)構(gòu)圖。
AGV 車載控制器作為CAN 總線的主站,轉(zhuǎn)向編碼器及其他子模塊作為CAN 總線的從站,每個子模塊與主控制器通過CAN 總線進行通信,主控制器通過總線協(xié)調(diào)控制各子模塊。由于絕對值編碼器是由光電碼盤的機械位置決定的,每個位置是唯一的,不受停電、干擾的影響,所以主控制器無需記憶零點位置,無需找參考點,而且不用一直計數(shù),什么時候需要知道位置,什么時候就去讀取它的位置信息。這樣,編碼器的抗干擾特性、數(shù)據(jù)的可靠性大大提高。
下面以某品牌的CAN 總線絕對值編碼器為例,介紹絕對值編碼器在AGV 轉(zhuǎn)向系統(tǒng)中的應用。
編碼器舵輪結(jié)構(gòu)見圖 2 所示。已知舵輪轉(zhuǎn)向齒輪與編碼器齒輪速比為1:3.175,即舵輪轉(zhuǎn)動1 圈,轉(zhuǎn)向編碼器轉(zhuǎn)3.175 圈;編碼器在CAN 總線上的節(jié)點號為7,具體設置見圖3 所示。
單圈絕對值編碼器,在轉(zhuǎn)動中測量光電碼盤各道刻線,以獲取唯一的編碼,當轉(zhuǎn)動超過360°時,編碼又回到原點,這樣就不符合絕對編碼唯一的原則,這樣的編碼只能用于旋轉(zhuǎn)范圍在360°以內(nèi)的測量。此例中,舵輪轉(zhuǎn)向齒輪與編碼器齒輪速比為1:3.175,舵輪從-90°到+90°。在轉(zhuǎn)動過程中,如果用單圈絕對值編碼器,旋轉(zhuǎn)絕對編碼不唯一,所以,編碼器齒輪與舵輪轉(zhuǎn)向齒輪速比大于1∶1 時,要選用多圈絕對值編碼器。
圖2 編碼器舵輪結(jié)構(gòu)
圖3 控制界面參數(shù)設置
AGV 自動導引車在正常工作時,舵輪的轉(zhuǎn)動范圍只可能在-90°轉(zhuǎn)到+90°之間,如選用單圈分辨率為4096,總分辨率為65536 的多圈編碼器,舵輪從-90°轉(zhuǎn)到+90°,編碼器一共轉(zhuǎn)的脈沖數(shù)為(3.175/2)*4096=6502。當舵輪物理位置處在0°位置時,理論上CAN 總線編碼器的數(shù)值應該是6502/2=3251,舵輪左轉(zhuǎn)時,CAN 總線編碼器的值應該從3251 開始增大,舵輪右轉(zhuǎn)時,CAN 總線編碼器的值從3251 開始減小,所以設定舵輪處在0°位置時CAN 總線編碼器的數(shù)值為5000,通過主控制器中參數(shù)的換算關(guān)系,就可以得出舵輪在各個位置的角度值。(為了保證舵輪右轉(zhuǎn)到-90°時編碼器的值不要太接近0,因為過了0,CAN 總線編碼器的數(shù)值就會變到最大,所以舵輪在0°位置時,編碼器的值設置為5000。)
例如:當人為將舵輪轉(zhuǎn)動到0°位置(即當前的角度值為0°),通過軟件將5000 賦值給編碼器,由于以下2個參數(shù)值是固定不變的:
CAN_Enc_7.SteerEncScal = 4096* 3.175 =13005( 舵輪轉(zhuǎn)一圈,編碼器轉(zhuǎn)3.175 圈)
CAN_Enc_7. SteerEncFactor=36000(編碼器轉(zhuǎn)向因數(shù)按360°考慮)
調(diào)整CAN_Enc_7. SteerOffset 的值= -10420,使編碼器的反饋值CAN_Enc_7. EncAngle= 0 與舵輪物理角度位置一致,這樣就確定了AGV 自動導引車轉(zhuǎn)向的零點位置。具體設置見圖4 所示。
轉(zhuǎn)向編碼器設置、調(diào)試步驟如下:
圖4 控制界面參數(shù)設置二
一般情況下,CAN 總線編碼器需要通過CAN 總線診斷軟件對編碼器進行參數(shù)設置(包括節(jié)點號、波特率、分辨率、當前位置值等),具體設置見圖5、圖6 所示,設定完成后關(guān)機并給主控制器下傳程序。
圖5 控制界面參數(shù)設置三
如:按照某品牌通信協(xié)議,在確定AGV 轉(zhuǎn)向零點位置時,需要設定如下參數(shù):
圖6 控制界面參數(shù)設置四
波特率為250kHz;
ID DLC Data 63F 8 2F 00 21 00 05 00 00 00 賦給編碼器的值設置5BF 8 60 00 21 00 00 00 00 00 從編碼器返回的確認信息值
設置節(jié)點號為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 從編碼器返回的確認信息值
設置正轉(zhuǎn)或反轉(zhuǎn)的方向;(01 為逆時針旋轉(zhuǎn)代碼增加,00 為順時針旋轉(zhuǎn)代碼增加)
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 從編碼器返回的確認信息值
保存所有參數(shù) 。
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 從編碼器返回的確認信息值
CAN 總線作為一種技術(shù)先進、可靠性高、功能完善、成本合理的遠程網(wǎng)絡通信控制方式,已被廣泛應用到各個自動化控制系統(tǒng)中。CANOpen 是基于CAN 總線的開放式協(xié)議,CAN 總線絕對值編碼器與其他的信號形式比較,其數(shù)據(jù)傳遞得更可靠,更經(jīng)濟通用,更安全。
AGV 自動導引車作為自動化領(lǐng)域具有高科技附加值的關(guān)鍵物流輸送設備,其安全性、可靠性尤為重要,同時,隨著近兩年電子科技技術(shù)的快速發(fā)展,CAN 總線絕對值編碼器的成本也逐漸降低,已越來越廣泛地做為AGV 自動導引車轉(zhuǎn)向、升降等角度、位置反饋控制元器件。
本應用案例通過將CAN 總線多圈絕對值編碼器應用于AGV 舵輪轉(zhuǎn)向系統(tǒng)中,解決了傳統(tǒng)轉(zhuǎn)向系統(tǒng)中使用增量型編碼器造成的零位丟失問題,為提高AGV 運行的可靠性、導航定位的精確性提供了有效途徑,是AGV 制造企業(yè)應用的發(fā)展趨勢。