使用C++在ros系统中输出Hello World

目录

导入:大概认识Node和Package

1.创建一个Package

步骤

tips

2.创建Node节点

1.输入cpp内容

注意

2.编译cpp

3.运行cpp

3.Node节点的完善

1.若想要让节点与ros系统产生联系互动,先对节点进行初始化

2.若想要程序持续运行

3.若想要程序能够ctrl c停止


导入:大概认识Node和Package

Node(节点):相当于一个一个app(程序)
它们在代码上的结构是有一个固定套路的,如果不按套路来,可能会与ROS的核心配合失败


Package(包):安装Node时,会以包为单位进行安装,一次性安装相关的Node;

                            package即将息息相关的Node打包起来,在安装的时候一起安装

1.创建一个Package

步骤

创建一个包——启动vscode——打开终端——输入cd catkin_ws/src/——输入catkin_create_pkg ssr_pkg rospy roscpp std_msgs
vscode中出现文件ssr_pkg

tips


tip1:双#:对文件中指令内容的说明
       单#:与注释对应的指令实例
tip2:roscd:在终端中进入指定软件包的文件地址
tip3:roscpp,rospy,std_msgs(依赖项)也是package包
tip3:一般含有文件package.xml的就是软件包
tip4:放在/opt/ros/noetic/setup.bash中的是可直接运行的程序;放在~/catkin_ws/devel/setup.bash中的是需要编译的
tip5:对依赖项的选择要谨慎,尽量选择这两个地址下的


2.创建Node节点


1.输入cpp内容


打开vs code——点击ssr_pkg——右键点击src———新建文件——chao_node.cpp——回车——

输入#include <ros/ros.h>-----int main函数


注意

1.在输入main后直接接收它的好意,直接回车
2.会碰到include的文件打了红色的下划线
可先保存文件——点击vscode目录——右键c_cpp_……..json——删除——关闭vscode——再打开


2.编译cpp


记得保存!!!
点击左侧的CMakeLists——找到Build章节——找到Declare a C++ executable这一小节——复制单井号代码——来到文件末尾——粘贴(注意去井号——将/前后的文件名都变成chao_node——保存——Ctrl Shift B编译


3.运行cpp


打开终端——先启动ros核心(输入roscore)——按下Ctrl Shift O分出新的终端——输入rosrun ssr_pkg chao_node(⚠️若报错了,那就是没有把工作空间的环境参数加载到终端程序里,可参考前面的Github文章,在终端中source一下就OK了!最好是再直接将这一句放在bashrc中)


3.Node节点的完善


1.若想要让节点与ros系统产生联系互动,先对节点进行初始化


1️⃣在main中第一行加入

ros::init(argc,argv,"chao_node");

编译
⚠️:ros下面有红线,是因为第二个参数在这个函数里不是const类型,将main函数的const删掉即可
2️⃣编译出错了,重新回到CM里,找到Build,找到Specify这一项,重复之前的操作即可


2.若想要程序持续运行


加入while(true)循环


3.若想要程序能够ctrl c停止


将true变成ros::ok()即可

相关推荐

  1. python输出HelloWorld

    2024-04-10 16:40:02       26 阅读
  2. ros获取话题的发布节点名称(C++)

    2024-04-10 16:40:02       9 阅读
  3. c语言输出100以内的奇数

    2024-04-10 16:40:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 16:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 16:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 16:40:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 16:40:02       20 阅读

热门阅读

  1. 新浪微博导航

    2024-04-10 16:40:02       15 阅读
  2. 李沐21_卷积层多输入多输出通道——自学笔记

    2024-04-10 16:40:02       13 阅读
  3. uniapp的一些记录

    2024-04-10 16:40:02       16 阅读
  4. 快速解决关于Quartus打不开图像文件问题

    2024-04-10 16:40:02       21 阅读
  5. 用队列实现栈(C)

    2024-04-10 16:40:02       13 阅读
  6. PostgreSQL开发与实战(8.1)PG的锁1

    2024-04-10 16:40:02       20 阅读
  7. 88. 合并两个有序数组

    2024-04-10 16:40:02       13 阅读