關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于激光雷達(dá)避障的機(jī)器人控制系統(tǒng)設(shè)計

基于激光雷達(dá)避障的機(jī)器人控制系統(tǒng)設(shè)計

作者: 時間:2009-09-30 來源:網(wǎng)絡(luò) 收藏

1.4 無線通信模塊
無線通信模塊利用從前端RF接收到的遙控端或用戶端的信息通過串口發(fā)送到,也可將的信息通過無線通信模塊發(fā)送出去。前端RF使用Chip-con公司生產(chǎn)的CC2420芯片,無線通信模塊采用的微控制器為Microchip公司的PIC18LF4620。CC2420與PIC18LF4620都使用3.3 V作為工作電壓,可以降低功耗,CC2420只需通過SI,SO,SCLK,CSn與PIC18LF4620的SPI接口進(jìn)行連接。本中使用PIC18LF4620的RC6,RC7引腳作為RS 232的數(shù)據(jù)發(fā)送端與數(shù)據(jù)接收端。CC2420是一款較為通用的符合IEEE802.15.4的2.4 GHz ZigBee收發(fā)芯片,該芯片在集成了PHY層和部分MAC層的同時,還提供了許多硬件支持。
1.5 伺服控制模塊
運(yùn)動控制模塊通過RS 232與主控制模塊連接,主控制模塊通過串行總線將期望速度、方向信息傳送至運(yùn)動控制器,運(yùn)動控制器將信息處理后作為運(yùn)動控制算法的輸入量,運(yùn)動控制算法得到以PWM形式表示的電機(jī)控制信息。為判斷電機(jī)轉(zhuǎn)速及運(yùn)轉(zhuǎn)方向,安裝在電機(jī)上的光電編碼器提供相位相差90°的兩個通道的光碼脈沖輸出,光電編碼器產(chǎn)生的兩脈沖送入DSP的正交編碼脈沖單元的QEP1,QEP2引腳,通過DSP的比較單元CAP1,CAP2捕捉,然后經(jīng)譯碼單元產(chǎn)生內(nèi)部4倍頻后的脈沖信號CLK以及轉(zhuǎn)向信號,將脈沖信號送入選定的計數(shù)器進(jìn)行計數(shù),計數(shù)方向由轉(zhuǎn)向信號決定,通過讀取選定通用定時器的計數(shù)值、脈沖數(shù)、計數(shù)方向可得到電機(jī)的轉(zhuǎn)速、行程及方向為伺服控制提供反饋輸入。沒計使用TI公司的TMS320F2812作為控制驅(qū)動模塊的控制器,該芯片產(chǎn)生的PWM信號并不能夠直接驅(qū)動電機(jī)的執(zhí)行,時使用TI公司的直流電機(jī)驅(qū)動芯片SN7S4410將PWM轉(zhuǎn)換成可驅(qū)動電機(jī)的驅(qū)動信號。圖4為移動運(yùn)動的原理圖。

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

圖4中電流傳感器為霍爾元件電流傳感器,將采集到的電機(jī)電流信息送入A/D轉(zhuǎn)換接口,從而整個運(yùn)動形成雙閉環(huán)。運(yùn)動控制器中運(yùn)動控制算法采用PID算法,設(shè)定允許的誤差為e0,設(shè)定如下關(guān)系:
當(dāng)| e(k)|≤e0時,控制器不起作用;
當(dāng)| e(k)|>e0時,可以得到控制器的輸出為:


PWM信號的寬度由時間管理器中定時器的周期寄存器和與該定時器相關(guān)的比較寄存器決定,經(jīng)過PID處理后的控制器輸出u(k)為脈沖的占空比,然后寫入選定定時器的比較寄存器,比較寄存器與周期寄存器的比值即為PWM波形的占空比,從而實現(xiàn)電機(jī)轉(zhuǎn)速的控制。

2 軟件
該機(jī)器人控制系統(tǒng)的軟件設(shè)計包括主控制模塊、DSP運(yùn)動控制器算法程序、PIC18LF4620的程序設(shè)計。PIC18LF4620的程序設(shè)計在這里不做介紹。
2.1 主控制模塊程序設(shè)計
主控制模塊軟件設(shè)計是在μC/OS-Ⅱ平臺上設(shè)計各硬件的驅(qū)動程序,創(chuàng)建和啟動各項任務(wù),創(chuàng)建信號量、消息郵箱、消息隊列完成各任務(wù)間的通信。
針對S3C4480的硬件資源和編譯器特性,移植時要對μC/OS一Ⅱ的三個源文件做修改:
(1)OS_CPU.H頭文件與編譯器相關(guān)的數(shù)據(jù)類型重新修改;
(2)OS_CPU_ A.S文件中修改處理器相關(guān)的4個匯編函數(shù);
(3)OS_ CPU.C文件中編寫初始化任務(wù)的堆棧函數(shù)。
μC/OS-Ⅱ中程序是從main()函數(shù)開始執(zhí)行,程序啟動后跳轉(zhuǎn)至主程序運(yùn)行,調(diào)用ARMInit()初始化ARM系統(tǒng),包括建立相關(guān)參數(shù)和變量,配置ARM處理器中斷端口、設(shè)置中斷并初始化各器件,然后調(diào)用OSInit()初始化μC/OS-Ⅱ操作系統(tǒng),將操作系統(tǒng)的初始化與硬件的初始化分開來使得思路更清晰,便于調(diào)試。由于各任務(wù)之間要通過創(chuàng)建信號量、消息郵箱、消息隊列來完成通信,該操作通過調(diào)用OSSemCreate(),OSMboxCreate(),OSQCreate()函數(shù)來完成,然后調(diào)用OSTaskCreate(void(*task)(void*pd),void*pda-ta,OS_STK*ptos,INT8U prio)函數(shù)創(chuàng)建各任務(wù)完成系統(tǒng)控制。最后調(diào)用函數(shù)OSStlart(),μC/OS-Ⅱ開始運(yùn)行,執(zhí)行任務(wù)。本系統(tǒng)設(shè)計時主要完成的任務(wù)有無線通信任務(wù)、命令解釋任務(wù)、信息處理任務(wù)。
2.2 伺服控制模塊程序設(shè)計
伺服控制模塊利用高速的DSP運(yùn)動控制器與反饋信號組成閉環(huán)控制系統(tǒng),DSP發(fā)送PWM波與方向信號控制直流電機(jī)的轉(zhuǎn)速,通過速度反饋,DSP可實時讀取當(dāng)前速度,利用DSP中的控制程序根據(jù)速度讀數(shù)控制PWM的占空比,從而實現(xiàn)閉環(huán)控制。主程序流程圖如圖5所示。

在DSP的事件管理器中,將其中一個定時器設(shè)定一個中斷周期,每當(dāng)定時器產(chǎn)生中斷時,調(diào)用中斷處理子程序獲得電機(jī)的反饋速度。

3 結(jié) 語
根據(jù)新型跟蹤測量理論,開發(fā)研制了μC/OS-Ⅱ的機(jī)器人實時控制系統(tǒng)。該控制系統(tǒng)已成功用于實驗室自主研制開發(fā)的足球機(jī)器人。性能測試表明,該機(jī)器人控制系統(tǒng)能夠快速及時跟蹤定位目標(biāo),并且能夠通過無線通信模塊與遙控端進(jìn)行通信,完成指定操作指令。該控制系統(tǒng)采用的控制決策算法為PID,今后將致力于研究采用更為先進(jìn)的算法。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉