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