ROS:rosdep与ROS2的安装记录

news2024/11/24 6:27:41

鱼香ROS一键安装:

一键安装微信使用指南 | 鱼香ROS

 

rosdep安装:

rosdep 是一个在ROS(Robot Operating System)生态系统中非常重要的工具,它用于安装ROS包的依赖项。rosdep 确保了ROS包所需的系统依赖项能够被正确安装,这对于维护ROS工作空间和编译源代码来说是非常重要的。

rosdep 的主要功能包括:

  1. 安装依赖项rosdep 会查看ROS包的package.xml文件,根据其中列出的依赖项自动安装它们。这包括库文件、工具、系统软件包等。

  2. 跨平台支持:它支持多种Linux发行版(如Ubuntu、Fedora等),并能够根据不同的操作系统和发行版安装正确的软件包。

  3. 简化ROS安装rosdep 使得安装和管理ROS工作空间的依赖项变得更加简单,特别是在处理大型项目或多个ROS包时。

使用 rosdep

  1. 初始化 rosdep:在首次使用 rosdep 时,需要进行初始化:

sudo rosdep init
rosdep update

安装特定ROS包的依赖项

  • 首先,导航到ROS工作空间的根目录。
  • 然后,使用以下命令安装所有必需的依赖项:

rosdep install --from-paths src --ignore-src -r -y

注意事项

  • 确保在使用 rosdep 之前已经正确设置了ROS环境。
  • 使用 rosdep 需要具有足够的权限来安装系统软件包,通常这意味着需要使用 sudo
  • 有时,特别是在开发新的ROS包或使用来自不同源的包时,rosdep 是管理依赖项的关键工具。
  • rosdep 并不负责安装编译后的ROS包本身,它只处理系统级的依赖项。编译ROS包通常是通过 catkin_makecolcon build 等工具完成的。

        总的来说,rosdep 是ROS工作流的一个关键组成部分,它极大地简化了依赖项管理和跨平台开发。

随后继续在ROS1的基础上安装一个ROS2:

 对于Ubuntu 20.04 (Focal Fossa),推荐安装的ROS 2版本是ROS 2 Foxy Fitzroy。Foxy是专门为Ubuntu 20.04优化的,且是在这个Ubuntu版本上受到长期支持(Long-Term Support,LTS)的ROS 2版本。

ROS 2 Foxy Fitzroy

  • LTS支持:Foxy Fitzroy是长期支持版本,这意味着它将会接收定期的维护更新和bug修复。
  • 与Ubuntu 20.04的兼容性:Foxy是为了与Ubuntu 20.04的库和系统环境进行优化而设计的,从而确保最佳的兼容性和性能。

下面直接输入2:

 输入1:

 用户输入1之后,终端出现:ROS_DISTRO was set to 'noetic' before. Please make sure that the environment does not mix paths from different distributions.

解决方案:使用脚本自动清除环境

您可以在脚本中添加逻辑来自动清除当前的ROS环境,然后再激活新的版本。例如:

这里需要将.bashrc文件中最后的部分更该为:

# >>> fishros initialize >>>
echo "ros:foxy(1) noetic(2) ?"
read choose
case $choose in
1)  if [ -n "$ROS_DISTRO" ]; then
        unset ROS_DISTRO
    fi
    source /opt/ros/foxy/setup.bash;;
2)  if [ -n "$ROS_DISTRO" ]; then
        unset ROS_DISTRO
    fi
    source /opt/ros/noetic/setup.bash;;
esac
# <<< fishros initialize <<<

 


启动小乌龟仿真器:

下面新开一个终端开始测试:

ros2 run turtlesim turtlesim_node

另外需要打开一个终端,在里面运行键盘控制的节点,命令如下:

ros2 run turtlesim turtle_teleop_key

 测试完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1404830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、JVM 选项 -XX:+UseCompressedOops 有什么作用?为什么要使用二、怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?三、32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?四、JRE、JDK、JVM 及 JIT 之间有什么不同?前言 前些天发…

STM32之002--软件安装 Keil

文章目录&#xff1a; 一、安装 Keil 二、注册 三、安装芯片支持包 一、安装 Keil 重点 1&#xff1a; 安装时&#xff0c;不能使用中文路径&#xff0c;否则无法正常使用!! 重点 2&#xff1a; 不要安装 V5.36 及以上的版本&#xff0c;其默认AC6编译器&#xff0c…

PyQt ------ QLineEditor

PyQt ------ QLineEditor 引言正文示例1------基础示例示例2------进阶示例 引言 这里给大家介绍一下 PyQt6 中的 QLineEditor 组件用法。 正文 QLineEditor 是用于做单行字符串输出的组件&#xff0c;它只能够将字符串在一行进行输出&#xff0c;如果要进行多行输出&#x…

processing集训day04

编程英语 mouse 鼠标 pressed 压平的 height 高 parent 父亲 / 母亲 else 否则 sound 声音 file 文档 music 音乐 new 新 key 键 pressed 压平的 mouse 鼠标 height 高 鼠标事件监听 监听鼠标按钮是否被按下&#xff1a; mousePressed 变量 mous…

基于SpringBoot的药品管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

宝塔面板优惠券(折扣券)领取入口及使用教程

宝塔面板是一款服务器管理软件&#xff0c;支持Linux与Windows系统&#xff0c;提供了丰富的功能和插件&#xff0c;让服务器管理变得更加简单、安全、高效。为了让更多用户体验到宝塔面板的便利&#xff0c;官方会不定期推出优惠券活动。本文将为大家详细介绍宝塔面板优惠券的…

jQuery语法知识(表单事件)

表单事件 1、focus ( ) 触发条件&#xff1a; 获取焦点 作用对象&#xff1a; focus&#xff08;&#xff09;作用对象可以是任意元素 例&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title>…

国外网站seo教程,海外网站seo优化方案

随着互联网的发展&#xff0c;全球市场已经变得前所未有的普及。外贸企业不再局限于本土市场&#xff0c;而是可以轻松触及全球范围的潜在客户。全球市场的开放也意味着竞争的激烈。无论是大型跨国公司还是中小型企业&#xff0c;都在全球市场争夺有限的客户资源。 一、关键词策…

CSS实现文本和图片无限滚动动画

Demo图如下&#xff1a; <style>* {margin: 0;padding: 0;box-sizing: border-box;font-family: Poppins, sans-serif;}body {min-height: 100vh;background-color: rgb(11, 11, 11);color: #fff;display: flex;flex-direction: column;justify-content: center;align-i…

8 容器化微服务

文章目录 DockerSpring Boot和Buildpacks在Docker中运行系统Docker化微服务Docker化前端Docker化配置导入器Docker Compose使用Docker扩展系统共享Docker镜像小结 前面的文章&#xff1a; 1、1 一个测试驱动的Spring Boot应用程序开发 2、2 使用React构造前端应用 3、3 试驱动的…

[数据结构]顺序表

1、顺序表的概念及结构 1.1 线性表 线性表&#xff08; linear list &#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#…

47. 全排列 II - 力扣(LeetCode)

题目描述 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 输入示例 nums [1,1,2]输出示例 [[1,1,2], [1,2,1], [2,1,1]]解题思路 解题代码 class Solution {List<List<Integer>> result new ArrayList<>();Deq…

探索元宇宙:游戏的全新境界

你是否曾经想过&#xff0c;在一个完全由你自己掌控的虚拟世界里&#xff0c;体验前所未有的冒险和刺激&#xff1f; UTONMOS元宇宙游戏将带你进入这个全新的领域&#xff0c;让你的想象力和创造力自由驰骋。 UTONMOS&#xff0c;基于上海和数集团自主研发的和数链&#xff0c…

MoEs学习

和多任务学习的mmoe很像哦&#xff08;有空再学习一下&#xff09;moe layer的起源&#xff1a;Switch Transformers paper MoE moe由两个结构组成&#xff1a; Moe Layer &#xff1a;这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如…

【教程】混淆Dart 代码

什么是代码混淆&#xff1f; 代码混淆是一种将应用程序二进制文件转换为功能上等价&#xff0c;但人类难于阅读和理解的行为。在编译 Dart 代码时&#xff0c;混淆会隐藏函数和类的名称&#xff0c;并用其他符号替代每个符号&#xff0c;从而使攻击者难以进行逆向工程。 Flut…

dubbo和eureka的区别

dubbo可以作为客户端&#xff0c;也可以作为服务端&#xff0c;因此他内置了很多序列化框架可供选择&#xff0c;通过配置可以进行选择。默认是hession&#xff0c;还有gson&#xff0c;fastJson&#xff0c;jdk自带的序列化。 eureka只能作为服务端&#xff0c;他序列要与客户…

LeetCode 670 最大交换数

周一&#xff0c;非常冷&#xff0c;大风呼呼的&#xff0c;上班路都走不动。 好消息&#xff0c;马上要过年了。大风吹&#xff0c;天气好。 过年过年&#xff0c;回家过年~ 学生时代的迷茫是不应该存在的&#xff0c;最好的时光应该尽情享受&#xff0c;而不应该自己给加层…

【zlm】针对单个设备的码率的设置

目录 代码修改 实验数据一 实验数据二 同时拉一路视频后 修改记录 使用方法 代码修改 要被子类引用 &#xff0c;所以放在protected 不能放private 下面的结论&#xff0c;可以在下面的实验数据里引用。“同时拉一路视频后” 实验数据一 https://10.60.3.45:10443/index…

深度学习如何弄懂那些难懂的数学公式?是否需要学习数学?

经过1~2年的学习&#xff0c;我觉得还是需要数学有一定认识&#xff0c;重新捡起高等数学、概率与数理、线代等这几本&#xff0c;起码基本微分方程、求导、对数、最小损失等等还是会用到。 下面给出几个链接&#xff0c;可以用于平时充电学习。 知乎上的&#xff1a; 机器学…

目标检测 - RCNN系列模型

文章目录 1. RCNN2. Fast-RCNN3. Faster-RCNN 1. RCNN 论文&#xff1a;Rich feature hierarchies for accurate object detection and semantic segmentation 地址&#xff1a;https://arxiv.org/abs/1311.2524 分为两个阶段&#xff1a; 目标候选框Object ProposalsProposal…