《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CANopen協議的救援機器人調試系統
基于CANopen協議的救援機器人調試系統
來源:電子技術應用2011年第7期
榮 杰1,饒和昌1,2,許映秋1,錢瑞明1
1.東南大學 機械工程學院,江蘇 南京211189; 2.華中科技大學 機械科學與工程學院,湖北 武漢430074
摘要: 設計了一種基于CANopen協議的救援機器人調試系統,設計中充分考慮了機器人運動關節的反饋數據優化控制參數,從而提高了運動關節控制性能。重點介紹了CANopen從站的軟、硬件設計以及主站網絡管理(NMT)、服務數據對象(SDO)的實現,并用實例證明該系統完全能滿足救援機器人調試的需要。
中圖分類號: TP273
文獻標識碼: B
文章編號: 0258-7998(2011)07-0054-03
The debugging system of rescue robot based on CANopen protocol
Rong Jie1,Rao Hechang1,2,Xu Yingqiu1,Qian Ruiming1
1.School of Mechanical Engineering, Southeast University, Nanjing 211189,China; 2.School of mechanical science and Engineering, Huazhong University of Science & Technology, Wuhan 430074,China
Abstract: A kind of rescue robot based on CANopen protocol is designed,with full consideration on the data optimized control paramter,to improve the control performance of joint movement. Highlighted the design of software and hardware on CANopen slave station and the implements of master network management(NMT), service data objects(SDO). Finally use examples show that the system can meet the needs of rescue robot debugging.
Key words : CANopen;distributed control system;object dictionary


    在災后救援現場,為實現廢墟環境下的靈活移動,增強對各種復雜地形的適應性,機器人需要具有多個關節,并且各關節需要獨立運動。在搜索和救援過程中,為了能在諸如陡坡、樓梯、管道及廢墟等復雜環境下自由移動,要求機器人具備多種運動姿態并且能迅速改變姿態以滿足不同環境的需求。因此要求機器人的各關節具有良好的運動特性。
    關節運動性能的好壞決定了機器人能否適應在復雜環境中靈活運動的要求,是評價救援機器人性能的一個重要指標。為了對機器人各關節運動性能進行測評,通過建立與機器人各關節控制器相連的運動控制主站,實現對關節控制器的組態與監視,并通過分析機器人運動關節反饋回的數據優化控制參數,使得運動關節控制性能得以提高。針對運動控制中對各關節電機控制實時性與同步性以及結構靈活性的要求,提出了一種基于CANopen協議的救援機器人調試系統。
    CANopen為基于CAN的高層協議,是最初由BOSCH公司提出的一種串行數據通信總線。其具有可靠性高、抗干擾性強、開發簡單、造價低廉及其短幀傳輸和無破壞仲裁技術等特點,應用極為廣泛。CANopen是一個基于CAL的子協議,采用面向對象的思想設計,具有很好的模塊化特性和很高的適應性,通過擴展可以適用于大量的應用領域[1]。
1 方案設計
    圖1所示為救援機器人調試系統框圖,包含電機控制器、基于CAN總線的網絡構架和PC機上的調試系統。

    電機驅動器控制方法采用了三個基本控制環,即位置環、轉速環和轉矩環,各閉環采用PID算法控制,以便更加精確地控制電機;同時建立了CANopen從站,通過CAN總線將各電機驅動器和PC機上的調試軟件之間進行數據交換;PC機則通過PCI-CAN卡實現了CANopen主站,從而方便對電機驅動器上的電機數據進行監測和處理,并發送調試系統所發出的命令;采用NI公司的Labview調試系統上位機的程序編寫。

 


2 CANopen從站設計
2.1 硬件設計

    電機控制器用來對救援機器人關節進行精確控制,是系統的關鍵。控制器采用MC56F8322微控制器作為控制核心,圖2為系統框圖。

    電機控制器采集速度、電流、電壓三種參數,各路采用PID閉環對電機進行精確控制。CAN總線部分采用MC56F8322內置MSCAN模塊,實現了現場總線控制系統的構架;CAN總線收發器與控制器之間采用高速光電隔離器件6N137實現信號隔離;同時采用隔離型DC-DC變換器實現電源隔離,從而提高了現場抗干擾能力。除了以上主要部分以外,還有CPU監控器、功能選擇開關以及LED指示部分。LED分別用于電源指示、CAN接口當前的收發狀態指示以及接口的通信故障(如總線關閉)指示。
2.2 軟件設計
      CANopen從站移植了CANopen協議的開源代碼CanFestival,該開源代碼實現了CANopen協議的全部內容。在系統軟件設計時,只需完成CAN的硬件設置、對象字典的定義以及canDispatch()函數的調用即可。
      CANopen協議的核心部分是對象字典(Object Dictionary),通過對象字典對設備功能進行描述。CANopen對象字典是一個有序的對象組,每個對象采用一個16位的索引來尋址,其范圍在0x1000~0x9FFF之間。為了允許訪問數據結構中的單個元素,定義了一個8 bit的子索引。CANopen設備的功能及特性用電子數據表單(EDS)的形式描述,實際的設備設置通過設備配置文件(DCF)進行描述[1]。系統中電機的速度、電流、電壓是最重要的監控信息,故將其定義在如下結構體中:
    typedef  struct{
        float voltage;        //電壓
        float Current;        //電流
        float velocity;        //速度
    }MotorPara;
    本系統的電機控制器是以非標準設備設計的,根據對象字典結構應定義在制造商特定規范區域2000h~5FFFh之間。如表1所示。

3 CANopen主站設計
    CANopen協議采用對象字典(OD)、電子數據文檔(EDS)等概念來描述設備和協議的相關信息,還規定了網絡管理(NMT)、服務數據對象(SDO)、過程數據對象PDO等多種通信機制[1]。在CANopen主站中,利用LabVIEW實現了NMT、SDO和PDO等功能。
3.1 NMT
    NMT是提供對網絡上所有節點的狀態和行為的控制及監測機制,在CANopen網絡中只允許一個NMT主節點處于激活狀態。只有NMT主節點能夠傳送NMT模塊控制報文,所有從設備必須支持NMT模塊控制服務[1]。
    通過NMT消息可以對節點狀態進行操作,LabVIEW中的具體實現如圖3所示。首先根據NMT消息格式通過數組函數將COB-ID、RTR、LEN、Node-ID及STATUS捆綁為U8數組,由于VISA僅支持U8字符串發送數據,因此需要將U8數組轉換為U8字符串。然后調用VISA Write函數實現USB的數據發送。

3.2 SDO
    SDO采用客戶(Client)/服務器(Server)通信方式, 通過索引和子索引向應用程序提供訪問對象字典的客戶接口。SDO是一種需要請求和應答的點對點通信方式, 允許任意長度的數據通信[1]。PC機上管理控制系統采用SDO方式對通用溫度和整流器控制器參數進行配置, 完成控制器工藝參數的配置和控制模式的切換等。
    CANopen協議規定SDO消息為8 B長度,第1個字節為命令碼,第2、3個字節為索引,第4個字節為子索引,其余字節為消息所攜帶的數據。與NMT消息處理類似,SDO消息也是先通過數組函數根據SDO的消息格式創建一個U8數組,之后將數組轉換為U8字符串,最后通過USB發送。具體實現如圖4所示。

    在CANopen通信機制中,服務器收到SDO信息后必將應答,所以主站必須處理服務器返回的SDO消息。消息的處理過程為,首先根據COB-ID攜帶的功能碼判斷是否為SDO消息,然后判斷SDO消息中的命令字字節,根據不同的命令字做出相應的處理。
3.3 PDO
    PDO采用生產者/消費者通信方式, 數據從一個生產者傳到一個或多個消費者,數據長度限制在8個字節之內。PDO 通信沒有協議規定, PDO報文的內容是預定義或者在網絡啟動時配置,因此多用于實時數據傳輸,工藝過程中工藝參數的傳送由PDO實現。CANopen中定義的PDO消息與正常的CAN幀格式相同, LabVIEW下實現方法可參考NMT及SDO。
    調試系統上位機可以監視在不同的PID參數控制時電機的響應特性,從而為控制參數優化提供直觀的依據。由此可見,基于CANopen網絡的救援機器人調試系統成功地實現了對運動關節各項參數的實時監控和控制,并且可以對電機控制參數進行在線配置,對救援機器人的穩定運行提供了極大的保障。
參考文獻
[1] Boterenbrood H.CANopen high-level protocol for CAN-bus[C].N IKHFF Internal Documentation,2000(9).
[2] 王俊波,胥布工.CANopen協議分析與實現[J].微計算機信息,2006,22(6-2):104-106.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99rv精品视频在线播放| 久久精品国产99国产精品| 老师在办公室被躁在线观看| 国产精品网址在线观看你懂的| 中文字幕黄色片| 欧美人与动人物姣配xxxx| 免费看男人j放进女人j色多多| 韩国一级在线观看| 国产精品视频免费一区二区三区| 一本一道精品欧美中文字幕| 日韩欧美在线视频| 亚洲欧美成人综合久久久| 精品视频在线免费| 国产女人的高潮大叫毛片| 91麻豆国产级在线| 差差漫画在线登录入口弹窗页面| 久久精品无码一区二区三区不卡| 没带罩子让他c一节课| 台湾一级淫片完整版视频播放| 国产婷婷综合丁香亚洲欧洲| 在线观看国产情趣免费视频 | 高清国产一级毛片国语| 国产高清在线视频| 一区二区在线视频观看| 日本三级香港三级人妇99| 亚洲乱码一区二区三区在线观看| 狠狠色婷婷久久综合频道日韩| 四虎成人精品在永久免费| 黄色网站在线观看视频| 国产精品熟女视频一区二区 | 拍拍拍无挡视频免费观看1000| 乱码在线中文字幕加勒比| 欧美激情综合网| 全彩无翼乌之不知火舞无遮挡| 裙子底下真空h揉搓小雪| 国产日韩欧美高清| 18禁美女黄网站色大片免费观看| 大肉大捧一进一出好爽视频| 一级毛片免费在线播放| 把腿抬起来就可以吃到扇贝了| 久久成人国产精品|