专栏首页机器人课程与技术ROS2机器人应用简明教程4工区

ROS2机器人应用简明教程4工区

工区/工作区/工作空间(workspace简写为ws)是机器人操作系统核心概念之一。

工作空间是包含ROS 2软件的文件夹。在使用ROS 2之前,必须在正在使用的终端中配置ROS 2工作区(包括系统和局部),使ROS 2的软件包可在此终端中使用。

如上图所示,foxy/noetic分别为ros2和ros1的系统工作区,使用如下命令可以顺利加载配置:

  • source /opt/ros/foxy/setup.bash

如上文件夹下都是使用apt安装在系统目录下的软件包。

如果自定义机器人软件程序,通常在home文件夹下,新建诸如ros_ws/src文件夹,然后编写代码,编译生成可执行文件使用。

以博客中之前讲解过的mobot为例,此案例正在dashing/eloquent/foxy进行测试。

如果需要编译工区源码,需要使用如下命令安装所需功能包:

  • rosdep install -i --from-path src --rosdistro foxy -y

接着使用colcon build:

  • colcon build

这样就完成了一个自定义工区的编译,使用如下命令加载环境:

  • source install/setup.bash 

install:

如果没有正确加载的话,此工区的功能包是无法发现和使用的!

其他注意事项:

  1. You also have the option of sourcing an “overlay” – a secondary workspace where you can add new packages without interfering with the existing ROS 2 workspace that you’re extending, or “underlay”. Your underlay must contain the dependencies of all the packages in your overlay. Packages in your overlay will override packages in the underlay. It’s also possible to have several layers of underlays and overlays, with each successive overlay using the packages of its parent underlays.
  2. Sourcing the local_setup of the overlay will only add the packages available in the overlay to your environment. setup sources the overlay as well as the underlay it was created in, allowing you to utilize both workspaces.So, sourcing your main ROS 2 installation’s setup and then the dev_ws overlay’s local_setup, like you just did, is the same as just sourcing dev_ws’s setup, because that includes the environment of the underlay it was created in.

如果自定义包和系统包重名,或者下载了系统包源码自定义,请掌握环境配置方法,确保启动的是需要的节点和应用,而非系统默认的应用。

参考视频教程链接如下:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Gazebo機器人仿真學習探索筆記(一)安裝與使用

    Gazebo提供了多平臺的安裝和使用支持,大部分主流的linux,Mac以及Windows,這裏結合ROS以Ubuntu爲例進行介紹。

    zhangrelay
  • 在线matlab代码学习神器Octave Online

    Octave与MATLAB完全兼容,免安装使用方便。注册和非注册功能会有不同,如下:

    zhangrelay
  • 在线matlab代码学习神器Octave Online

    Octave与MATLAB完全兼容,免安装使用方便。注册和非注册功能会有不同,如下:

    zhangrelay
  • Flink安装

    前提:安装:已安好hadoop,环境已经配好 java 7.X 及其以上 scala有对应版本 单机: 下载、解压、 需要注意:flink与hadoop版...

    shengjk1
  • Analyze tweets in under 30 minutes using Node-RED

    I created a Node-RED app in Bluemix which searches for a specified keyword, user...

    首席架构师智库
  • copy-and-swap idiom

    This answer is from https://stackoverflow.com/a/3279550/10133369

    努力努力再努力F
  • Scaling data to the standard normal缩放数据到标准正态形式

    A preprocessing step that is almost recommended is to scale columns to the stand...

    到不了的都叫做远方
  • 仅用四行代码实现RNN文本生成模型

    文本生成(generating text)对机器学习和NLP初学者来说似乎很有趣的项目之一,但也是一个非常困难的项目。值得庆幸的是,网络上有各种各样的优秀资源,...

    用户3578099
  • 更坏的WER,但更好的BLEU?在多任务端到端语音翻译中利用单词嵌入作为中介(CS CL)

    语音翻译(ST)旨在学习从源语言中的语音到目标语言中的文本的转换。先前的工作表明,多任务学习提高了ST性能,其中识别解码器生成源语言的文本,翻译解码器根据识别解...

    刘子蔚
  • 提取Jar2Exe源代码,JavaAgent监控法

    最近遇见一个麻烦,明明知道是java写的小软件,但是打包成了exe,木得办法,之前打包的都有缓存能在TEMP文件夹找到。这次可不一样了,特此记录一下。

    landv

扫码关注云+社区

领取腾讯云代金券