参考信息:
1. https://blog.csdn.net/weixin_40522162/article/details/78348025
2. https://blog.csdn.net/weixin_39960014/article/details/81145981
1. 新建工作空间
$ mkdir -p ~/catkin_ws/src # 创建文件夹
$ cd ~/catkin_ws/src # 进入文件夹
2. 初始化工作空间
$ catkin_init_workspace # 初始化工作空间 生成CMakeLists.txt
3. 编译package
$ cd ~/catkin_ws
$ catkin_make # 编译package catkin目录下会生成build devel两个文件夹
4. 在bash中注册工作区
$ source devel/setup.bash # 工作区在bash中注册
$ echo $ROS_PACKAGE_PATH # 可以用于验证是否已经在bash中注册
5. 创建一个ROS数据包(package)
$ cd src
# catkin_create_pkg命令创建beginner_tutorials包,这个包依赖于std_msgs、rospy、roscpp
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
6. 在工作区编译工程包
$ cd ~/catkin_ws
$ catkin_make
7. 动手写个小程序
$ cd ~/catkin_ws/src/beginner_tutorials # 切换到工程包,因为已经编译过,该文件夹下有CMakeFiles.txt、package.xml、include和src两个目录
$ cd src # 进入src目录
$ sudo gedit hello.cpp # 在src目录下创建 hello.cpp文件
8. 编辑CMakeLists.txt
$ cd ~/catkin_ws/src/beginner_tutorials # 进入beginner_tutorials项目包
$ gedit CMakeLists.txt # 编辑文件
在末尾加上:
##Add hello.cpp by uunubt ##
add_executable(hello ./src/hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})
##
9. 编译程序
$ cd ~/catkin_ws # 回到catkin_ws
$ catkin_make # 编译程序
10. 运行程序
在一个终端中启动
$ roscore
打开另一个终端
$ cd ~/catkin_ws
$ source ./devel/setup.bash # 使用程序前,先把程序注册
$ rosrun beginner_tutorials hello # 运行hello节点
PS:
hello.cpp直接从网页上复制的,编译时报很多错,类似于:
error: stray ‘\302’ in program
应当是存在中文字符的原因,修改后编译成功