原理介紹:
該兩輪自平衡小車主要由兩部分組成,分別是上位機(jī)體感識別的部分和下位機(jī)兩輪自平衡部分。主要是使用微軟的Kinect攝像頭,這個(gè)攝像頭可以輸出景深圖像,骨骼數(shù)據(jù)以及RGB數(shù)據(jù)。所謂的景深數(shù)據(jù)就是可以反應(yīng)圖像深度的數(shù)據(jù),簡單來說就是有這個(gè)數(shù)據(jù)可以得到視場范圍內(nèi)每一個(gè)點(diǎn)的三維坐標(biāo),然后根據(jù)這個(gè)三維坐標(biāo)做圖像處理得到骨骼數(shù)據(jù)。圖像處理非常復(fù)雜,由微軟提供,RGB數(shù)據(jù)我沒有處理,直接顯示了,然后做了一個(gè)簡單的動作識別,基于空間點(diǎn)坐標(biāo)和點(diǎn)之間向量,計(jì)算閥值,然后用WIFI傳輸數(shù)據(jù),WIFI使用亞信提供的WIFI轉(zhuǎn)串口方案,雖然我花了半個(gè)月時(shí)間看計(jì)算機(jī)網(wǎng)絡(luò),看TCP/IP協(xié)議,也沒用看懂,到最后也沒用用上。
下位機(jī)就是用陀螺儀和三軸加速度采樣信號,用一個(gè)凱爾曼濾波做了一個(gè)數(shù)據(jù)融合,計(jì)算出角度和角角速度,然后就是幾個(gè)PI調(diào)節(jié)器做的一個(gè)3閉環(huán),姿態(tài),速度,位置。具體的實(shí)現(xiàn)細(xì)節(jié)在論文里面有,有興趣的可以看一下。凱爾曼濾波用的是別人的代碼,這個(gè)是一個(gè)自適應(yīng)的算法,參數(shù)什么的都不需要改動,只需要單片機(jī)就可以了,M051的確實(shí)快。
系統(tǒng)框圖:
小車圖片:
Kinect攝像頭:
視頻演示(小車上坡和上面放杯水):