理解ROS功能包(二):创建工作空间

上一篇中简单介绍了功能包,对于功能包需要清楚两方面的内容,一个是对于现有的功能包如何使用,一个是如何编写一个有特殊功能的功能包。

本篇介绍如何创建工作空间

1.简单了解CMake

我刚开始学ROS的时候也是刚开始学习编程相关东西的时候,ROS相关的操作都是对着攻略按部就班来做的,对与过程中遇到的各种名词、概念都不理解,并且在很长的一段时间里都没有想过回头去理解一下,这就导致当我在使用ROS过程中,对ROS并没有正确的理解,很多最基本的问题,到了我这处理起来也会非常坎坷。所以我觉得,想要学会ROS对于一些基本的编程相关的东西、Linux相关的一些东西都要有基础的掌握。

ROS功能包创建,其实就是搭建一个ROS框架下的最基础的工程文件,还是由CMake牵线搭桥的。

有关CMake的博客:https://blog.csdn.net/whahu1989/article/details/82078563

2.“开发环境”搭建

ROS开发也有IDE,但是我个人觉得使用终端就足够了。首先,ROS的IDE其实挺难安装,不太容易找到合适资源,安装对新手来说也不友好;同时还需要配置环境,需要花较多力气在没实际用的地方;使用的体验也就这样。直接使用终端可以避免不必要的麻烦,而且对开发可以说毫无影响,终端有各种指令可以帮助你查看管理文件,而且不需要配置环境,终端和整个Linux系统显然是连通的。

但是使用终端开发也产生了对图形化界面操作的需要,所以还需要去学习一下Linux终端的一些常用的命令,另外非常推荐学习vim来进行文本编辑。

3.创建工作空间基本流程

如果学习了CMake,自然会理解工作空间各个文件夹和文本的含义,这里就直接罗列创建的流程

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace
cd ..
catkin_make
//以上创建了catkin_make工程的基本框架,也就是工作空间
//对于整个Linux系统来说,现在的工作空间只是一个简单的文件夹,功能包并不能被ROS认领,需要进一步配置环境变量
source devel/setup.bash

//上面的指令是临时的,这意味着下次使用该功能包时还需要重新配置,更好的配置方法是把当前的功能包放到Linux系统中登记,也就是将配置的内容写入bashrc
echo "source/WORKSPACE/devel/setup.bash">>~/.bashrc
//这样每次打开终端,都会去执行上面的bash,让ROS可以找到该功能包

在这里插入图片描述

在这里插入图片描述在这里插入图片描述


版权声明:本文为BAOLI_LONG原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/BAOLI_LONG/article/details/128383169