電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>為NXP Hovergames3開(kāi)發(fā)的AutoSQA項(xiàng)目文章

為NXP Hovergames3開(kāi)發(fā)的AutoSQA項(xiàng)目文章

2023-07-13 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

這是一篇關(guān)于我為 NXP Hovergames3 開(kāi)發(fā)的 AutoSQA 項(xiàng)目的文章,包含說(shuō)明、演示、實(shí)驗(yàn)和經(jīng)驗(yàn)教訓(xùn)。

第 1 部分:機(jī)器人平臺(tái) (MR-Buggy3)

這個(gè)名為 AutoSQA 的項(xiàng)目使用 NXP 的 Mobile Robotics Buggy3 (MR-Buggy3) 套件作為機(jī)器人基礎(chǔ)。這個(gè)套件本身使用 WLToys 124019 RC Buggy 底盤作為基礎(chǔ),除了這個(gè) buggy 之外還包含一個(gè)飛行(在這種情況下是驅(qū)動(dòng)器?)管理單元,帶 GPS 和調(diào)試器的 FMUK66 套件,一個(gè)更好的 RC 遙控器(FlySky FS-i6s) 、ESC 和伺服,以及機(jī)械部件(兩個(gè)帶支架的 PCB)來(lái)創(chuàng)建機(jī)器人基礎(chǔ)。下面的圖片顯示了我收到的完整套件及其零件:

poYBAGSBQCiAdO29ABAt-0USO_c757.jpg
MR-Buggy3 套件的所有榮耀
?

MR-Buggy3 是按照 NXP Cup Car Gitbook 的構(gòu)建說(shuō)明構(gòu)建的,可在此處找到:https ://nxp.gitbook.io/nxp-cup/mr-buggy3-developer-guide/mr-buggy3-build-指導(dǎo)。說(shuō)明非常清楚,我沒(méi)有遇到任何問(wèn)題,所以我不會(huì)在這里重復(fù)。相反,我只會(huì)展示和寫下我對(duì) MR-Buggy3 平臺(tái)所做的更改,特別是對(duì) WLToys 124019 底盤所做的更改,如下所示:

  • 新電池座:為更大的電池設(shè)計(jì)了電池座(在本例中為 OVONIC 的 2S 5200 mAh ( https://www.amazon.es/-/pt/gp/product/B08NJKB456 ))。
  • 新的驅(qū)動(dòng)齒輪:改變了電機(jī)支架和小齒輪(庫(kù)存 27T 到 17T)以獲得更大的齒輪減速(從庫(kù)存 4.074:1 到 6.47:1),因此將最高速度(庫(kù)存 55 公里/小時(shí))降低到更高合理的 35 公里/小時(shí)。
  • RC 和遙測(cè)支架:設(shè)計(jì)了用于 RC 和遙測(cè)接收器的支架以及用于 RC 天線的 V 型支架。
  • 背面安裝點(diǎn):為后減震器的 PCB 中板設(shè)計(jì)了一個(gè)安裝支架,帶有用于附加部件的垂直安裝點(diǎn),取代了擾流板作為支架,以及一個(gè)帶有垂直安裝點(diǎn)的互補(bǔ)“L-Holder”,用于頂板。
  • 車輪編碼器開(kāi)發(fā)并添加了帶有簡(jiǎn)單 PX4 集成的車輪編碼器。

在接下來(lái)的小節(jié)中,我將更詳細(xì)地介紹其中的每一個(gè),并提供有關(guān)如何使用和/或復(fù)制它們的說(shuō)明。

電池座

MR-Buggy3的電池座只能裝最大100x10x10mm的電池,我選電池的時(shí)候不知道(套件還沒(méi)到)。所以我最終買了一個(gè)對(duì)這個(gè)支架來(lái)說(shuō)太大了的。具體來(lái)說(shuō),我購(gòu)買了 5200 mAh(138x46x24 毫米)的 OVONIC 2S 50C Hardcase LiPo,它看起來(lái)非常適合具有充足容量和硬殼以提供額外保護(hù)的應(yīng)用。因此,我有兩個(gè)選擇,要么用較小的電池更換電池,要么想出一種新的安裝解決方案。我采用了后一種方法,設(shè)計(jì)并測(cè)試了兩種不同的安裝選項(xiàng)。我想出的第一個(gè)選擇是水平安裝電池,用立管支架將其抬到越野車的塑料裙邊上:

pYYBAGSBQGCAIYfrABKlmpeqdQc935.jpg
MR-Buggy3 水平電池安裝支架
?

第二個(gè)是垂直安裝電池的,有一個(gè)支架將電池固定在 MR-Buggy3 中板/驅(qū)動(dòng)軸蓋上:

poYBAGSBQLyAd15kABMg5AxKEPo627.jpg
MR-Buggy3 立式電池安裝支架
?

我最終使用了后一種,因?yàn)樗梢愿玫乇Wo(hù)電池并降低電池,使越野車的重心 (CG) 保持較低并更靠近中心線,從而提高穩(wěn)定性。支架是 3D 打印的,STL 文件可在附件部分下載。它通過(guò) buggy 側(cè)板上的 3 個(gè)孔擰入到位,裙子上已經(jīng)有一些未使用的孔,帶有 25mm 長(zhǎng)的 M2 螺釘和螺母。

傳動(dòng)裝置

WLToys 124019 底盤的 MR-Buggy3 的原裝驅(qū)動(dòng)齒輪比非常高,專為高最高速度(55 公里/小時(shí))而設(shè)計(jì),并不真正適合經(jīng)常使用低得多的驅(qū)動(dòng)速度的機(jī)器人應(yīng)用并且需要。這樣做的問(wèn)題是它限制了可達(dá)到的最低行駛速度,即電機(jī)(和車輪)開(kāi)始旋轉(zhuǎn)的極限,并降低了 Buggy 的速度控制分辨率。這就是我決定改變資產(chǎn)負(fù)債率的原因。

經(jīng)過(guò)一些研究,我發(fā)現(xiàn)了一篇關(guān)于更換原裝電機(jī)支架和小齒輪的好文章:https ://www.quadifyrc.com/rccarreviews/the-ultimate-pinion-gear-guide-for-wl-toys-144001-144002- 144010-124016-124017-124018-124019。雖然這篇文章主要關(guān)注在用無(wú)刷電機(jī)替換原廠有刷電機(jī)時(shí)改變傳動(dòng)裝置(這也是將來(lái)要進(jìn)行的一次重大升級(jí)!),但它為我指明了正確的方向。然后我訂購(gòu)了一個(gè)可調(diào)電機(jī)安裝套件 ( https://pt.aliexpress.com/item/1005004690257050.html ),它帶有幾個(gè)兩個(gè)不同的小齒輪,但我還訂購(gòu)了一個(gè)額外的更小的小齒輪,一個(gè) T17一個(gè)(https://pt.aliexpress.com/item/1005004692034775.html )。

poYBAGSBQMSANK5xABVorAP6Xy0947.jpg
更換電機(jī)安裝(可調(diào))和小齒輪,17T、19T 和庫(kù)存 27T。
?

要更換電機(jī)支架,必須拆下 WLToys 中板。接下來(lái),可以通過(guò)卸下這兩個(gè)螺釘(我看起來(lái)不同的螺釘)從底板上擰下備用電機(jī)支架:

pYYBAGSBQMeAP2J1AAFqKCzbvQk707.jpg
電機(jī)安裝螺絲。
?

這些螺絲看起來(lái)很牢固,鎖緊力很強(qiáng),我無(wú)法用螺絲刀卸下我的螺絲,只能將它們鉆出來(lái)……后來(lái)我讀到一個(gè)更好的解決方案是用熱來(lái)軟化鎖-緊,總有東西要學(xué)!這樣就可以將電機(jī)支架連同電機(jī)一起拆下。下一步是從電機(jī)上拆下備用小齒輪,這也是通過(guò)拆下一個(gè)非常牢固的鎖緊螺釘(在小齒輪中)來(lái)完成的,它可能再次被熱軟化但我鉆了出來(lái)。將電機(jī)固定在電機(jī)支架上的兩個(gè)螺釘重復(fù)了這個(gè)故事,通過(guò)鉆出它們,我也損壞了電機(jī),不得不購(gòu)買一個(gè)替換的。長(zhǎng)話短說(shuō),拆下原裝電機(jī)支架和電機(jī)是一個(gè)相當(dāng)大的挑戰(zhàn),并指望打破兩者!電機(jī)后,

現(xiàn)在因?yàn)殡姍C(jī)將更靠近驅(qū)動(dòng)齒輪和驅(qū)動(dòng)軸,所以必須對(duì)驅(qū)動(dòng)排水蓋(如下圖所示)和頂部中間板進(jìn)行一些調(diào)整切割。很好,兩個(gè)部件都來(lái)自非常柔軟的塑料:

pYYBAGSBQM6AU-nqABMDQAPOsm4585.jpg
傳動(dòng)系蓋調(diào)整切口。
?

接下來(lái)我們可以將電機(jī)安裝到新的電機(jī)支架上。電機(jī)首先不應(yīng)擰緊到電機(jī)支架上,以便調(diào)整其位置。在此階段,還要將新的小齒輪添加到電機(jī)中,并擰緊一點(diǎn)。然后可以將組件放置到位,并調(diào)整電機(jī)位置,使新小齒輪與驅(qū)動(dòng)齒輪接觸良好。再次拆下組件,現(xiàn)在將電機(jī)緊緊地?cái)Q到電機(jī)支架上,對(duì)螺絲也加一些鎖緊,最后將電機(jī)支架固定到底板上。其結(jié)果如下圖所示:

pYYBAGSBQNaAJ8gEABIvCwY27mk118.jpg
組裝了新的電機(jī)支架和小齒輪。
?

T17 的配合非常緊密,電機(jī)和驅(qū)動(dòng)軸之間幾乎沒(méi)有間隙,因此這是可以使用的最小小齒輪。之后,將中板擰回原位(不要忘記添加電機(jī)安裝支架的驅(qū)動(dòng)軸軸承支架頂部),并進(jìn)行必要的調(diào)整/切割以為現(xiàn)在更近的電機(jī)騰出空間。圖片顯示再次完全組裝,中間板有切口:

pYYBAGSBQOCAGz_JABVa7PcfxMQ554.jpg
完全組裝的新電機(jī)支架,帶蓋和中板。
?

這次冒險(xiǎn)給我們帶來(lái)了新的整體傳動(dòng)比從 4.074:1 增加到 6.47:1,增加了 37%,將最高速度從超過(guò) 55 公里/小時(shí)降低到更合理的 35 公里/小時(shí),額外的好處是增加扭矩!

我也有用一個(gè)帶編碼器的電機(jī)替換電機(jī)的想法,甚至訂購(gòu)了一個(gè)(較小的 RS-385 電機(jī):https://www.ebay.com/itm/191880076979 )但結(jié)果證明它有一個(gè)短軸穿過(guò)電機(jī)支架并在其上安裝小齒輪。

背面安裝點(diǎn)

如前所述,該項(xiàng)目的目標(biāo)是對(duì)田間土壤進(jìn)行采樣,實(shí)現(xiàn)這一目標(biāo)的方法之一是使用與土壤直接接觸并穿透土壤的傳感器。為了能夠在這個(gè) Buggy 平臺(tái)上使用這種類型的傳感器,我們?cè)O(shè)計(jì)了一個(gè)線性執(zhí)行器來(lái)將這種土壤傳感器推入(和提升)到地下。這將在“第 2 部分:傳感器平臺(tái)”部分進(jìn)一步解釋。該執(zhí)行器必須安裝到 MR-Buggy3 上,最佳位置是在 Buggy 的背面,必須設(shè)計(jì)定制的安裝硬件

開(kāi)發(fā)了兩個(gè)安裝支架,以創(chuàng)建兩個(gè)垂直安裝點(diǎn),增加安裝穩(wěn)定性。第一個(gè)支架安裝在后減震器上并取代后擾流板,因此必須將其作為中板的安裝支架移除。

要安裝此支架,在 3D 打印后,第一步是拆下擾流板支架并將新支架滑到后減震器上。然后用四個(gè)自攻螺釘將其固定到位,類似于前減震器上的支架。結(jié)果如下圖所示:

poYBAGSBQOmAUvljABGQllu2tzc537.jpg
底部安裝點(diǎn)支架固定到后減震器支架上。
?

接下來(lái)將 4 個(gè) M2 螺母添加到此支架,兩個(gè)從波紋管插入,兩個(gè)從后面插入槽中。這些螺母與 M2 螺釘結(jié)合使用,用于將中間板擰到支架上。最后,將 4 個(gè) M2.5 螺母插入支架背面,形成垂直安裝點(diǎn)。組裝可以在下圖中看到:

poYBAGSBQPCASJ9nAA-BbO1l1Ek254.jpg
底部安裝點(diǎn)和固定在支架上的中板。
?

第二個(gè)安裝支架用于頂板,通過(guò) 4 個(gè) M2.5 螺釘和螺母固定在頂板上。該安裝支架背面有可容納 6 個(gè) M2.5 螺母的空間,增加了額外的 6 個(gè)垂直安裝點(diǎn)。內(nèi)4與下支架的安裝點(diǎn)對(duì)齊。帶有兩個(gè)支架的完整組件如下圖所示:

pYYBAGSBQPiAD-WaABAntG7J_hM277.jpg
頂部和底部安裝點(diǎn),頂部支架固定在頂板上。
?

這些安裝點(diǎn)稍后用于將土壤傳感器致動(dòng)器安裝到 Buggy,但它們也可用于其他硬件/傳感器,如后部安裝的距離傳感器,例如超聲波傳感器陣列。兩個(gè)支架的 CAD (.STL) 文件可在附件部分下載。

遙控/遙測(cè)支架

按照構(gòu)建指南,MR-Buggy3 上的 RC 接收器和遙測(cè)單元的標(biāo)準(zhǔn)放置位于頂板的末端,彼此堆疊并用雙面膠帶固定到位。此放置選項(xiàng)會(huì)干擾將任何東西垂??直安裝到 Buggy 的背面,例如從上方添加的支架,因此必須更改 RC 接收器和遙測(cè)單元的放置。

為此,我為遙測(cè)單元和 RC 接收器設(shè)計(jì)了一個(gè)支架,將它們安裝在離頂板末端更遠(yuǎn)的位置,更靠近 FMUK66。同時(shí)我為 RC 接收器天線設(shè)計(jì)了一個(gè)天線支架,將它們固定在 V 形(天線的推薦方向)。支架和天線支架通過(guò) M2x7mm 螺釘從底部擰到頂板上。天線通過(guò)天線支架中的摩擦固定,而接收器和遙測(cè)單元?jiǎng)t通過(guò)扎帶固定到位。下圖顯示了完整的裝配:

pYYBAGSBQP-AcHcyAA-aBF0EdH4953.jpg
RC 接收器和遙測(cè)支架,以及 V 型 RC 天線支架。
?

這些支架的 CAD 文件可在我的 Thingiverse 上找到,并且可以輕松進(jìn)行 3D 打?。?/font>https://www.thingiverse.com/thing :5890392

RC接收器RSSI

隨附的 RC 接收器 FS-iA6B 的庫(kù)存固件不提供任何 RSSI 信號(hào)反饋,即使硬件能夠提供。可以通過(guò)刷新社區(qū)開(kāi)發(fā)的新固件來(lái)啟用此功能: https: //github.com/povlhp/FlySkyRxFirmware

此 GitHub 包含有關(guān)如何訪問(wèn) RC 接收器的編程接口以及如何刷新新固件的所有必要說(shuō)明。這里需要注意的重要一點(diǎn)是,庫(kù)存固件是讀保護(hù)的,在刷新此新固件之前無(wú)法備份...

刷入新固件后,我們現(xiàn)在在 SBUS 通道 14 上有接收器 RSSI 信號(hào)輸出,然后可以通過(guò)設(shè)置 PX4 固件中的 RC_RSSI_PWM_CHANNEL 參數(shù)(可以通過(guò) QGroundControl 完成)由 FMUK66 讀取,如下圖所示:

poYBAGSBQQKAPORPAABLrICxe8M163.png
在 SBUS 通道 14 上啟用 RC RSSI 讀取
?

然后 RSSI 值也顯示在 QGroundControl 中,如下圖所示:

poYBAGSBQQSAMulZAABFr2g1uME163.png
QGroundControl 中顯示的 RC RSSI 信號(hào)
?

車輪編碼器

正如“ DriveGear ”部分末尾所述,最初的想法是使用帶編碼器的電機(jī)為 MR-Buggy3 添加里程計(jì)。這沒(méi)有解決,所以必須找到替代方案,現(xiàn)在回想起來(lái)更好。替代方案是車輪編碼器,而不是電機(jī)編碼器。通過(guò)將里程計(jì)與 IMU 和 GPS 數(shù)據(jù)融合,增加里程計(jì)可以實(shí)現(xiàn)更精確的定位。它還提供了一種在沒(méi)有 GPS 可用時(shí)進(jìn)行定位的方法,例如在室內(nèi)或室外陰天情況下(例如在有很多樹(shù)木的田野中)。此外,它還支持在 Buggy 上開(kāi)發(fā)速度控制器(PID 回路)。

開(kāi)發(fā)的車輪編碼器使用簡(jiǎn)單的 1 軸 HAL 傳感器 (S49e) 和粘在車輪內(nèi)部的磁鐵。HAL 傳感器在 3D 打印件和單螺釘?shù)膸椭掳惭b到后輪罩(我還沒(méi)有開(kāi)發(fā)前輪安裝支架)(HAL 傳感器首先粘在這件上):

pYYBAGSBQQyAVi_CAAwbw8P-68w560.jpg
后輪 HAL 傳感器支架。
?

接下來(lái),我們必須在輪子上添加磁鐵,當(dāng)它們經(jīng)過(guò)輪子時(shí),HAL 傳感器可以感應(yīng)到。小型 5x5mm 方形釹磁鐵用于此,粘在后輪內(nèi)側(cè)(兩個(gè)在相對(duì)側(cè))。磁鐵必須以相同的磁極向內(nèi)粘合到位,以便相同的磁極通過(guò)編碼器。使用哪個(gè)磁極并不重要,只要添加到輪子上的所有磁鐵都相同(可以多于 2 個(gè)磁鐵以提高編碼器分辨率)。

pYYBAGSBQU6AX5fiAAq9N4RTLNs026.jpg
編碼器磁鐵放置在后輪內(nèi)側(cè)。
?

車輪編碼器采集的第一個(gè)原型是使用 Arduino Pro Mini 開(kāi)發(fā)的,編碼器連接到模擬輸入端口(A0 和 A1)并由其 3V3 導(dǎo)軌供電,所有這些都通過(guò) Arduino I2C 連接到 FMUK66,由來(lái)自 Arduino 的 5V 供電FMUK 到 Arduino Vraw 輸入。任何人只要使用 Arduino Pro Mini 就可以輕松構(gòu)建此原型。該固件可在與更高級(jí)的 Wheel Encoder 相同的 GitHub 頁(yè)面中找到,它仍然適用于我的叉子的 PX4 固件。

poYBAGSBQZGAfJG4ABThV4Km4VY415.jpg
第一個(gè)使用 Arduino Pro Mini 的車輪編碼器原型。
?

第二個(gè)版本使用定制開(kāi)發(fā)板,即 Wheel Encoder 板(主要使用 NXP 部件以保持 HoverGames 的 NXP 精神)。HAL 傳感器通過(guò) 3 針 JST-GH 連接器連接到此板。該板有 4 個(gè) HAL 傳感器輸入,每個(gè)輸入都連接到一個(gè)比較器(NXP 部件 NCX2220),通過(guò)電位器可調(diào)節(jié)觸發(fā)電平。然后使用 MCU(NXP 部件 MKE16Z64VLD4)獲取信號(hào),引腳中斷,并增加內(nèi)部計(jì)數(shù)器,然后可以通過(guò)數(shù)字接口(I2C/CAN/UART)讀取。非常感謝 NXP 為我提供 MKE16Z64VLD4 MCU 的免費(fèi)樣品,因?yàn)樗兄饕咒N商都缺貨這部分......

目前,在車輪編碼器板固件和 PX4 固件上實(shí)現(xiàn)的唯一接口是 I2C 接口。硬件已準(zhǔn)備好切換到首選 CAN 接口,上面有 NXP TJA1463 CAN 收發(fā)器(受 NavQPlus 啟發(fā),使用相同的收發(fā)器芯片),但這尚未實(shí)現(xiàn)。波紋管是車輪編碼器板的圖片,安裝在中間板上并連接到后輪上的每個(gè) HAL 傳感器:

poYBAGSBQZqAYkYyABIvn_kaKb0326.jpg
安裝到 MR-Buggy3 并連接到 HAL 傳感器的車輪編碼器板。
?

Wheel Encoder板通過(guò)I2C連接到FMUK66,具體是連接到FMUK66的I2C/NFC端口。但是,作為對(duì)原始 NavQ 的重大改進(jìn)之一,NavQPlus 有兩個(gè)攝像頭 ISP!這需要使用立體相機(jī)設(shè)置來(lái)進(jìn)行深度感知和其他應(yīng)用。為此,必須開(kāi)發(fā)一種新的相機(jī)外殼,可以容納兩個(gè)相機(jī)(在這種情況下是兩個(gè) Google Coral 相機(jī)),它們之間有一定的距離。這就是我在這里開(kāi)發(fā)的。

新的立體攝像頭外殼從原來(lái)的單攝像頭外殼中汲取靈感,使用類似的樣式、組件,并且可以將其直接安裝到 MR-Bugg3 隨附的攝像頭支架上。這個(gè)外殼有空間容納兩個(gè) Google Coral 相機(jī)模塊,它們之間的距離為 70 毫米,這是立體相機(jī)設(shè)置通常推薦的距離。它還在中心有一個(gè)空間/開(kāi)口用于超聲波范圍傳感器,例如設(shè)計(jì)開(kāi)口的 GY-US42,或任何其他附加硬件,例如另一個(gè)相機(jī)模塊、紅外點(diǎn)投影儀(我正在關(guān)注 ams OSRAM APDE-00)、照明燈等...

外殼由背面和蓋子兩部分組成,相機(jī)模塊夾在它們之間,就像原來(lái)的外殼一樣。組裝也類似,攝像頭放在兩半之間,然后用 8 顆 M2.5 螺絲擰在一起。

下圖顯示了安裝到 MR-Buggy3 的組裝好的立體相機(jī)外殼,帶有兩個(gè) Google Coral 相機(jī)。

poYBAGSBQaGAFT31ABB3HFvAODM094.jpg
MR-Buggy3 上的立體攝像頭組件。
?

我還買了一些更長(zhǎng)的 24 針、反向、0.5 毫米間距和 30 厘米長(zhǎng)的 FPC 電纜 ( https://www.aliexpress.com/item/1005002259855390.html ),作為特別購(gòu)買的單獨(dú)的 Google Coral相機(jī)附帶一個(gè)非常短的相機(jī)(我認(rèn)為 15 厘米)。

外殼的 CAD 文件可在我的 Thingiverse 上找到,并且可以輕松進(jìn)行 3D 打?。?/font>https://www.thingiverse.com/thing :5935267

減震器彈簧

MR-Bugg3 的標(biāo)準(zhǔn)減震器彈簧,WLToys 124019,非常柔軟,特別是背面土壤傳感器致動(dòng)器的重量增加,它們無(wú)法承受越野車的重量。好處是減震器中的彈簧可以用更硬的彈簧代替。我從全球速賣通 ( https://www.aliexpress.com/item/1005002511575059.html ) 訂購(gòu)了一套長(zhǎng) 40mm、直徑 16mm、厚 1.4mm 的線圈(庫(kù)存線圈為 1mm)。從測(cè)量來(lái)看,這些似乎是正確的尺寸,但由于彈簧尚未到貨,我無(wú)法對(duì)其進(jìn)行測(cè)試。

第 2 部分:傳感器平臺(tái)

傳感器平臺(tái)負(fù)責(zé)從環(huán)境中收集信息,在本應(yīng)用中是從田間土壤收集信息。它可以分為 4 個(gè)功能部分:

  • 傳感器采集板:采集板由一塊STM32F103藍(lán)色藥丸板組成(我手頭有),負(fù)責(zé)從傳感器(土壤和空氣)采集數(shù)據(jù)并進(jìn)行必要的轉(zhuǎn)換,以便傳遞給NavQPlus的數(shù)據(jù)是已經(jīng)處理了。
  • 土壤執(zhí)行器:土壤執(zhí)行器是為該項(xiàng)目開(kāi)發(fā)的具有力傳感功能的線性執(zhí)行器。它負(fù)責(zé)使土壤傳感器與土壤接觸。可以在其上安裝不同類型的土壤傳感器,但本項(xiàng)目中使用的是 3 合 1 土壤傳感器。
  • 土壤傳感器:土壤傳感器種類繁多,有些需要直接接觸,有些則不需要。這里使用直接接觸式,特別是來(lái)自 3 合 1 土壤傳感器。
  • 空氣傳感器:空氣傳感器為BOSCH為本次挑戰(zhàn)免費(fèi)提供的BME688氣體傳感器。它是一款出色的緊湊型傳感器,可提供溫度、濕度和壓力值,并集成了一種新型氣體傳感器,在 AI 模型的幫助下,可以檢測(cè)并在某些情況下區(qū)分不同的 VOC 和 VSC。

這 4 個(gè)部分共同構(gòu)成傳感器平臺(tái)并連接到 NavQPlus。NavQPlus 控制采集步驟,收集傳感器數(shù)據(jù)并發(fā)布它們。下面是一個(gè)框圖,顯示了這 4 個(gè)部分的概述以及它們?nèi)绾芜B接在一起,以及與 NavQPlus 的連接:

pYYBAGSBQaSALwnnAABi-JtKT2k673.png
采集系統(tǒng)概覽框圖。
?

下圖顯示了傳感器平臺(tái)的所有組件:

pYYBAGSBQaiAIrwjAAQmnaGdMNc296.png
傳感器平臺(tái)部件概述。
?

傳感器采集板

如上所述,采集板負(fù)責(zé)采集土壤傳感器(模擬信號(hào))和空氣傳感器(I2C)的信號(hào)。它僅包含一個(gè) STM32F103 藍(lán)色藥丸板,土壤傳感器通過(guò)緩沖放大器 (LM358) 連接到其模擬輸入(PA0 和 PA1)。BOSCH BME688 傳感器通過(guò) I2C(PB6 和 PB7)連接。然后,采集板本身通過(guò)串行接口(PA9 和 PA10 上的 UART)連接到 NavQPlus,后者請(qǐng)求并接收已處理的傳感器信息。

BME688 的控制在采集板上完成,使用 BOSCH 的 BME68x 庫(kù)。從土壤傳感器模擬信號(hào)到相關(guān)土壤參數(shù)的轉(zhuǎn)換也在采集板上完成。采集板上運(yùn)行的軟件可在附件(.zip文件)中找到并下載。

土壤執(zhí)行器

為了讓直接接觸式土壤傳感器與土壤接觸,將其插入土壤中,我必須設(shè)計(jì)一個(gè)執(zhí)行器。我選擇設(shè)計(jì)一個(gè)可以輕松進(jìn)行 3D 打印并且可以在未來(lái)用于其他應(yīng)用的線性致動(dòng)器。我添加到該致動(dòng)器的一個(gè)特殊功能是能夠感應(yīng)致動(dòng)力,特別是用于將托架“向下”推的力。添加這一點(diǎn)是因?yàn)閷?duì)于他的應(yīng)用程序,它可用于測(cè)量土壤的硬度,以及在它碰到堅(jiān)硬的表面(如巖石)時(shí)停止/中止驅(qū)動(dòng)并防止其舉起整個(gè) Buggy。

要構(gòu)建此執(zhí)行器,需要以下部件:

該組件的設(shè)計(jì)旨在簡(jiǎn)化 3D 打印,有利于需要組裝的較小零件,而不是較大的單件。執(zhí)行器的基礎(chǔ)由4個(gè)部分組成,底座,2個(gè)側(cè)面和電機(jī)安裝座。所有這些都與直接擰入塑料 M2.5 螺釘(電機(jī)安裝到頂側(cè)件)或 M2.5 螺母和螺釘(側(cè)件到底板)一起擰緊。完整的組裝說(shuō)明可以在 Thingiverse 頁(yè)面上找到。完全組裝好的執(zhí)行器,帶有步進(jìn)器、限位器和力傳感器,如下圖所示:

poYBAGSBQbCAQiIxABBZ_dZNCV4775.jpg
完全組裝的線性平臺(tái)。
?

力感測(cè)是通過(guò)使用自由移動(dòng)的托架和安裝在絲杠螺母上的推桿實(shí)現(xiàn)的。推桿通過(guò)兩個(gè)螺釘連接到托架,但有間隙,因此它可以在不移動(dòng)托架的情況下輕微地上下移動(dòng)。這個(gè)推動(dòng)器推動(dòng)托架,在接觸點(diǎn)增加了一個(gè)薄膜力傳感器。需要螺釘來(lái)防止推動(dòng)器旋轉(zhuǎn),并能夠?qū)⑼屑芾卦弧?/font>該組件如下圖所示:

pYYBAGSBQbaAEeDjAAtrfWAmzT8867.jpg
線性執(zhí)行器的力傳感組件。
?

該平臺(tái)由一個(gè)簡(jiǎn)單的電路板控制,該電路板由 Arduino Pro Mini 和 DRV8825 步進(jìn)驅(qū)動(dòng)器構(gòu)成(參見(jiàn):https ://microdigisoft.com/drv8825-motor-driver-and-28byj-48-stepper-motor-with-arduino /).我在這里忽略的一個(gè)小細(xì)節(jié)是,此步進(jìn)驅(qū)動(dòng)器僅適用于 8V 以上的電源電壓,因此它僅適用于幾乎充滿電的電池(2S lipo 完全充電有 8.4V)。此外,步進(jìn)電機(jī)是一個(gè) 5V 部件,因此步進(jìn)驅(qū)動(dòng)器會(huì)使電機(jī)稍微過(guò)載。從我的測(cè)試來(lái)看,這似乎不是問(wèn)題,即使沒(méi)有電流限制,電機(jī)也不會(huì)在一次完全啟動(dòng)所需的相對(duì)較短的時(shí)間內(nèi)變熱。另外,當(dāng)沒(méi)有運(yùn)動(dòng)發(fā)生時(shí),我會(huì)禁用步進(jìn)驅(qū)動(dòng)器,以避免過(guò)度驅(qū)動(dòng)電機(jī)。Arduino 還會(huì)對(duì)力傳感器進(jìn)行采樣,并在力高于閾值(開(kāi)始舉起 Buggy 的力值)時(shí)中止驅(qū)動(dòng)。Arduino 的這塊板的控制是通過(guò)串行 (UART) 接口使用簡(jiǎn)單的 ASCII 樣式命令完成的,

硬件、3D 打印部件可在我的 Thingiverse ( https://www.thingiverse.com/thing:5936797 ) 上獲得,而軟件、Arduino 代碼已添加到附件部分。

空氣傳感器

使用的空氣傳感器是 BME688,這是一款 4 合 1 緊湊型傳感器,在同一封裝內(nèi)包含溫度、壓力、濕度和氣體傳感器。溫度、濕度和壓力可以直接(通過(guò) I2C)讀出,而氣體傳感器可以使用 BME AI-Studio 進(jìn)行訓(xùn)練,以定制其對(duì)目標(biāo)應(yīng)用的靈敏度。遺憾的是,由于時(shí)間限制,我無(wú)法充分利用 BME688 傳感器,特別是針對(duì)我的應(yīng)用的氣體傳感器培訓(xùn)尚未完成,但軟件和工具已在采集板上就位。

土壤傳感器

如前所述,它們是各種不同的土壤傳感器。根據(jù)它們與土壤相互作用/采樣的方式,它們可以分為兩組:直接接觸傳感器和間接接觸傳感器。該項(xiàng)目使用第一類土壤傳感器,盡管最初我計(jì)劃使用 EM 傳感器原理在土壤中感應(yīng)磁場(chǎng)然后讀取反射和衰減的二次場(chǎng)來(lái)開(kāi)發(fā)低成本的間接接觸土壤傳感器。但是,再次,有限的時(shí)間讓我選擇了使用現(xiàn)成的直接接觸傳感器的更簡(jiǎn)單的解決方案。

實(shí)際上,我購(gòu)買了幾 (4) 個(gè)現(xiàn)成的傳感器,它們都很受歡迎,而且很容易在網(wǎng)上找到。其中兩個(gè)測(cè)量土壤的 EC(電導(dǎo)率),為此目的使用帶有兩個(gè)外露探針的 PCB。另一個(gè)測(cè)量土壤的介電特性(電容),同樣使用帶有兩個(gè)探針的 PCB,但這次它們與土壤隔離。最后是所謂的三合一土壤傳感器,它是為家庭使用而銷售的,它使用電流原理,因此是自供電的。下圖顯示了所有 4 個(gè)傳感器:

pYYBAGSBQb2AIOw3AA-W6Ftq9TU962.jpg
獲得的土壤傳感器,從左到右分別是兩個(gè) EC 傳感器、電容傳感器和三合一傳感器。
?

我在我愛(ài)植物的女朋友的幫助下,在不同的測(cè)試條件下測(cè)試了所有這四個(gè)傳感器。在“實(shí)驗(yàn)和結(jié)果”部分中有更多相關(guān)信息。最后,雖然最有前途的是電容式傳感器,但還是使用了三合一傳感器,因?yàn)樗亲顖?jiān)固的傳感器,可以插入土壤中,并且最容易與土壤驅(qū)動(dòng)平臺(tái)集成(非常長(zhǎng)探針?。?。

為了結(jié)束本節(jié),以及硬件部分,土壤傳感器的圖片安裝到安裝到 MR-Buggy3 的執(zhí)行器:

poYBAGSBQcSAbM9zABETR9VJbN4393.jpg
安裝在 MR-Buggy3 上的土壤傳感器和執(zhí)行器。
?

因此,從上圖可以看出,相對(duì)較重的執(zhí)行器安裝在 MR-Buggy3 的背面,可憐的 Buggy 觸底反彈。嬰兒車上的彈簧太軟了,特別是在增加重量的情況下。這就是減震器中的彈簧必須更換的原因,但由于我在項(xiàng)目后期才意識(shí)到這個(gè)問(wèn)題,新彈簧尚未到貨(而且這些彈簧的運(yùn)輸時(shí)間也很長(zhǎng)......)。

第 3 部分:大腦 (NavQPlus)

安裝并與 MR-Buggy3 集成的 NXP NavQPlus 構(gòu)成了自主采樣 Buggy 的中心。它負(fù)責(zé)管理 Buggy 上發(fā)生的所有動(dòng)作,在環(huán)境中四處移動(dòng),收集傳感器數(shù)據(jù),獲取任務(wù)并跟蹤它們,并報(bào)告回采樣數(shù)據(jù)(并非所有這些都已實(shí)現(xiàn)......)。負(fù)責(zé)或完成這些任務(wù)的代碼開(kāi)發(fā)為 ROS 2 節(jié)點(diǎn),在 NavQPlus 上運(yùn)行。ROS 2 節(jié)點(diǎn)的全局概覽以及軟件系統(tǒng)架構(gòu)的總體概覽如下方框圖所示:

?

由此我們可以看出,NavQPlus,即ROS 2個(gè)節(jié)點(diǎn)的任務(wù),可以分為4組:

  • 運(yùn)動(dòng):這些節(jié)點(diǎn)負(fù)責(zé)將 Buggy 從 A 點(diǎn)帶到 B 點(diǎn),同時(shí)跟蹤其位置 [大部分已實(shí)現(xiàn),但并非全部測(cè)試,一些參數(shù)未調(diào)整]。
  • 數(shù)據(jù)采集??:該節(jié)點(diǎn)負(fù)責(zé)將傳感器移動(dòng)到土壤執(zhí)行器的位置,從整個(gè)采集板上的傳感器收集數(shù)據(jù),并將它們發(fā)布到采集服務(wù)器(集線器)[大部分已實(shí)現(xiàn)]。它的代碼可以在這里找到:https://github.com/NotBlackMagic/AutoSQA-Acquistion
  • Mission Planning(和路徑跟隨):這些節(jié)點(diǎn)負(fù)責(zé)向任務(wù)服務(wù)器(Hub)請(qǐng)求一個(gè)新的Mission,并使Buggy跟隨任務(wù):在定義的點(diǎn)跟隨任務(wù)路徑和采樣點(diǎn),以及避開(kāi)障礙物和其他危險(xiǎn) [未實(shí)施]。
  • 圖像處理:這些節(jié)點(diǎn)負(fù)責(zé)通過(guò)深度感應(yīng)立體相機(jī)設(shè)置定位越野車路徑上的障礙物,并通過(guò)圖像識(shí)別在環(huán)境中找到有趣的特征。[只實(shí)施了立體相機(jī)的基本測(cè)試]。

其中一些部分,如運(yùn)動(dòng)和圖像處理,也可以獨(dú)立用于其他應(yīng)用程序。所有 ROS 2 節(jié)點(diǎn)均使用 ROS 2 Humble 開(kāi)發(fā),并經(jīng)過(guò)測(cè)試可在運(yùn)行預(yù)裝 ROS 2 的 Ubuntu 22.04 映像的 NavQPlus 上運(yùn)行(https://github.com/rudislabs/navqplus-create3-images/releases/tag/ v22.04.2 )。

以下小節(jié)將更詳細(xì)地討論其中一些部分并給出說(shuō)明。

運(yùn)動(dòng)

當(dāng)前版本的 PX4 自動(dòng)駕駛儀 Beta V1.14 僅支持流動(dòng)站和船的兩種飛行(駕駛?)模式,框架類型:手動(dòng)模式和任務(wù)模式,后者也僅支持 GPS。( https://docs.px4.io/main/en/getting_started/flight_modes.html#rover-boat )。由于這個(gè)原因,也因?yàn)槲业捻?xiàng)目需要對(duì) Buggy 進(jìn)行位置控制,我決定在 NavQPlus 上運(yùn)行的 ROS 2 中為 MR-Buggy3 實(shí)施一個(gè)完整的、離板的、運(yùn)動(dòng)和測(cè)距系統(tǒng)。我將其稱為運(yùn)動(dòng)系統(tǒng),并且我嘗試以一種方式設(shè)計(jì)它,以便將來(lái)可以將其基礎(chǔ)轉(zhuǎn)移到 PX4 自動(dòng)駕駛儀上。也正是在這里,開(kāi)發(fā)的車輪編碼器被集成到整個(gè)系統(tǒng)中。

Locomotion 系統(tǒng)作為一個(gè) ROS 2 包,由 7 個(gè)節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)在整個(gè)系統(tǒng)中只做一小部分。這些節(jié)點(diǎn)之間的交互,使用的消息類型和接口,以及每個(gè)節(jié)點(diǎn)的 python 文件的名稱,如下方框圖所示:

pYYBAGSBQcyAJQfIAADbyeKYPIk980.png
運(yùn)動(dòng)子系統(tǒng)概述框圖。
?

在我更好地解釋這些節(jié)點(diǎn)中的每一個(gè)之前,我們將看看我們?nèi)绾螌⑦\(yùn)行在 FMUK66 上的 PX4 連接到 NavQPlus 并將其集成到 ROS 2 中。從 Beta V1.14 開(kāi)始,PX4版本,將 PX4 連接到板外 PC 的兩種主要方式:使用 MAVLink 或使用 uROS 鏈接(使用 microDDS)。uROS 鏈接是 V1.14 版本的 PX4 的新鏈接,我只是用 SITL 模擬對(duì)其進(jìn)行了簡(jiǎn)短的測(cè)試,但它大大簡(jiǎn)化了與 PX4 之前版本的 ROS 的集成。讓我們快速瀏覽一下如何設(shè)置它。

PX4 通過(guò) uROS (microDDS) 到 ROS

在PX4端,啟動(dòng)microDDS服務(wù)很簡(jiǎn)單,在SD卡/etc/extras.txt中添加如下啟動(dòng)命令即可,當(dāng)microDDS服務(wù)要運(yùn)行在以太網(wǎng)上時(shí)(受到推崇的)。另請(qǐng)參閱: https: //docs.px4.io/main/en/modules/modules_system.html#microdds-clienthttps://docs.px4.io/main/en/ros/ros2_comm.html。

set +e
microdds_client start -t udp -p 14551 -h 10.0.0.3
set -e

或者這個(gè),如果它要在串行鏈路上運(yùn)行(不推薦并且可能由于串行鏈路的低帶寬而導(dǎo)致問(wèn)題):

set +e
microdds_client start -t serial -d /dev/ttyS3 -b 921600
set -e

這些命令啟動(dòng) PX4 上的 microDDS 服務(wù),它將在選定的接口上發(fā)布定義的 uORB 消息,然后可以通過(guò)機(jī)外計(jì)算機(jī)端的 uROS 訪問(wèn)(此處為 NavQPlus)。通過(guò)此接口發(fā)送和接收的 uORB 消息在文件中定義:src/modules/microdds_client/dds_topics.yaml. 根據(jù)應(yīng)用程序,應(yīng)該添加一些額外的 uORB 消息,比如能夠直接控制 Buggy,/fmu/in/manual_control_setpoint必須啟用消息,這可以通過(guò)在訂閱下添加此行來(lái)完成:

- topic: /fmu/in/manual_control_setpoint
  type: px4_msgs::msg::ManualControlSetpoint

PX4、FMUK66 端的設(shè)置完成后,我們可以繼續(xù)進(jìn)行外接計(jì)算機(jī)端的設(shè)置,這里是 NavQPlus。

在這里它就像遵循任何 uROS 教程一樣簡(jiǎn)單,就像可以在這里找到的官方教程一樣:https: //micro.ros.org/docs/tutorials/core/first_application_linux/也可以在這里找到https://github.com/ Jaeyoung-Lim/px4-offboard/blob/2d784532fd323505ac8a6e53bb70145600d367c4/doc/ROS2_PX4_Offboard_Tutorial.md,有關(guān) PX4 (SITL) 案例的更具體教程。本質(zhì)上,uROS 工具必須被克隆、構(gòu)建 (colcon)、創(chuàng)建代理、構(gòu)建和獲取它并最終將代理作為 ROS 2 節(jié)點(diǎn)運(yùn)行。有了這個(gè),PX4 消息現(xiàn)在可以作為 ROS 2 主題使用。要使用它們,請(qǐng)不要忘記將 ROS 2 的 PX4 消息定義克隆到您的 ROS 2 工作區(qū),可在此處找到: https: //github.com/PX4/px4_msgs 。

我只能用 SITL 模擬測(cè)試這個(gè)接口,因?yàn)樵谖夷軌驅(qū)⑽业?MAVLink 實(shí)現(xiàn)轉(zhuǎn)移到 ROS 2 之前,我通過(guò)錯(cuò)誤地將 USB 連接到串行適配器燒毀了我的 FMUK66 MCU:

poYBAGSBQdGANfNFAAMjcClEb58001.png
USB 轉(zhuǎn) UART 適配器插入方向錯(cuò)誤。
?

適配器 PCB 通常熱縮到 USB 到 UART 適配器,但我將其移除以便我可以恢復(fù) RX-TX 引腳。添加此節(jié)點(diǎn)是為了在執(zhí)行切換到 uROS(和 microDDS)連接時(shí),它之后的所有節(jié)點(diǎn)都可以直接與 PX4 交互。

消息轉(zhuǎn)換

該節(jié)點(diǎn)采用 PX4 ROS 主題并將它們轉(zhuǎn)換為 ROS 2 標(biāo)準(zhǔn)消息等價(jià)物。在這種情況下,它獲取“Sensor GPS”、“Sensor Combined”和“Attitude”PX4 消息,并將它們轉(zhuǎn)換為“NatSatFix.msg”和“Imu.msg”消息,然后由 Pose Estimation 節(jié)點(diǎn)使用,由機(jī)器人本地化包。

里程計(jì)

該節(jié)點(diǎn)獲取“Wheel Encoder”PX4 消息并使用阿克曼里程計(jì)模型(靈感來(lái)自:https://medium.com/@waleedmansoor/how-i-built-ros-odometry-for-差動(dòng)驅(qū)動(dòng)車輛無(wú)編碼器 c9f73fe63d87)。Ackermann 是 MR-Buggy3 使用的轉(zhuǎn)向類型,它給出了 Buggy 在給定轉(zhuǎn)向角和前進(jìn)速度下的位置變化。這也是使用開(kāi)發(fā)的車輪編碼器的地方,在沒(méi)有 GPS 的情況下獲得 Buggy 的位置估計(jì)。

現(xiàn)在,里程計(jì)節(jié)點(diǎn)僅將車輪編碼器信息用于前進(jìn)速度,并從發(fā)送到 Buggy 的轉(zhuǎn)向命令中獲取轉(zhuǎn)向角(根據(jù)“實(shí)驗(yàn)和結(jié)果”部分所示的測(cè)試適當(dāng)縮放)。未來(lái),特別是當(dāng)Buggy的4個(gè)輪子都有編碼器時(shí),編碼器的數(shù)值也可以用來(lái)計(jì)算Buggy的實(shí)際轉(zhuǎn)向角度。根據(jù)差動(dòng)齒輪引起的內(nèi)輪和外輪的速度差計(jì)算得出。它們還可以用于預(yù)測(cè)輪胎打滑并在里程計(jì)節(jié)點(diǎn)中為此校正位置估計(jì)。

速度控制器

顧名思義,速度控制器節(jié)點(diǎn)控制越野車的速度。它采用 Twist 消息主題,設(shè)置 Buggy 的目標(biāo)線速度和角速度,以及來(lái)自 Odometry 節(jié)點(diǎn)的 Odometry 消息主題作為反饋。對(duì)于前進(jìn)速度,實(shí)現(xiàn)了一個(gè) PID 控制器,它從 Twist 主題中獲取目標(biāo)前進(jìn)速度,并將其與當(dāng)前前進(jìn)速度進(jìn)行比較,從 Odometry 主題中計(jì)算,并計(jì)算傳遞給 Buggy 所需的手動(dòng)控制命令通過(guò)PX4到電機(jī)ESC。

該 PID 控制器是通過(guò)不接觸土壤的越野車、自由旋轉(zhuǎn)的輪子進(jìn)行調(diào)整的,可能需要針對(duì)田間以外的實(shí)際應(yīng)用進(jìn)行調(diào)整。此外,由于速度控制器是在車輪不與土壤接觸的情況下開(kāi)發(fā)的,因此實(shí)際上只使用了一個(gè)車輪編碼器值(提供更高 RPM 的那個(gè)),這是因?yàn)檐囕喿杂尚D(zhuǎn)并且由于差動(dòng)齒輪, 一個(gè)輪子通常根本不旋轉(zhuǎn)或慢得多(這同樣適用于里程計(jì)節(jié)點(diǎn))。

下圖顯示了當(dāng)設(shè)置(并移除)3 m/s 的目標(biāo)速度時(shí),由 PID 回路控制的 Buggy(橙色)的前進(jìn)速度:

poYBAGSBQdiAAABZAABxDMykvv8521.png
速度控制器 PID 回路輸出
?

測(cè)量的 Buggy 速度中的大尖峰部分是由于編碼器分??辨率低,低速有問(wèn)題,部分是因?yàn)檫@幾乎是 Buggy 速度的下限,因此當(dāng) PID 回路將輸出降低到很多時(shí),ESC 停止完全旋轉(zhuǎn)電機(jī)而不是更慢。但總而言之,它奏效了,至少在替補(bǔ)席上是這樣。

轉(zhuǎn)向控制沒(méi)有 PID 回路,它只是采用所需的角速度,并通過(guò)使用阿克曼模型,將它們轉(zhuǎn)換為轉(zhuǎn)向角,然后將其轉(zhuǎn)換為手動(dòng)控制命令。

位置控制器

顧名思義,位置控制器節(jié)點(diǎn)控制著越野車的位置。它采用 Stamped Pose 消息主題,設(shè)置 Buggy 的目標(biāo)位置(姿勢(shì)被忽略),以及來(lái)自 Odometry 節(jié)點(diǎn)的 Odometry 消息主題作為反饋。然后計(jì)算必要的線速度和角速度,這些速度作為 Twist 消息發(fā)布給速度控制器。

實(shí)施的位置控制器始終通過(guò)弧線從當(dāng)前位置移動(dòng)到目標(biāo)位置,其中 Buggy 的開(kāi)始和結(jié)束姿勢(shì)都與該弧線相切。這意味著線速度和角速度在整個(gè)運(yùn)動(dòng)過(guò)程中都是恒定的,除了線速度在開(kāi)始和結(jié)束時(shí)的斜坡上升和下降。參見(jiàn)下圖,作為位置控制器計(jì)算的軌跡示例,用于將 Buggy 從其起始姿勢(shì)移動(dòng)到目標(biāo)位置(僅使用目標(biāo)位置,姿勢(shì)/旋轉(zhuǎn)由位置控制器強(qiáng)制執(zhí)行):

poYBAGSBQd2AaWzjAAAxbH6GE_Q917.png
位置控制器沿著弧線計(jì)算軌跡。
?

為了進(jìn)行測(cè)試,通過(guò)設(shè)置目標(biāo)姿勢(shì),通過(guò) RVIZ 給出了目標(biāo)位置。此外,在測(cè)試期間,使用的 Odometry 消息主題是由 Odometry 節(jié)點(diǎn)發(fā)布的消息,而不是由 Pose Estimation 節(jié)點(diǎn)發(fā)布的消息,因?yàn)楹笳卟荒芎芎玫嘏c Buggy stationary 一起使用,本應(yīng)如此。

可悲的是,由于燃燒了 FMUK66,并且沒(méi)有事先拍攝任何結(jié)果/照片,我沒(méi)有顯示位置控制器實(shí)際工作的結(jié)果......

姿勢(shì)估計(jì)(robot_localization 包)

為了更準(zhǔn)確地估計(jì)越野車的位置,里程計(jì)信息應(yīng)與 IMU 和 GPS 信息融合。這就是這個(gè)節(jié)點(diǎn)所做的。Pose Estimation 節(jié)點(diǎn)運(yùn)行兩個(gè) EKF 過(guò)濾器實(shí)例,一個(gè)用于將里程計(jì)數(shù)據(jù)與 IMU 數(shù)據(jù)融合并將它們發(fā)布為局部里程計(jì)主題,另一個(gè)將其與 GPS 數(shù)據(jù)融合并將它們發(fā)布為全局 Odomtry 主題。這些節(jié)點(diǎn)來(lái)自 robot_localization 包,我按照包文檔中提供的說(shuō)明和設(shè)置進(jìn)行操作:http://docs.ros.org/en/melodic/api/robot_localization/html/index.html

重要的是我還沒(méi)有調(diào)整任何參數(shù),特別是必須修改協(xié)方差矩陣以反映 Buggy 的實(shí)驗(yàn)結(jié)果,以便從這些節(jié)點(diǎn)獲得準(zhǔn)確的位置估計(jì)。

鍵盤控制器

該節(jié)點(diǎn)用于測(cè)試,它發(fā)布速度控制器使用的 Twist 消息。獲取鍵盤輸入并將其轉(zhuǎn)換為 Twist 消息的線速度和角速度。

所有這些節(jié)點(diǎn)都可以在我的 GitHub 上找到,可以克隆并用作 ROS 2 包: https: //github.com/NotBlackMagic/MR-Buggy3-Offboard

數(shù)據(jù)采集

如本節(jié)開(kāi)頭所述,該節(jié)點(diǎn)負(fù)責(zé)將傳感器移動(dòng)到土壤執(zhí)行器的位置,從傳感器收集數(shù)據(jù),遍及采集板,并將它們發(fā)布到采集服務(wù)器(集線器)(大部分已實(shí)現(xiàn))。數(shù)據(jù)采集??節(jié)點(diǎn)有兩個(gè)串行連接,一個(gè)連接到執(zhí)行器控制器板,一個(gè)連接到采集板。這意味著我必須使用 NavQPlus 的兩個(gè) UART 接口,總共有 4 個(gè)可用。現(xiàn)在實(shí)際上并沒(méi)有 4 個(gè)易于訪問(wèn)的 UART 接口可用,有些是隱藏的,有些是已經(jīng)使用的:

  • UART1(“/dev/ttymxc0”):這個(gè)位于用于藍(lán)牙模塊的特殊接頭上,不易訪問(wèn)。
  • UART2(“/dev/ttymxc1”):這個(gè)在 JST-GH 接頭上很容易訪問(wèn),但用于串行終端。要使用它,必須先使用以下命令停止該服務(wù)systemctl stop serial-getty@ttymxc1 .service,然后我們必須允許自己使用命令實(shí)際使用它。sudo chmod 666 ttymxc1.這是用于連接執(zhí)行器控制器板的那個(gè)。
  • UART3(“/dev/ttymxc2”):這個(gè)在 JST-GH 標(biāo)頭上很容易訪問(wèn)并且可以免費(fèi)使用。不需要額外的配置或命令。這是用于連接采集板的那個(gè)。
  • UART4(“/dev/ttymxc3”):在 JST-GH 接頭上也很容易訪問(wèn),但默認(rèn)情況下它連接到 Cortex-M7,并且不容易用于 Cortex-A53 內(nèi)核以及 Linux。請(qǐng)參閱:https://community.nxp.com/t5/i-MX-Processors/IMX8-mini-UART4/td-p/935322

通過(guò)這些接口交換非常簡(jiǎn)單的 ASCII 命令和數(shù)據(jù)。對(duì)于空氣傳感器采集,本節(jié)點(diǎn)簡(jiǎn)單發(fā)送一個(gè)請(qǐng)求命令,“A;”,然后采集集線器對(duì)BME688進(jìn)行采樣并返回一個(gè)數(shù)據(jù)字符串,例如“T: 25.65, H: 49.45, P: 1015.65, R: 80526.12 ”。要對(duì)土壤進(jìn)行采樣,還需要執(zhí)行幾個(gè)步驟,首先將歸位命令發(fā)送到執(zhí)行器“H;”,然后該節(jié)點(diǎn)將等待直到通過(guò)輪詢執(zhí)行器“I;”完成移動(dòng)。之后,它發(fā)送向下移動(dòng)命令“D50;”,將執(zhí)行器向下移動(dòng) 50 毫米,土壤傳感器隨之進(jìn)入土壤。節(jié)點(diǎn)再次通過(guò)輪詢執(zhí)行器等待完成。當(dāng)?shù)竭_(dá)該位置時(shí),該節(jié)點(diǎn)向采集中心“S;”請(qǐng)求數(shù)據(jù),然后對(duì)土壤傳感器進(jìn)行采樣并返回采樣和處理后的數(shù)據(jù)。最后,該節(jié)點(diǎn)向執(zhí)行器發(fā)送另一個(gè)歸位命令,將土壤傳感器移回其靜止位置。然后將所有收集到的數(shù)據(jù)與 Buggy 的當(dāng)前位置打包在一起,來(lái)自 Odometry 消息主題,并通過(guò) UDP 發(fā)送到服務(wù)器。

它的代碼可以在這里找到:https://github.com/NotBlackMagic/AutoSQA-Acquistion

圖像處理

如“第 1 部分:機(jī)器人平臺(tái) (MR-Buggy3) ”部分所示,NavQPlus 的重大改進(jìn)/補(bǔ)充之一是第二個(gè) ISP,相機(jī)接口,允許實(shí)施立體相機(jī)設(shè)置,用于深度感知。在同一部分中,我還展示了基于兩個(gè) Google Coral 相機(jī)創(chuàng)建的立體相機(jī)設(shè)置,它們之間的距離為 70 毫米。理想情況下,立體相機(jī)對(duì)應(yīng)該是具有全局快門和固定焦距的低分辨率黑白相機(jī)(例如來(lái)自 ArduCam RPI 全局快門相機(jī)的 OV7251 或來(lái)自新的 RPI 全局快門相機(jī)模塊的 IMX296),但 Google Coral 相機(jī)在這個(gè)階段。

用于連接相機(jī)的軟件是 Python 中的 OpenCV。開(kāi)發(fā)的第一個(gè)測(cè)試代碼是從立體相機(jī)創(chuàng)建 3D 立體紅青色圖片。為此遵循的代碼和教程是: https: //learnopencv.com/making-a-low-cost-stereo-camera-using-opencv/

看下面MR-Buggy3的3D Anaglyph圖片,3D效果不是最好的,需要相當(dāng)多的調(diào)整才能將兩個(gè)幀彼此靠近以改善效果。

pYYBAGSBQeGAHg1dAACK7sf_jL8566.png
生成立體 3D 圖片的立體相機(jī)。
?

使用立體攝像頭設(shè)置的真正目的是在 Buggy 上獲得深度感知,并進(jìn)行障礙物檢測(cè)和避開(kāi)。由于時(shí)間限制,我只能開(kāi)始這部分,啟動(dòng)并運(yùn)行基本軟件,并嘗試使用相機(jī)分辨率(參見(jiàn)“實(shí)驗(yàn)和結(jié)果”部分)和視差參數(shù)校準(zhǔn)。同樣,使用的教程和代碼來(lái)自此處:https://learnopencv.com/depth-perception-using-stereo-camera-python-c/

請(qǐng)參見(jiàn)下方視差校準(zhǔn) GUI 的示例屏幕截圖,底部顯示視差,右側(cè)顯示原始左右攝像頭圖像,右側(cè)控制臺(tái)顯示幀時(shí)序和幀速率(使用 320x240 分辨率) .

pYYBAGSBQeSAfOi7AAG_PwQQofk630.png
立體相機(jī)視差標(biāo)定、深度感知標(biāo)定。
?

我必須在這里補(bǔ)充一點(diǎn),這是我第一次接觸 OpenCV,在 NavQPlus 和兩個(gè) Coral 相機(jī)上使用 OpenCV 和 python 的幾乎完美的工作流程使它成為一個(gè)很棒的體驗(yàn),并將繼續(xù)探索這條道路!我還必須對(duì)https://learnopencv.com網(wǎng)站的作者大聲疾呼,指南和代碼示例非常棒!

雖然所有使用的代碼大部分只是來(lái)自https://learnopencv.com ( https://github.com/spmallick/learnopencv )的代碼,我還是把它添加到我的 GitHub 上,這樣它就可以即插即用了NavQPlus: https: //github.com/NotBlackMagic/NavQPlus-OpenCV

第 4 部分:圖形用戶界面

為了在更高層次上控制 Buggy、計(jì)劃任務(wù)和監(jiān)控采樣傳感器數(shù)據(jù),開(kāi)發(fā)了一個(gè) GUI 界面。開(kāi)發(fā)的GUI界面使用Unity游戲引擎。這個(gè) Unity 項(xiàng)目有兩個(gè)主要任務(wù),即根據(jù)使用的輸入生成任務(wù)計(jì)劃、生成路徑和樣本位置以及以簡(jiǎn)單的方式向用戶顯示樣本數(shù)據(jù)。現(xiàn)在只有部分實(shí)現(xiàn)了。

從顯示采樣傳感器數(shù)據(jù)開(kāi)始,Unity 項(xiàng)目托管一個(gè) UDP 服務(wù)器,Buggy 可以向其發(fā)布傳感器數(shù)據(jù)消息。傳感器數(shù)據(jù)消息包含采樣傳感器值以及采樣位置。然后在 Unity 項(xiàng)目中使用它來(lái)生成顯示傳感器值的彩色熱圖的紋理。傳感器值按可配置的半徑擴(kuò)展。這可以在下圖中看到,其中顯示了采樣的氣溫?cái)?shù)據(jù)(覆蓋有地形的自上而下圖像):

pYYBAGSBQeeAcnQEAAHnHLtjnok972.png
傳感器數(shù)據(jù)表示示例。
?

該系統(tǒng)不僅限于從 Buggy 接收數(shù)據(jù),事實(shí)上,許多不同的傳感器站,無(wú)論是移動(dòng)的還是固定的,都可以發(fā)送帶有位置的傳感器數(shù)據(jù),所有這些都可以在 Unity 中合并到一個(gè)簡(jiǎn)單的熱圖表示中。

這個(gè) Unity 項(xiàng)目的第二個(gè)任務(wù)是在高層控制 Buggy。我們的想法是,我們可以通過(guò)遙測(cè) MAVLink 連接武裝 Buggy,然后 Buggy 將從 Unity 服務(wù)器請(qǐng)求執(zhí)行任務(wù)。只實(shí)現(xiàn)了這一點(diǎn),MAVLink 連接正常,可以從 Unity 項(xiàng)目武裝 Buggy(它還將 Buggy 設(shè)置為手動(dòng)控制模式,這是運(yùn)動(dòng)部分所必需的)。

關(guān)于通過(guò) MAVLink 設(shè)置飛行模式的旁注,我在官方文檔中找不到任何關(guān)于在“command_long”MAVLink 命令中使用哪些參數(shù)、值來(lái)切換到特定模式的信息……幸運(yùn)的是有人在社區(qū)發(fā)現(xiàn)了這一點(diǎn),從我的測(cè)試來(lái)看它們似乎是正確的:https://discuss.px4.io/t/mav-cmd-do-set-mode-all-possible-modes/8495

還實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的點(diǎn)擊和拖放路徑創(chuàng)建,以及路徑平滑:將尖角轉(zhuǎn)換為圓弧,可以由 Buggy 實(shí)際執(zhí)行的運(yùn)動(dòng),以及位置控制器的工作方式。如下圖所示(藍(lán)色為原始路徑,來(lái)自點(diǎn)擊和放置,紅色為帶圓弧的平滑路徑,完整的圓圈顯示為調(diào)試步驟):

poYBAGSBQeqAFKRHAAILivh_ssU900.png
路徑平滑示例。
?

遺憾的是,這就是實(shí)現(xiàn)的功能停止的地方,沒(méi)有從繪制的路徑創(chuàng)建任務(wù),也沒(méi)有將路徑傳輸?shù)?Buggy(還),這也將通過(guò) UDP 連接完成(存根代碼已經(jīng)存在)。

Unity 項(xiàng)目可在我的 GitHub 上找到: https: //github.com/NotBlackMagic/AutoSQA-Hub

實(shí)驗(yàn)和結(jié)果

本節(jié)包含一些、記錄的、為該項(xiàng)目所做的實(shí)驗(yàn)以及獲得的結(jié)果。

越野車測(cè)試

為了正確實(shí)施運(yùn)動(dòng)軟件來(lái)控制 Buggy,我必須首先做一些實(shí)驗(yàn)來(lái)收集 Buggy 的基本駕駛特性:PX4 手動(dòng)控制命令值到真實(shí)世界的駕駛。為此進(jìn)行了兩項(xiàng)測(cè)試,首先是為了獲得前向推力手動(dòng)控制命令與實(shí)際越野車速度之間的關(guān)系。Buggy 速度是在輪子懸空的長(zhǎng)凳上獲得的,并使用了開(kāi)發(fā)的車輪編碼器。結(jié)果如下圖所示:

pYYBAGSBQeyAAqcrAACxjExHl2Y667.png
手動(dòng)控制推力與 MR-Buggy3 的前進(jìn)速度。
?

因?yàn)檫@個(gè)結(jié)果是在車輪自由旋轉(zhuǎn)時(shí)獲得的,所以現(xiàn)實(shí)世界的速度會(huì)更低,應(yīng)該在未來(lái)通過(guò)現(xiàn)場(chǎng)測(cè)試進(jìn)行修正。此外,通過(guò)減少電機(jī)傳動(dòng)裝置獲得的結(jié)果,因此開(kāi)箱即用的 MR-Buggy3 將具有更高的速度。最后,使用的PX4固件為V1.14 Beta,增加了倒車功能。

接下來(lái)的測(cè)試是獲取轉(zhuǎn)向手動(dòng)控制指令與實(shí)際轉(zhuǎn)向角之間的關(guān)系。用于測(cè)量轉(zhuǎn)向角的設(shè)置如下圖所示:

pYYBAGSBQiCANNOnABF6USsLqHs470.jpg
轉(zhuǎn)向角校準(zhǔn)設(shè)置。
?

可以看出,一根棍子綁在輪子上,測(cè)量了與靜止的距離。通過(guò)一些基本的三角函數(shù),我們可以得到實(shí)際的轉(zhuǎn)向角,如下圖所示:

poYBAGSBQiOADHj9AACsH6RRmGU318.png
手動(dòng)控制轉(zhuǎn)向與 MR-Buggy3 的轉(zhuǎn)向角。
?

此結(jié)果適用于開(kāi)箱即用的 MR-Buggy3,因?yàn)槲磳?duì)轉(zhuǎn)向硬件或參數(shù)進(jìn)行任何更改。然后將獲得的關(guān)系用于里程計(jì)和速度控制器 ROS 2 節(jié)點(diǎn)中的阿克曼計(jì)算。

采集和傳感器測(cè)試

如前所述,在“第 2 部分:傳感器平臺(tái)”一節(jié)中,我購(gòu)買了幾個(gè)(4 個(gè))不同的土壤傳感器。然后我和我的女朋友一起測(cè)試了它們,因?yàn)樗矚g植物和園藝,所以很高興能測(cè)試一些土壤傳感器。我們?cè)O(shè)置了兩種不同的測(cè)試,一種用于評(píng)估傳感器輸出與土壤濕度的關(guān)系,另一種用于查看傳感器對(duì) pH 值的免疫力。

第一個(gè)測(cè)試,土壤濕度,我們使用便宜的盆栽土壤混合物,并用相同數(shù)量的土壤填充 5 個(gè)盆。然后將一個(gè)晾干以獲得干重,同時(shí)添加另外 4 種不同量的水(一種不加水)。然后,這給了我們 5 種不同且已知的水與土壤混合物。然后使用每個(gè)土壤傳感器對(duì)土壤進(jìn)行采樣,并為每個(gè)盆使用每個(gè)傳感器采樣 5 個(gè)點(diǎn),并對(duì)結(jié)果進(jìn)行平均。下圖顯示了獲得的結(jié)果(請(qǐng)參閱“第 2 部分:傳感器平臺(tái)”部分以了解所使用的傳感器):

poYBAGSBQieAUNOfAAFe2ag5gGE031.png
土壤傳感器與土壤濕度水平。
?

我們可以看到使用電容式傳感器獲得的最佳結(jié)果,這也是預(yù)期的,因?yàn)橥ǔUJ(rèn)為它對(duì)土壤礦化等其他變量的依賴性較低,然后是其他測(cè)試傳感器。

使用土壤傳感器進(jìn)行的第二項(xiàng)測(cè)試是評(píng)估與 pH 水平的依賴性,并測(cè)試三合一土壤傳感器的 pH 傳感器。這是使用 2 種不同的瓶裝水完成的,具有不同的 pH 值,一種堿性和一種酸性,以及中性樣品(蒸餾水)。本實(shí)驗(yàn)的結(jié)果如下圖所示:

pYYBAGSBQimAKqX0AAE6azkv45Y939.png
土壤傳感器與 pH 值。
?

我們可以看到只有三合一土壤傳感器對(duì) pH 水平具有單調(diào)響應(yīng),但遺憾的是對(duì)于測(cè)量輸出、濕度和 pH 值。所有其他傳感器給出了非常不同的值,特別是蒸餾水。我的猜測(cè)是,這是由于不同的礦化作用而不是 pH 值,因?yàn)樗褂玫钠垦b水之間存在差異,并且礦化度高于蒸餾水(應(yīng)該接近 0)。應(yīng)進(jìn)行另一項(xiàng)測(cè)試,其中只有礦化發(fā)生變化,同時(shí)保持 pH 值接近中性。

最后,對(duì)致動(dòng)器力傳感器進(jìn)行了測(cè)試/校準(zhǔn)。這是通過(guò)放置在土壤傳感器探頭下方的秤來(lái)完成的,土壤傳感器探頭由土壤執(zhí)行器固定,然后在頂部添加不同的重量并記錄秤輸出和力傳感器輸出。有關(guān)所使用的設(shè)置,請(qǐng)參見(jiàn)下圖:

poYBAGSBQjGAAHj4AA_ASltRHkI239.jpg
土壤執(zhí)行器力傳感器校準(zhǔn)。
?

該測(cè)試的結(jié)果如下圖所示。假設(shè)土壤探針的圓形橫截面是扁平的,則計(jì)算壓力。

poYBAGSBQjSAV_QLAAKKY8h7bbo104.png
力傳感器輸出與施加的力。
?

OpenCV 深度測(cè)試

我用深度感測(cè)軟件、視差校準(zhǔn)、不同的分辨率做了一些測(cè)試,并記錄了用它們實(shí)現(xiàn)的幀時(shí)間和幀速率:

pYYBAGSBQjaABTaHAAAhE6fQDXQ221.png
深度映射分辨率與幀時(shí)間。
?

Bellow 也是其中 3 種分辨率生成的視差圖的比較。場(chǎng)景與“圖像處理”部分中所示的場(chǎng)景相同,帶有立體 3D 圖片。差異部分是由于使用的分辨率不同,但也由于每個(gè)使用的參數(shù)不同。

pYYBAGSBQjmAZOnAAADn0eyKXZo257.png
不同分辨率的視差圖。
?

未來(lái)的工作

從這個(gè)項(xiàng)目的整個(gè)過(guò)程中可以看出,有很多未完成的部分。對(duì)于未來(lái)的工作,我將主要集中在改進(jìn)開(kāi)發(fā)的 Wheel Encoder,添加 CAN 接口并支持 Buggy 的所有 4 輪。以及運(yùn)動(dòng)部分,并致力于將其部分移動(dòng)到 PX4 自動(dòng)駕駛儀固件中(已經(jīng)在 Twitter 上就此進(jìn)行了一些聯(lián)系和合作興趣)。我還將使用 OpenCV 在 NavQPlus 上繼續(xù)探索立體相機(jī)設(shè)置。我仍然想開(kāi)發(fā)基于 EM 的土壤傳感器,但會(huì)看到。

貢獻(xiàn)和社區(qū)參與

我對(duì) NXP GitBooks 做了兩個(gè)小貢獻(xiàn)。首先是 MR-Buggy3 構(gòu)建指南。添加了有關(guān)使用帶有 T 型電源連接器的 ESC 時(shí)安裝沖突的部分(PR: https: //github.com/NXPHoverGames/GitBook-NXPCup/pull/2)。其次是 NavQPlus GitBook,添加了有關(guān)在 NavQ GitBook 中通過(guò)以太網(wǎng)使用 MAVLink 的章節(jié),并進(jìn)行了更改以反映使用的 Ubuntu 22.04 圖像(PR:https: //github.com/NXPHoverGames/GitBook-NavQPlus/pull/7)。

我也在努力將 Wheel Encoder 更好地集成到 PX4 固件中,目前我還沒(méi)有做任何 PR,因?yàn)轵?qū)動(dòng)程序非常簡(jiǎn)單和早期,我想先把它刷出來(lái)并更好地測(cè)試。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)