程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 基於DSP的仿人機器人運動控制器設計

基於DSP的仿人機器人運動控制器設計

編輯:關於C語言
 

采用DSP 作為機器人控制器的主處理器,設計出一套功能強大、使用方便的機器人運動控制系統,從根本上解決了單片機帶來的各種問題。該控制器采用位置反饋的方式,同時通過總線接口與主控計算機實時交互信息。所設計的控制器原理明確,結構清晰,是對機器人控制領域的一種新的嘗試。

關鍵詞:機器人;運動控制器;高速度數字信號處理器;CAN 總線

引言

傳統的機器人運動控制器大部分是以嵌入式單片機為核心的,但其運算速度和處理能力遠不能滿足機器人控制系統飛速發展的需要,日益成為阻礙機器人技術進步的瓶頸。隨著以電子計算機和數字電子技術為代表的現代高技術的不斷發展,尤其是高速度數字信號處理器DSP 的出現,從根本上解決了嵌入式系統運算能力不足的問題,並為機器人運動控制系統的改進提供了新的途徑。該文正是從這一點出發, 選用控制能力很強的DSP芯片TMS320LF2407A作為機器人運動控制器的主處理器,設計出一種高性能機器人運動控制器,顯著地提高了整個機器人的運動性能。

1  控制系統結構

機器人的各種運動由各個關節軸系完成,機器人控制本質上是對各關節軸系的控制。每個軸系具有一個自由度,可以完成某一方向的轉動任務,所有軸系同時協調運動就可以完成相對復雜的動作。國防科技大學機電工程與自動化學院機器人教研室最新研制的仿人步行機器人,其內部各關節結構如圖1所示。
引用 基於DSP的仿人機器人運動控制器設計 - haibianfeng_yr - haibianfeng_yr的博客
圖1  機器人內部結構示意圖

此機器人共有36 個自由度,分布在下肢、上肢、頭部和手指等各關節。所有軸系均由PWM 脈沖信號驅動控制,運動控制系統的任務就是對這些關節軸系進行控制,具體由各底層控制器實現。整個控制系統采用分布式控制,在結構上可分為3 個層次,如圖2 所示。
引用 基於DSP的仿人機器人運動控制器設計 - haibianfeng_yr - haibianfeng_yr的博客
圖2  運動控制系統結構框圖

1.1  主控計算機模塊
主控計算機就是控制系統的“大腦”和司令部,負責整個系統的在線運動規劃、動作及運動控制、語音交互控制、視覺導引控制以及人機交互等功能。主控計算機要求體積小,運算速度快,滿足機器人實時控制的要求,通常采用高性能小板工業控制計算機。它通過CAN 總線接口卡連接到通信總線上,與各底層控制器相連並交互信息。

1.2  通信模塊
機器人控制的信息量大,對通信方面的要求很高,要保證各種信息在控制系統中及時准確的傳輸,通信工具的選擇十分重要,該文選用當前流行的CAN 總線作為通信標准。CAN (Controller Area Net-work) 總線是應用最為廣泛的一種現場總線,也是目前為止惟一有國際標准的現場總線。相對於一般通信總線,它的數據通信具有突出的可靠性、實時性和靈活性,可以滿足文中的設計要求。具體連接方式為:主控計算機通過CAN 總線接口卡連接到總線上,各底層控制器通過總線收發器掛接到總線上。只要所有器件都遵守相同的通信協議,就可以穩定可靠的進行信息傳輸。

1.3 底層控制器模塊
控制器處於整個控制系統的最底層,主要用來控制各運動關節軸系的具體執行過程。控制器接收主控計算機的控制命令對各關節執行軸系進行控制,同時把底層信息反饋給主控計算機,實現大回路反饋,便於主控計算機協調規劃,統一管理。控制器是整個控制系統的核心,也是該文研究的重點,它的性能直接關系到機器人運動能力。

2  控制器詳細設計

基於DSP 的控制器具體結構如圖3 所示。整個控制器根據結構和功能可分為3 部分:主處理器與外圍器件單元、反饋與執行單元、通信單元,各部分如圖3 中虛線所示。
引用 基於DSP的仿人機器人運動控制器設計 - haibianfeng_yr - haibianfeng_yr的博客
圖3  DSP 控制器結構

2.1  主處理器與外圍器件單元
DSP主處理器是整個控制器的核心,其運算速度、對信息的處理能力等直接影響控制器的性能。選用TI 公司的TMS320LF2407A 芯片,它是TI 家族C2000系列中的高檔產品,集實時處理能力和控制器外設於一身,非常適用於工業控制。其主要特點有:
a. 3.3 V電壓,功耗極低,且具有3 種低功耗模式。
b. 內部采用哈佛結構體系,程序與數據存儲器分開,專用的程序總線和數據總線進行訪問,取指和執行可同時進行,有效提高了存取速度。
c. 流水線指令技術,多條指令可同時進行,平均每條指令大約只需一個指令周期,大大提高了指令執行速度,指令周期可達ns級,在40MHz 主頻下每條指令只需25ns。
d. 專用硬件乘法器,運算速度大大提高,運算能力明顯增強。
e. 地址和數據總線都是16位,片內有高達32K的Flash程序存儲器,2.5K字的數據/ 程序RAM,544字雙端口RAM (DARAM) , 2K字的單端口RAM(SARAM) ,外部存儲器可擴展64K字的程序存儲器空間、64K字的數據存儲器空間和64K字的I/O空間。
f. 自帶看門狗定時器、串行通信接口(SCI) 模塊、16 位串行外設接口( SPI) 模塊、SCI/ SPI 引導ROM、16 通道的10 位ADC 轉換器、5 個外部中斷、基於鎖相環(PLL) 的時鐘發生器、41個可單獨編程或復用的通用輸入/ 輸出(GPIO) 引腳。
g. 2 個事件管理器模塊,每個事件管理器包括2個16位通用定時器、8個16位脈寬調制(PWM) 通道、可編程的PWM 死區控制、3個外部事件定時捕獲單元、片內光電編碼器接口電路。
h. 內部帶有CAN2.0B 控制器模塊。
可以看出,TMS320LF2407A 的功能十分強大,其本身就是一個獨立的小型控制系統,再加以適當的外圍器件,就可以實現更加復雜的控制功能。尤其是它的兩個事件管理器的功能非常強大,完全是為電機控制設計的。

TMS320LF2407A 通過位置傳感器實時監控各關節軸系的運行情況,並通過總線與主控計算機交互信息。利用其多個PWM 脈沖通道直接產生控制軸系需要的PWM 脈沖信號;其CAN總線控制器模塊可以直接與主控計算機進行通信而不需要增加CAN 總線控制器。

TMS320LF2407A 的軟件開發也十分容易,可以反復編程。只要在其專用的集成開發環境CCS(Code Composer Studio) 中編譯好程序,用一根下載線通過標准的JTAG接口就可以把程序燒錄到DSP 的程序存儲器中,還可以在線修改和調試。整個過程簡單方便,只需一根下載線就可完成,大大簡化了軟件的開發過程,明顯提高了開發效率。同時外部看門狗電路孩可以對控制器電壓進行實時監控,當電壓出現異常迅速復位主處理器。外部存儲器中存放控制算法所需的必要參數,通過SPI 串行外設接口與TMS320LF2407A 相連。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved