日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu20.04安装ROS教程(虚拟机/双系统,含报错解决)

發布時間:2024/8/1 Ubuntu 148 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu20.04安装ROS教程(虚拟机/双系统,含报错解决) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在配置ROS環境時遇到了一些問題,遂在本文做個記錄。主要解決了如何通過虛擬機的方式實現ROS的配置。

環境: 宿主機:Windows10 雙系統:Ubuntu18.04 虛擬機:Ubuntu20.04

文章目錄

  • 1.虛擬機安裝 Ubuntu20.04
    • 1.1 安裝VMware Workstation 16 Pro
    • 1.2 下載Ubuntu20.04鏡像
    • 1.3 安裝Ubuntu20.04虛擬機
  • 2. Win10、Ubuntu雙系統
    • 2.1 Ubuntu16.04配置
    • 2.2 Ubuntu18.04配置
  • 3. Ubuntu18.04 配置ROS
    • 3.1 創建虛擬環境 virtualenv
    • 3.2 配置ROS軟件倉庫
    • 3.3 安裝 ROS
    • 3.4 初始化 rosdep
    • 3.5 報錯解決
    • 3.6 `rosdep update` time out error(未解決)
  • 4. Ubuntu20.04虛擬機配置ROS(成功!)
    • 4.1 換源
    • 4.2 基礎軟件安裝
    • 4.3 配置ROS環境
      • 4.3.1 安裝顯卡驅動
      • 4.3.2 安裝虛擬環境
      • 4.3.3 安裝noetic(對應ubuntu20.04)
    • 4.4 通過橋接解決 `rosdep update` time out error
      • 4.4.1 虛擬機選擇橋接(校園網選擇NAT):
      • 4.4.2 打開 allow lan:
      • 4.4.3 宿主機查看ip地址:
      • 4.4.4 Ubuntu設置proxy:
      • 4.4.5 Ubuntu安裝proxychains
    • 4.5 測試小海龜
  • 參考:


1.虛擬機安裝 Ubuntu20.04

1.1 安裝VMware Workstation 16 Pro

下載地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html


最后一步選擇第一項,輸入激活密鑰


1.2 下載Ubuntu20.04鏡像

下載地址:http://releases.ubuntu.com/focal/


直接下載鏡像比較慢,使用迅雷通過種子下載比較快。


1.3 安裝Ubuntu20.04虛擬機

選擇創建新的虛擬機

選擇自定義

選擇:

選擇下載的鏡像.iso文件

輸入信息

選擇安裝位置

根據本機情況設置

選擇推薦虛擬內容容量

使用橋接連接網絡

使用校園網撥號上網,Ubuntu18以后不支持撥號,配置PPPOE不管用,設置橋接可以上網。

默認選項

SCSI控制器的英文名稱是“Small Computer System Interface”,中文翻譯為"小型計算機系統專用接口";顧名思義,這是為了小型計算機設計的擴充接口,它可以讓計算機加裝其他外設設備以提高系統性能或增加新的功能,例如硬盤、光驅、掃描儀等。


選擇

設置磁盤容量

默認

默認

等待安裝

右擊左側邊欄的虛擬機,選擇設置,選擇NAT模式,這樣就把win10下的網絡橋接到虛擬機系統了。


2. Win10、Ubuntu雙系統

虛擬機耗內存,有卡頓,使用體驗不好,裝雙系統使用體驗更好。

這部分之前配置過了,不再贅述。相關教程比較多,對照著配置一般不會出問題。可能出問題的地方是開機界面卡死,主要是安裝顯卡驅動不正確導致的。

之前配置的教程記錄:

2.1 Ubuntu16.04配置

基于 Ubuntu 16.04 從零開始配置深度學習主機(一)–基礎配置
基于 Ubuntu 16.04 從零開始配置深度學習主機(二)–顯卡驅動\CUDA\CUDNN配置
基于 Ubuntu 16.04 從零開始配置深度學習主機(五)–Darknet配置與訓練

2.2 Ubuntu18.04配置

Ubuntu18.04下 GPU版本 Tensorflow2.0+CUDA10.0 / Tensorflow2.1+CUDA10.1 虛擬環境配置


3. Ubuntu18.04 配置ROS

3.1 創建虛擬環境 virtualenv

安裝虛擬環境及擴展包:

pip install virtualenv pip install virtualenvwrapper

創建用來存放虛擬環境的目錄:

//home目錄下運行 mkdir .virtualenvs //非home目錄下運行 mkdir ~/.virtualenvs

編輯home目錄下的.bashrc文件,添加下面兩行內容:

//打開.bashrc文件命令 //vi ~/.bashrc 或者 nano ~/.bashrc export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv source ~/.local/bin/virtualenvwrapper.sh

注:ubuntu18及以上版本,virtualenvwrapper.sh被安裝到了home目錄下的.local/bin/中,非原來的/usr/local/bin/中。

運行.bashrc,使其生效

//home目錄下運行 source .bashrc //非home目錄下運行 //source ~/.bashrc

創建虛擬環境

//創建pyhton2的虛擬環境 mkvirtualenv name //創建python3的虛擬環境 mkvirtualenv -p python3 name

激活虛擬環境

workon name

退出虛擬環境

deactivate

查看虛擬環境中的包

pip list

查看所有虛擬環境:

lsvirtualenv

刪除虛擬環境

rmvirtualenv name

卸載虛擬環境

sudo apt-get remove virtualenv sudo apt-get remove virtualenvwrapper

3.2 配置ROS軟件倉庫

創建虛擬環境:

mkvirtualenv -p python3 ros

激活虛擬環境

workon ros

配置Ubuntu軟件倉庫(repositories)以允許使用“restricted”“universe”和“multiverse”存儲庫。

設置電腦以安裝來自packages.ros.org的軟件。

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

若下載速度緩慢,推薦就近選擇一個鏡像源替換上面的命令。例如,Tsinghua University為:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

如果依舊遇到連接問題,請嘗試為Ubuntu apt換源。

設置密鑰

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

若無法連接到密鑰服務器,可以嘗試替換上面命令中的 hkp://keyserver.ubuntu.com:80 為 hkp://pgp.mit.edu:80 。

Linux在安裝軟件時,需要通過源列表去尋找對應的軟件,Ubuntu默認的軟件列表是沒有ROS的,需要把packags.ros.org網站配置到軟件倉庫列表內才能下載ROS,不然顯示的是沒有這個軟件。

配置公網密鑰,這一步是確保系統認為這個路徑是安全的,下載文件是沒有問題的。不然下載的東西會立刻被清除掉。


3.3 安裝 ROS

首先,確保你包索引是最新的:

sudo apt update

在 ROS 中有很多不同的庫和工具。ROS提供了四種默認選項。你也可以單獨安裝 ROS 的軟件包。

桌面完整版(推薦): : 包含 ROS、rqt、rviz、機器人通用庫、2D/3D 模擬器、導航以及 2D/3D 感知包。

sudo apt install ros-melodic-desktop-full

桌面版: 包含 ROS,rqt,rviz 和機器人通用庫

sudo apt install ros-melodic-desktop

ROS-基礎包: 包含 ROS 包,構建和通信庫。沒有圖形界面工具。

sudo apt install ros-melodic-ros-base

單獨的包: 你也可以安裝某個指定的ROS軟件包(使用軟件包名稱替換掉下面的PACKAGE):

sudo apt install ros-melodic-PACKAGE

如:

sudo apt install ros-melodic-slam-gmapping

3.4 初始化 rosdep

在使用 ROS 之前,需要初始化 rosdep。rosdep 能夠輕松地安裝被想要編譯的源代碼,或被某些 ROS 核心組件需要的系統依賴。

sudo apt install python-rosdep2sudo rosdep init

執行成功之后,提示輸入以下指令:

rosdep update

如果出現Error,可能是網絡導致的,多執行幾次命令即可。



添加到環境變量:

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

啟動:

roscore

3.5 報錯解決

由于網絡原因, 可能會報以下錯誤:

ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.


解決辦法,執行如下命令:

cd /etc sudo nano hosts

在文件末尾添加:

151.101.84.133 raw.githubusercontent.com

然后查詢raw.githubusercontent.com的IP地址,并替換151.101.84.133

raw.githubusercontent.com resolves to the following 4 IPv4 addresses: 185.199.108.133 185.199.109.133 185.199.110.133 185.199.111.133

如果遇到有些包下載不完全,之后又重新 sudo rosdep init 時,可能會遇到如下錯誤:

ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210409183144963.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTY1Mzk0OA==,size_16,color_FFFFFF,t_70#pic_center

解決辦法,執行如下命令:

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

然后再重新運行命令 sudo rosdep init 即可解決。

.增加TIMEOUT時間

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

搜索

DOWNLOAD_TIMEOUT=45.0

3.6 rosdep update time out error(未解決)

困擾了我四五天,現在還沒解決。

嘗試過手機熱點,安卓和ios都不行,校園網不可以。

嘗試配置撥號連連接,未成功。

嘗試Science上網,SS和CLASH均配置失敗。

遂暫時用虛擬機配置···


在虛擬機上解決了該問題,大概思路就是:通過橋接網絡,在宿主機器上科學上網,通過配置虛擬機的proxy,實現虛擬機的科學上網。


4. Ubuntu20.04虛擬機配置ROS(成功!)

4.1 換源

參考:https://zhuanlan.zhihu.com/p/142014944

備份:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

打開/etc/apt/sources.list文件,在前面添加如下條目,并保存。

sudo gedit /etc/apt/sources.list #添加阿里源 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse #添加清華源 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

更新源

sudo apt-get update

如出現依賴問題,解決方式如下:

sudo apt-get -f install

更新軟件:

sudo apt-get upgrade

4.2 基礎軟件安裝

  • chrome下載:https://www.google.cn/chrome/

  • 搜狗拼音下載:https://pinyin.sogou.com/linux/?r=pinyin

  • 安裝參考:

  • https://www.linuxprobe.com/ubuntu20-04-install-sogou.html
  • https://pinyin.sogou.com/linux/help.php

  • 網易云下載:https://music.163.com/#/download
  • 錯誤:Gtk-Message: 03:59:19.540: Failed to load module "canberra-gtk-module"

    解決:

    sudo apt-get install libcanberra-gtk-module

    啟動:

    • 切換: cd /usr/bin
    • 執行:./netease-cloud-music

  • Typora
    參考:https://typora.io/#linux
  • # or run: # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAEwget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -# add Typora's repositorysudo add-apt-repository 'deb https://typora.io/linux ./'sudo apt-get update# install typorasudo apt-get install typora

    4.3 配置ROS環境

    參考CH3.1——CH3.5

    4.3.1 安裝顯卡驅動

    參考:Ubuntu20.04顯卡驅動安裝

    4.3.2 安裝虛擬環境

    sudo apt install python3-pip pip3 install virtualenvwrapper

    4.3.3 安裝noetic(對應ubuntu20.04)

    參考:在Ubuntu20.04中安裝ROS Noetic

    sudo apt update sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt install ros-noetic-desktop-full

    在使用 ROS 之前,需要初始化 rosdep。rosdep 能夠輕松地安裝被想要編譯的源代碼,或被某些 ROS 核心組件需要的系統依賴。

    sudo apt install python3-rosdepsudo rosdep init

    報錯:

    (ros) datazero@ubuntu:~$ sudo rosdep init ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.

    解決:

    cd /etc sudo nano hosts

    在文件末尾添加:

    151.101.84.133 raw.githubusercontent.com

    然后查詢raw.githubusercontent.com的IP地址,并替換151.101.84.133

    raw.githubusercontent.com resolves to the following 4 IPv4 addresses: 185.199.108.133 185.199.109.133 185.199.110.133 185.199.111.133

    如圖:

    執行成功之后,提示輸入以下指令:

    rosdep update

    報錯:

    reading in sources list data from /etc/ros/rosdep/sources.list.d ERROR: error loading sources list:The read operation timed out


    我是校園網,如果依然報錯,請嘗試橋接!!!!!!具體解決如下:


    4.4 通過橋接解決 rosdep update time out error

    過程如下(按順序):

    4.4.1 虛擬機選擇橋接(校園網選擇NAT):

    4.4.2 打開 allow lan:

    設置端口號,clash默認為7890。

    4.4.3 宿主機查看ip地址:

    打開cmd,ipconfig查看宿主機ipv4地址(一般為第一部分內容之中的ipv4地址):

    4.4.4 Ubuntu設置proxy:

    4.4.5 Ubuntu安裝proxychains

    在ubuntu命令行使用代理,需要安裝proxychains:

    sudo apt-get install proxychains

    配置端口:

    sudo nano /etc/proxychains.conf

    添加以下內容:

    socks5 宿主機ip地址 端口號

    例如:
    設置軟鏈接
    首先查找文件

    find /usr/lib/ -name libproxychains.so.3 -print

    將查找到的內容復制,對下述文件進行修改:

    sudo gedit /usr/bin/proxychains

    宿主機不要選擇全局模式,而要選擇RULE模式。
    如果要使用代理,命令行中的命令前添加proxychains即可!


    運行命令:

    proxychains rosdep update

    成功解決如圖:


    4.5 測試小海龜

    運行:

    roscore


    測試:打開第二個終端,運行如下命令,出現一只小海龜

    rosrun turtlesim turtlesim_node

    如果希望小海龜移動,打開第三個終端,并運行:

    rosrun turtlesim turtle_teleop_key

    然后在運行該命令的命令行窗口選中的情況下,使用鍵盤的上下左右控制小海龜運動。

    如圖:

    至此安裝成功!!!


    參考:

  • ROS基礎系列教程2:ROS環境的搭建
  • 在 Ubuntu 中安裝 ROS Melodic
  • Ubuntu18.04安裝ROS Melodic
  • Ubuntu20.04安裝virtualenv方法
  • ROS初始化 sudo rosdep init失敗
  • VMware虛擬機走主機代理
  • 【VM/VBOX】使用橋接和NAT布置代理,實現虛擬機利用宿主機局域網共享
  • 總結

    以上是生活随笔為你收集整理的Ubuntu20.04安装ROS教程(虚拟机/双系统,含报错解决)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。