ROS Hello World(C++)
编译过程
1.创建工作空间并初始化
mkdir -p 自定义工作空间名称/src
cd 自定义工作空间名称
catkin_make
例如
mkdir -p helloworld/src
cd helloworld/
catkin_make
2.进入src创建ROS包并添加依赖
cd src/
catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs
例如
cd src/
catkin_create_pkg chello roscpp rospy std_msgs
3.进入ROS包的src目录编辑源文件
cd 自定义ROS包名
cd src/
vim 源文件名.cpp
#include "ros/ros.h"
int main(int argc,char *argv[])
{
//执行ros节点初始化
ros::init(argc,argv,"hello")//hello是节点名称
//创建ros节点句柄(非必须)
ros::NodeHandle n;
//控制台输出,hello world
ROS_INFO("hello world");
return 0;
}
例如
cd chello
cd src/
vim chello.cpp
#include "ros/ros.h"
int main(int argc,char *argv[])
{
//执行ros节点初始化
ros::init(argc,argv,"hello")//hello是节点名称
//创建ros节点句柄(非必须)
ros::NodeHandle n;
//控制台输出,hello world
ROS_INFO("Hello World");
return 0;
}

4.编辑ROS包下的Cmakelist.txt文件
cd .. 用于进入第2步中包的目录下
vim Cmakelist.txt
添加下述代码(或者 取消注释并修改Cmakelist.txt中的add_executable和target_link_libraries)
add_executable(步骤3的源文件名
src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名
${catkin_LIBRARIES}
)
例如
add_executable(chello
src/chello.cpp
)
target_link_libraries(chello
${catkin_LIBRARIES}
)

5.返回工作空间目录并编译
cd 自定义的工作空间
catkin_make
生成build devel
例如 从包目录chello下
cd ..
cd ..
catkin_make
文件结构如下

执行过程
新建终端1:在工作空间执行 roscore
新建终端2:
cd 工作空间
source ./devel/setup.bash (如果在小车的bashrc里面已经加入过 可以省略这一步)
rosrun 自定义包名 C++节点
例如
cd helloworld/
source ./devel/setup.bash
rosrun chello chello
运行结果如下图所示

该文详细介绍了如何使用C++在ROS环境中编写并编译一个简单的HelloWorld程序。首先创建并初始化工作空间,然后创建ROS包并添加依赖,接着编写源代码,编辑CMakeLists.txt文件,最后编译并运行程序,通过roscore和rosrun命令在终端中展示结果。

2503

被折叠的 条评论
为什么被折叠?



