機(jī)器人原理分析:
該機(jī)器人根據(jù)陀螺儀的位姿數(shù)據(jù),通過(guò)三個(gè)全向輪驅(qū)動(dòng)底部球體調(diào)整自己在球上的位置,保持動(dòng)態(tài)平衡的同時(shí)實(shí)現(xiàn)全向移動(dòng)。
保持動(dòng)態(tài)平衡過(guò)程需要對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析,這里參考了平衡小車(chē)之家的運(yùn)動(dòng)學(xué)方程:
自平衡控制問(wèn)題轉(zhuǎn)化為三步:輸入X、Y角度—控制器計(jì)算—輸出A、B、C電機(jī)轉(zhuǎn)速的控制模型。
控制器設(shè)計(jì):
首先考慮參考平衡車(chē)控制,球上自平衡機(jī)器人本質(zhì)上依然是一個(gè)一階倒立擺問(wèn)題。這里參考了飛思卡爾直立車(chē)的控制方法,采用串級(jí)PID控制器,外環(huán)PD角度環(huán),內(nèi)環(huán)速度PI環(huán)。
由于我的驅(qū)動(dòng)方案選擇的是42步進(jìn)電機(jī),在速度閉環(huán)的時(shí)候有些問(wèn)題。正常的直流電機(jī)+編碼器的控制方案可以通過(guò)編碼器將輪子的真實(shí)速度計(jì)算出來(lái),從而和控制器的理想轉(zhuǎn)速作差,實(shí)現(xiàn)速度控制。
而我這里的速度閉環(huán)是通過(guò)計(jì)算上一個(gè)時(shí)鐘周期時(shí)給步進(jìn)電機(jī)的控制量,通過(guò)運(yùn)動(dòng)學(xué)方程分解,得到機(jī)器人的虛擬速度,與理想轉(zhuǎn)速作差控制。我認(rèn)為這種速度閉環(huán)方式還是存在一定缺陷的,但是在網(wǎng)上查看論文的時(shí)候我發(fā)現(xiàn)有很多自平衡機(jī)器人都是用42步進(jìn)電機(jī)來(lái)實(shí)現(xiàn)速度閉環(huán)的,不知道是什么方法。
硬件清單:
- 56mm全向輪 45元/個(gè)
- 42步進(jìn)電機(jī) 25/個(gè)
- 42步進(jìn)閉環(huán)模塊 59.8元/個(gè)
- LM2596S降壓模塊 20元
- STM32F103C8T6-4飛控板 59.8元
- GY-521六軸陀螺儀 25元