目录
1.若想要让节点与ros系统产生联系互动,先对节点进行初始化
导入:大概认识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()即可