RoboWare平臺
1.1 RoboWare簡介
Robo Ware機器人開發平臺是一種應用于各種機器人技術及設備的標準化開發軟件平臺,給用戶提供可視化的集成開發環境和編譯調試環境,同時還提供了與相應硬件的對應接口,提供一整套面向部件生產者、機器人開發者以及機器人應用者的機器人中間件技術開發平臺。

目前市場上70%以上的服務機器人都是以機器人操作系統為平臺進行開發的,但是常見的機器人操作系統都面臨開發環境復雜、配置困難、調試不便等困難,且在嵌入式板卡上的運行時需要自己搜尋大量的支持庫,應用門檻高。為了滿足市場需求,RoboWare機器人開發平臺實現了以下功能:
w 具有友好的圖形化界面,采用“拖拉拽”及參數配置即能完成機器人控制軟件的開發;
w 具備組態軟件模塊,在機器人投運后,可實時監控機器人運行狀況,并對機器人及集群進行實時(集中)監控。
w 具備可高度復用的組建庫和完備的調試/仿真環境,對多種機器人硬件設備提供“驅動”程序支持;
w 以機器人操作系統為內核,具有統一的編程環境和編譯執行環境。
w 通用的大量功能控制組件,例如計算機視覺技術、導航技術和機械手臂控制等。
w 集成大量的人工智能算法庫,能方便提供機器人智能模塊開發。
Robo Ware技術優勢
(1)Robo Ware以機器人操作系統為內核,采用當前最流行的異步編程語言NodeJS開發,基于先進的electron跨平臺圖形界面應用開發框架和微軟公司的vscode編輯器,實現了分布式環境下具有不同硬件結構、操作系統、通信協議和編程語言的機器人之間的互通互聯,系統界面友好、操作簡便,大大提升移植性、擴展性,易于維護,為多異構機器人的協作提供了最佳的技術路線,填補了國際上機器人開發領域的空白。
(2)RoboWare開創性的實現了遠程調試功能,解決了一直困擾機器人開發人員的無法實現在遠端部署與調試的問題。RoboWare Studio遠程調試減少軟件工程師的工作量,同時降低開發門檻,縮短開發周期,提升開發效率,減少開發成本。
(3)RoboWare機器人開發平臺具備了機器人開發過程所需要的軟件模塊、硬件組件和開發案例,已經形成了機器人開發組件、部件、控件的生態圈。填補了機器人開發全球專業化部件市場的空白。
RoboWare POD產品系列
RoboWare POD系列工具,采用面向產品設計(POD,Product Oriented Design)思路,整個POD系列產品涵蓋了從機器人架構設計、本體開發調試到后臺人機交互界面開發的全套工具。包括Designer、Studio和Viewer三部分,分別進行機器人架構設計、代碼開發和界面開發。
(1)RoboWare Designer
RoboWare Designer是一個圖形化的機器人硬件架構設計工具,集成了各種ROS硬件及其ROS資源包,在設計中允許你拖動它們、配置它們、編輯它們、連接他們,并生成對應的ROS工程代碼。
RoboWare Designer具有如下特性:
w 可視化:以圖形的方式構建機器人硬件架構,可視、簡單、易操作;
w 支持ROS:與ROS的生態體系緊密結合,自動生成ROS工程代碼;
w 良好開放性:支持硬件廠商制作自己的Designer部件提交到數據倉庫;
w 豐富的部件倉庫:由RoboWare開發團隊持續更新和維護ROS資源。

可視化架構設計、自動創建ROS軟件包
(2)RoboWare Studio
RoboWare Studio是一個ROS集成開發環境,可進行ROS工作區及包的管理、代碼編輯、構建及調試等工作。
RoboWare Studio的主要特性有:
w 圖形化ROS開發界面:以圖形化的方式進行ROS工作區及包的創建、源碼添加、文件創建等,實現CMakelists.txt、package.xml文件的自動更新,兼容indigo/jade/kinetic等版本;
w 友好的編碼體驗:具有語法高亮、代碼補全、定義跳轉、查看定義、錯誤診斷與顯示等IDE功能,支持集成終端,可在IDE界面同時打開多個終端窗口,支持Vim編輯模式;
w 提供C++和Python代碼調試:提供Release Debug及Isolated編譯選項,以界面交互的方式調試C++及Python代碼,可設置斷點、顯示調用堆棧、單步運行等;
w 內置Git功能:可在編輯器界面進行差異比對、文件暫存、修改提交,對任意Git服務倉庫進行推送、拉取等;
w 支持遠程部署及調試:支持代碼的遠程部署、構建及實時調試,支持X86或ARM架構;
代碼調試

ROS包管理器
(3)RoboWare Viewer
RoboWare Viewer是一個基于JavaScript開發的ROS UI交互界面開發工具。通過簡易的拖拽組件、配置參數完成開發,支持組件自定義。
主要特性包括:
?拖拽式開發:RoboWare Viewer封裝了大量的ROS組件,開發者只需要將需要的組件拖拽到內容區,不需要編寫任何代碼就可以開發出漂亮的ROS人機交互界面。

?參數配置:調整組件的相關參數來改變組件的顏色、大小、位置等,也可以通過配置ROS MASTER URI和TOPIC來改變數據源。

類屬性設置
?效果預覽:開發者可以在編碼過程中查看應用程序的運行效果,包括在PC上的運行效果以及在手機上的運行效果。
?跨平臺使用及打包發布:RoboWare Viewer可在Linux、Windows、Mac OSX等操作系統下安裝使用,打包生成相應的PC應用程序,也可以打包成Android、IOS下的移動端應用程序。

ROS與RoboWare開發過程對比