TMS320F206DSP的冗余度TT-VGT機(jī)器人
3 TMS320F206 DSP運(yùn)動(dòng)學(xué)程序設(shè)計(jì)
對(duì)于TT-VGT機(jī)器人的位姿逆解,采用DSP匯編語(yǔ)言設(shè)計(jì)的程序流程進(jìn)行求解,如圖4所示。
為了保證該程序的執(zhí)行速度和計(jì)算精度,采取了以下算法:
?。?)由于匯編語(yǔ)言指令系統(tǒng)中沒(méi)有三角函數(shù)等數(shù)學(xué)函數(shù)指令,這些函數(shù)的計(jì)算只有通過(guò)級(jí)數(shù)展開(kāi)算法實(shí)現(xiàn),但計(jì)算量太大。考慮到三角函數(shù)的周期性,建立了一人1024點(diǎn)的正弦函數(shù)和余弦函數(shù)表,其分辨率完全能滿足精度要求。
?。?)由于TMS320F206 DSP芯片為定點(diǎn)運(yùn)算器件,因此需要將浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算。為保證計(jì)算精度,將數(shù)據(jù)定標(biāo)設(shè)定為可動(dòng)態(tài)調(diào)節(jié),數(shù)據(jù)表達(dá)能力為從Q13(-4~+3.9998779)到Q0(-32768~+32767)。
?。?)采用并行指令,充分利用TMS320F206四級(jí)流水線操作,來(lái)提高程序運(yùn)行速度。
如:
MAC ;乘并累加
APAC ;累加
SACH +,3,AR2 ;將計(jì)算結(jié)果左移3位后,存于當(dāng)前輔助寄存器(AR)所指的存儲(chǔ)器單元中,并將AR內(nèi)容加1,最后,將AR2設(shè)定為當(dāng)有AR。
?。?)對(duì)運(yùn)算過(guò)程進(jìn)行優(yōu)化,既要減少計(jì)算量,又要防止計(jì)算溢出;在混合運(yùn)算中采用“先除后加”、“加減交叉”的方法。
(5)盡量采用移位運(yùn)算代替乘除運(yùn)算,以提高運(yùn)行速度和計(jì)算精度。
通過(guò)以上方法,實(shí)現(xiàn)了機(jī)器人運(yùn)行學(xué)計(jì)算的實(shí)時(shí)性和準(zhǔn)確性。
4 仿真計(jì)算
以四重四面體為例,建立如圖5所示的基礎(chǔ)坐標(biāo)系XYZ,末端參考點(diǎn)H位于末端平臺(tái)EFG的中點(diǎn)。設(shè)參考點(diǎn)H在基礎(chǔ)坐標(biāo)系中從點(diǎn)(0.522689,-0.818450,0.472752)直線運(yùn)動(dòng)到點(diǎn)(0.771439,-0.965700,0.721502),只實(shí)現(xiàn)空間的位置運(yùn)動(dòng),不實(shí)現(xiàn)姿態(tài)。動(dòng)態(tài)的整個(gè)時(shí)間T設(shè)為5秒,運(yùn)動(dòng)軌跡分為等時(shí)間間隔的100個(gè)區(qū)間。設(shè)各定長(zhǎng)構(gòu)件長(zhǎng)度為1m。
中間變量q曲線和中間變量q誤差曲線如圖6和圖7所示。從誤差曲線可看出,采用TMS329F206DSP芯片進(jìn)行的運(yùn)動(dòng)學(xué)計(jì)算精度較高。經(jīng)過(guò)實(shí)測(cè),該計(jì)算程序運(yùn)行時(shí)間為34ms。(TMS320F206芯片指令周期為25ns),可見(jiàn)其實(shí)時(shí)性較強(qiáng)。
本文提出的采用TMS320F206 DSP的芯片進(jìn)行冗余度TT-VGT機(jī)器人運(yùn)動(dòng)學(xué)計(jì)算方案,充分利用了DSP并行特性進(jìn)行機(jī)器人位姿逆解計(jì)算,在程序設(shè)計(jì)中采用了多種技巧優(yōu)化計(jì)算。仿真結(jié)果表明,該方案計(jì)算誤差較小,實(shí)時(shí)性強(qiáng)。因此,可將其應(yīng)用于機(jī)器人控制系統(tǒng),實(shí)現(xiàn)機(jī)器人計(jì)算和控制任務(wù)一體化,從而大大縮小機(jī)器人體積、降低成本、增強(qiáng)靈活性、具有較強(qiáng)的先進(jìn)性和實(shí)用性。
評(píng)論