陳丹惠,顧瀟宇,周 雄,趙江海,李子建
(1.常州先進制造技術(shù)研究所,江蘇 常州 213164;2.中國科學院合肥物質(zhì)科學研究院,安徽 合肥 230031;3.昆明理工大學農(nóng)業(yè)與食品學院,云南 昆明 650500)
外骨骼機器人使用人群廣泛:用于肌肉萎縮或腦或脊髓功能損傷的人群,可提高該人群的生活質(zhì)量;用于戰(zhàn)場士兵以及部隊后勤等健康人群,可提升特殊領域作業(yè)人員的作業(yè)能力[1-4]。國內(nèi)外外骨骼機器人按驅(qū)動系統(tǒng)分類,主要包括電機驅(qū)動、液壓驅(qū)動、氣缸驅(qū)動以及氣動人工肌肉驅(qū)動等類型[5-9]。國外的研究成果有日本筑波大學研制的Hybrid Assistive Leg系列、美國范德堡大學的 “Indego”外骨骼,但都存在系統(tǒng)自重過重、價格昂貴等問題。國內(nèi)研究機構(gòu)、高校和公司對外骨骼的研制[10],大多還處于樣機研制階段,系統(tǒng)線路復雜、穩(wěn)定性低。
本文針對國內(nèi)外骨骼機器人的不足進行設計。控制系統(tǒng)設計采用控制器局域網(wǎng)絡(controller area network,CAN)總線,連線少,結(jié)構(gòu)清晰。CANopen通信協(xié)議在實時性和可靠性方面具有優(yōu)勢,可避免點對點連接造成的連線多、線路復雜、系統(tǒng)穩(wěn)定性低的問題。
外骨骼機器人從穿戴者需求出發(fā),通過傳感器檢測穿戴者有無行走趨勢,判斷是否需要助力,從而實現(xiàn)有效、實時助力。助力大小可根據(jù)穿戴者的適應情況進行選取。外骨骼機器人與穿戴者連接單元從人機舒適度角度出發(fā),可擬合人體曲線,選用柔性材料,提高穿戴者舒適度。
外骨骼機器人系統(tǒng)集成包括虛擬樣機設計、控制系統(tǒng)設計與軟件編制、研制樣機性能試驗三部分。系統(tǒng)集成框圖如圖1所示。
圖1 系統(tǒng)集成框圖Fig.1 System integration block diagram
CANopen的基礎是CAN。串行總線網(wǎng)絡由Robert Bosch GmbH設計,用于協(xié)調(diào)汽車中的多個控制系統(tǒng)。CAN模型適用于分布式控制。任何設備都可以在網(wǎng)絡上廣播信息。每個設備都可以接收所有信息,并使用過濾器濾除不合適的信息。因此,單個信息可以到達多個節(jié)點,從而減少了需要發(fā)送的信息數(shù)量。這也大大減少了尋址所需的帶寬,從而允許在整個系統(tǒng)中以實時速度進行分布式控制。
CAN在汽車和許多其他行業(yè)中的廣泛使用,為用戶提供了可用的廉價硬件和持續(xù)的支持?,F(xiàn)有標準組件的可用性也減少了系統(tǒng)設計工作。CAN的相對簡單性降低了培訓要求。通過將控制分配給設備,CAN消除了設備與中央控制器之間多線連接的需求。更少的線路連接可在惡劣的工作條件下提高可靠性,而基于設備的錯誤檢查和處理方法使CAN網(wǎng)絡更加可靠。
CAN的物理層是差分驅(qū)動的兩線總線,首末兩端各有120 Ω電阻連接。 CAN所支持的最大波特率是1 Mbit/s,最長為25 m;較長的網(wǎng)絡長度需要較低的波特率。
CANopen報文在CAN報文內(nèi)傳輸。CAN報文也稱為通信對象(communication object,COB)。
CAN報文以網(wǎng)絡數(shù)據(jù)包的形式,通過總線進行通信。每個數(shù)據(jù)包均包含1個標志符(CAN報文ID)、控制位和0~8個字節(jié)的數(shù)據(jù)。
每個CAN報文都有1個CAN報文ID(也稱為COB-ID)。報文ID扮演著2個重要角色:提供節(jié)點接收或拒絕報文的標準;確定待傳輸消息的優(yōu)先級。CAN報文的優(yōu)先級被編碼在報文ID中。報文ID的值越小,報文的優(yōu)先級越高。當2個或更多設備嘗試同時發(fā)送數(shù)據(jù)包時,優(yōu)先級最高的數(shù)據(jù)包將成功,而其他設備將被退回并重試。與其他網(wǎng)絡技術(shù)相比,這種沖突處理方法可以提高帶寬利用率。例如,以太網(wǎng)通過要求2個設備中止傳輸并重試來處理沖突。
CAN協(xié)議突出的特點是錯誤檢測、限制和處理。CAN協(xié)議與其他總線系統(tǒng)的不同之處在于:它沒有定義用于識別錯誤類型的握手方法。向每個數(shù)據(jù)包發(fā)送循環(huán)冗余校驗(cyclic redundancy check,CRC)信息,使控制器識別并重新發(fā)送格式錯誤的數(shù)據(jù)包。
設備的基本模型包含通信單元、應用過程和對象字典3個部分。通信單元由CAN收發(fā)器、CAN控制器和CANopen通信協(xié)議棧組成。協(xié)議棧中包括實現(xiàn)通信的通信對象和狀態(tài)機。通信對象包括過程數(shù)據(jù)對象(process data object,PDO)和服務數(shù)據(jù)對象(service data object,SDO)。
圖2 CANopen設備模型Fig.2 CANopen device model
CANopen應用層詳細描述了各種不同類型的COB。這些通信對象都是由1個或多個CAN報文來實現(xiàn)的。通信對象分為以下4種類型。
①過程服務數(shù)據(jù)(PDO消息),用于傳輸實時數(shù)據(jù)。
②服務數(shù)據(jù)對象(SDO服務器消息和SDO客戶端消息),用于讀/寫其他CANopen設備的對象字典。
③預定義對象(同步、時間和緊急報文)。
④網(wǎng)絡管理對象,用于控制網(wǎng)絡管理(network management,NMT)狀態(tài)機(NMT消息)和監(jiān)測設備(心跳、啟動報文)。
外骨骼機器人硬件系統(tǒng)結(jié)構(gòu)圖如圖3所示。
圖3 硬件系統(tǒng)結(jié)構(gòu)圖Fig.3 Hardware system structure diagram
硬件系統(tǒng)設計包括工業(yè)主板、顯示器、PCAN-miniPCIe CAN卡、伺服驅(qū)動器模塊、伺服電機模塊和扭矩傳感器。工業(yè)主板是整個控制系統(tǒng)的核心,負責數(shù)據(jù)處理和各個設備與系統(tǒng)的通信。PCAN-miniPCIe CAN卡與計算機相連,實時監(jiān)測系統(tǒng)各設備狀態(tài),負責系統(tǒng)的監(jiān)控和管理工作。該接口的CAN卡在汽車行業(yè)應用廣泛,目前在機器人、醫(yī)療、傳感器等行業(yè)也發(fā)展迅速。伺服系統(tǒng)由伺服驅(qū)動器模塊和伺服電機模塊組成,是整個控制系統(tǒng)的執(zhí)行模塊。良好的伺服性能對整個系統(tǒng)的控制非常關(guān)鍵。扭矩傳感器通過驅(qū)動器的模擬量輸入口,將數(shù)據(jù)上傳到CAN總線。
硬件系統(tǒng)設計是外骨骼機器人良好運行的基礎,因此各關(guān)鍵部件的選型尤為重要。硬件設計不僅要考慮器件本身發(fā)揮的作用,還要兼顧其接口與整體系統(tǒng)的匹配、兼容。
根據(jù)硬件系統(tǒng)組成,對關(guān)鍵器件選型。工業(yè)主板從系統(tǒng)所需硬件接口及計算處理能力方面進行選型。本設計選擇了臺灣LexSYSTEM公司的1I386H嵌入式主板。該主板接口豐富,包含系統(tǒng)所需的MiniPCIe、USB、mSATA.M.2接口,且體積小、功耗低。
CAN卡的穩(wěn)定直接關(guān)系到系統(tǒng)的通信質(zhì)量。本設計選用的PCAN-miniPCIe CAN卡能夠把嵌入式電腦和帶有PCI Express Mini插槽的筆記本電腦連接到CAN總線網(wǎng)絡。該CAN卡有單通道和雙通道型號。在電腦和CAN之間的電氣隔離達到300 V。套裝內(nèi)含CAN監(jiān)視軟件PCAN-View for Windows和用于開發(fā)CAN連接的編程接口PCAN-Basic。
驅(qū)動器在選型方面要考慮周全,比如通信口、模擬量口(及分辨率)、數(shù)字輸入/輸出口(電平5 V/24 V)及功耗尺寸等。根據(jù)系統(tǒng)的實際需求,本設計選擇了美國Copley Controls Accelnet Micro Module。Accelnet Micro Module支持的CiA 402模式包括插值位置(PVT),位置,速度,扭矩和回零。有10個邏輯輸入。1個專用于Amp Enable功能,其他9個是可編程的。通過CMETM軟件操作,可以進行驅(qū)動器調(diào)試,在Windows?下通過Accelnet Micro Module進行通信CAN或RS-232連接。
電機選擇了maxon EC flat,由機械模型和助力要求分析選出具體型號。該系列電機重量輕,輸出力矩大,且便于關(guān)節(jié)安裝。
力傳感器選用宇立公司自主研發(fā)的M221X系列單軸扭矩傳感器。其特別適用于機器人關(guān)節(jié)的扭矩測量,在協(xié)作機器人上有大量應用。SRI的扭矩傳感器厚度薄至7 mm,直徑為53~100 mm,扭矩量程為20~300 Nm。傳感器內(nèi)置放大器,直流 5 V輸入,0~5 V輸出。
外骨骼機器人控制系統(tǒng)軟件由初始化模塊、通信模塊、運動控制模塊、算法規(guī)劃模塊、驅(qū)動控制模塊和采集模塊組成。
初始化模塊對系統(tǒng)進行基本參數(shù)初始化。通信模塊用于在上位機與下位機之間建立通信。采集模塊是對力傳感器數(shù)據(jù)的實時采集。驅(qū)動控制模塊是由驅(qū)動器單元實現(xiàn)對電機的驅(qū)動。運動控制模塊基于上位計算機控制實現(xiàn)。算法規(guī)劃模塊基于計算機編程實現(xiàn)。
系統(tǒng)軟件如圖4所示。
圖4 系統(tǒng)軟件框圖Fig.4 System software block diagram
軟件基于Ubuntu16.04,采用C語言實現(xiàn)。首先,進入主程序?qū)ο到y(tǒng)進行初始化,配置并打開上位機CAN總線通信,并檢測下位機系統(tǒng)所有CAN節(jié)點設備通信情況。然后,啟動線程,進行數(shù)據(jù)采集。接著,判斷是否需要助力:需要則進入助力線程;不需要則返回到啟動線程后的狀態(tài)。最后,結(jié)束任務,退出主程序。軟件流程圖如圖5所示。
圖5 軟件流程圖Fig.5 Software flowchart
試驗平臺基于外骨骼機器人、Win10操作系統(tǒng)計算機,PCAN-USB(USB轉(zhuǎn)CAN接口)轉(zhuǎn)接線纜和PCAN-View軟件。
打開PCAN-View軟件,點擊Connect,選擇與所有節(jié)點一致的波特率即可連接成功。若完成上述操作不能正常操作節(jié)點,可從以下幾個方面解決:①更改驅(qū)動器指令源方式為CANopen;②總線首末端的節(jié)點添加120 Ω的終端電阻;③布線的拓撲結(jié)構(gòu)選用“手牽手”式連接;④線纜采用屏蔽雙絞線;⑤降低波特率。
外骨骼運行時,力矩信息、位置信息和速度信息需要實時上傳到總線上進行分析、處理,從而進行指令下發(fā)。傳輸實時數(shù)據(jù)由CANopen中的PDO實現(xiàn)。 每個PDO包括通信參數(shù)和映射參數(shù)。CANOpen包括多種通信方式:主從站方式、客戶服務器方式以及生產(chǎn)者消費者模式。其中,PDO采用生產(chǎn)者消費者模式。
PDO配置有明確的步驟。首先,激活節(jié)點,設置同步消息周期,激活同步功能;然后,配置PDO,關(guān)閉原有PDO通信參數(shù)配置,設置PDO每個同步消息更新一次,清空默認配置,將映射對象映射到映射參數(shù)中,設置映射參數(shù)映射對象數(shù)目;最后,打開PDO最高位設為0,使其有效。
按照上述步驟就可以實現(xiàn)所需數(shù)據(jù)的實時傳輸。通過PCAN-View軟件逐一發(fā)送力矩采集的PDO配置報文,然后使用PCAN-View軟件的跟蹤功能,記錄數(shù)據(jù)trc文件,將其導入MATLAB中,繪制出扭矩曲線。扭矩曲線如圖6所示。該曲線與預期一致。
圖6 扭矩曲線Fig.6 Torque curve
由本文設計及試驗可發(fā)現(xiàn),通過基于CANopen通信協(xié)議的外骨骼機器人控制系統(tǒng)設計,可實現(xiàn)外骨骼機器人控制系統(tǒng)數(shù)據(jù)的穩(wěn)定采集。穩(wěn)定的系統(tǒng)性能對外骨骼機器人的推廣和研究具有重要意義。