機械人作業系統ROS入門

2021-10-20 20:22:53 字數 3967 閱讀 6180

三、ros安裝

四、其它(參考資料和資源)

ros是機械人作業系統(robot operating system)的英文縮寫。ros是用於編寫機械人軟體程式的一種具有高度靈活性的軟體架構。ros的原型源自史丹福大學的stanford artificial intelligence robot (stair) 和 personal robotics (pr)專案。

其實ros就是編寫機械人軟體程式的乙個框架。ros能夠讓程式設計師更輕鬆地開發機械人程式,和c語言的功能類似,幫助程式設計師完成對機械人軟體程式的編寫。ros包含了大量工具軟體、庫**和約定協議,旨在簡化跨機械人平台建立複雜、魯,莽的機械人行為這一過程的難度與複雜度。

說得簡單一點,ros就是機械人的高階程式語言和工具。

(1)ros的產生

在ros誕生之前,很多學者認為,機械人研究需要乙個開放式的協作框架,並且已經有不少類似的專案致力於實現這樣的框架。在這些工作中,史丹福大學在2023年年中開展了一系列相關研究專案,如斯坦福人工智慧機械人(standford ai robot, stair)專案、個人機械人(personal robots, pr)專案等,在上述專案中,在研究具有代表性、整合式人工智慧系統的過程中,創立了用於室內場景的高靈活性、動態軟體系統,其可以用於機械人學研究。

2023年,柳樹車庫(willow garage)提供了大量資源,用於將史丹福大學專案中的軟體系統進行擴充套件與完善,同時,在無數研究人員的共同努力下,ros的核心思想和基本軟體包逐漸得到完善。

(2)ros的發展

(3)ros壯大的原因

ros提供一些標準作業系統服務,例如硬體抽象,底層裝置控制,常用功能實現,程序間訊息以及資料報管理。ros是基於一種圖狀架構,從而不同節點的程序能接受,發布,聚合各種資訊(例如感測,控制,狀態,規劃等等)。為了提高生產效率,使用機械人是不錯的選擇,ros就一步一步發展壯大。

因為有這些優點,ros值得學習了解。

設定安裝源(國內映象**)

sudo sh -c '. /etc/lsb-release && echo "deb  $distrib_codename main" > /etc/apt/sources.list.d/ros-latest.list'
設定金鑰

sudo apt-key adv --keyserver hkp:

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
執行初始化

sudo apt install python-rosdep
sudo rosdep init
rosdep update
直接解壓到home主目錄下

更名為rosdistro

修改以下檔案

①20-default.list

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

default

.list

修改內容(裡面的***換成自己的使用者名稱,如jiang)

# os-specific listings first

yaml file:

///home/***/rosdistro/rosdep/osx-homebrew.yaml osx

# generic

yaml file:

///home/***/rosdistro/rosdep/base.yaml

yaml file:

///home/***/rosdistro/rosdep/python.yaml

yaml file:

///home/***/rosdistro/rosdep/ruby.yaml

gbpdistro file:

///home/***/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (groovy, hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

注意:如果在/etc裡面沒有該檔案,請自行建立

注釋原default_sources_list_url這一行

default_sources_list_url =

'file:///home/***/rosdistro/rosdep/sources.list.d/20-default.list'

③rep3.py

sudo gedit /usr/lib/python2.

7/dist-packages/rosdep2/rep3.py

注釋原rep3_targets_url這一行

rep3_targets_url =

'file:///home/***/rosdistro/releases/targets.yaml'

④__init__.py

sudo gedit /usr/lib/python2.

7/dist-packages/rosdistro/__init__.py

注釋原default_index_url這一行

default_index_url =

'file:///home/***/rosdistro/index-v4.yaml'

然後rosdep update,出現以下結果就可以了

開啟三個新的終端

分別輸入以下內容

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
小海龜出來了!!!

參考部落格1

參考部落格2

機械人作業系統入門(ROS)入門)

外文名robot operating system 性 質機械人軟體平台 簡 稱ros 用 途提供類似作業系統的功能 通常這樣解釋ros 通道 ros提供了一種發布 訂閱式的通訊框架用以簡單 快速地構建分布式計算系。工具 ros提供了大量的工具組合用以配置 啟動 自檢 除錯 視覺化 登入 測試 終止...

機械人作業系統ROS總結

ros有很詳細大文件 按照文件,按步驟學習即可。ros定義了程序間通訊的方式,程序可以是在同乙個機器上,也可以是分布式的。這非常便於搭積木 搭系統,但是,對於效能,要做真正產品,估計效率要再考慮。這樣,從不同到 來的軟體模組,可以方便的組合成乙個機械人系統。ros把軟體分成不同的package,裡面...

(嵌入式)機械人作業系統 ROS 入門

二 在ubuntu系統中,安裝對應版本的ros軟體 三 執行ros 四 優秀博主鏈結 ros是機械人作業系統 robot operating system 的英文縮寫。ros是用於編寫機械人軟體程式的一種具有高度靈活性的軟體架構。ros的發展逐漸的趨於成熟,近年來也逐步是面對著ubuntu的更新而更...