Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)

Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)

一、ROS介绍

机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。 因此自ROS诞生以来,受到了学术界和工业界的欢迎,如今已经广泛应用于机械臂、移动底盘、无人机、无人车等许多种类的机器人上。

具体探索请参考:ROS探索总结(一)——ROS简介

二、版本选择

Ubuntu版本 ROS版本
20.04 Noetic Ninjemys
18.04 Melodic Morenia
16.04 Kinetic Kame

三、安装步骤

① 设置安装源

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

② 设置密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

在更新之前,需要安装公钥,否则无法验证签名,命令如下:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

③ 更新软件列表

sudo apt update

④ 安装ROS

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

⑤ 安装完成之后初始化rosdep

  • 执行如下命令,否则将报错: " sudo: rosdep:找不到命令 "

    sudo apt install python-rosdep
    
  • 初始化rosdep

    sudo rosdep init
    rosdep update
    

    大多数情况下,做到这一步都会报错,除非大家科学上网,可能不会出现如下情况:
    ···Website may be down 或者 ···ERROR: unable to process source

    错误原因是由于 raw.githubusercontent.com 被墙,程序无法下载相应的文件导致的,正常情况下我们也无法访问该网站。按照网上大多数做法是修改hosts记录,然而并没有成功啊。没办法了,最后只能放弃在线安装,先把所需的文件都存在本地,再来尝试了

  • 问题解决
    A. 下载rosdistro-master的压缩包,然后解压到主目录

    cd ~
    unzip rosdistro-master.zip
    mv rosdistro-master rosdistro
    

    链接:https://pan.baidu.com/s/1z25LvAV1Z7dCTuzELqhOsA
    提取码:75r1

    B. 修改 20-default.list 文件

    sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
    

    内容修改如下:

    # os-specific listings first
    yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx
    
    # generic
    yaml file:///home/xxx/rosdistro/rosdep/base.yaml
    yaml file:///home/xxx/rosdistro/rosdep/python.yaml
    yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
    gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte
    
    # newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
    
    

    注意:上述 xxx 需替换为自己的用户名,如本人的用户名为: helloworld

    Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)_第1张图片

    后面的 xxx 同样也需要替换为自己的用户名!!!

    C. 修改 sourceslist.py 文件

    sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sourceslist.py
    

    注释原 DEFAULTSOURCES_LIST_URL 一行,然后在其后添加如下一行,注意:xxx替换

    DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'
    

    D. 修改 rep3.py 文件

    sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
    

    注释原 REP3_TARGETS_URL 一行,然后在其后添加如下一行,注意:xxx替换

    REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'
    

    E. 修改 __init.py 文件

    sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init.py
    

    注释原 DEFAULT_INDEX_URL 一行,然后在其后添加如下一行,注意:xxx替换

    DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'
    
  • 重新 rosdep update,如果结果如下图所示,则说明该步骤已经成功了
    Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)_第2张图片
    ⑥ 添加 ROS 环境变量

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

⑦ 安装 rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

⑧ 第一次启动ROS时,需要进行环境变量配置,执行如下命令

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

四、出来吧,小王八

先开启三个终端,然后分别依次输入如下命令:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

然后将鼠标聚焦到输入最后一个命令的窗口,通过键盘的上下左右键,分别控制小王八的前进,后退,左转,右转

Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)_第3张图片

五、参考

  • ubuntu18.04安装ROS Melodic(最详细配置)
  • Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)
  • 树莓派4B(Raspbian buster系统)安装ROS Melodic(附带网络配置和远程桌面控制说明)

你可能感兴趣的:(ROS,ubuntu)