码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ROS2专题【02】:Ubuntu上安装ROS2


    一、提要

            目前大多高校和企业都在使用ROS1,ROS2在迭代了几个版本后,其性能和生态已经发展相当成熟了,因此,大多企业都开始从ROS1转入ROS2。小米的机器狗铁蛋就搭载了ROS2系统,华为自动驾驶仿真也在大量招聘ROS2相关人才。但是,目前ROS2的学习资料很少,给学习ROS2带来了很多困难,系统性的学习资料更是几乎没有。因此,我们试图从外文资料推出一些ROS技术资料。

     二、为何装不了ROS2

    常常装不了ros2,其原因是版本问题。进入

    https://discourse.ros.org/

    我们看到版本维护界面如图:

     我们看到,至少有十几个版本的ros,因此,安装的方法也至少有十几种。因而如果ubuntu和ros版本不一致可能导致安装不成。

    三、安装ROS2

    3.1 安装locale

    locale是对系统语言设置,这里预先设置,想必ros2要用到。

    1. sudo locale-gen en_US en_US.UTF-8
    2. sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    3. export LANG=en_US.UTF-8

    3.2 安装Sources

    安装ROS2的资源库到本地。

    1. sudo apt update && sudo apt install curl gnupg2 lsb-release
    2. curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

    将资源路径加入本地: 

    sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
    

    3.3 安装ROS2包

    设置存储库后更新您的 apt 存储库缓存。

    1. sudo apt update
    2. sudo apt install ros-eloquent-desktop
    3. sudo apt install ros-eloquent-ros-base

    3.4 环境路径设置

    执行: 

    source /opt/ros/eloquent/setup.bash

    3.5 安装argcomplete(可选)

    用于ROS2的命令行工具

    sudo apt install python3-argcomplete

    四、跑几个例子 

    如果您在上面安装了 ros-eloquent-desktop,您可以尝试一些示例。

    在一个终端中,获取设置文件,然后运行 ​​C++talker:

    1. source /opt/ros/eloquent/setup.bash
    2. ros2 run demo_nodes_cpp talker

    在另一个终端中获取设置文件,然后运行 ​​Python 侦听器:

    1. source /opt/ros/eloquent/setup.bash
    2. ros2 run demo_nodes_py listener

    五、卸载

    通过下列指令卸载ROS2

    sudo apt remove ros-eloquent-* && sudo apt autoremove

    Installing ROS 2 via Debian Packages — ROS 2 Documentation: Dashing documentation 

     Installing ROS 2 via Debian Packages — ROS 2 Documentation: Eloquent documentation

    Ubuntu安装ROS2_white_Learner的博客-CSDN博客

  • 相关阅读:
    Crony 一个基于Go语言实现的分布式定时任务管理平台
    [vue3] Tree/TreeSelect树形控件使用
    设计模式-单例模式(懒汉式)
    R语言ggplot2可视化:使用ggpubr包的show_point_shapes函数可视化ggplot2中可用的数据点pch形状参数形状及其编码
    神经网络参数优化算法,神经网络损失函数设计
    Django设置html背景图片失败,出现“GET /images/2.png HTTP/1.1“ 404 2552 解决方法
    Word转PDF怎么转?学会这个方法,一键轻松搞定
    C语言面试题 - 字符空间操作类
    基于遗传优化的货柜货物摆放优化问题求解matlab仿真
    51单片机热水器温度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)
  • 原文地址:https://blog.csdn.net/gongdiwudu/article/details/125616742
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号