声明:整个学习是我跟着奥特学园进行的,不是原创,只是记录自己的学习过程
步骤
创建命名空间
mkdir -p catkin_ws/src //其中前者是工作空间的名称,后者为存放源码的位置
cd ./catkin_ws
catkin_make//在工作空间里进行编译操作
创建功能包
在catkin_ws/src中创建功能包,xxx为名字
catkin_create_pkg xxx roscpp std_msgs
修改配置文件cmakelists
注意取消注释
add_executable(节点名
src/源文件名.cpp
)
target_link_libraries(节点名
${catkin_LIBRARIES}
)
编译
首先对修改后的工作空间catkin_make一下,然后
cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节点
坑:
1、第一步catkin_make的位置不对,应该在工作空间目录下进行 2、在修改配置文件时,需要取消掉前面的注释 3、最后一步运行时出现“已放弃(核心已转储)”,是因为cpp文件里,执行ros节点初始化时,初始化的名称里面不能有空格,只能用下划线代替空格 4、新建功能包的指令为catkin_create_pkg xxx roscpp std_msgs,注意是msgs,不是msg
#include "ros/ros.h"
int main(int argc, char *argv[])
{
ros::init(argc,argv,"hello");
ros::NodeHandle n;
ROS_INFO("hello world");
return 0;
}
|