四福來(lái)輪全向底盤畫圖功能的實(shí)現(xiàn)
1. 功能說(shuō)明
? ? 本文示例將實(shí)現(xiàn)四輪全向底盤繪制正六邊形的功能。

2. 結(jié)構(gòu)說(shuō)明
? ? ? ?全向底盤具備結(jié)構(gòu)簡(jiǎn)單、運(yùn)動(dòng)靈活等特點(diǎn)。四輪全向底盤采用全向福來(lái)輪作為執(zhí)行輪,四個(gè)輪成正方形分布,且每個(gè)輪在斜45°方向安裝。全向福來(lái)輪由主輪和副輪組成,主輪和副輪成垂直分布。

驅(qū)動(dòng)系統(tǒng)采用精度較高的42步進(jìn)電機(jī);執(zhí)行末端為伺服電機(jī)。通過(guò)四個(gè)步進(jìn)電機(jī)運(yùn)動(dòng)的相互配合,四個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)將圓周轉(zhuǎn)動(dòng)轉(zhuǎn)化為直線運(yùn)動(dòng)。

3. 電子硬件
? ?本實(shí)驗(yàn)中采用了以下硬件:

電路連接:
? ? ? 舵機(jī)連接在Bigfish擴(kuò)展板的D11針腳上;4個(gè)步進(jìn)電機(jī)與SH-ST擴(kuò)展板的連接位置見下圖:

4. 功能實(shí)現(xiàn)
編程環(huán)境:Arduino 1.8.19
① 四輪全向底盤運(yùn)動(dòng)算法
? ? ? 全向福來(lái)輪底盤的一個(gè)特點(diǎn)是可以靈活的全向移動(dòng),四輪全向輪的全向移動(dòng)需要四個(gè)輪的相互配合,運(yùn)動(dòng)方向和各個(gè)輪的轉(zhuǎn)向關(guān)系如圖所示(箭頭方向表示輪或車的運(yùn)動(dòng)方向):

多邊形繪制算法:
? ? ?正六邊形和其它多邊形有一個(gè)相同的條件-每個(gè)頂角角度一致 ,并且所有的多邊形外角=360/n(n為邊數(shù)),這樣的話兩條相鄰邊的角度是一致的,所以在這里我們采用了一種算法,該算法的思路是:
? ? ?先以多邊形的一個(gè)頂點(diǎn)A創(chuàng)建直角坐標(biāo)系,然后確定相鄰一條邊上另一個(gè)頂點(diǎn)B的坐標(biāo),利用插補(bǔ)法完成一條邊的繪制,然后再以頂點(diǎn)B為原點(diǎn)創(chuàng)建一個(gè)直角坐標(biāo)系,繼續(xù)繪制下一條邊,重復(fù)上面的流程,完成多邊形繪制,通過(guò)這種方法,我們只需要知道多邊形的邊長(zhǎng)和邊數(shù)就可以完成任意正多邊形的繪制。
多邊形計(jì)算公式:

n——為循環(huán)中繪制的第幾條邊為0~(m-1)變量值
m——總邊數(shù)
L——邊長(zhǎng)
備注:坐標(biāo)系原點(diǎn)為上一筆最終點(diǎn),坐標(biāo)系方向不變。
② 示例程序
下面給大家提供一個(gè)繪制邊長(zhǎng)為10cm的正六邊形參考例程(stepper_car_write_sexangle.ino),大家看懂之后可嘗試修改參數(shù),完成其它正多邊形的繪制:
5. 資料內(nèi)容
① 例程源代碼
② 樣機(jī)3D文件
資料下載地址 http://www.robotway.com/h-col-198.html
想了解更多機(jī)器人開源項(xiàng)目資料請(qǐng)關(guān)注 機(jī)器譜網(wǎng)站 https://www.robotway.com