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

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

3天內(nèi)不再提示

如何使用DonkeyCar平臺(tái)構(gòu)建一個(gè)自主機(jī)器人

科技觀察員 ? 來源:hackster.io ? 作者:hackster.io ? 2022-04-18 17:19 ? 次閱讀

受到Plantvillage.psu.edu和iita.org工作的啟發(fā),我們希望使用DonkeyCar平臺(tái)構(gòu)建一個(gè)自主機(jī)器人。

機(jī)器人可以在農(nóng)場(chǎng)環(huán)境中移動(dòng)而不會(huì)損壞現(xiàn)有植物或土壤,并使用物體檢測(cè)來查找和標(biāo)記病害作物具有環(huán)保色彩。傳統(tǒng)上,在大多數(shù)高科技案例中,我們都必須使用手機(jī)手動(dòng)檢查大型農(nóng)場(chǎng)以標(biāo)記農(nóng)作物,這會(huì)花費(fèi)我們大量的時(shí)間和精力。此外,使用的各種手機(jī)不一定具備高效完成任務(wù)所需的所有功能,或者他們必須等待擁有合適設(shè)備的人。圍繞農(nóng)場(chǎng)運(yùn)行的統(tǒng)一機(jī)器人平臺(tái)將解決這些問題并使標(biāo)記速度更快。速度還可以更輕松地在多個(gè)農(nóng)場(chǎng)之間共享平臺(tái)。

挑戰(zhàn):

保持機(jī)器人的尺寸/重量足夠小,以免損壞作物本身。

在不損壞現(xiàn)有作物的情況下導(dǎo)航。

尋找一種安全標(biāo)記患病作物的方法。

尋找一個(gè)數(shù)據(jù)集和農(nóng)場(chǎng)來測(cè)試平臺(tái)

pYYBAGJdLO6AIrKTAADoaiwhRGU928.png

背景:

除了在方法、技術(shù)、時(shí)間安排等方面找到共同點(diǎn)之外,我們還必須制定一個(gè)包含會(huì)議時(shí)間表、存儲(chǔ)庫(kù)、會(huì)議技術(shù)等的框架。從本質(zhì)上講,專業(yè)項(xiàng)目的所有組成部分都必須到位,除了沒有報(bào)酬。我們沒有預(yù)算,不過這不是問題,因?yàn)槲覀冇泄餐脑妇昂蛨?zhí)行意愿。在這段時(shí)間,我們都度過了愉快的時(shí)光,這是一次了不起的學(xué)習(xí)經(jīng)歷。

構(gòu)建機(jī)器人:

底盤、自主導(dǎo)航和圖像分類的工作立即開始,進(jìn)展順利。但我們遇到了與底盤和驅(qū)動(dòng)系統(tǒng)相關(guān)的重大意外挑戰(zhàn)和延誤。

簡(jiǎn)而言之,我們沒有預(yù)料到測(cè)試溫室之間會(huì)出現(xiàn)如此多變的地形,在場(chǎng)景A中表現(xiàn)良好的電機(jī)、輪子、接線、控制等在場(chǎng)景B中不堪重負(fù)。我們通過大量的mod撥入了一個(gè)適用于我們所有環(huán)境的工作機(jī)箱。所以我們不得不做出大量時(shí)間和預(yù)算限制,但最終產(chǎn)品超出了我們最初的最小可行配置目標(biāo)。提交時(shí)的最終設(shè)計(jì)如下所述。

相機(jī)桿:

為了能夠觀察凸起的植物床,并可能升級(jí)到可以觀察番茄植物頂部和底部的移動(dòng)攝像頭,我們使用從車庫(kù)出售的碳纖維桿建造了一個(gè)攝像桿。該桿裝有2個(gè)3D打印夾具,用于導(dǎo)航和分類攝像頭。我們還在桿子上添加了1.2v太陽(yáng)能照明,以及在泳池頂部添加了12v多色狀態(tài)燈。是的,那是一個(gè)在桿子頂部涂成黑色的重新利用的藥丸容器。最終效果非常好!

pYYBAGJdLOqAXywXAAVv0k-8_n8898.png

這些相機(jī)是連接到兩個(gè)由USB充電器供電的不同Pi上的RaspberryPi相機(jī)。使用2Pi的原因是分類和導(dǎo)航都使用需要大量處理能力的神經(jīng)網(wǎng)絡(luò)。此外,分類攝像頭必須指向植物,而導(dǎo)航攝像頭必須指向前方。桿子的頂部也必須有燈作為指示器。在尋找足夠亮的RGB燈時(shí),我們發(fā)現(xiàn)它們要花費(fèi)100美元以上,所以我們使用揚(yáng)聲器的燈、一個(gè)用于反射的小塑料袋并裝在一個(gè)空藥瓶中制作了自己的燈。因?yàn)闊粜枰?2伏我們的Arduino輸出為5伏,我們將其連接到繼電器。連接需要與Arduino和3根電線共同接地,我們?cè)贏rduino的引腳7、8和11上放置的綠色和藍(lán)色燈。我們可以通過使用analogWrite函數(shù)為所有三根線提供不同的值來模擬這些燈的RGB光譜。請(qǐng)注意,為了正確著色,所有三個(gè)都需要寫入,否則之前在任何一個(gè)引腳上寫入的顏色可能會(huì)顯示出意想不到的結(jié)果。

pYYBAGJdLOWAEioRAASDK5BnYWI274.png

機(jī)殼:

我們?cè)赟toneCoop和GrowingHope農(nóng)場(chǎng)對(duì)帶有輪子和履帶的塑料底盤進(jìn)行的實(shí)驗(yàn)證明是不成功的,這兩種選擇都將挖入有利于植物的沙地。我們剝離了其中一個(gè)臨時(shí)底盤版本很多塑料齒輪在升級(jí)到金屬之前和處理更高電流的能力:

poYBAGJdLOCAdsYQAAWoTHnq4jQ371.png

由于其強(qiáng)大的電機(jī)和大輪子,我們最終選擇了MountainArkSR13底盤,并按照以下說明進(jìn)行組裝。

我們對(duì)MountainArk進(jìn)行了修改,添加了一個(gè)平臺(tái)以將計(jì)算技術(shù)與電源分開,并通過定制涂漆的輕質(zhì)外殼和獨(dú)特的徽標(biāo)為Farmaid增添了一絲風(fēng)格。

pYYBAGJdLNuAfP3LAANpTAFQPTw861.png

組裝好底盤后,我們需要電機(jī)和電池為其供電。雖然底盤帶有電池盒,但我們決定使用12V鋰聚合物電池,因?yàn)槲覀円呀?jīng)有了可用的電池,并且已將其與舊底盤一起使用。電機(jī)使用接線盒連接到電池,以獲得更高的電流消耗。

poYBAGJdLNeAHHNwAAM3jhknqZo118.png

我們最初使用的是我們擁有的普通L298電機(jī)控制器,但發(fā)現(xiàn)電流太低,無(wú)法為我們現(xiàn)在擁有的320RPM電機(jī)供電。因此,我們改用IBT-2電機(jī)控制器,這是另一個(gè)創(chuàng)客空間成員捐贈(zèng)的。IBT-2電機(jī)控制器的問題在于它們只能控制1個(gè)電機(jī),所以我們必須連接其中的4個(gè)。

IBT-2的詳細(xì)信息可以在這里看到:http://www.hessmer.org/blog/2013/12/28/ibt-2-h-bridge-with-arduino/為了節(jié)省布線空間,我們拼接了左右PWM線,接頭將左側(cè)電機(jī)和右側(cè)電機(jī)的L-PWM和R-PWM相互連接。

pYYBAGJdLNOAFrf7AASmowTf9eg097.png

我們使用的另一種節(jié)省空間的技術(shù)是將所有電機(jī)的使能引腳直接連接到Arduino的5伏電壓。

poYBAGJdLM-APILAAAQlOCQ5Ii8448.png

在此之后,我們需要直接連接到Arduino的唯一電機(jī)部分是PWM引腳。在左側(cè),我們將左側(cè)電機(jī)的R_PWM連接到Arduino上的6引腳,將L_PWM連接到5引腳。請(qǐng)注意,左側(cè)兩個(gè)控制器的R_PWM引腳和左側(cè)兩個(gè)控制器上的L_PWM是拼接的,因此向一個(gè)的正向命令將同時(shí)向前移動(dòng),向一個(gè)反向命令將在左側(cè)的兩個(gè)輪子反轉(zhuǎn)。右側(cè)也進(jìn)行了同樣的拼接。右側(cè)的R_PWM連接到Arduino的9針,L_PWM連接到Arduino的10針。對(duì)于碰撞檢測(cè),我們首先嘗試了我們小組成員中的一個(gè)Garmin激光雷達(dá),但我們很難讓它工作,所以我們決定使用SR04超聲波傳感器。

poYBAGJdLMqAQ18kAASQpy_Neag488.png

我們還在后面添加了另一個(gè)傳感器,但由于使用定時(shí)器中斷的方式,我們無(wú)法在手動(dòng)控制機(jī)器人的同時(shí)使用它。請(qǐng)注意,我們制作了另一個(gè)Arduino例程,僅使用傳感器在障礙物之間移動(dòng)機(jī)器人,但這不符合行為克隆方法。

pYYBAGJdLMWABJcvAAUFnvomIec020.png

駕駛:

由于我們無(wú)法使用類似于驢車的底盤,因?yàn)樗鼰o(wú)法在我們給定的環(huán)境中行駛,因此我們必須編寫自己的駕駛代碼。為此,我們使用了兩個(gè)靈感,DonkeyCar自己的***rSentdex的一系列視頻。駕駛模型基于DonkeyCar,除了沒有回歸和均方誤差,我們使用分類來使用圖像在7個(gè)按鈕之間進(jìn)行分類。我們還將它轉(zhuǎn)換成一個(gè)全卷積神經(jīng)網(wǎng)絡(luò),使其更快,并與新的研究相一致。在測(cè)試中,我們發(fā)現(xiàn)它不斷輸出一個(gè)按鈕,這與訓(xùn)練中我們?cè)趲讉€(gè)間隔后按下一個(gè)鍵不同。為了解決這個(gè)問題,我們后來在Arduino腳本中添加了一些代碼來輸出按鈕按下之間經(jīng)過的時(shí)間。

病株分類:

對(duì)于分類,我們使用MobileNetSSD模型,因?yàn)樗某叽缦鄬?duì)較小,而且它已經(jīng)有一種上傳到安卓應(yīng)用程序的方法。我們通過使用5-10秒的視頻獲取數(shù)據(jù)并創(chuàng)建了一個(gè)腳本來從這些視頻中提取圖像視頻。視頻本身被放置在以疾病和植物命名的文件夾中。我們確保在不同的條件和不同的地點(diǎn)拍攝這些視頻。整個(gè)訓(xùn)練數(shù)據(jù)集由大約2000張圖像組成。我們還制作了一個(gè)網(wǎng)站來展示分類的輸出以及溫室及其植物健康的整體地圖。該網(wǎng)站使用XML數(shù)據(jù)創(chuàng)建此網(wǎng)格。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28103

    瀏覽量

    205852
  • 自主機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    7875
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器人想要實(shí)現(xiàn)智能移動(dòng),必須具備超強(qiáng)的自主定位導(dǎo)航能力

    ```` 移動(dòng)機(jī)器人想要在完全陌生的環(huán)境中(沒有預(yù)先錄入地圖的情況下)實(shí)現(xiàn)智能導(dǎo)航,顯然不是那么簡(jiǎn)單。所以,移動(dòng)機(jī)器人實(shí)現(xiàn)智能化的第步,當(dāng)然是像
    發(fā)表于 01-03 11:41

    SLAM不等于機(jī)器人自主定位導(dǎo)航

    和運(yùn)動(dòng)控制。在SLAM技術(shù)幫助機(jī)器人確定自身定位和構(gòu)建地圖之后,進(jìn)行個(gè)叫做目標(biāo)點(diǎn)導(dǎo)航的能力。通俗的說,就是規(guī)劃條從A點(diǎn)到B點(diǎn)的路徑出來,
    發(fā)表于 08-24 16:56

    【MAX40056申請(qǐng)】自主機(jī)器人的BLDC驅(qū)動(dòng)

    項(xiàng)目名稱:自主機(jī)器人的BLDC驅(qū)動(dòng)試用計(jì)劃:目前項(xiàng)目基于傳統(tǒng)六步方波的BLDC驅(qū)動(dòng), 想逐步改進(jìn)成FoC方式, 需要更精密的電流采樣。想評(píng)估下MAX40056在電機(jī)線上的直接電流采集, 因?yàn)闆]有窗口期的問題, 可以任意時(shí)間采樣電流。
    發(fā)表于 09-02 11:03

    怎么構(gòu)建張滿足機(jī)器人導(dǎo)航需求的地圖?

    定位導(dǎo)航技術(shù)使機(jī)器人即使在無(wú)人操控的情況下,也可實(shí)現(xiàn)自主行走、避障及順利到達(dá)目的地,機(jī)器人和人類繪制地圖樣,在描述環(huán)境及認(rèn)識(shí)環(huán)境的過程中都需要依靠地圖,它主要利用地圖類描述其當(dāng)前環(huán)境
    發(fā)表于 08-18 06:47

    微信控制的家庭智能機(jī)器人(附語(yǔ)音聊天、人臉檢測(cè)、自主巡航等)

    今天給大家分享個(gè)很不錯(cuò)的資料,大家有時(shí)間可以用來參考參考。該項(xiàng)目是基于嵌入式開發(fā)平臺(tái)機(jī)器人,主要使用樹莓派和arduino作為核心控制,在互聯(lián)網(wǎng)這個(gè)大的
    發(fā)表于 09-30 14:33

    機(jī)器人是什么?

    我們,也就是說,我們手動(dòng)給他們發(fā)出指令。有些非常聰明,因?yàn)樗麄兡芨兄h(huán)境,在沒有人類干預(yù)的情況下工作。下面將給你個(gè)洞察類型的機(jī)器人:-自主機(jī)器人
    發(fā)表于 03-31 10:31

    DIY個(gè)友好型自主機(jī)器人

    描述ISLA 自主機(jī)器人ISLA 項(xiàng)目是個(gè) DIY 友好型自主機(jī)器人,主要使用通孔組件,使得這種設(shè)計(jì)對(duì)于任何有錢、Raspberry Pi Pico 和烙鐵的人來說都非常容易實(shí)現(xiàn)。我
    發(fā)表于 07-13 06:18

    自制個(gè)單獨(dú)行走的機(jī)器人

    描述自主機(jī)器人這個(gè)項(xiàng)目是個(gè)單獨(dú)行走的機(jī)器人,奇妙的是它的簡(jiǎn)單和使用很少的組件,它走在條黑色的“軌道”線上。你會(huì)喜歡的,它很受孩子們歡迎。
    發(fā)表于 07-13 07:30

    毫米波技術(shù)如何為自主機(jī)器人提供邊緣智能

    本文討論毫米波技術(shù)如何為自主機(jī)器人提供邊緣智能,使傳感器能夠做出實(shí)時(shí)決策,以減緩或停止機(jī)器人,并確保其在工業(yè)機(jī)器人應(yīng)用中的持續(xù)性能。 TI毫米波傳感器可用于旨在幫助工業(yè)機(jī)器人避免碰撞的
    發(fā)表于 11-09 08:08

    自主機(jī)器人足球系統(tǒng)的通信機(jī)制

    電子開發(fā)機(jī)器人相關(guān)教程資料——自主機(jī)器人足球系統(tǒng)的通信機(jī)制
    發(fā)表于 09-06 16:42 ?0次下載

    自主機(jī)器人避障方法研究

    電子開發(fā)機(jī)器人相關(guān)教程資料——自主機(jī)器人避障方法研究
    發(fā)表于 09-06 16:42 ?0次下載

    自主機(jī)器人目標(biāo)預(yù)測(cè)

    自主機(jī)器人目標(biāo)預(yù)測(cè),感興趣的小伙伴們可以瞧瞧。
    發(fā)表于 09-18 17:15 ?0次下載

    ISLA是個(gè)DIY友好型自主機(jī)器人

    電子發(fā)燒友網(wǎng)站提供《ISLA是個(gè)DIY友好型自主機(jī)器人.zip》資料免費(fèi)下載
    發(fā)表于 07-12 11:08 ?1次下載
    ISLA是<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>DIY友好型<b class='flag-5'>自主機(jī)器人</b>

    自主機(jī)器人開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《自主機(jī)器人開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-12 10:51 ?4次下載
    <b class='flag-5'>自主機(jī)器人</b>開源項(xiàng)目

    迷你自主機(jī)器人開源分享

    電子發(fā)燒友網(wǎng)站提供《迷你自主機(jī)器人開源分享.zip》資料免費(fèi)下載
    發(fā)表于 12-09 09:26 ?0次下載
    迷你<b class='flag-5'>自主機(jī)器人</b>開源分享