创建ros工作空间
- 创建工作空间
mkdir -p ~/catkin_wa/src
进入工作空间,并初始化,即声明它是一个ros工作空间
cd ~/catkin_ws/src catkin_init_workspace
src文件中会出现一个 CMakeLists.txt 的文件
-
编译工作空间
cd ~/catkin_ws
catkin_make
注意catkin_make一直都在工作空间(catkin_ws)目录下运行
3.创建功能包
cd ~/catkin-ws/src
catkin_create_pkg learning_communication std_msgs roscpp rospy
catkin_create_pkg [功能包名称] [需要的ros包]
4. 编译功能包
cd ~/catkin_ws
catkin_make
5.添加环境变量
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.输出ros包路径确认以下:
echo $ROS_PACKAGE_PATH
输出中存在你新添加的路径即成功
多个
rosrun lear + tab健即可自动补全 功能包全称
自建多个节点
在上面我们以及建立了一个名为learning_communication的功能包,在这个功能包下创建节点
cd ~/catkin_ws/src/learning_communication/src
touch test1.cpp #第一个节点文件
touch test2.cpp #第一个节点文件
##在test1.cpp和test2.cpp中输入你的代码
...............................
修改功能包目录下的CMakeLists.txt
#添加以下四行
#格式为add_executable([自定义节点名]_node [可执行文件路径])
add_executable(test_node src/test.cpp)
add_executable(track_node src/test2.cpp)
#格式为add_executable([自定义节点名]_node ${catkin_LIBRARIES})
target_link_libraries(test_node
${catkin_LIBRARIES}
)
target_link_libraries(track_node
${catkin_LIBRARIES}
)
编译
cd ~/catkin_ws
catkin_make
此时在终端输入rosrun learning_communication te + tab即可自动补全,证明节点添加成功