如何低成本搭建ARM+ROS的硬體載體?本文将為讀者提供一個全新的技術方案。全文分概述、硬體與底層、ROS搭建三個章節,敬請訂閱。
1. ROS簡介
ROS是機器人作業系統(Robot Operating System)的英文縮寫,是用于編寫機器人軟體程式的一種具有高度靈活性的軟體架構,其原型源自斯坦福大學的Stanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)項目。
ROS是一個用于實作機器人程式設計和開發複雜機器人應用程式的開源軟體架構,依托于Linux之類的作業系統上,是以ROS也被稱為元作業系統或中間件軟體架構。ROS提供了各類成熟的功能包,如:攝像頭驅動、OpenCV圖像處理、SLAM建圖導航等。功能包中的代碼可以是C++、Python、Octave等不同的程式設計語言編寫,雖然不同子產品基于不同語言編寫,但仍可以被ROS組合起來一起使用。這意味着,當開發新款機器人時,開發者不需要做基礎的傳感器驅動、甚至不必實作某些應用,直接調用ROS自帶的功能包,同時ROS是分布式架構,對于大型複雜機器人而言,可以把各個功能分别部署在不同控制闆上。
2. 硬體介紹
本文檔使用本司的HDG2L-IoT評估套件來實作ROS應用環境,硬體産品如下所示。
硬體平台環境條件如下所示:
表2.1 硬體平台資源
3. 技術總結
目前實作ROS的方式主要有兩種:
- Ubuntu系統+ROS;
- Ubuntu系統+docker+ROS鏡像;
相對而言,使用dockers運作ROS鏡像的部署方式,可以大大加快裝置部署、移植工作。第二章節也将基于方案2去實作ROS,組成項目的各個部分功能如下所示: