什麼是ROS
ROS(Robot Operating System)是一個機器人軟件平臺,它能爲異質計算機集羣提供類似操作系統的功能。ROS的前身是斯坦福人工智能實驗室爲了支持斯坦福智能機器人STAIR而建立的交換庭(switchyard)項目。到2008年,主要由威樓加拉吉繼續該項目的研發。
- 一個以Linux內核的開源次級OS,類似Android系統。
- 是一個機器人開發框架。 基於通信基礎的鬆耦合點對點進程網絡,多節點分佈
- ROS不是一個實時的框架,但可以嵌入實時程序。
- 提供RPC服務,Topic話題,ParaSrv參數服務器,驅動管理,進程間消息傳輸,程序包管理,提供各種軟件功能包。
- 傳感器,執行器件,與算法分離,可以記錄各種話題並重放,可以在模擬器總測試執行器件。
爲什麼使用ROS
- ros特點:
- 統一通信接口,消息機制
- 鬆耦合分佈式框架
- 即插即用統一平臺
- 語言支持C++及Python,C++爲主的包括OpenCV、Cuda、slam等等。Python主要是啓動腳本和神經網絡及其他等等。
- 源碼開源
-
使用系統
注意:兩個系統的版本號一致,例如:連個必須都是16.04.
1、 X86平臺
ubuntu LTS
2、 ARM平臺 `ubuntu mate 系列`
-
傳感器支持
- 紅外、超聲波、1D、2D、3D range finders
- RFID
- Force、torque、touch sensors
- Pose estimation(IMU/GPS)
- 激光雷達、Sick、slamtec
- Sensors、actuator interfaces
- 單目、雙面攝像頭
- RGB-D Camera
- MIcrosoft Kinect,Asus Xtion,樂視Xtion
- ROS軟件包及 工具
- 路徑規劃——> Move_base
- 建圖 ——> gmapping
- 座標姿態 ——> TF
- 機械臂運動學——> Movelt
- 機械手 ——> Grasplt
- 視覺點雲 ——> PCL
- 語音 ——> PocketSphinx
- 3D建模 ——> URDF
- 3D仿真 ——> rviz、rqt、gazebo