网站大量收购闲置独家精品文档,联系QQ:2885784924

《鸿蒙机器人编程》3-创建工作空间--教案.docx

《鸿蒙机器人编程》3-创建工作空间--教案.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

ROS星火计划 工作空间创建 NXROBOExBot

PAGE2

工作空间创建

上一讲中,我们介绍了ROS的工作机制。接下来的详细讨论下ROS使用前的环境设置及系统依赖管理、工作区的创建与overlay、功能包的创建、编译及运行和功能包配置文件规则;本讲主要讲解:

ROS功能包的系统依赖管理

编译构建系统及工作空间

功能包创建及package.xml规则

ROS的编译构建系统建

Catkin:官方推荐的ROS编译构建系统,是原ROS编译构建系统rosbuild的继承者。catkin通过综合CMake宏和Python脚本在CMake正常工作流程之前实现一些功能操作。(Drypackages)

Rosbuild:过时的编译构建系统,不建议使用。但目前官方还在支持以保证早期功能包工作。(Wetpackages)

Catkin工作空间创建

设置环境变量

$source/opt/ros/noetic/setup.bash

创建命令

$mkdir-p~/catkin_ws/src?

$cd~/catkin_ws/srccatkin_init_workspace

构建

$cd~/catkin_ws/?

$catkin_make

Catkin工作空间结构

源码空间存放功能包的所有源码档,编译构建时就从这个目录寻找功能包。其显著标志就是CMakeLists.txt档,连结\opt\ros\distro\catkin\cmake\toplevel.cmake文件。

构建空间存放编译构建过程中的中间档。

开发空间存放构建好的可执行程序和运行库,可由CATKIN_DEVEL_PREFIX变量重新设定,但目录的选择要求必须满足子目录没有功能包。

安装空间是功能包的安装目录,可由CATKIN_INSALL_PREFIX变量重新设定。因为新建工作空间,所以默认的install目录并未创建,执行以下命令创建。

$catkin_makeinstall

工作空间的overlay

单个catkin功能包可以像普通的CMake项目一样建成一个独立的项目,但创建catkin工作空间可以一次编译构建多个有依赖关系的功能包。Catkin工作空间的创建由catkin本身完成。Catkin一般在安装ROS已经安装完成,使用时需要设置环境变量。

工作空间的overlay实际上就是系统环境链的overlay。

Overlay上层遮蔽下层

OverlayROS系统目录、overlay工作空间

环境变量设置

通过setup.xxxshell脚本引入

$source/opt/ros/noetic/setup.bash

在~/.bashrc文件中添加source命令

环境变量查看

$env|grepros

ROS环境变量

Catkin工作空间overlay

catkin工作空间执行catkin_make会在devel目录下生成系统环境设置脚本(setup.XXX),执行catkin_makeinstall会在安装目录生成类似的系统环境设置脚本,这些脚本已包含ROS系统安装目录环境设置脚本的设置内容,也会保留其它脚本已经设置的环境变量。通过这些脚本就可以实现catkin工作空间的overlay。如overlay系统安装目录:

$source/opt/ros/noetic/setup.bash?

$env|grepros?

$mkdir-p~/catkin_ws/src?

$cd~/catkin_ws/src;catkin_init_workspace?

$cd~/catkin_ws;catkin_make?

$source~/catkin_ws/devel/setup.bash?

$env|grepros

因为catkin功能包编译默认是对整个工作空间所有功能包的编译,所以大多用户会有需求创建一个以上的catkin工作空间。下面实现两个catkin工作空间的overlay,如在前面的基础上:

$mkdir-p~/catkin_ws_2/src?

$cd~/catkin_ws_2/src;catkin_init_workspace?

$cd~/catkin_ws_2;catkin_make?

$source~/catkin_ws_2/devel/setup.bash?

$env|grepros

创建ROS功能包

功能包编写一般包括下面几个步骤:先使用建构系统工具创建功能包、功能包功能编写和配置文件编写、功能包编译、环境变量设置及功能包运行。下面及下课分别介绍这几个步骤。###3.1新建功能包从这里开始只讨论用catkin编译构建系统。catkin

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档