ubuntu20.4安裝配置ros系統(noetic)

来源:https://www.cnblogs.com/endcase/archive/2023/06/05/17421641.html
-Advertisement-
Play Games

不同ubuntu版本對應的ros版本名稱 ubuntu版本 ros1版本 ros2版本 16.04 kinetic ardent 18.04 melodic dashing 20.04 noetic foxy 1、打開軟體與更新,切換ubuntu軟體源(國內阿裡雲) 2、打開終端,添加ros軟體源( ...


不同ubuntu版本對應的ros版本名稱

ubuntu版本 ros1版本 ros2版本
16.04 kinetic ardent
18.04 melodic dashing
20.04 noetic foxy

1、打開軟體與更新,切換ubuntu軟體源(國內阿裡雲)

2、打開終端,添加ros軟體源(中科大鏡像站)

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'

3、配置公鑰

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

 

4、更新軟體源

sudo apt update

5、安裝ros系統(ps:命令中的noetic根據自己的ros版本名更換)

sudo apt install ros-noetic-desktop-full

6、初始化rosdep

sudo rosdep init

提示找不到rosdep命令

解決方法

sudo apt install python3-rosdep2

 再次初始化rosdep

sudo rosdep init

提示不能從預設的來源列表下載

解決方法

sudo gedit /etc/hosts

等自動打開hosts文件後,在文件中添加以下內容,然後保存並退出

199.232.28.133 raw.githubusercontent.com

再次初始化rosdep

sudo rosdep init

7、更新rosdep

rosdep update

8、設置環境變數(ps:命令中的noetic根據自己的ros版本名更換)

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

9、使環境變數生效

source ~/.bashrc

10、安裝rosinstall

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

 11、安裝python3-roslaunch

sudo apt install python3-roslaunch

12、啟動ros系統

roscore

提示Usage is <1GB

解決方法,安裝ros-noetic-roslaunch(ps:命令中的noetic根據自己的ros版本名更換)

sudo apt install ros-noetic-roslaunch

再次啟動ros系統,成功

roscore

13、不要關閉啟動ros那個終端視窗,另外再打開一個終端安裝ros-noetic-ros-tutorials(ps:命令中的noetic根據自己的ros版本名更換)

sudo apt-get install ros-noetic-ros-tutorials

14、啟動小海龜模擬器

rosrun turtlesim turtlesim_node

提示找不到rosrun命令

解決方法,安裝ros-noetic-rosbash(ps:命令中的noetic根據自己的ros版本名更換)

sudo apt install ros-noetic-rosbash

再次啟動小海龜模擬器

rosrun turtlesim turtlesim_node

15、保留上面兩個終端視窗不關閉,另外再打開一個終端啟動小海龜控制節點

rosrun turtlesim  turtle_teleop_key

 最後效果圖(ps:有三個終端同時在運行)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文作者從評判標準、功能評測、性能評測等多方面剖析三方庫哪些家強,並給出了比較務實的建議。 引言 為了小伙伴理解,彙總了一下文章中會提及的術語名詞解釋,請放心品讀,歡迎一起討論交流! 你真的瞭解 Go 標準庫嗎? 問題一:標準庫可以反序列化普通的字元串嗎?執行下麵的代碼會報錯嗎? var s str ...
  • 經過前幾篇文章的講解,初步瞭解ASP.NET Core MVC項目創建,啟動運行,以及命名約定,創建控制器,視圖,模型,接收參數,傳遞數據ViewData,ViewBag,路由,頁面佈局,wwwroot和客戶端庫,Razor語法,EnityFrameworkCore與資料庫,HttpContext,... ...
  • 摘要:基於.NET Core 7.0WebApi後端架構實戰【2-介入IOC控制反轉】 2023/04/09, ASP.NET Core 7.0, VS2022 引言 Inversion of Control,簡稱IOC,即控制反轉。記得當初剛實習的時候公司的帶我的人和我提到過IOC這個概念,當初完 ...
  • # 圖片介面JWT鑒權實現 # 前言 之前做了個返回圖片鏈接的介面,然後沒做授權,然後今天鍵盤到了,也是用JWT來做介面的許可權控制。 然後JTW網上已經有很多文章來說怎麼用了,這裡就不做多的解釋了,如果不懂的可以參考下列鏈接的 文章。 圖片介面文章:[還在愁個人博客沒有圖片放?](https://w ...
  • 網上很多方法都試過,什麼“修複”,關掉進程,重啟都試過了,但是想保留數據所以不想重置 **最後發現打不開的原因:C盤空間滿了** 但是我在安裝的時候明明設置在別的盤 ![image](https://img2023.cnblogs.com/blog/2580807/202306/2580807-20 ...
  • 大家好,我是god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,今天需要你花兩分鐘時間來學習下,因為今天要講的是兩個命令,mkdir 和 touch 命令。前一個命令是操作目錄的,後一個命令是操作文件的。 ...
  • 摘要:本文介紹基於STM32微控制器、BC26 NBIOT模組和華為雲IOT平臺,實現了一款智能井蓋系統。 本文分享自華為雲社區《基於STM32+NBIOT+華為雲IOT設計的智能井蓋》,作者:DS小龍哥 。 一、概述 智能井蓋是一種通過物聯網技術實現對井蓋狀態監測和管理的設備。當前介紹基於STM3 ...
  • ## 前置知識 動態捲管理(LVM,Logical Volume Manger)實現將多個硬碟和硬碟分區做成一個邏輯捲,並將邏輯捲統一管理。創建LVM順序為:物理捲PV->捲組VG->邏輯捲LV。 物理捲(PV,Physical Volume):物理硬碟或分區; 捲組(VG,Volume Group ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...