This,robot——从零开始的Robomaster之旅(伍)

这次鸽的时间有点久,因为笔者同时在学习多方面的知识,这一点也可以从笔者撰写不同方向的专栏看出,所以在ROS方向上小憩了一段时间,之后是打算把深度学习的内容单独再开设一个专栏,并且把之前写的一些文章收录进去。因为笔者目前是RM上位机组视觉方向深度学习的成员,和大部分的RM学习方向有些许的不同,因而这一专栏只收纳共性的知识点,如ubuntu、ROS等,进阶细化的知识体系会放在深度学习专栏。

本文主要介绍了ROS正式运行的前期准备——工作空间与功能包的初始化,为后续信息的发布机制配置好环境变量。

目录

基本概念

 相关指令

创建工作空间

创建功能包


基本概念

ROS将工作空间划分为四个部分,如图所示,分别为代码空间、编译空间、开发空间、安装空间,每个部分各司其事又环环相扣。

This,robot——从零开始的Robomaster之旅(伍)_第1张图片

代码空间(src):储存各种功能包的代码和配置文件

编译空间(build):存放编译过程中的各类中间文件

开发空间(devel):储存编译生成的库和脚本

安装空间(install):安置使用install命令下载的ROS文件

注:在ROS2中对工作空间进行了简化,将devel和install合并为同一空间

This,robot——从零开始的Robomaster之旅(伍)_第2张图片

 相关指令

创建工作空间

mkdir -p~/work_space/src  其中work_space是自己定义的空间名字

cd ~/work_space/src

catkin_init_workspace  初始化目前所在文件夹为工作空间

cd ..

catkin_make  编译src文件夹下的所有源码,结果会存放到devel和build文件夹

catkin_make install  在工作空间中创建install文件夹并完成配置

This,robot——从零开始的Robomaster之旅(伍)_第3张图片

创建功能包

cd ~/work_space/src

catkin_create_pkg bag_name depend1 depend2

bag_name是创建的功能包的名字,depend是该功能包运行时需要依赖的其他功能包,类似于c++里面的头文件

创建成功的话,可以在文件夹中看到CMakeLists和package两个配置文件

cd ..

catkin_make 编译功能包

source devel/setup.bash  设置环境变量,可以通过在bash文件末尾写入这一条语句而省略

echo $ROS_PACKAGE_PATH  记录文件路径,注意别丢了$

This,robot——从零开始的Robomaster之旅(伍)_第4张图片

 注意每次运行代码时所处的文件不同,有时在work_space中编译,有时在src中运行。

以上就是关于ROS工作空间与功能包创建的经验分享,希望能帮到屏幕前的你,我们下期再见。

 

 

 

你可能感兴趣的:(Robomaster,经验分享,linux,ubuntu,bash)