【ros2】ubuntu18.04同时安装ros1和ros2

news/2024/12/22 2:06:45/

序言

  • ubuntu18.04(已安装ros melodic)中安装ros2 dashing版本,以支持ros2工程的编译使用

1. 安装ros melodic

  • 参考我之前的文章:docker容器中安装melodic-ros-core过程总结

2. 安装ros2 dashing

  • (1)设置utf-8编码

    sudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8export LANG=en_US.UTF-8
    
  • (2)更新软件源

    sudo apt update && sudo apt install curl gnupg2 lsb-releasecurl http://repo.ros2.org/repos.key | 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)安装ros2 dashing desktop版本

    sudo apt install ros-dashing-desktop
    
    • 桌面版包含ROS, RViz, demos, tutorials等,基础版没有GUI工具
    • 安装需要一点时间
  • (4)安装命令行自动补全工具

     sudo apt install python3-argcomplete
    
  • (5)配置环境变量

    • 当前终端生效
    source /opt/ros/dashing/setup.bash
    
    • 当前用户生效
    echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc
    
  • (6)安装附加的RMW = ros middle ware实现

    sudo apt update
    sudo apt install ros-dashing-rmw-opensplice-cpp # for OpenSplice
    sudo apt install ros-dashing-rmw-connext-cpp # for RTI Connext (requires license agreement)
    
  • (7)安装ros1_bridge桥接工具

    • ros1_bridge是ros1和ros2消息转换的工具,按需安装
    sudo apt update
    sudo apt install ros-dashing-ros1-bridge
    

3. 安装过程中碰到的问题记录如下

  • (1)设置utf-8编码报错:找不到安装命令locale-gen

    sudo apt-get update
    sudo apt-get install locales
    然后再执行 sudo locale-gen en_US.UTF-8
    
  • (2)sudo apt-get update时报错 没有公钥

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 缺少的公钥
    
  • (3)sudo apt-get update时报错找不到软件包 ros-dashing-desktop

    • 说明软件列表没有更新,替换软件源后再执行sudo apt-get update
    • 替换软件源按如下操作
  • (4)安装时报错:以下软件包未满足的依赖关系

    • 按照网上的指导,使用 sudo aptitude install ros-dashing-desktop 命令安装也报错
    • 后来机器卡顿了,重启之后添加了中科大软件源,重新执行 sudo apt-get update; sudo apt install ros-dashing-desktop 能正常安装;不确定为啥,关键就是重启,重启后语言系统自动切换为英文就能安装了
  • (5)设置自动切换ros1 ros2环境

    • vim ~/.bashrc,然后添加如下内容,默认设置ros1环境
    echo choose ROS1.0 or ROS2.0? enter 1=Melodic 2=Dashing 
    read ROS
    if (($ROS==1));then
    source /opt/ros/melodic/setup.bash
    echo "Melodic"
    elif (($ROS==2));then
    source /opt/ros/dashing/setup.bash
    echo "Dashing"
    else
    source /opt/ros/melodic/setup.bash
    echo "Default-ROS-melodic"
    fi
    
    • 这样新开终端,输入2就能使用ros环境

【参考文章】
docker容器中安装melodic-ros-core
Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记
Ubuntu18.04安装安装ROS2-Dashing

created by shuaixio, 2023.04.09


http://www.ppmy.cn/news/42222.html

相关文章

[论文速览] Sparks of Artificial General Intelligence: Early experiments with GPT-4

Sparks of Artificial General Intelligence: Early experiments with GPT-4 2023.3.22 微软官方发布了目前人类史上最强AI模型 GPT-4 的综合能力评估论文,总所周知,2023年是通用人工智能(Artificial General Intelligence,AGI&a…

Amazon SageMaker简直就是机器学习平台的天花板

一、前言 最近参与了亚马逊云科技【云上探索实验】活动,通过Amazon SageMaker基于Stable Diffusion模型,非常简单快速搭建的第一个AIGC,一开始以为非常复杂,不懂动手操作,但实际上操作非常简单,没有想象中…

day22—选择题

文章目录1.下列数据结构具有记忆功能的是(C)2.循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空&#x…

Python数据结构与算法-树

一、树的概念详情见 https://blog.csdn.net/little_limin/article/details/129845592 Python数据结构与算法-堆排序(NB组)—— 一、树的基础知识二、树的实例:模拟文件系统1、树的存储树结构也是链式存储的,与链表的结构相似&…

【ChatGPT】AI发展如此火热,程序员的发展呢?

🍎道阻且长,行则将至。🍓 目录一、AI已来,ChatGPT你用上了吗🌾二、AI之路,这是社会在发展🌱三、AI时代,程序员应该怎么做🌴一、AI已来,ChatGPT你用上了吗&…

(五)【软件设计师】计算机系统—进制习题

文章目录一、2010下半年第4题二、2012上半年第2题三、2013上半年第5、6题四、2014上半年第6题五、2014下半年第4题六、2015下半年第5题七、2016上半年第5题八、2017下半年第3题九、2019下半年第4、5题一、2010下半年第4题 设用2K4位的存储器芯片组成16K8位的存储器(…

d2l Markov序列模型

本节的任务是使用Markov模型对后续序列进行预测,使用sin函数+噪声绘制1000个样本点,取tau为4,即利用后四个的信息预测第五个。 目录 1.构造样本点 2.抽取iter 3.构造网络 4.训练 5.预测 5.1单步 5.1多步 1.构造样本点 T …

【SQL Server】数据库开发指南(二)MSSQL数据库开发对于库、表、数据类型、约束等相关操作

文章目录一、SQL Server 中的 GO 关键字二、切换不同数据库三、创建、删除数据库3.1 创建方式1:基本创建(适合演示和学习)3.2 创建方式2:设置存储位置以及大小等3.2 创建方式3:同时设置主与次数据文件信息五、SQL Serv…