ROS(英語:Robot Operating System,一般譯為機器人作業系統),是專為機器人軟體開發所設計出來的一套電腦作業系統架構。它是一個開源的元級作業系統(後作業系統),提供類似於作業系統的服務,包括硬體抽象描述、底層驅動程序管理、共用功能的執行、程序間消息傳遞、程序發行包管理,它也提供一些工具和庫用於獲取、建立、編寫和執行多機融合的程序。
應該很多人會好奇這個是在做什麼的。簡單來說,就是拿來寫硬體的,但是並非Verilog那種直接性的操作硬體,而是處理更高階的事情,就是機器人的作業系統,可以想像成電腦中的作業系統,驅動整個電腦的零件。
紅外線系統、無線電系統…,大多數的新型科技都會有這個系統的支援。
運作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網路的一個工具
簡單的案例如下:
能夠紀錄、播放ros網路中的資訊流
這大概是做這系統最常用的指令之一
簡單的示例如下:
能夠將ros 網路中的資訊視覺化的工具(本地端)
這是做自走車之類的作品最常用的工具之一
示意如下:
能夠將ros 網路中的資訊視覺化的工具(網頁端)
這是網頁端的視覺化工具
當然還要裝很多的package,像是ros bridge…
示意如下:
能夠將ros 網路中的資訊視覺化的工具(網頁端)
這是網頁端的視覺化工具,因為上面是官方的,功能有限制,若想要自行設計頁面、功能,只能自己寫
當然還要裝很多的package,像是ros bridge…
示意如下:
ros 在安裝上還滿輕鬆的
只是不同的linux版本會有不同的ros系統,像我之前是用ros kinect
Neural Network
Deep Learning