一、创建一个工作空间
首先创建一个工作空间以及一个src子目录,然后再进入工作空间调用catkin_make命令编译
mkdir -p demo01_ws/src
cd demo01_ws/
catkin_make
二、再创建一个功能包
在src中生成一个功能包,该功能包依赖于roscpp,rospy,std_msgs,其中roscpp是使用C++实现的库,rospy是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。
建议写要求性能高,算法复杂的代码用C++,写一些功能简单的工具包的代码使用python。
cd src
catkin_create_pkg helloworld roscpp rospy std_msgs
三、编辑源文件
cd helloworld/src
touch helloworld_c.txt
rename已有则不用下载
sudo apt install rename
rename 's/\.txt/\.cpp/' *
此时打开helloworld_c.cpp文件编写代码(先进入helloworld/src文件中)
//1.包含rosd的头文件 #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; }
四、编辑配置文件
到demo01_ws/src/helloworld目录下
此时打开CmakeLists.txt文件
找到
# add_executable(haha src/helloworld_node.cpp)
去掉#
将helloworld_node.cpp改成helloworld_c.cpp
将${PROJECT_NAME}_node改称自定义名字如haha
找到
# target_link_libraries(${PROJECT_NAME}_node
#${catkin_LIBRARIES}
#)
去掉#
#
#
将${PROJECT_NAME}_node改称自定义名字如haha
五、编译并执行
到demo01_ws目录下打开终端
catkin_make
编译成功后新开一个终端
roscore
然后再到原来的终端输入
source ./devel/setup.bash
rosrun helloworld haha