基于激光雷達避障的機器人控制系統設計
1.4 無(wú)線(xiàn)通信模塊
無(wú)線(xiàn)通信模塊利用從前端RF接收到的遙控端或用戶(hù)端的信息通過(guò)串口發(fā)送到機器人,也可將機器人的信息通過(guò)無(wú)線(xiàn)通信模塊發(fā)送出去。前端RF使用Chip-con公司生產(chǎn)的CC2420芯片,無(wú)線(xiàn)通信模塊采用的微控制器為Microchip公司的PIC18LF4620。CC2420與PIC18LF4620都使用3.3 V作為工作電壓,可以降低功耗,CC2420只需通過(guò)SI,SO,SCLK,CSn與PIC18LF4620的SPI接口進(jìn)行連接。本設計中使用PIC18LF4620的RC6,RC7引腳作為RS 232的數據發(fā)送端與數據接收端。CC2420是一款較為通用的符合IEEE802.15.4的2.4 GHz ZigBee收發(fā)芯片,該芯片在集成了PHY層和部分MAC層的同時(shí),還提供了許多硬件支持。
1.5 伺服控制模塊
運動(dòng)控制模塊通過(guò)RS 232與主控制模塊連接,主控制模塊通過(guò)串行總線(xiàn)將期望速度、方向信息傳送至運動(dòng)控制器,運動(dòng)控制器將信息處理后作為運動(dòng)控制算法的輸入量,運動(dòng)控制算法得到以PWM形式表示的電機控制信息。為判斷電機轉速及運轉方向,安裝在電機上的光電編碼器提供相位相差90°的兩個(gè)通道的光碼脈沖輸出,光電編碼器產(chǎn)生的兩脈沖送入DSP的正交編碼脈沖單元的QEP1,QEP2引腳,通過(guò)DSP的比較單元CAP1,CAP2捕捉,然后經(jīng)譯碼單元產(chǎn)生內部4倍頻后的脈沖信號CLK以及轉向信號,將脈沖信號送入選定的計數器進(jìn)行計數,計數方向由轉向信號決定,通過(guò)讀取選定通用定時(shí)器的計數值、脈沖數、計數方向可得到電機的轉速、行程及方向為伺服控制提供反饋輸入。沒(méi)計使用TI公司的TMS320F2812作為控制驅動(dòng)模塊的控制器,該芯片產(chǎn)生的PWM信號并不能夠直接驅動(dòng)電機的執行,設計時(shí)使用TI公司的直流電機驅動(dòng)芯片SN7S4410將PWM轉換成可驅動(dòng)電機的驅動(dòng)信號。圖4為移動(dòng)機器人運動(dòng)控制系統的原理圖。 本文引用地址:http://dyxdggzs.com/article/163545.htm
圖4中電流傳感器為霍爾元件電流傳感器,將采集到的電機電流信息送入A/D轉換接口,從而整個(gè)運動(dòng)控制系統形成雙閉環(huán)控制系統。運動(dòng)控制器中運動(dòng)控制算法采用PID算法,設定允許的誤差為e0,設定如下關(guān)系:
當| e(k)|≤e0時(shí),控制器不起作用;
當| e(k)|>e0時(shí),可以得到控制器的輸出為:
PWM信號的寬度由時(shí)間管理器中定時(shí)器的周期寄存器和與該定時(shí)器相關(guān)的比較寄存器決定,經(jīng)過(guò)PID處理后的控制器輸出u(k)為脈沖的占空比,然后寫(xiě)入選定定時(shí)器的比較寄存器,比較寄存器與周期寄存器的比值即為PWM波形的占空比,從而實(shí)現電機轉速的控制。
2 軟件設計
該機器人控制系統的軟件設計包括主控制模塊、DSP運動(dòng)控制器算法程序、PIC18LF4620的程序設計。PIC18LF4620的程序設計在這里不做介紹。
2.1 主控制模塊程序設計
主控制模塊軟件設計是在μC/OS-Ⅱ平臺上設計各硬件的驅動(dòng)程序,創(chuàng )建和啟動(dòng)各項任務(wù),創(chuàng )建信號量、消息郵箱、消息隊列完成各任務(wù)間的通信。
針對S3C4480的硬件資源和編譯器特性,移植時(shí)要對μC/OS一Ⅱ的三個(gè)源文件做修改:
(1)OS_CPU.H頭文件與編譯器相關(guān)的數據類(lèi)型重新修改;
(2)OS_CPU_ A.S文件中修改處理器相關(guān)的4個(gè)匯編函數;
(3)OS_ CPU.C文件中編寫(xiě)初始化任務(wù)的堆棧函數。
μC/OS-Ⅱ中程序是從main()函數開(kāi)始執行,程序啟動(dòng)后跳轉至主程序運行,調用ARMInit()初始化ARM系統,包括建立相關(guān)參數和變量,配置ARM處理器中斷端口、設置中斷并初始化各器件,然后調用OSInit()初始化μC/OS-Ⅱ操作系統,將操作系統的初始化與硬件的初始化分開(kāi)來(lái)使得思路更清晰,便于調試。由于各任務(wù)之間要通過(guò)創(chuàng )建信號量、消息郵箱、消息隊列來(lái)完成通信,該操作通過(guò)調用OSSemCreate(),OSMboxCreate(),OSQCreate()函數來(lái)完成,然后調用OSTaskCreate(void(*task)(void*pd),void*pda-ta,OS_STK*ptos,INT8U prio)函數創(chuàng )建各任務(wù)完成系統控制。最后調用函數OSStlart(),μC/OS-Ⅱ開(kāi)始運行,執行任務(wù)。本系統設計時(shí)主要完成的任務(wù)有無(wú)線(xiàn)通信任務(wù)、命令解釋任務(wù)、激光雷達信息處理任務(wù)。
2.2 伺服控制模塊程序設計
伺服控制模塊利用高速的DSP運動(dòng)控制器與反饋信號組成閉環(huán)控制系統,DSP發(fā)送PWM波與方向信號控制直流電機的轉速,通過(guò)速度反饋,DSP可實(shí)時(shí)讀取當前速度,利用DSP中的控制程序根據速度讀數控制PWM的占空比,從而實(shí)現閉環(huán)控制。主程序流程圖如圖5所示。
在DSP的事件管理器中,將其中一個(gè)定時(shí)器設定一個(gè)中斷周期,每當定時(shí)器產(chǎn)生中斷時(shí),調用中斷處理子程序獲得電機的反饋速度。
3 結 語(yǔ)
根據新型激光雷達跟蹤測量理論,開(kāi)發(fā)研制了基于μC/OS-Ⅱ的機器人實(shí)時(shí)控制系統。該控制系統已成功用于實(shí)驗室自主研制開(kāi)發(fā)的足球機器人。性能測試表明,該機器人控制系統能夠快速及時(shí)跟蹤定位目標,并且能夠通過(guò)無(wú)線(xiàn)通信模塊與遙控端進(jìn)行通信,完成指定操作指令。該控制系統采用的控制決策算法為PID,今后將致力于研究采用更為先進(jìn)的算法。
評論