在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

機器人多節(jié)點話題通信編程方法

麥辣雞腿堡 ? 來源:古月居 ? 作者:古月居 ? 2023-11-27 17:48 ? 次閱讀

編程方法

了解了話題的基本原理,接下來我們就要開始編寫代碼啦。

創(chuàng)建工作空間

請大家先按照這個流程創(chuàng)建工作空間、下載課程的例程代碼,并進行編譯。

$ mkdir –p dev_ws/src
$ cd /userdata/dev_ws/src
$ git clone https://gitee.com/guyuehome/togetherros_tutorials.git
$ cd /userdata/dev_ws/
$ colcon build

圖片

運行示例程序

編譯成功后,我們嘗試運行話題通信的Hello World例程,在這個例程中,我們會先創(chuàng)建一個發(fā)布者,發(fā)布話題“chatter”,周期發(fā)送“Hello World”這個字符串,消息類型是ROS中標準定義的String,再創(chuàng)建一個訂閱者,訂閱“chatter”這個話題,從而接收到“Hello World”這個字符串。

圖片

$ source /opt/tros/local_setup.bash
$ source install/local_setup.bash
$ ros2 run learning_topic_cpp talker
$ ros2 run learning_topic_cpp listener

圖片

這就是TogetherROS系統(tǒng)中話題通信的方法,依然沿用了ROS2中話題通信的完整流程。

代碼解析

發(fā)布者的實現(xiàn)方法

publisher_member_function.cpp:

#include < chrono >
#include < functional >
#include < memory >
#include < string >


#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"


using namespace std::chrono_literals;


/* This example creates a subclass of Node and uses std::bind() to register a
* member function as a callback from the timer. */


class MinimalPublisher : public rclcpp::Node
{
  public:
    MinimalPublisher()
    : Node("minimal_publisher"), count_(0)
    {
      publisher_ = this- >create_publisher< std_msgs::msg::String >("topic", 10);
      timer_ = this- >create_wall_timer(
      500ms, std::bind(&MinimalPublisher::timer_callback, this));
    }


  private:
    void timer_callback()
{
      auto message = std_msgs::msg::String();
      message.data = "Hello, world! " + std::to_string(count_++);
      RCLCPP_INFO(this- >get_logger(), "Publishing: '%s'", message.data.c_str());
      publisher_- >publish(message);
    }
    rclcpp::TimerBase::SharedPtr timer_;
    rclcpp::Publisher< std_msgs::msg::String >::SharedPtr publisher_;
    size_t count_;
};


int main(int argc, char * argv[])
{
  rclcpp::init(argc, argv);
  rclcpp::spin(std::make_shared< MinimalPublisher >());
  rclcpp::shutdown();
  return 0;
}

訂閱者的實現(xiàn)方法

subscriber_member_function.cpp:

#include < memory >
#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"
using std::placeholders::_1;


class MinimalSubscriber : public rclcpp::Node
{
  public:
    MinimalSubscriber()
    : Node("minimal_subscriber")
    {
      subscription_ = this- >create_subscription< std_msgs::msg::String >(
      "topic", 10, std::bind(&MinimalSubscriber::topic_callback, this, _1));
    }


  private:
    void topic_callback(const std_msgs::msg::String::SharedPtr msg) const
{
      RCLCPP_INFO(this- >get_logger(), "I heard: '%s'", msg- >data.c_str());
    }
    rclcpp::Subscription< std_msgs::msg::String >::SharedPtr subscription_;
};


int main(int argc, char * argv[])
{
  rclcpp::init(argc, argv);
  rclcpp::spin(std::make_shared< MinimalSubscriber >());
  rclcpp::shutdown();
  return 0;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    212

    文章

    29312

    瀏覽量

    211021
  • 編程
    +關注

    關注

    88

    文章

    3674

    瀏覽量

    94732
  • 程序
    +關注

    關注

    117

    文章

    3817

    瀏覽量

    82226
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    機器人設計中PID控制的編程方法是什么?

    什么是PID控制?機器人設計中PID控制的編程方法是什么?
    發(fā)表于 06-30 06:53

    機器人編程的區(qū)別

    在前一篇文章中講了機器人編程的區(qū)別,但總感覺講的比較空泛,這篇文章繼續(xù)講講那些區(qū)別。計算機編程機器人編程最大的區(qū)別就是一個是控制虛擬的,
    發(fā)表于 09-01 07:12

    Motoman機器人離線編程

    歡迎關注Jungle的Motoman機器人離線編程專欄系列文章:Motoman機器人離線編程——Motocom32開發(fā)簡介Motoman機器人
    發(fā)表于 09-07 07:33

    多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法

    多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法:針對目前廣泛使用的以大容量FPGA 實現(xiàn)主要功能的多節(jié)點系統(tǒng)的遠程升級問題,提出了一種基于ATmega64 單片機和RS485 總線以及接入以太網的主控
    發(fā)表于 11-20 17:42 ?17次下載

    多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法

    多節(jié)點大容量FPGA系統(tǒng)的遠程升級方法 針對目前廣泛使用的以大容量FPGA實現(xiàn)主要功能的多節(jié)點系統(tǒng)的遠程升級問題,提出了一種基于ATmega64單片機和RS485總
    發(fā)表于 03-29 15:09 ?889次閱讀
    <b class='flag-5'>多節(jié)點</b>大容量FPGA系統(tǒng)的遠程升級<b class='flag-5'>方法</b>

    機器人多傳感器測距系統(tǒng)研究與設計

    機器人多傳感器測距系統(tǒng)研究與設計......
    發(fā)表于 12-23 14:46 ?10次下載

    機器人多傳感器信息融合測距系統(tǒng)設計

    機器人多傳感器信息融合測距系統(tǒng)設計....
    發(fā)表于 12-23 15:00 ?16次下載

    智能機器人多傳感器融合感知方法

    智能機器人多傳感器融合感知方法,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-20 16:10 ?19次下載

    常用的機器人編程方法有哪些

    機器人編程【robotprogramming】為使機器人完成某種任務而設置的動作順序描述。機器人運動和作業(yè)的指令都是由程序進行控制,常見的編制方法
    發(fā)表于 08-15 17:41 ?1.6w次閱讀

    基于區(qū)塊鏈的智能機器人多傳感信息加密控制方法

    基于區(qū)塊鏈的智能機器人多傳感信息加密控制方法
    發(fā)表于 06-23 10:44 ?5次下載

    焊接機器人編程方法及流程技巧

    焊接機器人編程方法有什么?所謂焊接機器人是從事焊接的工業(yè)機器人,廣泛應用于汽車制造、造船、航空等領域。使用
    的頭像 發(fā)表于 01-13 10:47 ?1.4w次閱讀
    焊接<b class='flag-5'>機器人</b><b class='flag-5'>編程</b><b class='flag-5'>方法</b>及流程技巧

    焊接機器人多少錢一臺?

    焊接機器人多少錢一臺?根據機器人本體的型號、臂長和焊機型號的不同價格也不盡相同,市面上的焊接機器人價格范圍在3-20萬不等。
    的頭像 發(fā)表于 03-08 09:17 ?5058次閱讀
    焊接<b class='flag-5'>機器人多</b>少錢一臺?

    焊接機器人編程方法及流程技巧

    焊接機器人編程方法有什么?所謂焊接機器人是從事焊接的工業(yè)機器人,廣泛應用于汽車制造、造船、航空等領域。使用
    的頭像 發(fā)表于 07-13 16:46 ?2625次閱讀
    焊接<b class='flag-5'>機器人</b><b class='flag-5'>編程</b><b class='flag-5'>方法</b>及流程技巧

    機器人多節(jié)點動作通信編程方法

    編程方法 相比之前話題和服務的程序,動作通信的例程相對較長,我們一起來運行并分析一下。 運行示例程序 $ source /opt/tros/local_setup.bash $ sou
    的頭像 發(fā)表于 11-27 17:10 ?562次閱讀
    <b class='flag-5'>機器人多節(jié)點</b>動作<b class='flag-5'>通信</b><b class='flag-5'>編程</b><b class='flag-5'>方法</b>

    機器人多節(jié)點話題通信模型介紹

    節(jié)點實現(xiàn)了機器人各種各樣的功能,但這些功能并不是獨立的,之間會有千絲萬縷的聯(lián)系,其中最重要的一種聯(lián)系方式就是話題,它是節(jié)點間傳遞數(shù)據的橋梁。 通信
    的頭像 發(fā)表于 11-27 17:25 ?848次閱讀
    <b class='flag-5'>機器人多節(jié)點</b><b class='flag-5'>話題</b><b class='flag-5'>通信</b>模型介紹
    主站蜘蛛池模板: 91免费网站在线看入口黄 | 国产午夜视频高清 | 天堂资源最新版在线官网 | 亚洲 欧洲 日产 韩国在线 | 一级aaaaaa片毛片在线播放 | 轻点灬大ji巴太大太深了 | 亚洲伊人电影 | 日日夜夜狠狠 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 黄色短视频免费看 | 狠狠干狠狠艹 | 全国男人的天堂天堂网 | 人人九九精 | 黄网站色视频免费观看 | 四虎网站在线播放 | 欧美福利在线播放 | 日本黄色小视频在线观看 | 色老头久久久久久久久久 | 婷婷丁香激情五月 | 国产精品免费拍拍拍 | 久久久这里有精品999 | 国产国产人免费人成免费视频 | 欧美777 | 午夜在线观看视频在线播放版 | 久久国产中文字幕 | 美女黄频| 高清视频在线播放 | 免费日本黄色 | 黄色免费大全 | 免费看吻胸亲嘴激烈网站 | 日韩三级在线免费观看 | 日韩三级一区 | 在线观看色视频 | 在线观看免费黄视频 | 性猛交毛片 | 九色在线看 | 天天看天天摸天天操 | 成人午夜毛片 | 黄色国产 | 久久亚洲成人 | 婷婷色九月综合激情丁香 |