--- tags: ROS, robotic operating system --- # 機器人作業系統概述 ROS(英語:Robot Operating System,一般譯為機器人作業系統),是專為機器人軟體開發所設計出來的一套電腦作業系統架構。它是一個開源的元級作業系統(後作業系統),提供類似於作業系統的服務,包括硬體抽象描述、底層驅動程序管理、共用功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用於獲取、建立、編寫和執行多機融合的程序。 ## 簡單的應用 應該很多人會好奇這個是在做什麼的。簡單來說,就是拿來寫硬體的,但是並非Verilog那種直接性的操作硬體,而是處理更高階的事情,就是機器人的作業系統,可以想像成電腦中的作業系統,驅動整個電腦的零件。 紅外線系統、無線電系統......,大多數的新型科技都會有這個系統的支援。 ## Ros Master 運作Ros必定要先開啟Ros Master,而簡單的Ros Network如下:  --- ### 內容 • ROS Node 下一篇實際操作後就會感受到,一個node就是一個程式文件 • ROS Publisher 有的node是身為publisher,會發出訊息到topic • ROS Subscriber 而有的node則身為subscriber,會從已訂閱的topic接受訊息 • ROS Topics 就像介質、平台般的存在,ex:布告欄 • ROS Message 扮演'語言'的腳色,ex:發表者寫'英文'公布在布告欄 • ROS Service 傳送訊息後,需要靠'等待處理'的這種Service,使得通訊成為'同步',其成分就是request和response • ROS Action 但有些會等太久而被中斷,這時就需要搭配Topics用的Action ## ROS Graph ROS Graph,用來視覺化目前ROS網路的一個工具 簡單的案例如下:  --- ## ROS 實用功能 ### ros bag 能夠紀錄、播放ros網路中的資訊流 這大概是做這系統最常用的指令之一 簡單的示例如下:  ### rviz 能夠將ros 網路中的資訊視覺化的工具(本地端) 這是做自走車之類的作品最常用的工具之一 示意如下:  ### webviz 能夠將ros 網路中的資訊視覺化的工具(網頁端) 這是網頁端的視覺化工具 當然還要裝很多的package,像是ros bridge...... 示意如下:  ### ros3djs 能夠將ros 網路中的資訊視覺化的工具(網頁端) 這是網頁端的視覺化工具,因為上面是官方的,功能有限制,若想要自行設計頁面、功能,只能自己寫 當然還要裝很多的package,像是ros bridge...... 示意如下:  # 安裝 ros 在安裝上還滿輕鬆的 只是不同的linux版本會有不同的ros系統,像我之前是用ros kinect [官方網站](http://wiki.ros.org/) ###### tags: `Neural Network` `Deep Learning`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up