国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

基于Arduino和ROS來創(chuàng)建更智能的機器人系統(tǒng)

電子設(shè)計 ? 來源:一板網(wǎng) ? 作者:風(fēng)箏 ? 2021-01-09 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Arduino開發(fā)板經(jīng)常用于制作一些小型的機器人,并具有簡單的邏輯定義控制。但是,由于板載計算能力和軟件有限,開發(fā)人員常常無法升級到更復(fù)雜的機器人。通常,隨著開發(fā)人員變得越來越有經(jīng)驗,他們會尋專用于機器人的軟件,因為Arduino僅提供部分控件。

在本篇文章中,我們主要介紹了中間件軟件框架Robot Operating System(ROS),并引導(dǎo)您通過Arduino設(shè)置和使用ROS來創(chuàng)建更智能的機器人系統(tǒng)。

什么是ROS?

機器人操作系統(tǒng)(ROS)是最流行和使用最廣泛的機器人中間件軟件框架之一。這是一個開放源代碼平臺,可幫助創(chuàng)客和開發(fā)人員在無需重新發(fā)明輪子的情況下開始使用機器人軟件。 ROS提供了一種標(biāo)準(zhǔn)的通信體系結(jié)構(gòu),用于無縫集成、使用、開發(fā)和部署機器人系統(tǒng)的不同組件,包括控制、感知、計劃等。這是一個與語言無關(guān)的平臺,無論部署在何處,都可以為不同的計算機提供跨平臺的通信支持。

Arduino可能是最常用的開源微控制器開發(fā)板,它提供了易于使用的軟件-硬件界面以及不斷擴展的用戶社區(qū)。 Arduino幾乎與所有數(shù)字和模擬電路以及支持串行通信接口(如SPI、I2CUART)的外部設(shè)備兼容。

基于ROS的軟件框架運行高級算法和流程,例如機器人模型的推理、過濾、運動策略生成、控制器算法等。安裝在機器人上的Arduino控制器用于執(zhí)行低級/嵌入式控制和傳感。它包括、電動機控制、溫度和超聲傳感器、IMU和車輪編碼器以及其他設(shè)備。

pIYBAF_5Ip2AFewhAABT7T60BtY340.png

ROS-Arduino交互管道

ROS與Arduino之間的通信

ROS通信模塊基于自定義的TCPROS協(xié)議進行操作,使用兩種方式:多對多發(fā)布者-訂閱者方法和點對點更快服務(wù)方法。本篇文章使用發(fā)布者/訂閱者在Arduino開發(fā)板和機器上運行的ROS之間進行通信。

rosserial ROS軟件包使用Arduino的通用異步接收器/發(fā)送器(UART)通信,并將開發(fā)板轉(zhuǎn)換為ROS節(jié)點,該節(jié)點可以發(fā)布ROS消息,也可以訂閱消息。 Arduino ROS節(jié)點發(fā)布者可以從板上將數(shù)據(jù)(從傳感器或機器人狀態(tài))發(fā)送到運行ROS的機器,而Arduino ROS節(jié)點訂閱者可以從機器獲取指令。 ros_lib Arduino庫使Arduino開發(fā)板能夠與ROS通信。

建立基礎(chǔ)架構(gòu)

軟體設(shè)置

1. 在計算機(筆記本電腦/ PC)上安裝ROS。此處提供詳細(xì)步驟。注意:這可以在Linux機器上運行的ROS 1。

2. 在計算機上安裝rosserial(發(fā)行版可以是kinetic/indigo/melodic)。

sudo apt-get install ros-《distro》-rosserial

sudo apt-get install ros-《distro》-rosserial-arduino

3. 根據(jù)此處提到的說明在計算機上安裝Arduino IDE。

4. 在IDE中安裝ros_lib軟件包。

a. 安裝軟件包的最簡單方法是使用Arduino IDE。導(dǎo)航到IDE中的Sketch 》 Include Library 》 Manage Library,然后搜索rosserial軟件包

pIYBAF_5Iq2APTasAAFMG11gjLE006.png

下拉菜單搜索新的Arduino軟件包

b. Arduino IDE將所有外部庫存儲在?/ Arduino / libraries文件夾位置下。它將這些庫加載到開發(fā)環(huán)境中,并且可以在IDE中看到。安裝后,可以在下拉列表中看到Rosserial Arduino庫。

o4YBAF_5Ir6AdB4RAAFI03rP52I283.png

外部庫顯示在列表中

C. 安裝后,應(yīng)該在IDE中看到示例草圖。

pIYBAF_5ItKASH8YAAGDCLQe5Y0059.png

庫中的可用示例草圖

硬件設(shè)置

我們使用簡單的設(shè)置將Arduino開發(fā)板用作發(fā)布者和訂閱者。

1. 發(fā)布者:一個按鈕連接到Arduino開發(fā)板上,并且被切換以通過ROS將數(shù)字高/低信號發(fā)送到機器。該消息顯示在機器的終端中。

2. 訂閱者:一個LED連接到Arduino開發(fā)板上,并使用通過終端從ROS用戶那里獲得的指令來打開/關(guān)閉LED。

硬件連接

o4YBAF_5IuWAJnLJAAEMQu6tRFo533.png

代碼和說明

Arduino代碼

#include 《ros.h》

#include 《std_msgs/String.h》

#include 《std_msgs/UInt16.h》

#define BUTTON 8

#define LED 13

ros::NodeHandle node_handle;

std_msgs::String button_msg;

std_msgs::UInt16 led_msg;

void subscriberCallback(const std_msgs::UInt16& led_msg) {

if (led_msg.data == 1) {

digitalWrite(LED, HIGH);

} else {

digitalWrite(LED, LOW);

}

}

ros::Publisher button_publisher(“button_press”, &button_msg);

ros::Subscriber《std_msgs::UInt16》 led_subscriber(“toggle_led”, &subscriberCallback);

void setup()

{

pinMode(LED, OUTPUT);

pinMode(BUTTON, INPUT);

node_handle.initNode();

node_handle.advertise(button_publisher);

node_handle.subscribe(led_subscriber);

}

void loop()

{

if (digitalRead(BUTTON) == HIGH) {

button_msg.data = “Pressed”;

} else {

button_msg.data = “NOT pressed”;

}

button_publisher.publish( &button_msg );

node_handle.spinOnce();

delay(100);

}

說明

該代碼導(dǎo)入了ros_lib庫和std_msgs :: String和std_msgs :: UInt16的標(biāo)準(zhǔn)ROS消息。聲明了用于存儲ROS數(shù)據(jù)類型和Arduino板引腳的變量。

該代碼聲明了一個名為button_publisher的發(fā)布者,該發(fā)布者將std_msgs :: String數(shù)據(jù)類型的button_msg發(fā)布到button_press主題。同樣,名為led_subscriber的訂閱者訂閱了toggle_led主題,該主題獲取std_msgs :: UInt6數(shù)據(jù)類型。

聲明ROS節(jié)點句柄,然后在setup()方法中對其進行初始化。節(jié)點句柄為發(fā)布者做廣告,并訂閱該主題。

SubscriberCallback()是在Arduino訂閱者節(jié)點上接收數(shù)據(jù)時調(diào)用的方法。回調(diào)方法檢查ROS主題數(shù)據(jù)是否為HIGH,并相應(yīng)地切換連接的LED。

最后,loop()方法運行一個無限循環(huán),并從按鈕中讀取信息并將其發(fā)布到ROS。節(jié)點句柄調(diào)用spinOnce()來處理通信。

程序執(zhí)行

通過USB電纜將Arduino Uno開發(fā)板連接到筆記本電腦,并確認(rèn)該板出現(xiàn)在Arduino IDE的可用串行端口列表中。編譯代碼,選擇板子類型并將其上傳到開發(fā)板。

上載代碼后,在機器的終端上執(zhí)行以下命令。

1. 啟動ROS Master-roscore

2. 在計算機上運行rosserial客戶端-rosrun rosserial_python serial_node.py / dev / tty 《USB#或ACM#》

3. 在運行時確定ttyUSB或ttyACM的串行端口。可以從Arduino IDE或使用dmesg | grep tty找到確切的端口號。

4. 讀取是否按Arduino板上的按鈕返回的已發(fā)布數(shù)據(jù)-rostopic echo button_press

5. 發(fā)布數(shù)據(jù)以切換Arduino上連接的LED-rostopic pub toggle_led std_msgs / UInt16“ data:0”數(shù)據(jù)為“ 0”關(guān)閉LED,“ 1”打開LED。

pIYBAF_5IwWAfV0UAAZ3QJE-880826.png

使用多個終端選項卡執(zhí)行指令并在同一屏幕上觀察響應(yīng)

rosserial提供了一個非常標(biāo)準(zhǔn)的平臺,允許創(chuàng)客和開發(fā)人員在Arduino和ROS之間無縫連接。它可以使用兩種非常著名和有用的技術(shù)來探索機器人技術(shù)的新機遇。這種方法允許以非常低的成本為機器人系統(tǒng)提供分布式計算、集中控制、控制抽象以及其他一些好處。
編輯:hfy

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

    關(guān)注

    213

    文章

    31098

    瀏覽量

    222383
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196982
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    資訊速遞 | 具身智能PMC(籌)發(fā)布“零成本”開源鴻蒙智能機器人系統(tǒng)

    面向具身智能機器人系統(tǒng)與應(yīng)用開發(fā),Ubuntu 等操作系統(tǒng)可以用 ROS2 生態(tài)、機器人仿真器、
    的頭像 發(fā)表于 01-05 16:24 ?447次閱讀
    資訊速遞 | 具身<b class='flag-5'>智能</b>PMC(籌)發(fā)布“零成本”開源鴻蒙<b class='flag-5'>智能</b><b class='flag-5'>機器人</b><b class='flag-5'>系統(tǒng)</b>

    EtherCAT主站協(xié)議棧EC-Master在ROS機器人操作系統(tǒng))中的應(yīng)用

    EtherCAT主站協(xié)議棧EC-Master在ROS機器人操作系統(tǒng))中的應(yīng)用
    的頭像 發(fā)表于 12-10 14:46 ?478次閱讀
    EtherCAT主站協(xié)議棧EC-Master在<b class='flag-5'>ROS</b>(<b class='flag-5'>機器人</b>操作<b class='flag-5'>系統(tǒng)</b>)中的應(yīng)用

    探索RISC-V在機器人領(lǐng)域的潛力

    運行ROS 2,充分證明了RISC-V架構(gòu)完全有能力承載機器人操作系統(tǒng)這樣的復(fù)雜軟件棧。它不僅是學(xué)習(xí)RISC-V的絕佳工具,更是探索未來邊緣計算和智能
    發(fā)表于 12-03 14:40

    高精度機器人控制的核心——基于 MYD-LT536 開發(fā)板的精密運動控制方案

    集成方案; 開發(fā)者可直接對接上層 ROS 框架,實現(xiàn)多軸機器人同步控制與智能路徑規(guī)劃。 三、典型應(yīng)用:高精度裝配機器人控制系統(tǒng) 在某高端電
    發(fā)表于 11-14 15:48

    RK3576機器人核心:三屏異顯+八路攝像頭,重塑機器人交互與感知

    更多"、"互動流暢"是開發(fā)者面臨的核心挑戰(zhàn)。傳統(tǒng)的單一屏幕和有限的視覺輸入已成為提升機器人智能化水平的瓶頸。而瑞芯微RK3576高性能處理器的出現(xiàn)
    發(fā)表于 10-29 16:41

    遨博機器人以 “專業(yè)智能” 破局,讓機器人從工業(yè)走向生活

    在第 25 屆中國國際工業(yè)博覽會的機器人展區(qū),遨博展臺依舊是觀眾與行業(yè)目光的焦點。作為協(xié)作機器人領(lǐng)域的領(lǐng)軍企業(yè),今年推出的 “具身智能” 系列機器人
    的頭像 發(fā)表于 10-12 20:50 ?574次閱讀

    工業(yè)機器人的特點

    的基礎(chǔ),也是三者的實現(xiàn)終端,智能制造裝備產(chǎn)業(yè)包括高檔數(shù)控機床、工業(yè)機器人、自動化成套生產(chǎn)線、精密儀器儀表、智能傳感器、汽車自動化焊接線、柔性自動化生產(chǎn)線、智能農(nóng)機、3D 打印機等領(lǐng)域。
    發(fā)表于 07-26 11:22

    通過vmRT-Thread和ROS2賦能機器人智能開發(fā)

    隨著機器人技術(shù)的快速迭代升級,協(xié)作機器人、復(fù)合移動機器人和人形機器人等新興應(yīng)用場景對實時控制與智能決策的深度融合提出了迫切需求。然而,當(dāng)前
    的頭像 發(fā)表于 06-09 09:23 ?1605次閱讀
    通過vmRT-Thread和<b class='flag-5'>ROS</b>2賦能<b class='flag-5'>機器人</b><b class='flag-5'>智能</b>開發(fā)

    盤點#機器人開發(fā)平臺

    圖,電子技術(shù)資料網(wǎng)站具身智能機器人****開發(fā)平臺——Fibot廣和通發(fā)布機器人開發(fā)平臺-電子發(fā)燒友網(wǎng)NVIDIA Isaac 英偉達綜合性機器人開發(fā)平臺NVIDIA Isaac 是英
    發(fā)表于 05-13 15:02

    詳細(xì)介紹機場智能指路機器人的工作原理

    機場智能指路機器人主要依靠感知系統(tǒng)、定位系統(tǒng)、導(dǎo)航系統(tǒng)智能交互
    發(fā)表于 05-10 18:26

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎(chǔ)算法的應(yīng)用

    閱讀心得體會:ROS2機器人視覺與地圖構(gòu)建技術(shù) 通過對本書第7章(ROS2視覺應(yīng)用)和第8章(ROS2地圖構(gòu)建)的學(xué)習(xí),我對機器人視覺感知和
    發(fā)表于 05-03 19:41

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】機器人入門的引路書

    ROS的全稱:Robot Operating System 機器人操作系統(tǒng) ROS的 目的 :ROS支持通用庫,是通信總線,協(xié)調(diào)多個傳感器
    發(fā)表于 04-30 01:05

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+ROS2應(yīng)用案例

    的知識,還需要對ROS 2的節(jié)點通信和數(shù)據(jù)處理有一定的了解。通過實踐這一部分內(nèi)容,我掌握了如何在ROS 2中實現(xiàn)二維碼識別,這對于提高機器人智能性和交互性具有重要意義。 地圖構(gòu)建:S
    發(fā)表于 04-27 11:42

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+內(nèi)容初識

    規(guī)劃:導(dǎo)航是機器人自主運行的關(guān)鍵功能。書中詳細(xì)介紹了基于 ROS 2 的導(dǎo)航系統(tǒng),包括地圖創(chuàng)建、路徑規(guī)劃和導(dǎo)航控制等環(huán)節(jié)。首先,通過激光雷達等傳感器獲取環(huán)境信息,使用 SLAM(Sim
    發(fā)表于 04-27 11:24

    研華科技加速智能自主系統(tǒng)機器人應(yīng)用發(fā)展

    研華科技近日舉辦“智能自主系統(tǒng)機器人應(yīng)用伙伴高峰論壇”,將攜手生態(tài)伙伴,打造靈活且ROS兼容的機器人解決方案。
    的頭像 發(fā)表于 03-11 13:46 ?917次閱讀