首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2.ROS基础-创建工作空间

2.ROS基础-创建工作空间

作者头像
小飞侠xp
发布2019-03-04 14:59:29
发布2019-03-04 14:59:29
1.4K0
举报

爱之于我,不是肌肤之亲,不是一蔬一饭,它是一种不死的欲望,是疲惫生活里的英雄梦想。

创建工作空间

工作空间(workspace)是一个存放工程开发相关文件的文件夹。包含四个部分的内容。

  • src:代码空间(Source Space)
  • build:编译空间(Build Space)编译过程产生的中间文件
  • devel:开发空间(Development Space)可执行文件和相关脚本
  • install: 安装空间(Install Space)和devel文件功能相差不大,只不过一般将可执行文件安装到此文件夹。
代码语言:javascript
复制
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
编译工作空间
代码语言:javascript
复制
cd ~/catkin_ws/
catkin_make
设置环境变量
代码语言:javascript
复制
source devel/setup.bash

通过设置环境变量,系统将知道功能包放在catkin_ws_devel下

该命令有一个弊端就是,设置的环境变量只会在当前终端下生效,重新打开一个终端将失效

解决方法是将上述命令放在终端配置文件中。

代码语言:javascript
复制
vi ~/.bashrc

vi/vim介绍

将环境变量添加只终端设置最后一行

代码语言:javascript
复制
source ~/catkin_ws/devel/setup.bash

在新的终端中输入以下命令,让终端命令在当前终端生效

代码语言:javascript
复制
source ~/.bashrc
检查环境变量
代码语言:javascript
复制
echo $ROS_PACKAGE_PATH
创建功能包

catkin_create_pkg<package_name> [depend1][depend2][depend3]

代码语言:javascript
复制
cd ~/catkin_ws/src
catkin_create_pkg learning_communicate std_msgs rospy roscpp
编译功能包

所有使用catkin_make完成编译操作都是需要在工作空间根目录下。

代码语言:javascript
复制
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash

同一工作空间下,不允许存在同名功能包,不同工作空间下,允许存在同名功能包

这里的catkin_ws和新建文件夹差不多,可以换一个名字。

工作空间的覆盖
  • 工作空间的路径依次在ROS_PACKAGE_PATH环境变量中记录
  • 新设置路径在ROS_PACKAGE_PATH中会自动放置在最前端
  • 运行时,ROS会优先查找最前端的工作空间中是否存在指定的功能包
  • 如果存在,就顺序向后查找其他工作空间
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.02.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建工作空间
  • 编译工作空间
  • 设置环境变量
  • 检查环境变量
  • 创建功能包
    • 编译功能包
    • 工作空间的覆盖
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档