《鸿蒙机器人编程》课件-5-创建工作空间_第1页
《鸿蒙机器人编程》课件-5-创建工作空间_第2页
《鸿蒙机器人编程》课件-5-创建工作空间_第3页
《鸿蒙机器人编程》课件-5-创建工作空间_第4页
《鸿蒙机器人编程》课件-5-创建工作空间_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建工作空间课程介绍课程目的:理解工作空间及功能包掌握工作空间创建方法掌握功能包创建方法所需基础:具备UbuntuLinux基础知识2©NXROBO2022课程内容ROS的编译构建系统简介ROS编程的一般流程工作空间的创建及其结构介绍多个工作空间的覆盖(overlay)功能包的创建及其结构介绍package.xml和Cmakelists.txt文件规则3©NXROBO2022ROS的编译构建系统Catkin:官方推荐的ROS编译构建系统,是原ROS编译构建系统rosbuild的继承者。catkin通过综合CMake宏和Python脚本在CMake正常工作流程之前实现一些功能操作。(Drypackages)Rosbuild:过时的编译构建系统,不建议使用。但目前官方还在支持以保证早期功能包工作。(Wetpackages)4©NXROBO2022回顾:ROS的文件系统(catkin)5©NXROBO2022创建工程空间创建自己的ROS包在包目录下创建***.cpp或.py源代码文件若*.cpp,则修改CMakeLists.txt文件编译ROS编程的一般流程√本课讲解√本课讲解6©NXROBO2022Catkin工作空间创建设置环境变量创建命令构建$source/opt/ros/noetic/setup.bash$mkdir-p~/catkin_ws/src

$cd~/catkin_ws/src&catkin_init_workspace$cd~/catkin_ws/

$catkin_make7©NXROBO2022Catkin工作空间结构8©NXROBO2022Catkin工作空间结构源码空间src存放功能包的所有源码文件,编译构建时就从这个目录寻找功能包。其CMakeLists.txt档,链接到\opt\ros\distro\catkin\cmake\toplevel.cmake文件。构建空间build存放编译构建过程中的中间档。开发空间devel存构建好的可执行程序和运行库,可由CATKIN_DEVEL_PREFIX变量重新设定,但目录的选择要求必须满足子目录没有功能包。安装空间install是功能包的安装目录,可由CATKIN_INSALL_PREFIX变量重新设定。因为新建工作空间,所以默认的install目录并未创建,执行以下命令创建。9$catkin_makeinstall©NXROBO2022环境变量设置通过setup.xxxshell脚本引入在~/.bashrc文件中添加source命令环境变量查看$source/opt/ros/noetic/setup.bash$env|grepros10©NXROBO2022工作空间的overlayROS环境变量11©NXROBO2022Catkin工作空间overlayOverlayROS系统目录$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|grepros12©NXROBO2022Catkin工作空间overlay13©NXROBO2022Catkin工作空间overlayCatkin工作区之间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|grepros14©NXROBO2022Catkin工作空间overlay15©NXROBO2022创建ROS功能包catkin_create_pkg命令行工具创建新的功能包:此命令的格式包括功能包的名称和依赖项;通常依赖项包括std_msgs、rospy和roscpp。功能包命名规则:只允许使用小写字母、数字和底线;首字符必须是小写字母示例:16$cd~/catkin_ws/src$catkin_create_pkg[package_name][depend1][depend2][depend3]©NXROBO2022$cd~/catkin_ws/src$catkin_create_pkgbeginner_tutorialsstd_msgsrospyroscpp创建Catkin功能包17©NXROBO2022Catkin功能包配置文件package.xml,范本文件:/usr/lib/python3/dist-packages/catkin_pkg/templates/package.xml.inCMakeLists.txt,范本文件:/usr/lib/python3/dist-packages/catkin_pkg/templates/CMakeLists.txt.in18©NXROBO2022package.xml主要内容描述性数据(如功能包的简介、维护者)功能包的元信息(如作者、网站)打包发行信息(如功能包版本)依赖的ROS功能包或系统软件包19©NXROBO2022Package.xml规则——基本信息标签必填标签:<name>:功能包名;<version>:版本号,以d.d.d的格式,d表示整数;<description>:功能包特性简介;<maintainer>:功能包发布者信息;<license>遵循的版权协议名如下。可选标签<url>:功能包的网址信息,主要有功能包相关主页,开源项目地址等;<author>:功能包的作者信息,可以有多个。20©NXROBO2022Package.xml规则——依赖关系标签编译构建依赖:<build_depend>,指定构建此功能包需要的软件包。构建汇出依赖:<build_export_depend>,指定此功能包构建库文件需要的软件包。执行依赖:<exec_depend>,指定此功能包运行时需要的软件包。测试依赖:<test_depend>,指定单元测试需要的附加依赖。构建工具依赖:<buildtool_depend>,指定这个包需要构建的工具。文档工具依赖:<doc_depend>,指定了这个包生成文档的需要文档生成工具。21©NXROBO2022CMakelists样例22©NXROBO2022Catkin功能包规则必须包含package.xml文件;必须包含CMakeLists.txt文件;功能包之间不允许嵌套23©NXROBO2022一个有用的包管理工具:rosdeprosdep安装rosdep初始化及更新$sudoaptinstallpython3-rosdep$sudorosdepinit

$rosdepupdate24©NXROBO2022rosdep用法rosdepcheck检查功能包的系统依赖是否安装rosdepinstall如果系统依赖未安装则生成bash脚本并执行以安装功能包的系统依赖rosdepkeys列出功能包的系统依赖的key值rosdepresolve根据key转换出系统依赖rosdep的主要用途是安装工作空间中ros包的依赖,首先切换到工作空间下,然后运行下述命令即可安装该工作空间的所有依赖,具体命令如下:rosdepinstall--from-pathssrc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论