資料介紹
描述
“Segbot”是 UIUC 的 SE 423 級(jí)平衡 segway 機(jī)器人。segbot 由 Dan Block (d-block@illinois.edu) 教授設(shè)計(jì)的電路板和 F28379D 微控制器組成,該微控制器是德州儀器 C2000 系列的一部分。該項(xiàng)目的目標(biāo)是通過(guò)藍(lán)牙向 segbot 無(wú)線發(fā)送轉(zhuǎn)向命令。
藍(lán)牙通訊
藍(lán)牙 LE UART Friend 與 Bluefruit Connect 應(yīng)用程序兼容。字符通過(guò)UART傳輸?shù)絪egbot,可以在計(jì)算機(jī)終端上查看。從 segbot 傳輸?shù)淖址梢栽趹?yīng)用程序中查看或繪制。在我的演示中,我從手機(jī)發(fā)送了加速度計(jì)數(shù)據(jù),并用它來(lái)引導(dǎo) segbot 通過(guò)障礙物。
傳入的加速度計(jì)數(shù)據(jù)由前綴“!A”標(biāo)識(shí),后跟三個(gè)浮點(diǎn)值。由于數(shù)據(jù)是通過(guò) UART 傳輸?shù)?,因此無(wú)法立即解釋原始值。實(shí)現(xiàn)了一個(gè)聯(lián)合,將六個(gè) 16 位整數(shù)與三個(gè) 32 位浮點(diǎn)數(shù)存儲(chǔ)在內(nèi)存中的同一位置。
typedef union phonedata_s{
uint16_t rawdata[6];
float fltdata[3];
}phonedata_t;
phonedata_t phoneaccel; //use new data type defined in union
下面的代碼在串行接收函數(shù)中。首先,傳入的 8 位值保存在過(guò)去狀態(tài)的數(shù)組中。然后通過(guò)查找前綴“!A”來(lái)篩選這些值以確定它是否是加速度計(jì)數(shù)據(jù)。然后,與加速度計(jì)數(shù)據(jù)對(duì)應(yīng)的值組合成 16 位整數(shù)并保存為上面定義的新數(shù)據(jù)類型。然后,這些值存儲(chǔ)為浮點(diǎn)數(shù)。
if((past[0] == '!')&&(past[1] == 'A')){
//incoming accelerometer data
//X
phoneaccel.rawdata[0] = (past[3]<<8)|past[2];
phoneaccel.rawdata[1] = (past[5]<<8)|past[4];
//Y
phoneaccel.rawdata[2] = (past[7]<<8)|past[6];
phoneaccel.rawdata[3] = (past[9]<<8)|past[8];
//Z
phoneaccel.rawdata[4] = (past[11]<<8)|past[10];
phoneaccel.rawdata[5] = (past[13]<<8)|past[12];
ble_x = phoneaccel.fltdata[0];
ble_y = phoneaccel.fltdata[1];
ble_z = phoneaccel.fltdata[2];
操舵
在加速度計(jì)數(shù)據(jù)被標(biāo)記后,仍然在串行接收功能中,對(duì)應(yīng)于 x、y 和 z 方向上的加速度的三個(gè)浮點(diǎn)數(shù)被解釋為 segbot 的轉(zhuǎn)向指令。segbot 通過(guò)更改“turnrate”和“FwdBackOffset”值來(lái)驅(qū)動(dòng)。假設(shè)手機(jī)將被側(cè)向操縱,y 加速度的變化對(duì)應(yīng)于轉(zhuǎn)向指令,z 加速度的變化對(duì)應(yīng)于向前和向后的運(yùn)動(dòng)。
?
當(dāng)加速度在指定方向達(dá)到某個(gè)閾值時(shí),發(fā)出轉(zhuǎn)向指令。閾值是這樣的,即故意改變手機(jī)位置將引導(dǎo) segbot,但方向的小幅波動(dòng)不會(huì)。轉(zhuǎn)向速度已調(diào)整為我認(rèn)為最容易轉(zhuǎn)向的速度,但可以調(diào)整為更快或更慢。
//Interpret phone accel data as steering instructions
if(ble_y >= 0.3){
//turn left
turnrate = -4.0;
}else if(ble_y <= -0.3){
//turn right
turnrate = 4.0;
}else if(fabs(ble_y) < 0.3){
//don't turn
turnrate = 0;
}
if(ble_z <= -0.3){
//go forward
FwdBackOffset = -1.0;
}else if(ble_z >= 0.3){
//go backward
FwdBackOffset = 1.0;
}else if(fabs(ble_z) < 0.3){
//don't go forward or backward
FwdBackOffset = 0;
}
接線
上圖顯示了 UART Friend 到 segbot 的接線圖。藍(lán)牙傳感器連接到 5 V 電源。芯片的接收線連接到segbot的發(fā)送線,發(fā)送線連接到segbot的接收線,對(duì)應(yīng)F28739D處理器的Serial C。為了在數(shù)據(jù)模式下工作,藍(lán)牙芯片的 CTS 引腳必須接地。它連接到 GPIO 引腳并設(shè)置為低電平,從而可以通過(guò)編輯代碼輕松更改模式。
分段機(jī)器人組件
慶典
當(dāng) segbot 完成障礙賽時(shí),它會(huì)通過(guò)蜂鳴器播放 Kool & The Gang 的“Celebration”并跳一段小舞。當(dāng)麥克風(fēng)聽到我的歡呼聲時(shí)會(huì)觸發(fā)此響應(yīng)。這是由大約 625 Hz 的頻率識(shí)別的,我使用頻率分析儀應(yīng)用程序發(fā)現(xiàn)了這個(gè)頻率。麥克風(fēng)以 10 kHz 的速率進(jìn)行采樣,并通過(guò) Goertzel 算法傳遞數(shù)據(jù),該算法搜索 625 Hz 的目標(biāo)頻率。在我的另一個(gè)項(xiàng)目中有更多關(guān)于音符檢測(cè)以及歌曲和舞蹈的信息,鏈接在這里。
- 檢測(cè)機(jī)器人開源分享
- 坦克機(jī)器人開源分享
- 掃地機(jī)器人開源資料 43次下載
- 機(jī)器人守衛(wèi)開源分享
- 簡(jiǎn)單的藍(lán)牙控制機(jī)器人開源
- 伺服機(jī)器人開源分享
- 藍(lán)牙控制機(jī)器人開源
- 英雄機(jī)器人開源
- 機(jī)器人開源案例
- 藍(lán)牙控制機(jī)器人車開源分享
- 藍(lán)牙控制機(jī)器人開源分享
- Arduino機(jī)器人開源分享
- 基于DSP和PC的農(nóng)業(yè)機(jī)器人控制系統(tǒng) 17次下載
- 開架式通用水下機(jī)器人開源搭建手冊(cè).pdf 11次下載
- 機(jī)器人伺服馬達(dá)的轉(zhuǎn)向控制原理分析方案 1次下載
- 字節(jié)發(fā)布機(jī)器人領(lǐng)域首個(gè)開源視覺-語(yǔ)言操作大模型,激發(fā)開源VLMs更大潛能 360次閱讀
- 機(jī)器人技術(shù)中常用的路徑規(guī)劃算法的開源庫(kù) 843次閱讀
- 鑄造機(jī)器人是什么?選擇工業(yè)機(jī)器人應(yīng)該考慮的方向 1137次閱讀
- 面對(duì)疫情 醫(yī)療機(jī)器人能幫上什么忙? 2126次閱讀
- dfrobotSparki機(jī)器人套裝簡(jiǎn)介 2064次閱讀
- 工業(yè)機(jī)器人編程入門_工業(yè)機(jī)器人的編程要求 9571次閱讀
- 醫(yī)用機(jī)器人的定義_醫(yī)用機(jī)器人發(fā)展 3122次閱讀
- 醫(yī)用機(jī)器人的功能_醫(yī)用機(jī)器人分類 2227次閱讀
- 機(jī)器人控制器有哪些類型_機(jī)器人控制器發(fā)展 1.1w次閱讀
- 協(xié)作機(jī)器人的起源_為什么需要協(xié)作機(jī)器人 8127次閱讀
- 機(jī)器視覺的機(jī)器人取代四臺(tái)傳統(tǒng)的火焰處理機(jī)器人 3270次閱讀
- 如何區(qū)分機(jī)器人、協(xié)作機(jī)器人和移動(dòng)機(jī)器人? 6828次閱讀
- 關(guān)于被動(dòng)同心轉(zhuǎn)向式多履帶全向移動(dòng)機(jī)器人的設(shè)計(jì) 8935次閱讀
- 軟體機(jī)器人 前所未見的機(jī)器人 3692次閱讀
- 機(jī)器人的最佳編程語(yǔ)言是什么?機(jī)器人十大流行編程語(yǔ)言匯總 3.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多