ROS自学笔记:创建工作空间和功能包

工作空间:
src:代码空间,存储编写的源码,配置文件,launch文件等
build:编译空间,存储编译中间文件,一般用不上
devel:开发空间,存储编译好文件
install:安装空间,存储编译好文件

注:devel和install里面内容有所重复,这是ROS设计时的一个缺陷。在ROS2里devel空间被完全放弃

创建工作空间:
1 创建文件夹catkin_ws(名称可更换)及下面的src(名称不可更换)

sudo mkdir -p ~/catkin_ws/src

2 进入src,初始化工作空间

cd src
sudo catkin_init_workspace

3 回到工作空间根目录,编译工作空间

cd …
sudo catkin_make

这一步会产生devel和build文件夹,要产生install,还要进行一步

sudo catkin_make install

ROS自学笔记:创建工作空间和功能包_第1张图片
4 设置环境变量

source devel/setup.bash

上面方法只能生效一次,如果要永久修改环境变量,需要该.bashrc文件
进入home文件夹,.bashrc为隐藏文件,所以直接ls看不到

sudo vim .bashrc

进入后在末尾添加:

source /home/pi/catkin_ws/devel/setup.bash

注:pi 和catkin_ws改为自己的路径名和工作空间名

功能包:
功能包是ROS代码存储最小单位,ROS里源码必须存成功能包才能放在src里,不可以直接放在src里面

1 创建功能包:

cd src
sudo catkin_create_pkg 功能包名 [依赖1] [依赖2] [依赖3] …

catkin_create_pkg为创建功能包指令,方括号里标明功能包依赖
这里我们的示例:

sudo catkin_create_pkg test_pkg roscpp rospy std_msgs

依赖说明:roscpp用于应用C++文件,rospy用于应用python文件,std_msgs为ROS里标准话题类型

在功能包里,src用来存储源码,include用于存储头文件(如C++的h文件),CMakeList.txt和package.xml为功能包里重要说明文件

package.xml内容:
1 功能包名称,版号,开发者信息
ROS自学笔记:创建工作空间和功能包_第2张图片
2 依赖文件信息,如果功能包后续需要添加依赖就在这里该
ROS自学笔记:创建工作空间和功能包_第3张图片
CMakeLists.txt
ROS自学笔记:创建工作空间和功能包_第4张图片
编译文件信息。后续写好的节点程序要在CMakeLists里进行声明才能运行

你可能感兴趣的:(实习记录,ROS,linux,嵌入式硬件,单片机)