本文为笔者在学习ros过程中的记录
依据材料:古月ros入门21讲 、 ROS机器人开发实践
本文代码为c++,系统为ubuntu20.04
前言
本文为作者根据 古月ROS21讲 和 ROS机器人开发实践 来学习ros的笔记
将不定时更新,主要是为了加深印象。
一、workspace的建立
1.结构性文件夹的创建
创建 catkin_ws (名称可改)
mkdir catkin_ws
cd catkin_ws/
创建了 [工作空间根目录] 文件夹catkin_ws ,并进入到catkin_ws中完成接下里的创建。
创建代码空间(src),其名称不可改
mkdir src
cd src/
创建src并进入到src文件夹中进行接下来的操作。
初始化当前文件夹,使其成为ros的workspace。
catkin_init_workspace
若出现 src文件夹中出现 CMakeLists.txt
则视为成功
如下图所示:
接下来要完成对于 工作空间的编译
首先 退回到工作空间的根目录 —— catkin_ws
cd..
然后进行编译
catkin_make
明显变化如下:在catkin_ws中出现了 build文件夹(编译空间) devel文件夹(开发空间)
要出现install文件夹(安装空间)还需输入以下指令:
catkin_make install
2.功能包的创建
功能包需要放置于src文件夹(代码空间)下,所以需要进入到src中进行操作。
依照 古月ROS21讲 的教程,输入以下指令创建功能包
catkin_create_pkg test_pkg roscpp rospy std_msgs
解释:
catkin_create_pkg 是要求创建功能包的指令
test_pkg 是功能包的名称
roscpp rospy std_msgs 是 其所依赖的库。
在功能包中一定存在 两个文件:CMakeLists.txt 和 package.xml
到这里便完成了简单的构建工作
接下来要完成编译与环境变量的设置
进入到工作空间的根目录,并输入下列代码
catkin_make
完成编译之后,应该设置环境变量
source devel/setup.bash
环境变量是用来记录一些关键文件的位置,使程序能自主找到所需要的文件进行操作。
可用以下指令来寻找功能包的位置:
echo $ROS_PACKAGE_PATH