前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS1云课→03工作空间

ROS1云课→03工作空间

作者头像
zhangrelay
发布2022-09-24 08:54:02
1.5K0
发布2022-09-24 08:54:02
举报

ROS1云课→02系统架构


先下载需要资源:

代码语言:javascript
复制
git clone https://gitcode.net/ZhangRelay/ros_book.git

解压缩需要的*.zip文件:

unzip ***.zip

简而言之,工作空间就是一个包含功能包、可编辑源文件或编译包的文件夹。当想同时编译不同的功能包时非常有用,并且可以用来保存本地开发包同时是集中管理开发包的一种好方式。

下图所示的是一个典型的工作空间。每个文件夹都是一个具有不同功能的空间:

  • 源文件空间(The Source space):在源空间(src文件夹)放置了功能包、项目、克隆包等。在这个空间最重要的一个文件是CMakeLists.txt。当你在工作空间中配置功能包时,src文件夹CMakeLists.txt调用CMake。这个文件是通过catkin_init_workspace命令创建的。
  • 编译空间(The build space):在build文件夹里,cmakecatkin为功能包和项目保存缓存信息、配置和其他中间文件。
  • 开发空间(The Development(devel)space):devel文件夹用来保存编译后的程序,这些是无需安装就能用来测试的程序。一旦项目通过测试,你可以安装或导出功能包与其他开发人员分享。

ROS1通常为src+build+devel; ROS2通常为src+build+install+log。

catkin编译包有两个选项。第一个是使用标准CMake工作流程,通过此方式可以一次编译一个包,见以下命令:

$ cmake packageToBuild/

$ make

如果想编译所有的包,可以使用catkin_make命令行,见以下命令:

$ cd workspace

$ catkin_make

也可以用catkin build。需要安装:

sudo apt-get install python3-catkin-tools

ROS2通常用colcon

在ROS1配置的编译空间目录中,这两个命令编译出可执行文件。

ROS1的另一个有趣的特性是它的覆盖(overlay)。当正在使用ROS功能包,例如Turtlesim,可以使用安装版本,也可以下载源文件并编译它来使用你修改后的版本。

ROS1允许使用自定义版本的功能包去替代安装版本。如果正在升级已安装的功能包,这是非常有用的。或许此时并不理解它的作用,但无需担心,在后面将使用这个功能来创建自己的插件。

选择一款功能包,放到自定义工作空间中,编译然后运行程序:


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档