一、工作空间基本操作
1、创建工作空间及初始化
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
mkdir——创建文件夹
cd——切换工作目录
catkin_init_workspace——工作空间初始化
2、编译工作空间
cd ~/catkin_ws/
catkin_make
catkin_make——编译工作空间
3、创建功能包
cd src
catkin_create_pkg helloworld roscpp rospy std_msgs
catkin_create_pkg——创建功能包
helloworld——功能包名称
roscpp——用来运行c++代码的库(依赖)
rospy——用来运行python代码的库(依赖)
std_msgs——标准消息的库,比如string字符串消息类型 (依赖)
二、C++编程
1、CMakeLists.txt配置
打开功能包中CMakeLists.txt,修改(ctrl+f搜索)
(1)声明c++可执行文件
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
# add_executable(${PROJECT_NAME}_node src/helloworld_node.cpp)
add_executable(suiyi src/helloworld_c.cpp)
第一个参数为期望生成(随意命名)可执行文件的名称(.exe),第二个参数为被编译的源码文件(.cpp)
(2)指定要链接库或可执行目标的库。
## Specify libraries to link a library or executable target against
# target_link_libraries(${PROJECT_NAME}_node
# ${catkin_LIBRARIES}
# )
target_link_libraries(suiyi ${catkin_LIBRARIES})
改成刚刚随意命名的suiyi节点,其中后面不改,默认链接库。
三、Python编程
四、运行
1、catkin_make编译
因为c++必须编译后才能运行,回到工作空间根目录,重新编译一次。
catkin_make
2、source一下,配置环境变量
source ./devel/setup.bash
3、roscore + rosrun
新开终端
roscore
在配置好环境变量的终端输入
rosrun helloworld suiyi
终端输出
[ INFO] [1664245759.288360443]: hello world!