新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的分布式機(jī)器人控制系統(tǒng)設(shè)計(jì)

基于CAN總線的分布式機(jī)器人控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2009-04-07 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://www.butianyuan.cn/article/152547.htm

  信息處理和控制的主體,其好壞將決定系統(tǒng)的整體行為和性能。機(jī)器人結(jié)構(gòu)一般可分為三種類型:(1)集中控制方式,利用一臺(tái)微型計(jì)算機(jī)實(shí)現(xiàn)全部功能,這種方式具有結(jié)構(gòu)簡(jiǎn)單、經(jīng)濟(jì)的特點(diǎn),但處理能力有限,難以滿足高性能控制要求并且控制風(fēng)險(xiǎn)高度集中。(2)主從控制方式,用主從兩個(gè)CPU進(jìn)行控制,主CPU擔(dān)當(dāng)系統(tǒng)管理,機(jī)器人語言編譯和人機(jī)接口功能,同時(shí)也利用它的運(yùn)算能力完成坐標(biāo)變換、軌跡插補(bǔ);從CPU完成全部關(guān)節(jié)位置數(shù)字控制,主從CPU間通過公用內(nèi)存交換數(shù)據(jù),對(duì)采用更多的CPU進(jìn)一步分散功能比較困難。(3)控制,普遍采用上、下位機(jī)二級(jí)結(jié)構(gòu),上位機(jī)負(fù)責(zé)整個(gè)系統(tǒng)管理以及運(yùn)動(dòng)學(xué)計(jì)算、軌跡規(guī)劃等,下位機(jī)由多個(gè)CPU組成,每個(gè)CPU控制一個(gè)關(guān)節(jié)運(yùn)動(dòng),這些CPU和上位機(jī)通過形式相聯(lián)系。這種結(jié)構(gòu)的控制器工作速度和控制性能明顯提高,是一種比較理想的機(jī)器人控制方式[1]。傳統(tǒng)的采用MCU作為控制芯片,其運(yùn)算速度和處理能力難以滿足日益復(fù)雜的機(jī)器人控制。在通訊方式上,常用的是RS422或RS485通訊,通訊的實(shí)時(shí)性較差,故障率較高,出現(xiàn)故障時(shí),不容易排查[2]。本文所的機(jī)器人采用控制方式,上位機(jī)采用高性能的工業(yè)PC機(jī),下位關(guān)節(jié)控制器選用集成DSP的高速運(yùn)算處理能力和MCU的控制特性于一體的56F807作為控制芯片,上位機(jī)和下位各關(guān)節(jié)控制器之間采用了有效地支持和實(shí)時(shí)控制的(Controller Area Network)通訊方式,既能快速地實(shí)現(xiàn)機(jī)器人控制的復(fù)雜算法,又具有較高的控制實(shí)時(shí)性,是一個(gè)高性能的機(jī)器人控制系統(tǒng)。

1 控制系統(tǒng)結(jié)構(gòu)

  機(jī)器人是一個(gè)多自由度系統(tǒng)。機(jī)器人控制本質(zhì)上是對(duì)各個(gè)關(guān)節(jié)的運(yùn)動(dòng)進(jìn)行控制,使其協(xié)調(diào)運(yùn)動(dòng),從而完成一些相對(duì)復(fù)雜的動(dòng)作。該控制系統(tǒng)采用方式,由上位主控計(jì)算機(jī)模塊、通訊模塊和下位關(guān)節(jié)控制器模塊組成,如圖1 所示。上位主控計(jì)算機(jī)負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度管理、在線運(yùn)動(dòng)規(guī)劃、故障診斷和人機(jī)交互等功能;通訊模塊負(fù)責(zé)上位計(jì)算機(jī)與下位各關(guān)節(jié)控制器之間的實(shí)時(shí)信息交換;各關(guān)節(jié)控制器和驅(qū)動(dòng)直流無刷電機(jī)集成在一起,各個(gè)關(guān)節(jié)的運(yùn)動(dòng)由各關(guān)節(jié)控制器發(fā)出PWM信號(hào)驅(qū)動(dòng)直流無刷電機(jī)實(shí)現(xiàn)。

圖1控制系統(tǒng)簡(jiǎn)圖

1.1 上位主控計(jì)算機(jī)模塊

  上位計(jì)算機(jī)是控制系統(tǒng)的中樞,要求體積小,運(yùn)算速度快,滿足機(jī)器人實(shí)時(shí)控制的要求,通常采用高性能工業(yè)控制計(jì)算機(jī)。上位機(jī)應(yīng)用程序在可視化編程環(huán)境VC++6.0下編制,分為程序界面、通訊初始化部分和控制部分??刂撇糠质钦麄€(gè)上位機(jī)軟件控制的核心,可實(shí)現(xiàn)單關(guān)節(jié)控制和多關(guān)節(jié)協(xié)調(diào)控制,圖2為單關(guān)節(jié)控制部分流程圖,單關(guān)節(jié)控制是從上位機(jī)輸入關(guān)節(jié)應(yīng)該運(yùn)動(dòng)的期望位置值,然后向下位關(guān)節(jié)控制器發(fā)送單關(guān)節(jié)控制指令,并從下位關(guān)節(jié)控制器接受關(guān)節(jié)實(shí)際位置信息;下位關(guān)節(jié)控制器從上位機(jī)接收位置信息并加以運(yùn)算處理,輸出PWM信號(hào)驅(qū)動(dòng)直流無刷電機(jī)運(yùn)動(dòng)到期望位置。上位計(jì)算機(jī)的控制周期為20ms,它通過接口卡連接到通訊總線上,與通訊總線上的各關(guān)節(jié)控制器交互信息。

圖2上位機(jī)單關(guān)節(jié)控制程序流程圖

1.2 通訊模塊

  機(jī)器人的系統(tǒng)中,對(duì)通信方式的選擇至關(guān)重要,上位計(jì)算機(jī)和下位各關(guān)節(jié)控制器間的通信既要滿足硬件連接簡(jiǎn)單,擴(kuò)充方便,又要滿足通信的高可靠性和實(shí)時(shí)性。本采用總線作為通信標(biāo)準(zhǔn),是一種有效支持分布式控制和實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò),與一般的通信網(wǎng)絡(luò)相比具有可靠性高、實(shí)時(shí)性和靈活性好的優(yōu)點(diǎn),非常適合作為機(jī)器人控制系統(tǒng)中的通訊方式[3]。

  本控制系統(tǒng)中,上位計(jì)算機(jī)通過周立功單片機(jī)公司的USBCAN-II智能CAN接口卡連接到CAN網(wǎng)絡(luò),在上位機(jī)中調(diào)用隨卡提供的ZLGVCI驅(qū)動(dòng)庫函數(shù),來實(shí)現(xiàn)CAN通信的管理和監(jiān)控。CAN網(wǎng)絡(luò)各設(shè)備間通過雙絞線連接,因?yàn)殡p絞線的特性阻抗為120歐,為了增強(qiáng)CAN通信的可靠性和抗干擾性,在CAN網(wǎng)絡(luò)的兩個(gè)端點(diǎn)加入120歐的抑制反射的終端匹配電阻。

1.3 下位關(guān)節(jié)控制器模塊

  下位關(guān)節(jié)控制器模塊是整個(gè)控制系統(tǒng)的底層,與各關(guān)節(jié)驅(qū)動(dòng)電機(jī)集成在一起,實(shí)際上是一個(gè)單關(guān)節(jié)運(yùn)動(dòng)控制和驅(qū)動(dòng)模塊,主要用來控制各個(gè)關(guān)節(jié)運(yùn)動(dòng)具體執(zhí)行過程。關(guān)節(jié)控制器接收主控計(jì)算機(jī)的控制命令,對(duì)各個(gè)關(guān)節(jié)的運(yùn)動(dòng)進(jìn)行控制,同時(shí)把底層信息反饋給上位計(jì)算機(jī),便于上位計(jì)算機(jī)協(xié)調(diào)規(guī)劃,統(tǒng)一管理。所有的下位關(guān)節(jié)控制器在硬件結(jié)構(gòu)上完全相同,根據(jù)各關(guān)節(jié)運(yùn)動(dòng)控制的差異,內(nèi)部灌注的軟件程序有所不同。關(guān)節(jié)控制器是整個(gè)控制系統(tǒng)的核心,也是本文研究的重點(diǎn),它的性能好壞直接關(guān)系到機(jī)器人的整體性能。

2 控制器硬件系統(tǒng)設(shè)計(jì)

  控制器硬件系統(tǒng)按結(jié)構(gòu)和功能可分為主處理器單元、電源電路、電機(jī)驅(qū)動(dòng)電路、CAN接口電路、欠壓保護(hù)電路、過流檢測(cè)電路等模塊,具體電路如圖3所示。

伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理


pid控制器相關(guān)文章:pid控制器原理


雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉