ROS学习——创建一个简单的发布节点和订阅节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS学习——创建一个简单的发布节点和订阅节点相关的知识,希望对你有一定的参考价值。

暑假在家有些懈怠,不,非常懈怠— —||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了技术分享

,这次特意弄个最最基础的,恢复一下,以前的进度。

 

1.建立一个工作空间

$ mkdir -p ~/catkin_xi/src
$ cd ~/catkin_xi/src

技术分享

在home文件夹里面发现新建好了相应的文件夹,当然里面,空空的,什么都没有。

技术分享

 

接着,使用catkin_make命令在catkin 工作空间中新建文件夹,当前目录应该能看到‘build‘和‘devel‘这两个文件夹。在‘devel‘文件夹里面你可以看到几个setup.sh文件。

$ cd ~/catkin_xi/
$ catkin_make

  技术分享

 

然后source一下,setup.sh文件。

技术分享

把路径切换到src的路径下,

$ cd ~/catkin_ws/src

  

$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

用这个命令创建一个名为‘beginner_tutorials‘的新程序包,这个程序包依赖于std_msgs、roscpp和rospy。这将会创建一个名为beginner_tutorials的文件夹,这个文件夹里面包含一个package.xml文件和一个CMakeLists.txt文件,这两个文件都已经自动包含了部分你在执行catkin_create_pkg命令时提供的信息。

使用rospack命令工具来查看一级依赖包。

$ rospack depends1 beginner_tutorials

  当然,这可能会遇到一个问题,就是发生错误,输入这个代码,可以纠正。

$ source devel/setup.bash

  技术分享

技术分享

rospack列出了在运行catkin_create_pkg命令时作为参数的依赖包,这些依赖包随后保存在package.xml文件中。直接打开这个文件,在里面粘贴,

<?xml version="1.0"?>
<package>
...
 <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>
  <run_depend>std_msgs</run_depend>

...
</package>

一个程序包还可以有好几个间接的依赖包,幸运的是使用rospack可以递归检测出所有的依赖包。

技术分享

之后呢,创建个简单的发布节点和订阅节点

$ roscd beginner_tutorials
$ mkdir src
$ touch src/talker.cpp

 同样,创建订阅节点也是这样

$ cd beginner_tutorials
$ touch src/listener.cpp

 技术分享

 

以上是关于ROS学习——创建一个简单的发布节点和订阅节点的主要内容,如果未能解决你的问题,请参考以下文章

编写简单的发布者和订阅者(C++)---ROS学习第9篇

ros订阅主题了还需要创建服务吗

ROS编程基础发布者节点的创建和运行

ROS学习笔记三(理解ROS节点)

ROS学习笔记- 节点消息话题服务节点管理器

ros 发布节点和订阅节点