【ROS】HelloWord简单实现

C++实现

1. 创建工作空间并初始化

创建工作目录demo01_ws,并在该文件夹下创建src文件夹

mkdir -p demo01_ws/src

进入到该目录下

cd demo01_ws/

初始化

catkin_make

【ROS】HelloWord简单实现_第1张图片这时在demo01_ws目录下除了src文件夹外,多处了两个文件夹。

【ROS】HelloWord简单实现_第2张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/aec466f70a6e4abaa9684f0997f7c210.png

2. 进入src创建ros包并添加依赖
进入到src目录下

cd src

添加包依赖

catkin_create_pkg  helloworld roscpp rospy std_msgs

进入src目录,发现多了一个helloworld目录和一个文件。使用上面的命令,会生成一个helloworld的功能包,该功能包依赖于roscpp,rospy,std_mags,其中roscpp是使用C++实现的库,rospy是使用python实现的库,std_msgs是消息标准库,创建ROS功能包时一般都会依赖这三个库实现。
【ROS】HelloWord简单实现_第3张图片
再进入helloworld目录,是ros创建好的项目结构。
【ROS】HelloWord简单实现_第4张图片
3. 进入功能包的src目录编写源文件(helloworld_c.cpp)

//1.包含 ros 的头文件
#include"ros/ros.h"
//2.编写 main 函数
int main(int argc,char *argv[])
{
	//3.初始化ros节点
	ros::init(argc,argv,"hello_node");
	//4.输出日志
	ROS_INFO("hello world");
	return 0;
}

【ROS】HelloWord简单实现_第5张图片
4. 编写配置文件

编写CMakeList.txt配置文件。

【ROS】HelloWord简单实现_第6张图片
找到第136行的add_execatable。

在这里插入图片描述将其前面的注释去掉。
在这里插入图片描述修改该处的代码(意思是通过这个haha可以映射到这个cpp文件):
在这里插入图片描述

再将149行的target_link_libraries的注释去掉。
在这里插入图片描述在这里插入图片描述并修改该处的代码:
【ROS】HelloWord简单实现_第7张图片

最后保存退出。

5. 编译

在demo01_ws下进入终端并执行下面命令编译:

catkin_make

【ROS】HelloWord简单实现_第8张图片编译成功。

6. 执行
新开一个终端,使用roscore命令启动ros核心。
【ROS】HelloWord简单实现_第9张图片
在原来的终端中,使用source ./devel/setup.bash,添加环境变量;再执行rosrun helloworld haha
在这里插入图片描述

你可能感兴趣的:(其他)