《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品视频播放| 亚洲xxxx做受欧美| 免费在线国产精品| 国产毛片久久久久久国产毛片| 69精品小视频| 国内一区二区在线视频观看| 欧美在线中文字幕| 日韩欧美精品在线不卡 | 国产精品96久久久久久| 国产一区二区视频免费在线观看 | 国产日本欧美一区| 国产在线视频不卡| 日韩欧美一区二区三区四区五区| 一区二区三区四区视频在线观看| 在线观看国产一区| 国产精品美女av| 国产成人精品av在线| 粉嫩av免费一区二区三区| 电影午夜精品一区二区三区| 高清av免费一区中文字幕| 俄罗斯精品一区二区| 宅男在线精品国产免费观看 | 日韩av免费网站| 日韩一区二区久久久| 日韩一区国产在线观看| 亚洲福利av| 日韩精品视频在线观看视频| 日本午夜在线亚洲.国产| 欧洲中文字幕国产精品| 久久久精品亚洲| 国产在线观看精品| 国产精品 欧美在线| 中文字幕精品一区日韩| 日韩一区国产在线观看| 久久久国产视频91| 国产精品久久97| 在线精品日韩| 日本丰满少妇黄大片在线观看 | 亚洲一区二区三区免费观看| www.日本在线视频| 日韩中文字幕亚洲|