ROS入门二 创建工作空间和功能包

  • 创建工作空间和功能包
    • 工作空间
    • 创建工作空间
    • 创建功能包
  • RoboWare

创建工作空间和功能包

工作空间

ROS代码存放的地方叫工作空间,类似于VS中的项目。典型的工作空间中一般包括以下四个目录空间。

  • src代码空间Source Space开发过程中最常用的文件夹用来存储所有ROS功能包的源码文件。
  • build编译空间Build Space用来存储工作空间编译过程中产生的缓存信息和中间文件。
  • devel开发空间Development Space用来放置编译生成的可执行文件。
  • install安装空间Install Space编译成功后可以使用make install命令将可执行文件安装到该空间中运行该空间中的环境变量脚本即可在终端中运行这些可执行文件。安装空间并不是必需的很多工作空间中可能并没有该文件夹。

创建工作空间

创建一个名为catkin_ws的工作空间并创建一个名为src的文件夹

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_worksp ace

打开并编译

$ cd ~/catkin_ws/
$ catkin_make

生效工作空间中的环境变量

$ source devel/setup.bash

检查是否生效

$ echo $ROS_PACKAGE_PATH

创建功能包

ROS中功能包形式

my_package/
CMakeLi sts.txt
package.xml
……

package.xml文件提供了功能包的元信息也就是描述功能包属性的信息。CMakeLists.txt文件记录了功能包的编译规则。为保证系统响应的速度,功能包之间不允许出现嵌套的关系。

创建功能包命令catkin_create_pkg

$ catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
//<package_name>:功能包的名称
//[depend1] [depend2] [depend3]:所依赖的其他功能包名称depend1

创建一个learning_communication功能包该功能包依赖于std_msgs、roscpp、rospy等功能包。

$ cd ~/catkin_ws/src
$ catkin_create_pkg learning_communication std_msgs rospy roscpp

回到工作空间的根目录,编译、设置环境变量

$ cd ~/catkin_ws
$ catkin_make
$ source ~/ca tkin_ws/devel/setup.bash

工作空间不允许重名,否则编译报错。

RoboWare

RoboWare是一款直观、简单并且易于操作的ROS集成开发环境可进行ROS工作空间及包的管理、代码编辑、构建及调试。
RoboWare的貌似已经废了,死活进不去,我是在网上找的,有需要的联系我。

依赖和软件的安装:

$ cd /path/to/deb/file/
$ sudo dpkg -i roboware -studio_[version]_[architecture].deb

在这里插入图片描述