zoukankan      html  css  js  c++  java
  • Ubuntu18.04 安装ROS Melodic && Ros2 Dashing

    https://blog.csdn.net/qq_44717317/article/details/104547474

    一、Ubuntu 18.04的安装

    ubuntu2go的制作
    关于Ubuntu2go:为了便利学习,采用把Ubuntu安装在U盘中在电脑上运行的方式是最佳的选择,当然你可以选择在你的电脑里安装双系统,之前对与Ubuntu2go的制作已经在参考Zhangrelay老师博客的基础上做了更详细的补充(其实张老师已经说的非常详细了,我算是把它白话了一下),这里附上链接:

    Ubuntu2Go制作使用和资料说明(LinuxtoGo)
    制作ubuntu2go步骤详解
    Ubuntu、Windows双系统共存的制作
    系统信息


    美化后

    新安装的系统可能遇到的问题
    Ubuntu18.04未发现WiFi适配器解决方案汇总
    二、安装前的准备
    必须安装ROS1?
    ROS 2的功能还不是很全面,很多功能包需要依赖ROS 1,所以Ros2安装之前,需要安装Ros1

    国内镜像源准备
    推荐使用中科大镜像源,尝试了很多种,都已连接超时屡屡失败告终
    方法如下:
    可以使用gedit编辑sources.list,打开

    sudo gedit /etc/apt/sources.list

    将中科大的源添加进去

    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

    更新:

    sudo apt-get update


    三、安装 ROS Melodic
    详细参考官网:http://wiki.ros.org/melodic/Installation/Ubuntu

    1.安装源
    sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

    2.设置key
    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

    3.更新
    sudo apt-get update

    4.桌面完整安装(推荐)
    ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知

    sudo apt-get install ros-melodic-desktop-full

    5.初始化rosdep
    sudo rosdep init
    rosdep update

    这里下载比较麻烦,需要那心等待,可能需要不停地rosdep update,尽量使用手机热点,请注意!失败可能就是网络问题,你可以尝试先sudo apt-get update然后使用rosdep update

    6.环境设置
    如果ROS环境变量在每次启动新shell时自动添加到bash会话中,则很方便:

    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc

    如果安装了多个ROS分发版,~/.bashrc只能为当前使用的版本提供setup.bash。

    如果只是想改变当前shell的环境,而不是上面的,可以输入:

    source /opt/ros/melodic/setup.bash

    7.构建软件包的依赖关系
    sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

    8.测试
    打开一个终端

    roscore

    第二个终端

    rosrun turtlesim turtlesim_node

    再开起一个终端控制,使用键盘上下左右键控制小乌龟移动

    rosrun turtlesim turtle_teleop_key


    四、安装ROS 2 Dashing
    参考官网地址:https://index.ros.org/doc/ros2/Installation/Crystal/Linux-Install-Binary/

    1. 设置UTF-8编码
    sudo locale-gen en_US en_US.UTF-8
    sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    export LANG=en_US.UTF-8

    2. 更新软件源
    sudo apt update && sudo apt install curl gnupg2 lsb-release
    curl 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
    桌面版 : 包含ROS, RViz, demos, tutorials [推荐]
    sudo apt install ros-dashing-desktop

    基础版:(包含通讯库、消息包、命令行工具,没有GUI工具)
    sudo apt install ros-dashing-ros-base

    这是一个很漫长的过程,需要耐心的等待…


    4. 安装自动补全工具
    ros2的命令行使用argcomplete工具进行补全:

    sudo apt install python3-argcomplete

    导入配置脚本
    source /opt/ros/dashing/setup.bash

    通过如下命令添加到.bashrc
    echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc

    5.安装附加RMW实现
    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)

    6.ROS 2和ROS 1之间通过ros-bridge通信
    sudo apt update
    sudo apt install ros-dashing-ros1-bridge

    测试
    创建工作空间,Clone并编译

    mkdir ~/ros2_ws
    cd /ros2_ws
    git clone https://github.com/zhangrelay/ros2_tutorials
    cd ros2_tutorials
    colcon build

    可能会遇见的问题colcon:command not found
    这里Ros软件包编译工具是colcon。ROS编译工具目前经历了三个阶段:1. catkin 2. ament 3. colcon。
    使用以下命令进行安装:

    sudo apt update && sudo apt install -y \
    build-essential \
    cmake \
    git \
    python3-colcon-common-extensions \
    python3-pip \
    python-rosdep \
    python3-vcstool \
    wget
    # install some pip packages needed for testing
    sudo -H python3 -m pip install -U \
    argcomplete \
    flake8 \
    flake8-blind-except \
    flake8-builtins \
    flake8-class-newline \
    flake8-comprehensions \
    flake8-deprecated \
    flake8-docstrings \
    flake8-import-order \
    flake8-quotes \
    pytest-repeat \
    pytest-rerunfailures
    # [Ubuntu 16.04] install extra packages not available or recent enough on Xenial
    python3 -m pip install -U \
    pytest \
    pytest-cov \
    pytest-runner \
    setuptools
    # install Fast-RTPS dependencies
    sudo apt install --no-install-recommends -y \
    libasio-dev \
    libtinyxml2-dev

    设置环境变量

    source /install/setup.sh

    运行第一个终端

    cd /ros_ws/ros2_tutorials/install
    ros2 run demo_nodes_cpp listener

    第二个终端

    ros2 run demo_nodes_cpp talker


    仿真(运行小海龟画矩形)
    第一个终端

    ros2 run turtlesim turtlesim_node

    第二个终端

    ros2 run turtlesim draw_square

    五、ROS1和ROS2环境变量设置
    打开根目录下隐藏文件.bash将ros1和ros2环境变量做选择处理

    #source /opt/ros/melodic/setup.bash
    #source /opt/ros/dashing/setup.bash
    # ROS 1.0 melodic or ROS 2.0 Dashing
    echo Hello alvin! ROS 1.0 or ROS 2.0? 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
    echo "Non-ROS"
    fi

    每次打开终端

    使用Melodic

    使用Dashing

    不使用ros环境

    ————————————————
    版权声明:本文为CSDN博主「Lukey Alvin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_44717317/article/details/104547474

  • 相关阅读:
    leetcode33. Search in Rotated Sorted Array
    pycharm 设置sublime text3 monokai主题
    django class Meta
    leetcode30, Substring With Concatenation Of All Words
    Sublime text3修改tab键为缩进为四个空格,
    sublime text3 python打开图像的问题
    安装上imesupport输入法依然不跟随的解决办法,
    sublime text3 的插件冲突弃用问题,
    sublime text3 BracketHighlighter括号匹配的设置
    windows 下wget的使用
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/15786926.html
Copyright © 2011-2022 走看看