基于DSP的欠驅(qū)動(dòng)體操機(jī)器人的搖起控制設(shè)計(jì)
根據(jù)拉格朗日運(yùn)動(dòng)方程式可推導(dǎo)出三關(guān)節(jié)機(jī)器人的動(dòng)力學(xué)模型:本文引用地址:http://m.butianyuan.cn/article/163867.htm
τ為系統(tǒng)的廣義外力,體操機(jī)器人在運(yùn)動(dòng)過程中的總能量為:
Ki,Pi分別為第f個(gè)關(guān)節(jié)(手臂、軀干、腿)的動(dòng)能和勢(shì)能。
在整個(gè)搖起過程,為保證能量不斷增加須滿足,能量的導(dǎo)數(shù)必須滿足如下條件:
根據(jù)文獻(xiàn)的研究結(jié)果:利用M(q)一C(q,q)為反對(duì)稱矩陣,有:
顯然,為滿足能量不斷增加的不等式條件,搖起控制轉(zhuǎn)矩可選擇為:
式中sgn()為取符號(hào)函數(shù),Ni為附加力。
實(shí)驗(yàn)證明采用正弦和斜坡函數(shù),此算法位于基于能量搖起模塊void swing_up()中,這些數(shù)據(jù)分別從運(yùn).動(dòng)控制器的2、1通道輸入,需說明的是,在對(duì)體操機(jī)器人系統(tǒng)進(jìn)行數(shù)學(xué)建模時(shí)已明確,體操機(jī)器人系統(tǒng)是一個(gè)力控設(shè)備,根據(jù)牛頓第二定律,力與加速度成正比,因此給系統(tǒng)施加的控制量就是加速度,而速度則是一個(gè)事先設(shè)定的較大數(shù)值,在控制過程中,一般不會(huì)達(dá)到這個(gè)速度值。這樣保證產(chǎn)生的附加力隨能量的增加而減小,可搖起體操機(jī)器人到倒立平衡位置。
4 控制系統(tǒng)軟件設(shè)計(jì)
實(shí)施控制時(shí),主要是控制軟件的編寫與控制其參數(shù)的調(diào)節(jié)。由于體操機(jī)器人控制系統(tǒng)的實(shí)時(shí)性要求較高,控制軟件必須滿足實(shí)時(shí)性的要求,本系統(tǒng)控制周期為6ms。控制軟件必須在準(zhǔn)確的控制周期內(nèi)完成數(shù)據(jù)采樣,處理并且發(fā)出控制信號(hào)給運(yùn)動(dòng)控制器。
首先由上位PC機(jī)設(shè)置好控制參數(shù),系統(tǒng)開始運(yùn)行并完成初始化工作。底層控制器對(duì)各轉(zhuǎn)動(dòng)關(guān)節(jié)進(jìn)行位置采樣,同時(shí)接收來自上位PC機(jī)的控制指令,并把兩者結(jié)合在一起進(jìn)行分析,通過編寫進(jìn)去的控制算法生成相應(yīng)的轉(zhuǎn)矩控制信號(hào),經(jīng)功率放大后送給執(zhí)行電機(jī),同時(shí)把各關(guān)節(jié)的運(yùn)動(dòng)信息上傳給PC機(jī),如此反復(fù),完成整個(gè)閉環(huán)運(yùn)動(dòng)控制。
下位機(jī)控制器上電后主程序進(jìn)行控制器初始化操作、禁止看門狗、設(shè)置關(guān)鍵寄存器、設(shè)置中斷向量和中斷寄存器、初始化事件管理器、基于能量搖起、進(jìn)行實(shí)時(shí)控制模塊等。其中實(shí)時(shí)控制模塊中用到ADSP2181可編程定時(shí)器,它能夠產(chǎn)生周期性的定時(shí)中斷,定時(shí)間隔是處理器時(shí)鐘周期的整數(shù)倍。當(dāng)定時(shí)器被使能后,一個(gè)16位的計(jì)數(shù)寄存器TCOUNT每隔m個(gè)周期就會(huì)減1,其初始化程序如下:
void init_interrupt()
{disable0;∥關(guān)閉中斷(在初始化中斷過程中嚴(yán)禁產(chǎn)生中斷)
outportb(0x43,0x36);//寫中斷控制字
outportb(0x40,0xf6);∥寫數(shù)據(jù)寄存器:0x40為數(shù)據(jù)寄存器內(nèi)存映射地址
outportb(0x40,0xlb);∥數(shù)據(jù)為16位時(shí)鐘細(xì)分比率,先寫入低字節(jié)0xf6,后寫入高字節(jié)0xlb
oldhandler=getvect(INTR);∥保存原有的中斷服務(wù)程序句柄
setvect(INTR,handler);//設(shè)置新的中斷服務(wù)程序句柄
enable();∥打開中斷}
上述中斷初始化代碼創(chuàng)建一個(gè)6毫秒的定時(shí)器中斷,即當(dāng)打開中斷后,將每隔6毫秒對(duì)體操機(jī)器人系統(tǒng)進(jìn)行一次實(shí)時(shí)控制。6毫秒的定時(shí)時(shí)間是通過向數(shù)據(jù)寄存器寫入0x1bf6=7158獲得的。
5 結(jié)語
基于高性能ADSP2181的控制器設(shè)計(jì)能夠滿足機(jī)器人的搖起控制要求,且由于采用PC+控制器分級(jí)控制和模塊化設(shè)計(jì)思想,將有利于軟、硬件升級(jí),及大大縮短開發(fā)周期。系統(tǒng)在實(shí)驗(yàn)室進(jìn)行機(jī)器人搖起實(shí)驗(yàn)時(shí),各電機(jī)軸運(yùn)轉(zhuǎn)平穩(wěn),動(dòng)作協(xié)調(diào)軌跡跟蹤實(shí)時(shí)性好,機(jī)器人沒有出現(xiàn)抖動(dòng)、喘振等現(xiàn)象。
今后還需要探討更多的搖起與平衡控制策略,完善DSP的控制程序。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
pid控制器相關(guān)文章:pid控制器原理
評(píng)論