電子發(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)>電子資料下載>電子資料>The Irrigator:人工智能驅(qū)動(dòng)的灌溉機(jī)器人

The Irrigator:人工智能驅(qū)動(dòng)的灌溉機(jī)器人

2022-12-01 | zip | 0.60 MB | 次下載 | 2積分

資料介紹

描述

The Irrigator人工智能驅(qū)動(dòng)的灌溉機(jī)器人

Irrigator是一種自主、可持續(xù)發(fā)展的智能機(jī)器人,可以照料室內(nèi)和室外植物。本演示的重點(diǎn)是給植物澆水,但設(shè)計(jì)和實(shí)現(xiàn)可以擴(kuò)展到執(zhí)行其他任務(wù),例如分配肥料和殺蟲劑、檢測土壤中的水位、檢測生病的植物。

?

設(shè)計(jì)

廣泛的設(shè)計(jì)目標(biāo):

自主- 它在沒有(或最少的)人為交互的情況下完成工作。

可持續(xù)發(fā)展——它使用太陽能為電池充電,使用雨水為水箱注水,并且盡可能使用回收材料制成(例如,我使用回收木材、金屬和螺絲制作底盤)。

智能- 它使用計(jì)算機(jī)視覺機(jī)器學(xué)習(xí)來執(zhí)行復(fù)雜的任務(wù)。

具體設(shè)計(jì)目標(biāo):

Nvidia Jetson Nano - 用作可以運(yùn)行高級(jí)機(jī)器學(xué)習(xí)推理的中央控制單元。

Nvidia Isaac SDK - 用作機(jī)器人的編程平臺(tái)。

機(jī)器人整體圖及其主要模塊如圖1所示,實(shí)際實(shí)現(xiàn)如圖2所示。

poYBAGOINEqAZ8kZAADQ33O3d7o289.png
圖 1 - 灌溉器的主要模塊
?
pYYBAGOINE-AJ2CTAAH2u6SyXSA231.png
圖 2 - 灌溉器及其部分模塊
?

?

?

硬件

下面(也在這里)是這個(gè)項(xiàng)目中使用的材料的詳細(xì)清單(木頭、螺絲、膠水、電線、膠帶等除外)。價(jià)格以新加坡元為單位,鏈接僅供參考。對(duì)于我從當(dāng)?shù)匚褰鸬曩徺I的某些組件,我找不到鏈接。但是,我在下面提供了詳細(xì)信息和照片。

該項(xiàng)目的估計(jì)成本為 459 新元(約合 330 美元)。

?

我沒有某些組件的網(wǎng)絡(luò)參考,因?yàn)槲沂菑奈宜诘貐^(qū)的五金店購買的。

poYBAGOINFWAUumxAAGyVGInVuY285.png
圖 3 - 組件
?

在圖 3 中,我展示了 (1) 一塊 20W 太陽能電池板,(2) 一塊 7Ah 可充電鉛酸電池,(3) 2 個(gè)帶齒輪箱的電機(jī),(4) 2 個(gè)輪子,(5) 2 個(gè)電機(jī)支架,以及(6)太陽能電池板充電器一個(gè)。如果你打算建造這個(gè)機(jī)器人的復(fù)制品,你可以使用不同規(guī)格的組件,但你需要注意設(shè)計(jì)目標(biāo)。例如,電機(jī)應(yīng)能承載至少 10kg 的負(fù)載(主要是水箱)。電池可以具有更高的容量。我不建議使用容量低于 7Ah 的電池。太陽能電池板的功率應(yīng)該足以給電池充電。

poYBAGOINFmAW_7FAAHCJBm0uZQ729.png
圖 4 - 車輪
?
pYYBAGOINGyAABP9AAKoRDSDj10610.png
圖 5 - 齒輪箱電機(jī)類型
?

圖 4 和圖 5 顯示了帶有齒輪箱的電機(jī)。這些是 12V、5000 轉(zhuǎn)/分的電機(jī),而齒輪箱將轉(zhuǎn)速降低到 30 轉(zhuǎn),并使電機(jī)能夠拉動(dòng)超過 10 公斤。圖 4 還顯示了輪子。確保支撐輪(未連接到電機(jī)的)可以左右旋轉(zhuǎn)。如果它們是固定的,您的機(jī)器人可能會(huì)由于高摩擦力而無法左轉(zhuǎn)或右轉(zhuǎn)。

控制單元

控制單元是機(jī)器人的“大腦”。圖6是控制單元的原理圖,圖7是控制單元的接線圖(我附上了Fritzing做的原理圖),圖8是實(shí)際實(shí)現(xiàn)。Irrigator的“大腦皮層”是一塊Jetson Nano板,運(yùn)行主控制回路和 AI 算法來檢測植物和花盆。附加到它的是 Raspberry Pi Camera v2.1。

為了控制電機(jī)和讀取所有傳感器,我使用了兩個(gè)Arduino Uno板。這些板代表灌溉器的“小腦”。Jetson Nano 和 Arduino Uno 之間的通信是通過SPI完成的。我使用 Jetson 的J41 連接器的 SPI1 和 SPI2 引腳以及對(duì)應(yīng)于其SPI 接口的 Arduino Uno 的引腳 10 (SS)、11 (MOSI)、12 (MISO)、13 (SCK) 。

在 Jetson 上啟用 SPI ,您需要運(yùn)行:

sudo /opt/nvidia/jetson-io/jetson-io.py

完成此步驟后,您可以使用/dev/spidev0.0/dev/spidev1.0與兩個(gè) Arduino 板進(jìn)行通信。我使用 Linux 源代碼中的SPI 測試程序作為我在 Jetson Nano 上的驅(qū)動(dòng)程序的起點(diǎn)(請(qǐng)參閱Github上的更多詳細(xì)信息)。

poYBAGOINHCAGOz8AACmCWpj8M4109.png
圖 6 - 控制單元圖
?
pYYBAGOINHiAQ0Z0AAvalVNfaqk457.png
圖 7 - 控制單元示意圖
?
poYBAGOINHyAOv5HAAN4hIRB9G4381.png
圖 8 - 控制單元實(shí)現(xiàn)
?

控制單元讀取以下傳感器:

  • 用于對(duì)象識(shí)別的Raspberry Pi 相機(jī)模塊v2.1。
  • 兩個(gè)聲納 ( HC04 ) 分別放置在距地面約 5 厘米和約 50 厘米處(見圖 2)。您可能想要添加更多的接近傳感器以獲得更高的精度。
  • 兩個(gè)編碼器分別檢測左右兩個(gè)車輪的運(yùn)動(dòng)。目前,我使用 IR 接近傳感器實(shí)現(xiàn)這些編碼器,但它們不是很準(zhǔn)確。
  • 水箱水位傳感器(YwRobot Water Level )。
  • 【選配】四個(gè)電流傳感器,測量不同模塊的用電量。這些是ADS712基于霍爾效應(yīng)的線性電流傳感器。

控制單元命令:

  • 使用L298 H 橋的電機(jī)。
  • 打開/關(guān)閉水泵和燈的繼電器 ( SRD-05VDC-SL-C )。這些繼電器需要一個(gè)額外的晶體管 ( BD137 ),因?yàn)?Arduino GPIO 電流可能不足以流過繼電器的線圈。

為了分配和測量這些模塊使用的能量,我創(chuàng)建了一個(gè)自定義配電單元。請(qǐng)注意,某些組件使用 12V:

  • 馬達(dá)
  • 泵(需要 ~ 3A 電流)

一些組件使用 5V:

  • Jetson Nano(需要 ~3A)
  • 阿杜諾
  • 所有的傳感器

軟件

Irrigator的代碼托管在 Github 上。您可以在README.md中找到有關(guān)設(shè)置的更多詳細(xì)信息。

該代碼有兩個(gè)主要層,(1) 機(jī)器人控制和 (2) 使用 AI 進(jìn)行植物檢測。對(duì)于第一層,您需要使用 Arduino IDE 和 USB-B 電纜對(duì) Arduino 板進(jìn)行編程。兩塊板的代碼在src/arduino文件夾中。

接下來,您需要在 Jetson Nano 上運(yùn)行驅(qū)動(dòng)程序。控制單元的主循環(huán)用C代碼表示如下:

while (run_flag) {
    go_forward();
    if (dist1 < 100 || dist2 < 100) {
        stop();
        usleep(250000);
        on_light();
        int ret = run_ai();
        if ((ret >> 8) == 1) {
            printf("Plant detected!\n");
            go_forward();
            sleep(2);
            stop();
            usleep(250000);
            on_pump();
            sleep(5);
            off_pump();
            usleep(250000);
            go_backwards();
            sleep(2);
            stop();
            usleep(250000);
        }
        off_light();
        usleep(250000);
        go_left_90();
    }
    sleep(1);
}

上面的代碼告訴機(jī)器人只要聲納沒有檢測到障礙物(1m 以內(nèi))就向前移動(dòng)。如果檢測到某些障礙物,機(jī)器人將執(zhí)行以下任務(wù):

  • 停止
  • 在燈上
  • 拍張照片
  • 運(yùn)行物體檢測
  • 如果檢測到植物或花盆,則向前移動(dòng)一點(diǎn),在水面上,等待幾秒鐘,離開水面,向后移動(dòng)
  • 關(guān)燈
  • 向左轉(zhuǎn)以避開障礙物

請(qǐng)注意,需要一些延遲(usleep() )以避免 Arduino 上的 SPI 消息丟失。

控制器可以通過兩種方式實(shí)現(xiàn)。首先,編寫 C 或 Python 程序來控制機(jī)器人的經(jīng)典整體方式。這是在irrigator_spi.c中實(shí)現(xiàn)的。要運(yùn)行它,請(qǐng)?jiān)?Jetson 上執(zhí)行這些 shell 命令:

$ cd git/irrigator/src/jetson/driver
$ make
$ ./irrigator_spi

第二種方式,模塊化且靈活,是使用 Nvidia 的Isaac SDK對(duì)于這個(gè)版本的 Irrigator,我在 Github 上的src/jetson/isaac文件夾中的兩個(gè)小代碼 Driver 和 Detector 中實(shí)現(xiàn)了我的代碼。Driver 處理機(jī)器人的硬件和運(yùn)動(dòng),而 Detector 處理 AI 部分。他們使用 Isaac Messaging API 進(jìn)行通信。

該軟件的第二層包括使用 AI 對(duì)象檢測的植物和盆栽檢測。由于代碼在 Jetson Nano 上運(yùn)行,我首先考慮使用jetson-inference存儲(chǔ)庫中的教程。但是,我使用 TensorFlow Lite (TFLite) 模型獲得了最佳結(jié)果。特別是,我正在使用coco_ssd_mobilenet_v1_1.0_quant_2018_06_29inception_resnet_v2_2018_04_27有關(guān)更多 TFLite 模型,請(qǐng)參閱TFLite 托管模型。我從每個(gè)模型中獲取前 3 個(gè)檢測結(jié)果并搜索plant of pot關(guān)鍵字(參見run-all-models.sh). 目前,檢測(包括拍照)需要 10-11 秒。光是拍照就需要 4 秒。

未來的工作

我計(jì)劃在不久的將來進(jìn)行這些優(yōu)化:

  • 只在晚上開燈(使用光檢測傳感器或模型來檢測太陽升起)
  • 根據(jù)圖像中檢測到的罐/計(jì)劃的位置將軟管槍(或機(jī)器人)居中
  • 如果檢測到多個(gè)盆/植物,使用一系列灌溉步驟使機(jī)器人居中并為每株植物澆水
  • 使用 cron 作業(yè)在晚上開始灌溉,在早上為電池充電

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

評(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元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(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開關(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ì)》 溫德爾著
  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語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)