• ROS学习笔记一(安装、节点、发布者和订阅者)


    • ROS安装

    推荐ubuntu20.04。之前下的22.04不太兼容。

    软件源推荐更换为edu结尾,下载很快。

    安装教程详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)_慕羽★的博客-CSDN博客_ubuntu20.04安装ros

    • ROS节点

    计算图(Computation Graph)是一个由ROS进程组成的点对点网络,它们能够共同处理数据。ROS的基本计算图概念有节点(Nodes)、主节点(Master)、参数服务器(Parameter Server)、消息(Messages)、服务(Services)、话题(Topics)和袋(Bags),它们都以不同的方式向图(Graph)提供数据。

    节点(Nodes):节点是一个可执行文件,它可以通过ROS来与其他节点进行通信。

    消息(Messages):订阅或发布话题时所使用的ROS数据类型。

    话题(Topics):节点可以将消息发布到话题,或通过订阅话题来接收消息。

    主节点(Master):ROS的命名服务,例如帮助节点发现彼此。

    rosout:在ROS中相当于stdout/stderr(标准输出/标准错误)。

    roscore:主节点 + rosout + 参数服务器

    roscore = ros+core:主节点(为ROS提供命名服务) + rosout (stdout/stderr) + 参数服务器

    rosnode = ros+node:获取节点信息的ROS工具

    rosrun = ros+run:运行给定的软件包中的节点

    • ROS话题

    节点与节点之间通过话题互相通信。

    rqt_graph用动态的图显示了系统中正在发生的事情。

    rostopic命令工具能获取ROS话题的信息。

    rostopic echo可以显示在某个话题上发布的数据。

    rostopic list能够列出当前已被订阅和发布的所有话题。

    • ROS服务

    服务(Services)是节点之间通讯的另一种方式。服务允许节点发送一个请求(request)并获得一个响应(response)。

    rosservice可以很容易地通过服务附加到ROS客户端/服务器框架上。rosservice有许多可用于服务的命令,如下所示:

    rosservice list          输出活跃服务的信息

    rosservice call          用给定的参数调用服务

    rosservice type         输出服务的类型

    rosservice find         按服务的类型查找服务

    rosservice uri          输出服务的ROSRPC uri

    用法:

    rosparam能让我们在ROS参数服务器(Parameter Server)上存储和操作数据。

    rosparam set            设置参数

    rosparam get            获取参数

    rosparam load           从文件中加载参数

    rosparam dump          向文件中转储参数

    rosparam delete         删除参数

    rosparam list            列出参数名

    用法:

    • ROS发布者和订阅者

    1.先创建catkin工作空间:

    $ mkdir -p ~/catkin_ws/src

    $ cd ~/catkin_ws/

    $ catkin_make

    接下来首先source一下新生成的setup.*sh文件:

    $ source devel/setup.bash

    要保证工作区被安装脚本正确覆盖,需确定ROS_PACKAGE_PATH环境变量包含你当前的工作空间目录:

    $ echo $ROS_PACKAGE_PATH
    /home//catkin_ws/src:/opt/ros//share

    2. 创建话题功能包

    $ cd ~/catkin_ws/src

    $ catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim

    3. 发布者和订阅者代码可参考:ROS基础 发布者和订阅者_Jason 20的博客-CSDN博客_ros发布者和订阅者

    亲测可运行

  • 相关阅读:
    国内离线安装 Chrome 扩展程序的方法总结
    国庆共68条评论《乡村振兴战略下传统村落文化旅游旅游设计》许少辉八一新书
    ubuntu 20 安装搜狗输入法
    15.Kafka系列之事务原理及实践
    logback-spring.xml配置文件标签(超详解)
    博弈论入门
    快速打造安全的车联网平台
    【数据分析之道-Matplotlib(九)】Matplotlib棉棒图
    二叉搜索树的操作及其实现
    22年icpc西安站记录
  • 原文地址:https://blog.csdn.net/Zero_979/article/details/126789863