朱雪宏,丁承君*,吳禮榮,馮玉伯,賈麗臻
(1.河北工業大學 機械工程學院 天津 300401;2.中國民航大學 航空工程學院 天津 300300)
隨著自動控制技術、人工智能技術、信息融合技術的發展,機器人的應用水平正在快速提高,自動導引車(Automated Guided Vehicle,AGV)作為一種搬運用輪式移動機器人(Wheeled1Mobile Robot,WMR),在航空、航天、船舶、汽車、港口、倉儲等行業具有日益廣泛的應用[1,3],各個行業都存在重型負載的智能搬運需求,尤其是對大質量、大尺寸部件進行移載時,重載AGV的作用更顯得尤其重要。重載AGV發展至今,各行各業的搬運物體及現場工況各不相同,重載AGV設計加工制作周期較長,在這種背景下,需要一種設計方法,使重載AGV實現標準化和模塊化設計,同時重載AGV軟件系統對不同的硬件模塊實現自重構[4],使得重載AGV具備完成不同工況不同任務的能力。
AGV發展至今,驅動系統常采用萬向輪、麥克納姆輪、舵輪、正交輪、球輪、差速單元等,目前重載AGV主要使用麥克納姆輪、舵輪、差速驅動單元結合腳輪活萬向輪承重的方式,考慮應對各種現場工況,這里采用高度尺寸最小的差速驅動單元作為研究對象。重載AGV可重構特性主要體現在硬件自重構[5]和軟件自重構[6],其中硬件自重構體現在機械本體自重構和控制系統自重構,機械本體主要是零部件的選擇,不可自重構的是外觀設計,控制系統自重構主要是各類傳感器、控制器、驅動單元等控制元件插入控制系統后自識別,軟件自重構可根據接入控制系統的硬件進行自重構,軟件自重構要求各個模塊之間不能具有耦合性,否則重構算法將變得特別復雜。自重構不僅要求各個模塊和控制器進行實時交互,還同時要求各個模塊之間能夠進行實時交互,為了滿足這一需求,學術界開發了許多框架,其中機器人操作系統(ROS)就是在這種背景下出現的。
機器人操作系統ROS(Robot Operating System)是一種開源機器人操作系統,此系統是Willow Garage 公司與多家科研單位合作開發的,是為了應對在開發大型服務機器人時遇到的特殊挑戰。目前為止,它形成的機器人操作與控制系統軟件框架已得到廣泛應用[7,9]。該框架使用了面向服務架構軟件技術(SOA),通過網絡節點協議將節點間的數據通信解耦[10]。機器人操作系統(ROS)代表了當今機器人應用軟件原型和開發的實際標準。它為機器人硬件資源提供了多個軟件抽象層,使軟件開發人員能夠更專注于軟件開發,而不必擔心底層硬件編程,提供了類似操作系統所能提供的功能,包含管理底層的驅動程序、執行公用功能、程序間的信息傳遞、硬件描述、程序發行包的管理等。
重載AGV由硬件系統和軟件系統組成,文中所謂的自重構既要考慮硬件系統,也要考慮軟件系統,硬件系統由機械本體、驅動系統、供電系統、液壓系統、傳感器系統組成,如圖1所示。

圖1 重載AGV組成圖
機械本體設計根據現場工況和工作空間決定,有潛伏式、牽引式等。機械本體設計主要考慮其承載能力和防傾覆能力。
驅動系統考慮工作空間的兼容性,文中設計的重載AGV選擇高度尺寸較低的差速驅動單元,通常每組驅動單元能承載8t左右,考慮重載AGV載重和安全系數,選擇對應輪組的數目即可。
供電系統采用獨立供電方式,即驅動系統供電、控制系統供電和液壓系統供電三部分。驅動系統供電根據選擇的差速單元輪組數目而定。液壓系統供電取決于液壓頂升重量和液壓缸量程等參數有關。控制系統供電取決于依據控制系統的功耗而定。
液壓系統根據頂升物的重量進行設計和選型,一般液壓缸設計在差速輪組的正上方,讓輪組直接承受重物質量,降低車體在此過程中的形變,同時采用同步馬達和平衡閥保證平穩舉升。
傳感器系統主要分為安全模塊、運動控制反饋模塊、報警模塊、定位模塊和通訊模塊。各類傳感器采用統一的節點控制器進行數據采集和發布。
重載AGV控制系統如圖2所示,主要有工控機、驅動節點控制器、液壓節點控制、供電節點控制器、其余傳感器節點控制器、串口服務器、觸摸屏和手持遙控組成。系統除、串口服務器、觸摸屏和手持遙控以外,其余模塊均可以實現系統自重構,系統工控機和驅動節點控制器選擇ARK-2230L,其余節點控制器選擇AIMC-2000J,工控機與驅動節點控制器、液壓節點控制器、供電節點控制器、其余傳感器節點控制器采用路由的方式連接,方便實現擴展,驅動節點控制器采用控制總線方式與驅動器連接,可快速擴充接入多組差速驅動單元,其作用控制差速驅動單元及時響應控制策略,實現精確控制,通過且通過采集磁傳感器與慣性傳感器數據進行實時控制算法糾偏;液壓節點傳感器采用Modbus方式與液壓PLC系統進行連接,主要控制液壓系統的啟動、停止、復位和點動;供電節點控制器采用485方式與電池組連接,可實時采集電池組信息;其余節點傳感器與傳感器連接方式可根據傳感器方式具體而定。通過以上方式進行的硬件連接,可實現硬件間的解耦,可快速進行控制系統自重構。

圖2 重載AGV控制系統
ROS是Willow Garage公司在2010年發布的用于解決代碼復用和模塊化需求的機器人操作系統,采用分布式處理,提供硬件抽象、設備控制、消息管理等標準的操作系統服務。
節點是ROS執行相關功能的進程,每個節點可通過主題或者服務于其他節點進行通訊。主題是指特定消息的名稱,用于描述消息內容,主題實質上是ROS網絡對消息進行管理的數據總線。當某個節點需要從另一個節點發出請求或者應答時,可以通過服務實現,服務允許和某個節點直接進行通信。消息是節點之間點對點通訊的數據內容,傳感器的數據、算法結果均可定義為消息。
可重構重載AGV軟件系統架構如圖3所示,軟件系統分為三個層次,ROS是運行在Linux系統上的操作系統,基本節點層分為4部分,分別是感知節點類、執行節點類、狀態節點類和主控節點類。感知節點類是重載AGV通過各類傳感器感知環境的,主要有安全類Node(如激光雷達Node,防撞條Node,急停按鈕Node,聲光報警Node),運動控制反饋類Node(磁傳感器Node,慣性傳感器Node,電機編碼器Node,旋轉編碼器Node),報警類Node(聲光報警Node等),電池組狀態Node和液壓狀態Node;執行節點類主要控制重載AGV運動和液壓頂升的,包括差速驅動單元Node和液壓電機Node;狀態節點類是重載AGV運行過程中重載AGV的建模信息,中間變量和控制邏輯變量等,包括重載AGV長和寬,差速驅動單元組數,輪的直徑,橫縱向傳感器距離、主軸x和Y方向的偏離,電機速度、加速度和電機是否運動到位等;主控節點類一方面通過感知傳感器和重載AGV狀態來決策下一步執行動作的,將執行策略下發給執行節點,另一方面通過自重構節點進行重載AGV控制系統的自主識別和控制系統重構。

圖3 可重構重載AGV軟件系統架構
重載AGV自重構模型如圖4所示。AGV自重構模型分為四部分,分別是AGV控制類Node,狀態類Node,執行類Node,感知類Node。控制類Node是整個控制系統的核心,感知類Node負責所有傳感器和執行器的狀態的反饋,執行類Node負責執行控制類Node的決策,控制電機進行運動,狀態類Node負責重載AGV實時的狀態和內部邏輯狀態。

圖4 重載AGV自重構模型
重載AGV完成組裝之后,通過組態屏連接工控機對AGV控制類Node進行IO、協議等的設置,保證所有硬件(已安裝硬件或新增硬件)能按照指定方式進行數據采集和傳輸,AGV控制類Node對接入系統的硬件進行主題檢測,檢測完成行成在役主題列表,控制類Node與硬件Node建立連接,確定傳輸協議,將硬件節點歸類到狀態類Node,感知類Node和執行類Node中,最終完成數據的傳輸。
重載AGV本體設計可根據具體工況進行設計,文中設計均為潛伏式AGV,外觀上只更改了重載AGV本體的長度和寬度,高度要考慮防傾覆設計,控制系統根據重量選擇差速驅動單元組數,根據提升重量和高度選擇液壓系統,根據工藝要求及工作節拍,選擇電池組容量。文中控制系統包括一臺工控機(主控器),6組差速驅動單元,6個絕對值旋轉編碼器,4個磁傳感器(磁條導航),1個RFID高速讀卡器,重載AGV布局圖如圖5所示。

圖5 重載AGV布局圖
重載AGV控制系統是基于ROS機器人操作系統來開發的,在項目開發前期,利用ROS系統優秀的建模功能實現重載AGV的模型構建,并且在rviz上實現AGV的控制功能仿真,包括手動、半自動和全自動功能,通過仿真功能來優化AGV控制程序,實現來AGV通過前后兩個磁傳感器沿著磁條進行糾偏穩定運行目的,大大減輕AGV現場調試的工作量。重載AGV建模圖如圖6所示,重載AGV的設計、加工、制造、調試周期縮短至20天。

圖6 重載AGV的rviz建模圖
其中,重載AGV三臺樣機參數指標如表1所示,其產品圖如圖7所示。

表1 重載AGV樣機參數表

圖7 可重構多差速驅動重載AGV產品系列圖
文中針對重載AGV設計、加工、制作、調試周期長及標準化不統一問題,提出一種基于ROS的可重構多差速驅動重載AGV系統,重載AGV車體可根據現場工況進行外形設計和微調,控制系統根據承載重量、現場工藝節拍、續航能力進行模塊化設計,降低控制系統模塊間的耦合性,提出了軟件自重構模型,對于不同模塊組合的重載AGV進行軟件自重構,最終制作了三臺樣機進行方法驗證,樣機實驗表明,基于ROS的可重構多差速驅動重載AGV系統將重載AGV設計、加工、制作、調試的周期縮短至20天,同時產品穩定性、標準化、模塊化能力均得到大幅提升,也為后續多個重載AGV協同搬運系統提供理論基礎。