王熙杰





摘要:針對人工清潔車輛效率低的問題,將洗車機器人引入機車清潔過程中,其中運動控制功能由工業機械臂實現。通過電機驅動器和Profinet 協議實現通信功能,控制電機位置參數及運動速度,準確識別機械臂末端位置。開展機械臂運動控制系統硬件及軟件設計,其中自動化洗車運動控制系統選用的控制器芯片型號為STM32F407ZET6,并采用CH340G 芯片實現數據通信功能。該系統設計對提高自動化機車清洗效率具有一定的支持作用。
關鍵詞:洗車機器人;運動控制系統;硬件設計;軟件設計
中圖分類號:TP241 文獻標識碼:A
0 引言
經長期使用,機車車頭、內飾及車身表面必然會累積各種污染物,包括油污、灰塵等,所以定期清潔機車十分有必要[1-2]。從現有機車清潔方式來看,普遍應用人工清潔車輛的方式實現清潔目的。該方法具有較大的管理難度,實際工作效率也較低;從技術能力方面考慮,不同洗車人員之間存在的差異較大,針對同種車輛難以保證一致的清潔效果,特別是清潔難度較大的車頂區域[3-4]。針對上述問題,相關學者研究制定了高效的機車清潔方案,以多軸工業機械臂作為技術支撐,在機械臂尾部安裝清潔設備和攝像頭。其中,數據采集功能由攝像頭完成,清潔功能則需控制機械臂運動實現。對構建的機車三維模型的清潔模式進行測試,發現各種車型清潔效果都表現良好,水量消耗變少,洗車場人力成本顯著降低,清洗效率也得到提升[5-6]。
針對人工清潔車輛效率低的問題,本文將洗車機器人引入機車清潔過程中,運動控制功能由工業機械臂實現。
1 自動化洗車運動控制系統設計
將洗車機器人的機械臂用于機車車頭外表面清洗。該機器人主要由視覺信號處理系統、運動控制系統和電機驅動系統組成,機器人作業整體運動控制系統如圖1 所示。安裝在多軸機械臂末端的傳感器對機頭輪廓完成掃描后,在上位機完成車頭點云的拼接,將處理后的坐標數據發送給機械臂控制器,再將坐標數據解析成機械臂各軸旋轉角并生成相應報文,通過Profinet 通信協議把該報文發送至驅動器,驅動機械臂完成相應清洗動作。
2 機械臂運動控制系統設計
本文選取的研究對象為KUKA 工業機器人,型號為VKRC2 2005 版, 其機械臂供電方式為400 V 三相交流電,總重量達190 kg,控制精度可達0.5 mm。將3 個旋轉控制關節設置在此機械臂中,該機器人照片和結構示意如圖2 所示。運動控制系統共分為兩個部分:一是由下位機處理程序與上位機界面程序構成的軟件程序;二是內嵌最小運行系統、總線通信模塊及嵌入型微控制器的硬件運動控制系統。
運動控制功能由工業機械臂實現,通過電機驅動器和Profinet 協議可實現此模塊的通信功能,控制電機位置參數及運動速度需使用111 報文完成,從而準確識別機械臂末端位置,同時各報文數據均可實時接收,并在上位機中顯示各軸旋轉角及相關數據。定位功能、機頭輪廓測試及機械臂運動控制等功能都包含在上位機中,其可以完成對機頭輪廓清洗路徑的設定、關節點運動信息的傳輸、機車位置數據的處理和機頭輪廓的測試以及機械臂運行狀態的高效監控[7]。
單目攝像頭內嵌于機器人運動控制系統中的機械臂尾部[8],因而在掃描機頭輪廓時,可以實現高效掃描。自動化洗車工作流程如圖3 所示,首先規劃洗車具體路徑,并向下位機傳輸路徑對應的坐標數據;其次參考坐標數據對各軸旋轉角進行逆運動學計算;最后將解析獲得的111 報文發送給驅動器。
3 硬件設計
運動控制系統硬件結構如圖4 所示。由電機驅動器發送報文數據,電機實際運行情況可通過驅動器的反饋信息進行判斷。利用Profinet 協議構建通信模塊與驅動器之間的聯系,單個電機的運行控制由對應驅動器實現。
為確保機器人作業正常,對于控制器芯片的要求較高,需滿足運行狀態穩定、浮點數據運行性能佳、運算速率高效等條件[9]。本次選用的自動化洗車運動控制系統的控制器芯片型號為STM32F407ZET6,整體性能比之前的芯片產品更優,還可有效控制制造成本,完全滿足機器人作業系統應用需求。
4 軟件設計
4.1 電源及串口通信電路
如圖5 所示, 二路電源輸入在控制器芯片中,K1 開關與保險管F1 連接VUSB, 將U4-AMS1117-3.3芯片輸入,并輸出直流3.3 V 電壓,同時對STM32F407ZET6 控制器芯片供電。將VOUT與VUSB 連接, 直流電壓輸出值為5 V,3.3 V電壓在供電狀態下即可獲取,供電設備可選取相應適配器,通過USB 可實現在低功耗狀態完成供電。
通常情況下少量數據就能使下位機和上位機實現速度調控、電機運行開關控制等通信控制,所以在實際通信時將RS232 接口作為首選。但目前筆記本電腦中幾乎不再配置RS232 接口,串口信號到USB 信號之間的轉變可采用CH340G 芯片實現,上位機與下位機間僅需一根USB 線就可實現數據通信功能。
4.2 上位機與下位機通信
實際作業中機器人數據通信時,首先,其上位機機械臂末端位置設定之前需執行運動控制命令,下位機接收上述數據后解析具體命令;其次,各機械臂運動軸的旋轉角采取機器人逆運動學方程完成計算,旋轉角取值范圍如表1 所示;再次,向驅動器傳輸上述數據;最后,將驅動器發送的反饋數據進行接收,向上位機傳輸機械臂各軸關節角相關數據。
計算機向運動控制系統發送操控命令,為保證高效傳輸和交換控制命令、數據等各項參數,構建的通信協議需得到微控制器和計算機的支持。微控制器和計算機在處理數據時要求數據格式必須為二進制,以此為標準采用下位機控制對計算機輸出二進制信息進行準確解析,機械臂各項參數及實際運動狀態數據可通過機械臂控制功能來獲取,計算機上位機程序傳輸的數據結果需嚴格依據協議標準進行轉換。控制幀作為一種命令參數與坐標由計算機程序生成,并需向下位機系統進行傳輸。電機運動狀態控制參數和多個控制指令均包含在通信協議中,機械臂自動化洗車效率容易因協議質量水平的變化而受影響。
5 結論
針對機車清潔出現的相關問題,本文開展機器人機械臂運動控制系統的硬件及軟件設計,得出以下3 點結論。
(1)自動洗車運動控制功能由機械臂實現,通過電機驅動器和Profinet 協議實現通信功能,控制電機位置參數及運動速度,準確識別機械臂末端位置。
(2)選用的自動化洗車運動控制系統的控制器芯片型號為STM32F407ZET6,整體性能比之前的芯片產品更優,可有效控制制造成本。
(3)采用CH340G 芯片實現信號轉變,上位機與下位機間僅需一根USB 線就可實現數據通信功能。可將驅動器發送的反饋數據進行接收,并向上位機傳輸機械臂各軸關節角相關數據。
參考文獻
[1] 儲昭碧,李健,孔艷,等. 基于S7-1200 的全自動洗車控制系統的設計[J]. 電氣傳動,2016,46(9):62-65.
[2] 侯曉琳,姚健鵬,王劍男. 基于點數據集三維空間曲面三角化算法實現[J]. 科學技術與工程,2017,17(22):155-161.
[3] 李文峰,馮永明,袁海潤. 基于微信平臺的洗車服務系統[J]. 西安科技大學學報,2017,37(3):445-449.
[4] 鐘石根,張良杰,朱麗敏,等. 基于物聯網技術的自助洗車系統設計[J]. 現代電子技術,2017,40(20):1-4,9.
[5] 倪偉,吳英濤,趙曉賀. 玻璃幕墻清洗機器人清洗系統的設計[J]. 南方農機,2017,48(16):40.
[6] 金玉陽,張明路,高慶吉,等. 5R1T 型飛機表面清洗機器人機械臂設計及其逆運動學分析[J]. 機床與液壓,2013,41(12):33-37.
[7] 沈躍,潘成凱,劉慧,等.基于改進SIFT-ICP 算法的 Kinect 植株點云配準方法[J]. 農業機械學報,2017,48(12):183-189.
[8] 陳學偉,朱耀麟,武桐,等.基于SAC-IA 和改進ICP 算法的點云配準技術[J].西安工程大學學報,2017,31(3):395-401.
[9] 王奇,秦劍,柯堅,等. 接觸網絕緣子自動水沖洗車載體位姿隔離與補償[J]. 機床與液壓,2018,46(16):92-95,98.