ROS1云课→02系统架构


先下载需要资源:

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

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


ROS1云课→03工作空间相关推荐

  1. ROS1云课-导航实践测评

    资料传递机器人实践 教室机器人送资料导航示例-CSDN直播 任务简介: 六艺楼S3某教室pgm图如下所示 机器人从学生座位区初始位置将资料运送到讲台区目标位置,示意图如下: 结合ROS1云课-01-3 ...

  2. ROS1云课→18一键配置

    ROS1云课→17化繁为简stdr和f1tenth 之前的教程,打开那么多终端,每次都敲那么多指令,为啥? 熟能生巧而已,有些过程不能省略,但是,如果已经熟悉了这些过程,还每次都这么搞. 难道是有点情 ...

  3. ROS1云课→19仿真turtlebot(stage)

    ROS1云课→18一键配置 ROS1云课→17化繁为简stdr和f1tenth 依据一键配置将turtlebot仿真案例全部配置好. TurtleBot 是带有开源软件的低成本个人机器人套件. Tur ...

  4. ROS1云课- 1 0 2 4

    用如下地图复习一下,ROS1主要内容. 分为如下: 基础部分 命令部分 图形化工具部分 功能包使用部分 功能包编译部分 导航部分 区域覆盖部分 1. 基础部分 参考一键配置: ROS1云课→30导航仿 ...

  5. ROS1云课→16机器人模型从urdf到xacro

    ROS1云课→15主题与坐标系 补充: 2020:ROS机器人URDF建模_zhangrelay的博客-CSDN博客 2022:URDF机器人模型ROS1&2案例(noetic+galacti ...

  6. ROS1云课→29如何借助导航实现走迷宫机器人

    ROS1云课→28机器人代价地图配置 简述: 在这个项目中,将创建一个机器人,它将进入一个迷宫形式的房间,然后从另一个点离开房间. 详细: 在行业中,有些地方机器人可以收集加工过的物体并将这些物体放入 ...

  7. ROS1云课→17化繁为简stdr和f1tenth

    ROS1云课→16机器人模型从urdf到xacro 蓝桥ROS云课可以使用Gazebo/V-Rep/Webots等三维仿真软件,这些都在之前博客中提及,或者有学生撰写对应博客进行分享. 二维的环境主要 ...

  8. ROS1云课→28机器人代价地图配置

    ROS1云课→27机器人SLAM小结 在前面做的所有工作都成了现在项目的铺垫,而最大的乐趣也即将开始,这是赋予机器人生命的时刻. 后续学习以下内容: 应用程序包开发. 理解导航功能包集及其工作方式. ...

  9. ROS1云课→01简介和配置

    ROS1云课适用于kinetic/melodic/noetic.以蓝桥ROS云课为模板重新梳理. 云原生与蓝桥ROS机器人课程 2017-2022_zhangrelay的博客-CSDN博客 机器人课程 ...

最新文章

  1. python2.0教程_django2.0入门教程第一节
  2. python程序设计案例课堂第二篇_Python程序设计案例课堂第二篇核心技术第十章图形用户界面...
  3. 李飞飞演讲实录 | 云原生数据库2.0:一站式全链路数据管理与服务
  4. go 服务器 源码,LollipopGo开源游戏服务器框架--global服务器源码
  5. python是如何登上编程语言排行榜榜首的
  6. 时间特效。js读取时间
  7. 一篇由Google Trend引发的Post
  8. Nginx学习之如何搭建文件防盗链服务
  9. 一封没有读出来的感谢信,勾勒出蔡文胜30年创业史!
  10. 大华设备无法注册EasyGBS国标视频平台,是什么原因?
  11. 超小型模块:IDO-SOM2D01可应用于物联网智能网关等领域
  12. 苹果手机屏幕尺寸_Apple 苹果 iPhone SE2智能手机屏幕测评报告 「Soomal」
  13. 马原(2023版)导论笔记
  14. 汇编语言(王爽)实验十
  15. Redis的清洁——定期删除+惰性删除+内存淘汰策略
  16. 学习分享——基于深度学习的NILM负荷分解(一)对DL的看法准备工作
  17. 搜索导航HTML,CSS 带搜索导航栏的示例代码
  18. circos可视化手册-ideogram 篇
  19. Failed to connect to 127.0.0.1 port 1086: Connection refused
  20. Wdf框架之WdfObject状态机(2) 一文再补充

热门文章

  1. 自动化测试---移动端自动化测试项目搭建(Appium+IDEA)
  2. Newman如何生成报告?
  3. android蓝牙双通道意义,基于android移动平台的单双通道助听器实现-桂林电子科技大学学报.pdf...
  4. 计算机制成动态硬盘,Win7系统下基本磁盘怎么转换成动态磁盘
  5. spring启动之xml
  6. java计算机毕业设计物料追溯系统源码+系统+数据库+lw文档+mybatis+运行部署
  7. 和芯星通2019秋招面试
  8. 《当幸福来敲门》经典台词
  9. Mikrotik RouterOS安全性指南
  10. Pandas学习——时序数据