那曲檬骨新材料有限公司

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

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

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

Micro-ROS的主要特點(diǎn)和安裝方法

CHANBAEK ? 來(lái)源:魚(yú)香ROS ? 作者:小魚(yú) ? 2023-07-15 16:50 ? 次閱讀

你好,我是小魚(yú)。前面我們通過(guò)對(duì)嵌入式開(kāi)發(fā)的學(xué)習(xí),了解了如何通過(guò)代碼來(lái)和硬件打交道,但如果你想擁抱ROS的強(qiáng)大生態(tài),還需要把我們的硬件系接入到ROS中來(lái),MicroROS就是幫你完成這一事情的一大利器。所以本章的重點(diǎn)就是帶你一起學(xué)習(xí)MicroROS的使用。

友情提示:和我們課程的名稱一樣,本教程中所有代碼都非常建議跟著敲一遍,不要直接復(fù)制粘貼,寫(xiě)了才是自己的。

硬件開(kāi)發(fā)平臺(tái)

為方便學(xué)習(xí),本教程配套的硬件是小魚(yú)自制的MicroROS學(xué)習(xí)板,同時(shí)該板可以作為下一章節(jié)搭建實(shí)體移動(dòng)機(jī)器人的主控板以及后續(xù)制作機(jī)械臂的驅(qū)動(dòng)板使用。

板載資源圖如下:

圖片

該主控板可以在小魚(yú)的店鋪直接購(gòu)買(mǎi),性價(jià)比接地氣,點(diǎn)擊左下角閱讀原文直達(dá)魚(yú)香小鋪。

1.Micro-ROS介紹與服務(wù)安裝

你好,我是愛(ài)吃魚(yú)香ROS的小魚(yú)。本節(jié)我們主要介紹下Micro-ROS幾大主要特點(diǎn)。

圖片

先上系統(tǒng)框架圖,下面再一一介紹。

一、特點(diǎn)1:運(yùn)行在微控制器上的ROS2

首先從名稱看,Micro-ROS,Micro指的就是microcontrollers即微控制器。

核心作用就是上面這句話micro-ROS puts ROS 2 onto microcontrollers。既然是在微控制器上,因硬件資源受限,其功能肯定會(huì)有所裁剪,但核心的ROS2通信功能依然保有。

圖片

二、特點(diǎn)2:MicroROS支持多種通信協(xié)議并依賴Agent

圖片

所謂Agen其實(shí)就是一個(gè)代理, 微控制器可以通過(guò)串口,藍(lán)牙以太網(wǎng)、Wifi等多種協(xié)議將數(shù)據(jù)傳遞給Agent,Agent再將其轉(zhuǎn)換成ROS2的話題等數(shù)據(jù),以此完成通信。

三、特點(diǎn)3:通過(guò)RCLC-API調(diào)用MicroROS

圖片

因?yàn)镸icroROS遵循RCLCAPI,所以和在上位機(jī)中使用Python或者C++調(diào)用MicroROS有所不同,最終代碼風(fēng)格如下面這段所示

#include < rcl/rcl.h >
#include < rclc/rclc.h >
#include < rclc/executor.h >


rclc_executor_t executor;
rclc_support_t support;
rcl_allocator_t allocator;
rcl_node_t node;
rcl_timer_t timer;




void setup() {
  // Configure serial transport
  Serial.begin(115200);
  set_microros_serial_transports(Serial);
  delay(2000);


  allocator = rcl_get_default_allocator();


  //create init_options
  RCCHECK(rclc_support_init(&support, 0, NULL, &allocator));


  // create node
  RCCHECK(rclc_node_init_default(&node, "micro_ros_platformio_node", "", &support));


  // create publisher
  RCCHECK(rclc_publisher_init_default(
    &publisher,
    &node,
    ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32),
    "micro_ros_platformio_node_publisher"));




  // create executor
  RCCHECK(rclc_executor_init(&executor, &support.context, 1, &allocator));
  RCCHECK(rclc_executor_add_timer(&executor, &timer));


  msg.data = 0;
}

四、在上位機(jī)上安裝Agent

我們使用Docker來(lái)進(jìn)行Agent的安裝。

4.1 安裝Docker

打開(kāi)終端,復(fù)制粘貼輸入下面代碼

wget http://fishros.com/install -O fishros && . fishros

接著輸入密碼,在下面的界面輸入8,一鍵安裝Docker,完成后等待即可。

圖片

4.2 運(yùn)行Agent

安裝完成Docker后打開(kāi)終端,輸入下面的指令

sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6

稍微等待下載完成,看到如下界面表示成功啟動(dòng)。

圖片

上面的指令是使用串口通訊協(xié)議運(yùn)行microros-agent,還可以通過(guò)UDP、TCP、CAN等協(xié)議運(yùn)行,具體指令如下

# UDPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6


# Serial micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev [YOUR BOARD PORT] -v6


# TCPv4 micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO tcp4 --port 8888 -v6


# CAN-FD micro-ROS Agent
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO canfd --dev [YOUR CAN INTERFACE] -v6

五、總結(jié)

本節(jié)我們主要介紹了MicroROS的主要特點(diǎn),接著介紹使用Docker下載和運(yùn)行Agent,既然搞定了上位機(jī),下一節(jié)我們正是開(kāi)始在開(kāi)發(fā)板上編寫(xiě)MicroROS節(jié)點(diǎn),然后測(cè)試與上位機(jī)的連接是否正常。

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

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307632
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28635

    瀏覽量

    208386
  • Micro
    +關(guān)注

    關(guān)注

    2

    文章

    266

    瀏覽量

    34944
  • 學(xué)習(xí)板
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    12192
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    280

    瀏覽量

    17094
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Micro-ROS:把ROS2放在MCU上

    機(jī)器人的發(fā)展。 ? ROS便是為機(jī)器人在研發(fā)的過(guò)程中的代碼復(fù)用提供支持的開(kāi)源框架,大量的機(jī)器人開(kāi)源項(xiàng)目,從感知到控制、從定位到構(gòu)圖、從導(dǎo)航到可視化,幾乎都使用ROS作為基礎(chǔ)。 ? Micro-ROS從何而來(lái)? ?
    的頭像 發(fā)表于 04-07 07:13 ?7908次閱讀

    瑞薩電子RA MCU集成micro-ROS框架,簡(jiǎn)化專業(yè)機(jī)器人開(kāi)發(fā)

     瑞薩與eProsima攜手,推動(dòng)機(jī)器人技術(shù)在工業(yè)和物聯(lián)網(wǎng)領(lǐng)域的應(yīng)用,EK-RA6M5評(píng)估套件現(xiàn)已成為micro-ROS官方支持開(kāi)發(fā)板。
    發(fā)表于 09-02 15:57 ?2277次閱讀
    瑞薩電子RA MCU集成<b class='flag-5'>micro-ROS</b>框架,簡(jiǎn)化專業(yè)機(jī)器人開(kāi)發(fā)

    Linux的主要特點(diǎn) 發(fā)展 安裝

    Linux的主要特點(diǎn) 發(fā)展 安裝
    發(fā)表于 08-13 16:20

    貼片頭的分類和主要特點(diǎn)

      從技術(shù)發(fā)展來(lái)看,貼片頭已經(jīng)由機(jī)械對(duì)中發(fā)展到光學(xué)對(duì)中校正。目前,從主流貼片頭結(jié)構(gòu)形式來(lái)看,主要有平動(dòng)式、轉(zhuǎn)動(dòng)式和組合式3種,轉(zhuǎn)動(dòng)式中細(xì)分為轉(zhuǎn)塔式、旋轉(zhuǎn)式和小轉(zhuǎn)塔式3種。本節(jié)詳細(xì)介紹平動(dòng)式、旋轉(zhuǎn)式和轉(zhuǎn)塔式3種主要的貼片頭。  各種貼片頭
    發(fā)表于 09-03 10:46

    什么是Lora?LoRa的主要特點(diǎn)

    什么是Lora?LoRa的主要特點(diǎn)?LoRa的系統(tǒng)架構(gòu)?LoRa的協(xié)議棧?
    發(fā)表于 07-26 06:15

    STM32CubeIDE的主要特點(diǎn)有哪些

    STM32CubeIDE是什么?STM32CubeIDE的主要特點(diǎn)有哪些?
    發(fā)表于 09-28 08:16

    STE相比于之前的AMTE/MTE主要特點(diǎn)有哪些

    STE相比于之前的AMTE/MTE主要特點(diǎn)有哪些?vango驗(yàn)證和出貨生產(chǎn)芯片的測(cè)試原理和基本方法是什么?
    發(fā)表于 11-12 06:00

    通過(guò)RT-Studio添加軟件包到micro-ros下載失敗這個(gè)問(wèn)題是什么原因

    Hello 您好,我通過(guò)RT-Studio 添加軟件包到micro-ros包到工程中,但是保存RT-Thread Settings 時(shí),發(fā)現(xiàn)沒(méi)有下載成功。下面是失敗的日志:e
    發(fā)表于 11-25 10:33

    RISC的主要特點(diǎn)和優(yōu)點(diǎn)講解

    RISC的主要特點(diǎn)和優(yōu)點(diǎn)講解
    發(fā)表于 02-27 14:59

    變頻空調(diào)的控制原理及主要特點(diǎn)

    變頻空調(diào)的控制原理及主要特點(diǎn) 一、變頻空調(diào)的控制原理及主要特點(diǎn) 變頻空調(diào)器與普通空調(diào)器或稱定轉(zhuǎn)速空調(diào)器的主
    發(fā)表于 08-21 22:37 ?2539次閱讀

    分享一個(gè)基于FreeRTOS的micro(微型)ROS

    編輯整理:strongerHuang 作者:Francesca Finocchiaro 關(guān)注我的讀者中應(yīng)該有部分是做ROS相關(guān)的工作,今天就來(lái)分享一個(gè)基于FreeRTOS的micro(微型)ROS
    的頭像 發(fā)表于 09-16 14:37 ?5050次閱讀

    基于FreeRTOS的micro(微型)ROS

    編輯整理:strongerHuang 作者:Francesca Finocchiaro 關(guān)注我的讀者中應(yīng)該有部分是做ROS相關(guān)的工作,今天就來(lái)分享一個(gè)基于FreeRTOS的micro(微型)ROS
    的頭像 發(fā)表于 09-25 14:16 ?2400次閱讀
    基于FreeRTOS的<b class='flag-5'>micro</b>(微型)<b class='flag-5'>ROS</b>

    瑞薩將micro-ROS移植到RA MCU中

    (適用于MCU的機(jī)器人操作系統(tǒng))的官方支持硬件平臺(tái)。瑞薩與micro-ROS框架的主要開(kāi)發(fā)商eProsima攜手,將micro-ROS移植到RA MCU中。 RA6M5ROS
    的頭像 發(fā)表于 09-24 16:22 ?2224次閱讀

    工程師說(shuō) | 通過(guò)RA MCU和微型ROS簡(jiǎn)化機(jī)器人設(shè)計(jì)流程

    micro-ROS解決方案 。micro-ROS是一個(gè)使用ROS 2的機(jī)器人控制系統(tǒng)的開(kāi)源項(xiàng)目,ROS 2是第二代ROS(機(jī)器人操作系統(tǒng))
    的頭像 發(fā)表于 05-18 23:15 ?929次閱讀

    機(jī)器人上游半導(dǎo)體產(chǎn)業(yè)鏈報(bào)告

    傳統(tǒng)機(jī)器人ROS實(shí)質(zhì)上是仍舊停留在MCU邊界的,再通過(guò)串行協(xié)議或者舊版ROS中的工具與MCU集成在一起。Micro-ROS則允許在硬件級(jí)別附近運(yùn)行ROS2節(jié)點(diǎn),
    發(fā)表于 10-18 15:53 ?1次下載
    機(jī)器人上游半導(dǎo)體產(chǎn)業(yè)鏈報(bào)告
    百家乐官网送錢平臺| 大发888如何下载| 百家乐官网游戏| 澳门百家乐心理| 百家乐官网倍投| 百家乐技巧阅读| 九州百家乐娱乐城| 百家乐大小桌布| 百家乐线上| 澳门百家乐官网的故事| 高级百家乐官网出千工具| 百家乐官网赌博千术| 百博百家乐官网的玩法技巧和规则 | 中原百家乐的玩法技巧和规则| 威尼斯人娱乐城信誉好吗| 现金网送体验金| 双牌县| 新葡京百家乐官网娱乐城| 百家乐官网网站程序| 百家乐官网技巧网址| 百家乐开户送10彩金| 富二代百家乐的玩法技巧和规则| 大发888冲值| 五湖四海娱乐| 百家乐官网真人游戏网上投注 | 百家乐几点开奖| 百家乐网络赌场| 大发888中文下载| 百家乐官网软件l柳州| 伯爵百家乐官网娱乐场| 百家乐官网真人游戏攻略| 网上百家乐作弊不| 威尼斯人娱乐网注册网址| 六合彩结果| 川宜百家乐官网注册号| 百家乐官网制胜绝招| 大世界百家乐娱乐平台| 钱柜娱乐城怎么样| 百家乐官网游戏机图片| 视频百家乐赌法| 大发888游戏平台888|