基于CAN總線的分布式機器人控制系統(tǒng)設計
0 引言
本文引用地址:http://butianyuan.cn/article/152547.htm機器人控制系統(tǒng)是機器人信息處理和控制的主體,其設計好壞將決定機器人系統(tǒng)的整體行為和性能。機器人控制系統(tǒng)結構一般可分為三種類型:(1)集中控制方式,利用一臺微型計算機實現(xiàn)全部功能,這種方式具有結構簡單、經濟的特點,但處理能力有限,難以滿足高性能控制要求并且控制風險高度集中。(2)主從控制方式,用主從兩個CPU進行控制,主CPU擔當系統(tǒng)管理,機器人語言編譯和人機接口功能,同時也利用它的運算能力完成坐標變換、軌跡插補;從CPU完成全部關節(jié)位置數(shù)字控制,主從CPU間通過公用內存交換數(shù)據(jù),對采用更多的CPU進一步分散功能比較困難。(3)分布式控制,普遍采用上、下位機二級分布式結構,上位機負責整個系統(tǒng)管理以及運動學計算、軌跡規(guī)劃等,下位機由多個CPU組成,每個CPU控制一個關節(jié)運動,這些CPU和上位機通過總線形式相聯(lián)系。這種結構的控制器工作速度和控制性能明顯提高,是一種比較理想的機器人控制方式[1]。傳統(tǒng)的機器人控制器采用MCU作為控制芯片,其運算速度和處理能力難以滿足日益復雜的機器人控制。在通訊方式上,常用的是RS422或RS485通訊,通訊的實時性較差,故障率較高,出現(xiàn)故障時,不容易排查[2]。本文所設計的機器人控制系統(tǒng)采用分布式控制方式,上位機采用高性能的工業(yè)PC機,下位關節(jié)控制器選用集成DSP的高速運算處理能力和MCU的控制特性于一體的Motorola DSP56F807作為控制芯片,上位機和下位各關節(jié)控制器之間采用了有效地支持分布式控制和實時控制的CAN(Controller Area Network)總線通訊方式,既能快速地實現(xiàn)機器人控制的復雜算法,又具有較高的控制實時性,是一個高性能的機器人控制系統(tǒng)。
1 控制系統(tǒng)結構
機器人是一個多自由度系統(tǒng)。機器人控制本質上是對各個關節(jié)的運動進行控制,使其協(xié)調運動,從而完成一些相對復雜的動作。該控制系統(tǒng)采用分布式控制方式,由上位主控計算機模塊、通訊模塊和下位關節(jié)控制器模塊組成,如圖1 所示。上位主控計算機負責整個系統(tǒng)的調度管理、在線運動規(guī)劃、故障診斷和人機交互等功能;通訊模塊負責上位計算機與下位各關節(jié)控制器之間的實時信息交換;各關節(jié)控制器和驅動直流無刷電機集成在一起,各個關節(jié)的運動由各關節(jié)控制器發(fā)出PWM信號驅動直流無刷電機實現(xiàn)。
圖1控制系統(tǒng)簡圖
1.1 上位主控計算機模塊
上位計算機是控制系統(tǒng)的中樞,要求體積小,運算速度快,滿足機器人實時控制的要求,通常采用高性能工業(yè)控制計算機。上位機應用程序在可視化編程環(huán)境VC++6.0下編制,分為程序界面、通訊初始化部分和控制部分??刂撇糠质钦麄€上位機軟件控制的核心,可實現(xiàn)單關節(jié)控制和多關節(jié)協(xié)調控制,圖2為單關節(jié)控制部分流程圖,單關節(jié)控制是從上位機輸入關節(jié)應該運動的期望位置值,然后向下位關節(jié)控制器發(fā)送單關節(jié)控制指令,并從下位關節(jié)控制器接受關節(jié)實際位置信息;下位關節(jié)控制器從上位機接收位置信息并加以運算處理,輸出PWM信號驅動直流無刷電機運動到期望位置。上位計算機的控制周期為20ms,它通過CAN總線接口卡連接到通訊總線上,與通訊總線上的各關節(jié)控制器交互信息。
圖2上位機單關節(jié)控制程序流程圖
1.2 通訊模塊
機器人的分布式控制系統(tǒng)中,對通信方式的選擇至關重要,上位計算機和下位各關節(jié)控制器間的通信既要滿足硬件連接簡單,擴充方便,又要滿足通信的高可靠性和實時性。本設計采用CAN總線作為通信標準,CAN總線是一種有效支持分布式控制和實時控制的串行通訊網絡,與一般的通信網絡相比具有可靠性高、實時性和靈活性好的優(yōu)點,非常適合作為機器人控制系統(tǒng)中的通訊方式[3]。
本控制系統(tǒng)中,上位計算機通過周立功單片機公司的USBCAN-II智能CAN接口卡連接到CAN網絡,在上位機中調用隨卡提供的ZLGVCI驅動庫函數(shù),來實現(xiàn)CAN通信的管理和監(jiān)控。CAN網絡各設備間通過雙絞線連接,因為雙絞線的特性阻抗為120歐,為了增強CAN通信的可靠性和抗干擾性,在CAN網絡的兩個端點加入120歐的抑制反射的終端匹配電阻。
1.3 下位關節(jié)控制器模塊
下位關節(jié)控制器模塊是整個控制系統(tǒng)的底層,與各關節(jié)驅動電機集成在一起,實際上是一個單關節(jié)運動控制和驅動模塊,主要用來控制各個關節(jié)運動具體執(zhí)行過程。關節(jié)控制器接收主控計算機的控制命令,對各個關節(jié)的運動進行控制,同時把底層信息反饋給上位計算機,便于上位計算機協(xié)調規(guī)劃,統(tǒng)一管理。所有的下位關節(jié)控制器在硬件結構上完全相同,根據(jù)各關節(jié)運動控制的差異,內部灌注的軟件程序有所不同。關節(jié)控制器是整個控制系統(tǒng)的核心,也是本文研究的重點,它的性能好壞直接關系到機器人的整體性能。
2 控制器硬件系統(tǒng)設計
控制器硬件系統(tǒng)按結構和功能可分為主處理器單元、電源電路、電機驅動電路、CAN接口電路、欠壓保護電路、過流檢測電路等模塊,具體電路如圖3所示。
伺服電機相關文章:伺服電機工作原理
pid控制器相關文章:pid控制器原理
雙絞線傳輸器相關文章:雙絞線傳輸器原理
評論