1 引言 欠驅動(dòng)機器人是一種部分關(guān)節為被動(dòng)關(guān)節,能用較少的驅動(dòng)裝置完成復雜任務(wù)的機械系統。欠驅動(dòng)機器人是近年來(lái)開(kāi)始出現的一個(gè)較新的研究領(lǐng)域,針對欠驅動(dòng)機器人系統的研究目前得到不少學(xué)者的關(guān)注。欠驅動(dòng)機器人系統在很多的機器人系統例如多指機器人手、輪式移動(dòng)機器人、太空機器人等非完整約束系統中都存在。因此近幾年來(lái),欠驅動(dòng)機器人的運動(dòng)控制問(wèn)題引起國內外廣泛的研究興趣。同時(shí),隨著(zhù)集成芯片技術(shù)的飛速發(fā)展,人們對欠驅動(dòng)機器人控制的實(shí)時(shí)性和精度提出了越來(lái)越高的要求。 本文設計了一種基于DSP的機器人控制系統。該控制系統采用兩級控制結構。以通用PC作為上位機,完成目標設定、軌跡生成、系統管理和人機接口等功能;以美國Analog Device公司的定點(diǎn)數字信號處理芯片ADSP2181為核心,作為機器人控制的下位機。該控制器充分應用了DSP運算的高速性,提高了系統的實(shí)時(shí)和穩定性。 2 體操機器人硬件系統設計 2.1 控制系統硬件結構 控制對象為三關(guān)節欠驅動(dòng)體操機器人,其中手臂關(guān)節為被動(dòng)關(guān)節?刂妻D矩來(lái)自?xún)膳_直流伺服電機,配5l:l減速器伺服電機,經(jīng)軸線(xiàn)相交的圓錐齒輪傳輸至驅動(dòng)關(guān)節,驅動(dòng)關(guān)節通過(guò)動(dòng)力耦合作用使被動(dòng)關(guān)節產(chǎn)生運動(dòng)。欠驅動(dòng)機器人控制系統的任務(wù)就是對驅動(dòng)關(guān)節電機進(jìn)行控制,電機運行之前從控制界面輸入控制目標參數,上位PC機負責發(fā)送控制命令與數據采集。DSP處于整個(gè)控制系統的底層,主要用來(lái)接收來(lái)自PC機的控制命令,對驅動(dòng)關(guān)節執行電機控制,同時(shí)把底層信息反饋給上位PC機,以實(shí)現機器人運動(dòng)信息的數據分析等功能,用一塊DSP運動(dòng)控制卡對機器人的肩關(guān)節或髖關(guān)節進(jìn)行插補計算和伺服控制,采用PCI標準總線(xiàn)進(jìn)行上、下位機的通訊,實(shí)現雙速率運行?刂葡涿姘逄峁┝烁麝P(guān)節工作狀態(tài)顯示及伺服報警提示,還可以對關(guān)節進(jìn)行手動(dòng)控制。三關(guān)節欠驅動(dòng)體操機器人控制系統結構如圖l所示,體操機器人本體如圖2所示。 2.2 運動(dòng)控制器結構 系統采用ADSP218l數字信號處理器為核心,實(shí)現高性能的控制運算的伺服運動(dòng)控制器。如圖3所示,運動(dòng)控制器的控制過(guò)程為增量編碼器的A、B相信號作為位置反饋輸入信號,運動(dòng)控制器通過(guò)四倍頻、加減計數器得到實(shí)際位置。實(shí)際位置的信息保存在位置寄存器中,PC機可通過(guò)控制寄存器讀取。運動(dòng)控制器的目標位置由PC機設定,通過(guò)內部計算得到位置誤差,經(jīng)過(guò)數字伺服濾波器后,送到數模轉換(DAC)或脈寬調制器(PWM)硬件處理電路,經(jīng)過(guò)轉換最后輸出伺服電機的控制信號:+/-lOV模擬信號或PWM信號。 2.3 系統的通訊 系統采用PCI總線(xiàn)進(jìn)行通訊。PCI總線(xiàn)的主要優(yōu)點(diǎn)是性能高(數據傳輸率可達到132 264Mb/s),總線(xiàn)通用性強,成本低,使用方便靈活。系統通訊采用PLX9054接口芯片,結合雙口RAM,實(shí)現了DSP和PCI總線(xiàn)間的雙向高速實(shí)時(shí)數據交換。PCI總線(xiàn)與雙口RAM的數據交換,采用了定時(shí)傳送加握手信號的方式進(jìn)行。具體實(shí)現如下:上位機每隔一個(gè)固定的時(shí)間T下傳一組數據,數據傳送完成后,發(fā)出一個(gè)發(fā)送完信號,下位機接受到這個(gè)數據后,立即從雙口RAM中讀取數據。下位機上傳數據也采用同樣的處理方式。這種方式特別適合于機器人控制系統的通訊。 2.4 驅動(dòng)元件的選擇 驅動(dòng)元件選擇了直流伺服電機,其參數為200W/7220mm/107mN·m Maxon。其驅動(dòng)器可實(shí)現位置、速度和轉矩三種不同的控制方式:具有共振抑制和控制功能,可彌補機械的剛性不足,從而實(shí)現高速定位。同時(shí),還采用PID濾波器,外加速度和加速度前饋,即PID+Kvff+Kaff濾波器。通過(guò)調節各參數,濾波器能對大多數系統實(shí)現精確而穩定的控制。因此非常適合應用于機器人控制系統。 3 搖起控制策略 由于體操機器人大范圍的運動(dòng),搖起問(wèn)題是高度非線(xiàn)性又極具挑戰性的問(wèn)題。搖起過(guò)程如同人在單杠一樣,先使體操機器人來(lái)回搖動(dòng)幾次,體操機器人始終在下,一旦有足夠的能量施加到系統上,機器人即進(jìn)入倒立狀態(tài),如圖4所示。 Spong建議一種非線(xiàn)性反饋方法,這種方法利用部分線(xiàn)性反饋定義PD控制器。從直觀(guān)上講,當體操機器人從懸掛穩定平衡狀態(tài)轉移到倒立不穩定平衡狀態(tài)的過(guò)程中,其勢能是不斷增加的,因此需要向系統輸入足夠的能量。本研究從能量增加的角度出發(fā),采用帶有振幅和頻率的正弦方式和斜坡函數輸入,這樣可同時(shí)增加擺動(dòng)。 實(shí)驗證明采用正弦和斜坡函數,此算法位于基于能量搖起模塊void swing_up()中,這些數據分別從運.動(dòng)控制器的2、1通道輸入,需說(shuō)明的是,在對體操機器人系統進(jìn)行數學(xué)建模時(shí)已明確,體操機器人系統是一個(gè)力控設備,根據牛頓第二定律,力與加速度成正比,因此給系統施加的控制量就是加速度,而速度則是一個(gè)事先設定的較大數值,在控制過(guò)程中,一般不會(huì )達到這個(gè)速度值。這樣保證產(chǎn)生的附加力隨能量的增加而減小,可搖起體操機器人到倒立平衡位置。 4 控制系統軟件設計 實(shí)施控制時(shí),主要是控制軟件的編寫(xiě)與控制其參數的調節。由于體操機器人控制系統的實(shí)時(shí)性要求較高,控制軟件必須滿(mǎn)足實(shí)時(shí)性的要求,本系統控制周期為6ms?刂栖浖仨氃跍蚀_的控制周期內完成數據采樣,處理并且發(fā)出控制信號給運動(dòng)控制器。 首先由上位PC機設置好控制參數,系統開(kāi)始運行并完成初始化工作。底層控制器對各轉動(dòng)關(guān)節進(jìn)行位置采樣,同時(shí)接收來(lái)自上位PC機的控制指令,并把兩者結合在一起進(jìn)行分析,通過(guò)編寫(xiě)進(jìn)去的控制算法生成相應的轉矩控制信號,經(jīng)功率放大后送給執行電機,同時(shí)把各關(guān)節的運動(dòng)信息上傳給PC機,如此反復,完成整個(gè)閉環(huán)運動(dòng)控制。 下位機控制器上電后主程序進(jìn)行控制器初始化操作、禁止看門(mén)狗、設置關(guān)鍵寄存器、設置中斷向量和中斷寄存器、初始化事件管理器、基于能量搖起、進(jìn)行實(shí)時(shí)控制模塊等。其中實(shí)時(shí)控制模塊中用到ADSP2181可編程定時(shí)器,它能夠產(chǎn)生周期性的定時(shí)中斷,定時(shí)間隔是處理器時(shí)鐘周期的整數倍。當定時(shí)器被使能后,一個(gè)16位的計數寄存器TCOUNT每隔m個(gè)周期就會(huì )減1,其初始化程序如下: void init_interrupt() {disable0;∥關(guān)閉中斷(在初始化中斷過(guò)程中嚴禁產(chǎn)生中斷) outportb(0x43,0x36);//寫(xiě)中斷控制字 outportb(0x40,0xf6);∥寫(xiě)數據寄存器:0x40為數據寄存器內存映射地址 outportb(0x40,0xlb);∥數據為16位時(shí)鐘細分比率,先寫(xiě)入低字節0xf6,后寫(xiě)入高字節0xlb ldhandler=getvect(INTR);∥保存原有的中斷服務(wù)程序句柄 setvect(INTR,handler);//設置新的中斷服務(wù)程序句柄 enable();∥打開(kāi)中斷} 上述中斷初始化代碼創(chuàng )建一個(gè)6毫秒的定時(shí)器中斷,即當打開(kāi)中斷后,將每隔6毫秒對體操機器人系統進(jìn)行一次實(shí)時(shí)控制。6毫秒的定時(shí)時(shí)間是通過(guò)向數據寄存器寫(xiě)入0x1bf6=7158獲得的。 5 結語(yǔ) 基于高性能ADSP2181的控制器設計能夠滿(mǎn)足機器人的搖起控制要求,且由于采用PC+控制器分級控制和模塊化設計思想,將有利于軟、硬件升級,及大大縮短開(kāi)發(fā)周期。系統在實(shí)驗室進(jìn)行機器人搖起實(shí)驗時(shí),各電機軸運轉平穩,動(dòng)作協(xié)調軌跡跟蹤實(shí)時(shí)性好,機器人沒(méi)有出現抖動(dòng)、喘振等現象。 今后還需要探討更多的搖起與平衡控制策略,完善DSP的控制程序。 |