色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(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系統中話題通信的方法,依然沿用了ROS2中話題通信的完整流程。

代碼解析

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

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;
}

訂閱者的實現方法

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ī)問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28405

    瀏覽量

    207011
  • 編程
    +關注

    關注

    88

    文章

    3615

    瀏覽量

    93710
  • 程序
    +關注

    關注

    117

    文章

    3786

    瀏覽量

    81022
收藏 人收藏

    評論

    相關推薦

    機器人設計中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系統的遠程升級方法

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

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

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

    機器人多傳感器測距系統研究與設計

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

    機器人多傳感器信息融合測距系統設計

    機器人多傳感器信息融合測距系統設計....
    發(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 ?3871次閱讀
    焊接<b class='flag-5'>機器人多</b>少錢一臺?

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

    焊接機器人編程方法有什么?所謂焊接機器人是從事焊接的工業(yè)機器人,廣泛應用于汽車制造、造船、航空等領域。使用
    的頭像 發(fā)表于 07-13 16:46 ?2190次閱讀
    焊接<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 ?426次閱讀
    <b class='flag-5'>機器人多節(jié)點</b>動作<b class='flag-5'>通信</b><b class='flag-5'>編程</b><b class='flag-5'>方法</b>

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

    節(jié)點實現了機器人各種各樣的功能,但這些功能并不是獨立的,之間會有千絲萬縷的聯系,其中最重要的一種聯系方式就是話題,它是節(jié)點間傳遞數據的橋梁。 通信
    的頭像 發(fā)表于 11-27 17:25 ?492次閱讀
    <b class='flag-5'>機器人多節(jié)點</b><b class='flag-5'>話題</b><b class='flag-5'>通信</b>模型介紹
    主站蜘蛛池模板: 激情丛林电影完整在线| 最新无码二区日本专区| 十八禁久久成人一区二区| 欧美日韩一级黄色片| 美女的避毛| 男女无遮挡吃奶gift动态图 | YELLOW在线观看高清视频免费 | 亚洲日本欧美日韩高观看| 亚洲 欧美 视频 手机在线| 午夜福利电影| 午夜福利体检| 亚洲精品久久久久中文字幕二区| 午夜男人免费福利视频| 午夜福利网国产A| 亚洲国产成人精品不卡青青草原 | 男总裁憋尿PLAY灌尿BL| 免费国产久久啪久久爱| 欧美人与动牲交A精品| 欧美亚洲日韩自拍高清中文| 欧美性喷潮xxxx| 思思re热免费精品视频66| 微拍秒拍99福利精品小视频| 亚州笫一色惰网站| 亚洲理论在线a中文字幕| 在线广播收听| s8sp视频高清在线播放| 俄罗斯6一9泑女网站| 国产欧美无码亚洲毛片| 寂寞护士中文字幕 mp4| 麻豆一区二区三区蜜桃免费| 男女牲交大战免费播放| 色爱AV综合区| 亚洲国产欧美日韩在线一区| 又长又大又粗又硬3p免费视频| 970女主播电台歌曲| 处女座历史名人| 国产嫩草在线观看| 久久综合老色鬼网站| 欧美性喷潮xxxx| 亚洲AV精品无码国产一区| 伊人久久综合影院|