zoukankan      html  css  js  c++  java
  • ROS学习笔记1

    roscore,可以使节点间进行通信

    rosrun一次启动一个节点,启动多个节点并实现它们的通信,需要先启动roscore

    roslaunch是个启动文件,其目的是一次启动多个节点(会自动启动节点管理器)

    /rosout是一个特殊节点,通过/roscore自动启动,它类似于程序中的标准输出std::cout。所有节点都向话题/rosout发布消息,而这个话题由同名的/rosout节点订阅,话题的作用是用来生成各个节点的文本日志消息。(消息有组织的存放在话题里)

    !!!要注意的是rosrun 命令中可执行文件的名称与节点名称并不一定相同。节点名称是在代码中命名的例如ros::init (argc, argv, "odom");而可执行文件名称是在CMakeLists.txt中命名的。但可以使用 rosrun 命令显式设置节点的名称,语法如下:rosrun package-name executable-name _ _name:=node-name 这种方法将使用 node-name 参数给出的名称覆盖节点的默认名。因为 ROS 中要求每个节点有不同的名称,因此该方法很重要尤其是移植程序中。


    话题和消息

    节点发布消息:发布(publish)消息到对应的一个或多个话题

    节点接收消息:订阅(subscribe)一个或多个话题

    节点管理器负责发布和订阅的节点间能互相找到对方,但消息不经过节点管理器,而是直接有发布节点到订阅节点


    launch:启动多个文件用XML文件,文件后缀.launch

  • 相关阅读:
    小程序开发系列(五)悬浮搜索框
    LINQ的连接扩展(左连、右连、全连等)
    小程序开发系列(四)九宫格另一种实现
    python 生成随机图片验证码
    django定时任务小插件
    线程池模块thernd
    python logging 模块记录日志
    django Q条件
    jquery 事件绑定
    jQuery示例
  • 原文地址:https://www.cnblogs.com/zzx2cnblogs/p/6907086.html
Copyright © 2011-2022 走看看