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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

學習做一名創(chuàng)客,搭建多功能機器人

工程師兵營 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-06-29 09:25 ? 次閱讀

要學習做一名創(chuàng)客,從套件搭建多功能機器人不失為一種有效的方法,因為它提供機會學習多個相關領域的知識,包括微控制器傳感器、電機、軟件開發(fā)等。而且,不論對于初學者還是經(jīng)驗豐富的創(chuàng)客,都有大量的機器人套件、插件和在線幫助供其選擇。

本文討論在基于 DF Robot 的 Devastator 坦克平臺(圖 1)搭建機器人時,應該考慮的一些實用步驟、問題和可能的升級。

圖 1:DFRobot Devastator 是可幫助設計人員和創(chuàng)客學習廣泛的電子和軟件技能的多功能平臺。(圖片來源:DFRobot)

為什么選擇 Devastator?它堅固耐用,采用鋁構造,并具有兩個金屬齒輪有刷直流電機。它能搬運重達 3 kg 的載荷,具有多個可用于安裝傳感器、伺服機構、機器人手和其他配件的安裝孔,而且可兼容所有流行的、適合創(chuàng)客使用的微控制器板。

搭建完整的機器人系統(tǒng)

機器人附帶底座、輪子、履帶和兩個電機,其他組件的選擇則取決于設計人員。完整的系統(tǒng)需要一塊微控制器板、一塊電機驅(qū)動器板和一種輸入命令的方法??蛇x的插件可能包括機器人手、攝像機等組件,或旨在提供一定程度的自主操作的防撞系統(tǒng)。

選擇微控制器平臺

Devastator 機器人可兼容多種流行的微控制器平臺。Arduino 開源開發(fā)平臺于 2003 年在意大利問世,并為初學者和專業(yè)設計人員廣泛使用。Arduino Uno(圖 2)使用 Microchip Technology(原 Atmel)的 ATmega328P 8 位 RISC 微控制器。

其他標準功能包括:一個受預編程的 ATmega16U2 微控制器控制的 USB 端口、多路數(shù)字輸入和輸出、一個模擬輸入端口,以及一個用于軟件更新的在線串行編程 (ICSP) 端口。更新的 Arduino Due 將內(nèi)核升級為一個 32 位 ARM? Cortex?-M3。此內(nèi)核還在下文討論的 DFRobot 控制器板中使用,而該控制器板同時具備 Arduino 的兼容性和電機驅(qū)動器。

Arduino Uno 圖片

圖 2:Arduino Uno 是創(chuàng)客項目的流行選擇,并且基于 Microchip Technology 的 ATmega328P 8 位 RISC 微控制器。(圖片來源:Arduino)

Raspberry Pi 單板計算機最初在學校用于基礎計算機科學教學,但如今在創(chuàng)客社區(qū)變得極為流行。最新的 Raspberry Pi 3 基于以 1.2 GHz 頻率運行的 Broadcom 64 位四核 CPU。它包含 802.11n 無線 LAN、藍牙 4.1 和低功耗藍牙 (BLE)。還包含 1 GB RAM、一個微型 SD 卡插槽、4 個 USB 端口、多個 HDMI以太網(wǎng)端口、一個攝像頭接口、40 個 GPIO 引腳,以及其他專用接口。

希望運用其現(xiàn)有經(jīng)驗的 Windows 專家可以從使用 Devastator 兼容型 LattePanda 控制器板開始,因為該板附帶已安裝并激活的完整版 Windows 10。該板使用一個以 1.8 Ghz 頻率運行且捆綁了一個協(xié)處理器的四核 CPU,還使用了 Microchip 的 8 位 Atmega32u4 以實現(xiàn) Arduino 兼容性。

LattePanda 附帶 2 GB DDR3L RAM 和多達 32 GB 存儲,一個 USB 3.0 和兩個 USB 2.0 端口,Wi-Fi,藍牙 4.0,一個協(xié)處理器,以及在兩個處理器之間劃分的合計 22 個 GPIO。

控制電機

確定微控制器內(nèi)核后,下一步是選擇電機控制板。Devastator 包含兩個以 160 rpm(無負載)速度工作的 6 伏 (V) 電機。每個電機的最大輸出扭矩為 0.8 kgf.cm (0.058 ft-lb.),最大失速電流為 2.8 安 (A)。

Raspberry Pi 需要插件擴展板來實現(xiàn)機器人特定的功能,不過 DFRobot 的 DFR0398 Romeo BLE Quad 板為 Arduino 愛好者提供了同時包含微控制器和電機驅(qū)動器的單板選件(圖 3)。該板提供了比 UNO 衍生產(chǎn)品更強大的內(nèi)核,但仍保持了 Arduino 軟件兼容性。

微控制器為 STMicroelectronics 的 STM32F103RET6:此器件使用以 72 MHz 頻率運行的 ARM? Cortex?-M3 32 位內(nèi)核,并包含 512 KB 閃存、一個電機控制脈沖寬度調(diào)制 (PWM) 模塊、16 個 12 位模數(shù)轉(zhuǎn)換 (ADC) 通道,以及兩個 12 位數(shù)模轉(zhuǎn)換 (DAC) 通道。

DFRobot DFR0398 Romeo BLE Quad 圖片

圖 3:DFR0398 Romeo BLE Quad 是可兼容 Arduino 的機器人控制板,并帶有藍牙功能和用于四個電機的驅(qū)動器。(圖片來源:DFRobot)

電機驅(qū)動器由兩個 Microsemi HR8833 器件實現(xiàn)。每個 MOSFET 驅(qū)動器包含兩個 H 橋驅(qū)動器,用于 Devastator 電機的雙向控制。Romeo BLE Quad 包含四個編碼器接口,而且集成了 Texas Instruments 的 CC2540 射頻收發(fā)器,用于實現(xiàn)藍牙 4.0 無線連接。

添加電源

微控制器板本身通用 USB 連接器以 5 伏電壓運行,但電機需要具有更高電壓和電流的便攜式(即電池)電源。許多創(chuàng)客采用最初用于無線電遙控 (RC) 車的廉價可充電電池組。這些電池組通常具有 7 伏或更高的電壓和超過 5000 毫安時 (mAh) 的容量,并且可以輕松更換原始連接器。Romeo BLE Quad 伺服電源端口可接受 7 到 10 伏直流電。

微控制器板編程

在微控制器板上安裝軟件非常簡單,面向創(chuàng)客的供應商在其網(wǎng)站上提供了分步說明。

在確定操作系統(tǒng) (OS) 時,選擇因平臺而異。LattePanda 板附帶已安裝好的 Windows。Raspberry Pi 提供了多種選項,包括 Windows IoT Core 和各種 Linux 版本。Raspbian 是開源 Debian Linux OS 的變型,也是創(chuàng)客社區(qū)中最常見的選擇。

另一方面,Arduino 并不使用傳統(tǒng)的操作系統(tǒng);Arduino 平臺使用的是一個通過代碼序列重復循環(huán)的循環(huán)執(zhí)行程序。開發(fā)人員使用開源的 Arduino 集成開發(fā)環(huán)境 (IDE) 編寫和安裝代碼。它是以 Java 編寫,并且適用于 Windows、Mac OS X 和 Linux 主機的跨平臺應用。在 Arduino 環(huán)境中,有幾個項目具有自己的術語。例如,Arduino 兼容型插件板被稱為“盾板”,軟件模塊則被稱為“草圖”。

使用 Romeo BLE Quad 編程

由于 Romeo BLE Quad 板是包含高級外設的單板機器人解決方案,因此后面的討論中將使用該板。

首先,為主機選擇首選操作系統(tǒng),并從 Arduino 網(wǎng)站下載相應的 IDE。盡管 DF Romeo BLE Quad 沒有使用與標準 Arduino 硬件相同的 Atmega328 處理器,但軟件開發(fā)流程是相似的,因為該板與 Arduino IDE 是兼容的。

該 IDE 支持超過 25 款的來自多家制造商的開發(fā)板,但 Romeo BLE Quad 不在其中。Romeo BLE Quad 是另一塊 DFRobot 板 Bluno M3 的一個版本,并添加了電機驅(qū)動器。要配置 IDE,必須先從開源 GitHub 網(wǎng)站下載 Bluno M3 文件。

要安裝此文件:

  1. 打開 Arduino IDE 并轉(zhuǎn)至 File(文件)-> Preferences(偏好)。將 GitHub 鏈接復制到“Additional Boards Manager URLs(更多板管理器 URL)”框中,然后單擊“OK(確定)”。

  2. 轉(zhuǎn)至 Tools(工具)-> Board(板)-> Board Manager(板管理器),在搜索框中輸入“Bluno M3”,然后單擊“Install(安裝)”。隨即下載配置文件。

  3. 從 Tools(工具)-> Board(板)菜單中選擇 Bluno M3 板。

系統(tǒng)現(xiàn)在做好了進行應用開發(fā)的準備。標準 IDE 支持 C 和 C++ 編程,并且包含多個代碼示例。開發(fā)人員使用文本編輯器編寫草圖(程序)(圖 4)。

Arduino IDE 屏幕和文本編輯器圖片

圖 4:Arduino IDE 屏幕和文本編輯器:新程序中包含兩個必要的函數(shù)。(圖片來源:Arduino)

然后 IDE 對代碼進行調(diào)試,交叉編譯,并通過在線串行編程 (ICSP) 端口將結(jié)果上傳到微控制器板。Romeo BLE Quad 還可通過其藍牙端口進行編程。

文本編輯器從一個新程序開始,該程序包含兩個預載的必要函數(shù),并且已準備好添加代碼:setup() 用于配置初始條件并且僅執(zhí)行一次,然后連續(xù)運行 loop()。

必須下載并安裝兩個 Arduino 庫,才能使用 Romeo BLE Quad 來運行 Devastator 電機:Motor.h 和 PID_v1.h。

電機代碼首先通過一個 include 語句請求將這兩個庫作為頭文件,并定義 I/O 引腳和一些初始常數(shù),然后在 setup() 部分配置電機(列表 1)。

Copy/*!*@fileRemeoBLEQuadDrive.ino*@briefRemeoBLEQuadDrive.inoPIDcontrolsystemofDCmotor**RemeoBLEQuadDrive.inoUsePIDcontrol4wayDCmotordirectionandspeed**@authorlinfeng(490289303@qq.com)*@versionV1.0*@date2016-4-14*/#include"PID_v1.h"#include"Motor.h"Motormotor[4];intmotorSpeed[4]={-200,200,400,-400};/*Set4speedmotor*//*Speed=motorSpeed/(32*(setSampleTime/1000))(r/s)*/constintmotorDirPin[4][2]={//Forward,Backward/*Motor-drivenIOports*/{8,23},{7,9},{24,14},{4,25}};//constdoublemotorPidParam[3]={0.6,1,0.03};/*DCMOTOR,Yellow??180degree*///constdoublemotorPidParam[3]={1.5,1,0.05};/*DCMOTOR,Yellow??90degree*/constdoublemotorPidParam[3]={1.2,0.8,0.05};/*EncoderV1.0,160rd/min;19500/min;32:1,Kr=3.5*/voidsetup(void){Serial1.begin(115200);for(inti=0;i<4;i++){????????????????????????????????motor[i].setPid(motorPidParam[0],motorPidParam[1],motorPidParam[2]);/*Tuning?PID?parameters*/????????????????????????????????motor[i].setPin(motorDirPin[i][0],motorDirPin[i][1]);/*Configure?IO?ports*/????????????????????????????????motor[i].setSampleTime(100);/*Sets?the?sampling?period*/????????????????motor[i].setChannel(i);/*Sets?the?motor?channel?*/????????????????????????????????motor[i].ready();/*Motor?enable*/????????????????motor[i].setSpeed(motorSpeed[i]);/*Set?motor?speed*/????????????????}}?void?loop(?void?){????????????????for(int?i?=?0;?i?

列表 1:此 C 代碼示例用于配置和控制 Romeo BLE Quad 的四個 Arduino 電機。(代碼來源:DFRobot)

Setup() 和 loop() 部分用于配置和控制四個電機通道。由于 Devastator 底盤只需要兩個電機,因此可將備件用于下面討論的機器人手等配件。

以無線方式控制機器人

可以將一根 USB 電纜插入控制板,并操縱機器人四處移動,但通過 Wi-Fi 或藍牙使用智能手機、平板電腦或計算機來無線控制它無疑要方便得多。如前所述,Romeo BLE Quad 包含與 Bluno 平臺相同的藍牙 4.0 模塊。GitHub 提供了適用于 iOS 7.0+ 和 Android 4.3+ 的開源應用。利用這些應用,設計人員可以遠程控制機器人并上傳新的草圖。

升級基本設計

組裝基本設計之后,下一步通常是添加配件,使機器人能夠執(zhí)行一些有用的任務(圖 5)。以下是一些升級嘗試。

圖 5:DFRobot URM37 v4.0 超聲傳感器(左側(cè))和 Adafruit 397 攝像模塊(右側(cè))是兩種流行的配件(圖片來源:DFRobot 和 Adafruit)

檢測并避開障礙物是移動機器人需要的一項功能。DFRobot URM37 v4.0 超聲傳感器輸出與距離成正比的電壓,并且可兼容 Arduino 和 Raspberry Pi。該傳感器可檢測物體或墻壁的存在,然后由代碼執(zhí)行隨機轉(zhuǎn)向,機器人繼續(xù)在新方向上移動。

將該機器人升級為移動攝像機是另一項流行的升級。Adafruit 397 攝像模塊可以捕獲視頻或靜態(tài)圖片。該攝像機及其 CMOS 圖像傳感器能以 30 幀每秒 (fps) 的速度捕獲 640 x 480 像素的圖像,并且具備運動檢測功能。

考慮在機器人手(例如圖 6 所示的 DF05BB 傾斜/平移組件)上安裝攝像機。該套件包含兩個托架和兩個 DF05 伺服電機,適合水平安裝。

圖 6:DFRobot DF05BB 傾斜/平移安裝附帶兩個伺服電機和兩個托架。(圖片來源:DFRobot)

全部組裝到一起

完整的 Devastator 機器人包括底盤、控制器板、擴展板和超聲傳感器(圖 7)。為方便起見,兩個板位于平臺上部,但如果需要一個頂部安裝的可移動攝像機,則也有一個下部安裝平臺。

圖 7:此完整設計示例包括 Devastator 底座、控制器板、電機控制擴展板和超聲傳感器。(圖片來源:DFRobot)

總結(jié)

DFRobot 是基于創(chuàng)客的卓越平臺,適合設計人員和創(chuàng)客在有趣且具備良好支持的環(huán)境中探索軟件開發(fā)、微控制器功能、傳感器選項和電機控制。


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

    關注

    211

    文章

    28578

    瀏覽量

    207795
  • Arduino
    +關注

    關注

    188

    文章

    6475

    瀏覽量

    187469
  • ATMEGA16U2-MU
    +關注

    關注

    1

    文章

    1

    瀏覽量

    3562
收藏 人收藏

    評論

    相關推薦

    創(chuàng)機器人發(fā)布全球首款防爆人形機器人“天魁1號”

    近日,天創(chuàng)機器人公司正式推出了全球首款防爆人形機器人——“天魁1號”。這款機器人是工業(yè)智能運維領域的項重要創(chuàng)新,為構建從發(fā)現(xiàn)問題到解決問題
    的頭像 發(fā)表于 01-17 10:18 ?235次閱讀

    【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人的基礎模塊

    ,次生成深度信息。 自主機器人定位任務的本質(zhì)是對機器人自身狀態(tài)的估計問題,包括位置,朝向,速度等問題。 路徑規(guī)劃旨在找到從起點到目標區(qū)域的路徑,確保路徑的可行性和最優(yōu)性。路徑規(guī)劃方法包括變分方法,圖搜
    發(fā)表于 01-04 19:22

    【「具身智能機器人系統(tǒng)」閱讀體驗】1.全書概覽與第學習

    非常感謝電子發(fā)燒友提供的這次書籍測評活動!最近,我一直在學習大模型和人工智能的相關知識,深刻體會到機器人技術是個極具潛力的未來方向,甚至可以說是推動時代變革的重要力量。能參與這次活動并有機會深入
    發(fā)表于 12-27 14:50

    【「具身智能機器人系統(tǒng)」閱讀體驗】+初品的體驗

    解決許多技術的和非技術的挑戰(zhàn),如提高智能體的自主性、處理復雜環(huán)境互動的能力及確保行為的倫理和安全性。 未來的研究需要將視覺、語音和其他傳感技術與機器人技術相結(jié)合,以探索更加先進的知識表示和記憶模塊,利用強化學習步優(yōu)化決策過程
    發(fā)表于 12-20 19:17

    《具身智能機器人系統(tǒng)》第1-6章閱讀心得之具身智能機器人系統(tǒng)背景知識與基礎模塊

    與環(huán)境持續(xù)互動來優(yōu)化決策策略。書中還進步討論了強化學習的基本原理,包括狀態(tài)空間、動作空間、獎勵函數(shù)的設計,以及策略網(wǎng)絡的訓練方法。 具身智能機器人系統(tǒng)是個多學科知識交叉的復雜工程體
    發(fā)表于 12-19 22:26

    機器人的語音功能

    經(jīng)典卡通角色的聲音成為了它們的“名片”。那么,機器人的語音功能究竟是如何實現(xiàn)的?它與智能模組有什么關系?誰是這類服務機器人的語音“指揮官”?今天我們就來聊
    的頭像 發(fā)表于 12-02 10:50 ?444次閱讀

    使用NVIDIA Jetson打造機器人導盲犬

    Selin Alara Ornek 是一名富有遠見的高中生。她使用機器學習和 NVIDIA Jetson邊緣 AI 和機器人平臺,為視障人士打造了
    的頭像 發(fā)表于 11-09 13:51 ?291次閱讀

    使用機器學習和NVIDIA Jetson邊緣AI和機器人平臺打造機器人導盲犬

    Selin Alara Ornek 是一名富有遠見的高中生。她使用機器學習和 NVIDIA Jetson 邊緣 AI 和機器人平臺,為視障人士打造了
    的頭像 發(fā)表于 11-08 10:05 ?430次閱讀

    “0元購”智元靈犀X1機器人,軟硬件全套圖紙和代碼全公開!資料免費下載!

    站式”軟件算法代碼+高性能關節(jié)電機,讓“人形機器人人人造”的理想真正成為現(xiàn)實,不管是愛好者還是科技達人,都能夠迅速搭建機器人并實現(xiàn)基本的行走功能,還可以通過智元
    發(fā)表于 10-25 15:20

    開源項目!用ESP32做個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了個他直想做的機器人——可愛無用機器人。 無用機器人原理是
    發(fā)表于 09-03 09:34

    開源項目!用ESP32做個可愛的無用機器人

    簡介 作者在完成碩士論文答辯后,利用空閑時間制作了個他直想做的機器人——可愛無用機器人。 無用機器人原理是
    發(fā)表于 08-30 14:50

    Al大模型機器人

    豐富的知識儲備。它們可以涵蓋各種領域的知識,并能夠回答相關問題。靈活性與通用性: AI大模型機器人具有很強的靈活性和通用性,能夠處理各種類型的任務和問題。持續(xù)學習和改進: 這些模型可以通過持續(xù)的訓練
    發(fā)表于 07-05 08:52

    3D打印遙控氣墊船、微型步行機器人、變壓器式實驗室電源|DF創(chuàng)周刊(第77期)

    /3D-Printed-RC-Hovercraft-IPACV-3D/ 微型步行機器人——Wee Bug \"Wee Bug\"是款基于開源硬件CircuitPython的四足機器人
    發(fā)表于 03-29 11:15

    創(chuàng)營】新品體驗!機器視覺VisionBoard開發(fā)板免費試用

    MicroPython 解釋器,使其可以流暢地開發(fā)機器視覺應用。為了讓更多人能夠深入了解并充分利用Vision Board的強大功能,RT-Thread攜手瑞薩電子及華秋電子將發(fā)起Vision Board創(chuàng)
    發(fā)表于 03-20 14:03

    生醫(yī)應用的磁控膠囊機器人,實現(xiàn)多模態(tài)響應與多功能集成

    膠囊機器人可以通過口服方式抵達胃腸道病灶區(qū)域?qū)嵤┽t(yī)療功能,為實現(xiàn)胃腸道疾病無痛無創(chuàng)診療和提高患者依從性提供了重要途徑。
    的頭像 發(fā)表于 03-14 15:36 ?1208次閱讀
    生醫(yī)應用的磁控膠囊<b class='flag-5'>機器人</b>,實現(xiàn)多模態(tài)響應與<b class='flag-5'>多功能</b>集成