ros安装流程

ros安装流程


在这里插入图片描述

python2.7

  1. 首先检查python版本
    因为在python2.7下搭建因此Ctrl+Alt+t打开终端,输入python -V查看python版本信息,若不是python2.7请基于软链接更换默认python版本,具体操作方式如下:

    sudo rm /usr/bin/python
    sudo ln -s /usr/bin/python2.7 /usr/bin/python
    
  2. 配置ROS软件源

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    
  3. 配置密钥

    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
  4. 更新系统软件源

    复制下方内容,打开/etc/apt/sources.list,粘贴进去
    即先在终端中运行

    sudo gedit /etc/apt/sources.list
    

    再将如下部分复制粘贴进文件中

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    

    保存后执行

    sudo apt update
    
  5. 安装Melodic

    sudo apt install ros-melodic-desktop-full
    
  6. 用户环境设置
    使用==(注:方便起见建议用该代码,在后续运行roscore时无需再source)==

    ##第一句代码相当于把source /opt/ros/melodic/setup.bash加进.bashrc中
    ##第二句是运行
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    source ~/.bashrc
    

    或==(注:在后续运行roscore的时候还要再运行一下)==

    source /opt/ros/melodic/setup.bash
    
  7. 安装包编译依赖

    sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
    
  8. 安装ROS包

    sudo apt install python-rosdep
    
  9. 初始化 rosdep

    1. 第一步

      sudo rosdep init
      
      1. 若不报错直接进行第二步

      2. 若报错

        先检查python版本是否正确不正确请更换

        更换后继续执行上述代码,如果仍报错,请新建文件:

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

        并将下述内容复制粘贴

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

        重复执行

        sudo rosdep init
        
    2. 第二步

      rosdep update
      
      1. 若不报错继续10

      2. 若报错并显示timeout,首先明确一下出现该问题的原因是因为网络问题,以下为最有效的方法
        首先修改20-default.list文件(利用https://ghproxy.com/进行资源代理)

        sudo gedit 20-default.list
        

        在所有的网页前加上https://ghproxy.com/,文件加好之后如下所示:

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

        保存好之后继续执行

        rosdep update
        

        可以就继续10,若依旧报错并显示timeout,请修改如下文件:
        /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行 204行
        /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行 311行
        /usr/lib/python2.7/dist-packages/rosdistro/_init_.py 68行(注:这里一共是四个下划线)
        /usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
        /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
        具体修改内容为==(注:请仔细阅读#后的内容并作出相应的修改)==:
        /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行 204行

        #找文件
        sudo find / -name gbpdistro_support.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
        #36行网页的前面加上https://ghproxy.com/
        #204行加上gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
        #这里注意换行后不要使用tab键,请输入8个空格否则会出现error
        

        /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行 311行

        #找文件
        sudo find / -name sources_list.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
        #72行网页的前面加上https://ghproxy.com/
        #311行加上url="https://ghproxy.com/"+url
        

        /usr/lib/python2.7/dist-packages/rosdistro/_init_.py 68行(注:这里一共是四个下划线)
        /usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行

        #找文件
        sudo find / -name __init__.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
        #68行网页的前面加上https://ghproxy.com/
        #找文件
        sudo find / -name rep3.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
        #39行网页的前面加上https://ghproxy.com/
        

        保存好之后继续执行

        rosdep update
        

        如果出现下图即为成功
        在这里插入图片描述

  10. 为保险起见再设置以下环境变量

    source ~/.bashrc
    
  11. 检查是否成功
    执行:

    roscore
    

    在这里插入图片描述

    Ctrl+Alt+t打开新的终端输入:

    rosrun turtlesim turtlesim_node
    

    在这里插入图片描述

    Ctrl+Alt+t打开新的终端输入,光标在新的terminal中利用方向键可以控制小乌龟移动:

    rosrun turtlesim turtle_teleop_key
    

    img

pthon3.6

  1. 首先检查python版本
    因为在python3.6下搭建因此Ctrl+Alt+t打开终端,输入python -V查看python版本信息,若不是python3.6请基于软链接更换默认python版本,具体操作方式如下:

    sudo rm /usr/bin/python
    sudo ln -s /usr/bin/python3.6 /usr/bin/python
    
  2. 配置ROS软件源

    sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    
  3. 配置密钥

    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
  4. 更新系统软件源

    复制下方内容,打开/etc/apt/sources.list,粘贴进去
    即先在终端中运行

    sudo gedit /etc/apt/sources.list
    

    再将如下部分复制粘贴进文件中

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    

    保存后执行

    sudo apt update
    
  5. 安装包编译依赖

    sudo apt-get install python3-rosdep python3-rosinstall-generator python3-wstool python3-rosinstall build-essential
    sudo apt install -y python3-dev build-essential
    sudo -H pip3 install rosdep rospkg rosinstall_generator rosinstall wstool vcstools catkin_tools catkin_pkg
    
  6. 初始化 rosdep

    1. 第一步

      sudo rosdep init
      
      1. 若不报错直接进行第二步

      2. 若报错

        先检查python版本是否正确不正确请更换

        更换后继续执行上述代码,如果仍报错,请新建文件:

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

        并将下述内容复制粘贴

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

        重复执行

        sudo rosdep init
        
    2. 第二步

      rosdep update
      
      1. 若不报错继续10

      2. 若报错并显示timeout,首先明确一下出现该问题的原因是因为网络问题,以下为最有效的方法
        首先修改20-default.list文件(利用https://ghproxy.com/进行资源代理)

        sudo gedit 20-default.list
        

        在所有的网页前加上https://ghproxy.com/,文件加好之后如下所示:

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

        保存好之后继续执行

        rosdep update
        

        可以就继续10,若依旧报错并显示timeout,请修改如下文件:
        /usr/lib/python3.6/dist-packages/rosdep2/gbpdistro_support.py 36行 204行
        /usr/lib/python3.6/dist-packages/rosdep2/sources_list.py 72行 311行
        /usr/lib/python3.6/dist-packages/rosdistro/_init_.py 68行(注:这里一共是四个下划线)
        /usr/lib/python3.6/dist-packages/rosdep2/rep3.py 39行
        /usr/lib/python3.6/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
        具体修改内容为==(注:请仔细阅读#后的内容并作出相应的修改)==:
        /usr/lib/python3.6/dist-packages/rosdep2/gbpdistro_support.py 36行 204行

        #找文件
        sudo find / -name gbpdistro_support.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python3.6/dist-packages/rosdep2/gbpdistro_support.py
        #36行网页的前面加上https://ghproxy.com/
        #204行加上gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
        #这里注意换行后不要使用tab键,请输入8个空格否则会出现error
        

        /usr/lib/python3.6/dist-packages/rosdep2/sources_list.py 72行 311行

        #找文件
        sudo find / -name sources_list.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python3.6/dist-packages/rosdep2/sources_list.py
        #72行网页的前面加上https://ghproxy.com/
        #311行加上url="https://ghproxy.com/"+url
        

        /usr/lib/python3.6/dist-packages/rosdistro/_init_.py 68行(注:这里一共是四个下划线)
        /usr/lib/python3.6/dist-packages/rosdep2/rep3.py 39行

        #找文件
        sudo find / -name __init__.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python3.6/dist-packages/rosdistro/__init__.py
        #68行网页的前面加上https://ghproxy.com/
        #找文件
        sudo find / -name rep3.py
        #将找到的文件修改,文件可能不同,这里根据自己的内容修改
        sudo gedit /usr/lib/python3.6/dist-packages/rosdep2/rep3.py
        #39行网页的前面加上https://ghproxy.com/
        

        保存好之后继续执行

        rosdep update
        

        如果出现下图即为成功
        在这里插入图片描述

  7. 创建ros工作空间

    mkdir ~/ros_catkin_ws
    cd ~/ros_catkin_ws
    
  8. 这里下载编译ros-melodic-desktop-full版本,当然也可以下载ros-comm版本

    rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
    wstool init -j8 src melodic-desktop-full.rosinstall
    

    这里可能会出现error,也是网络问题,请打开创建的文件夹ros_catkin_ws中的melodic-desktop-full.rosinstall文件

    利用快捷键将Ctrl+h将文件中的https://github.com/全部替换成https://ghproxy.com/https://github.com/
    保存后执行

    wstool update -j4 -t src
    

    如果还中断请多执行几次wstool update -j4 -t src,大概再执行3次即可。

  9. 修改/src/catkin/bin下面的文件的第一行环境为python3

  10. 安装ros所需要的依赖库

    rosdep install --from-paths src --ignore-src --rosdistro melodic -y
    
  11. 编译并安装ros

    export ROS_PYTHON_VERSION=3
    sudo ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/melodic -DCMAKE_BUILD_TYPE=Release
    #--install-space /opt/ros/melodic 参数是指定安装到/opt/ros/melodic目录
    
  12. 设置环境变量

    source /opt/ros/melodic/setup.bash
    
  13. 检查是否成功
    执行:

    roscore
    

    在这里插入图片描述

    Ctrl+Alt+t打开新的终端输入:

    rosrun turtlesim turtlesim_node
    

    在这里插入图片描述

    Ctrl+Alt+t打开新的终端输入,光标在新的terminal中利用方向键可以控制小乌龟移动:

    rosrun turtlesim turtle_teleop_key
    

    img
    .csdnimg.cn/20190405111730182.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NoYW5wZW5naHVp,size_16,color_FFFFFF,t_70)

    Ctrl+Alt+t打开新的终端输入,光标在新的terminal中利用方向键可以控制小乌龟移动:

    rosrun turtlesim turtle_teleop_key
    

    img

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值