RoboWare平(píng)台
1.1 RoboWare简介
Robo Ware机(jī)器人开发(fā)平台是一(yī)种应(yīng)用(yòng)于(yú)各种机器(qì)人技(jì)术(shù)及设备的标准化开发软件平台,给用(yòng)户提供可(kě)视化的集成开发环境和编译调试环境,同(tóng)时(shí)还提供了与相应(yīng)硬件的对应(yīng)接(jiē)口(kǒu),提供(gòng)一整套(tào)面向部(bù)件生产(chǎn)者、机器人开发者以及机器(qì)人应用者的机器人(rén)中(zhōng)间件技术开发平台(tái)。

目前(qián)市场上70%以上的(de)服(fú)务机(jī)器人都是以机器人操作系统为平台进行开发(fā)的,但是(shì)常见的机(jī)器人操作系统都(dōu)面临开(kāi)发环境复杂、配置(zhì)困难、调(diào)试不便等困难,且在(zài)嵌(qiàn)入(rù)式板卡上的运行时需(xū)要自己搜寻大量的支持库,应用门槛高。为了(le)满足(zú)市场需求,RoboWare机器(qì)人(rén)开发平台实现(xiàn)了(le)以(yǐ)下(xià)功能:
w 具有(yǒu)友好的图形化界(jiè)面,采用“拖拉拽”及参数配(pèi)置(zhì)即能(néng)完成机(jī)器人控制软件的开发;
w 具备组态软件模块,在机器人投运后,可(kě)实时(shí)监(jiān)控机器人运行状况(kuàng),并对机器人及集(jí)群进行(háng)实(shí)时(集中)监(jiān)控。
w 具备(bèi)可高度(dù)复用(yòng)的组(zǔ)建库(kù)和完备的调试/仿真(zhēn)环(huán)境(jìng),对多种机器(qì)人硬件设备提供“驱(qū)动”程序支持;
w 以机器人操作系统为(wéi)内核,具有(yǒu)统一的(de)编程环境和编译(yì)执(zhí)行环(huán)境。
w 通用(yòng)的(de)大量功能控制组件,例如计(jì)算机视(shì)觉技术、导航技术和机(jī)械(xiè)手臂控制等。
w 集成大量(liàng)的(de)人工(gōng)智能算法库(kù),能方便提供机器人智能模块(kuài)开发。
Robo Ware技(jì)术优势
(1)Robo Ware以机器人(rén)操作系统为内(nèi)核,采用当前最流行的(de)异(yì)步编(biān)程语言NodeJS开发,基于先进的electron跨(kuà)平台图形界面应用开发框架和微(wēi)软公司(sī)的vscode编辑器,实现(xiàn)了分布式环境(jìng)下具有不(bú)同硬件结构、操作(zuò)系统、通(tōng)信协(xié)议和编程语(yǔ)言的机器(qì)人之间的互通互联(lián),系统界面友(yǒu)好、操作(zuò)简便,大大(dà)提升移植性、扩展性,易于(yú)维护,为多异构机(jī)器人的协作提供了最佳的技术(shù)路线,填(tián)补了国际上(shàng)机器(qì)人开(kāi)发领域的空白。
(2)RoboWare开(kāi)创性的实现了远程调试功能(néng),解(jiě)决了一直困扰机器人开发人员的无法实现在远端部(bù)署与调试(shì)的问题。RoboWare Studio远(yuǎn)程调试减少软件工程师的工作量,同时降(jiàng)低开发门槛,缩短开(kāi)发周(zhōu)期,提升开发效(xiào)率,减少(shǎo)开(kāi)发成本。
(3)RoboWare机器人开(kāi)发平台具备(bèi)了(le)机器人(rén)开发过程所需要的软件模块、硬件组件和开发案例,已(yǐ)经形成了机器(qì)人(rén)开发组件、部件、控件的生态圈。填(tián)补了机(jī)器人(rén)开发全球专业(yè)化部件(jiàn)市场的(de)空白。
RoboWare POD产品系列
RoboWare POD系(xì)列工具,采用面向产品设计(POD,Product Oriented Design)思路,整个(gè)POD系列产品涵(hán)盖了从(cóng)机器人架构设计、本体开发调(diào)试到后台人(rén)机(jī)交互(hù)界面(miàn)开发的全套工具。包括Designer、Studio和Viewer三部分,分别进行机器人(rén)架构设(shè)计(jì)、代码开发和界面开发。
(1)RoboWare Designer
RoboWare Designer是一个图形化的机(jī)器(qì)人硬件架构设计工具,集成了(le)各种ROS硬件及(jí)其ROS资源包,在设(shè)计中允许你拖动它们、配置它们、编辑它们、连接他们,并(bìng)生成对应(yīng)的ROS工(gōng)程(chéng)代码。
RoboWare Designer具有如下特性:
w 可视化:以图形的方(fāng)式(shì)构建(jiàn)机器人硬件架构,可视、简单、易操作;
w 支持(chí)ROS:与ROS的生态(tài)体系紧密结合,自动生成ROS工程代(dài)码;
w 良好开放(fàng)性:支持硬件(jiàn)厂(chǎng)商制作自己的Designer部件提交到数据(jù)仓(cāng)库;
w 丰富的部件仓(cāng)库:由RoboWare开发团队持续更(gèng)新和维护ROS资源(yuán)。

可视化架构(gòu)设(shè)计(jì)、自(zì)动创(chuàng)建ROS软件包
(2)RoboWare Studio
RoboWare Studio是一个ROS集成开发环(huán)境,可进(jìn)行ROS工作区及包的管(guǎn)理、代码编辑(jí)、构(gòu)建及调试等工作。
RoboWare Studio的主要特性(xìng)有(yǒu):
w 图(tú)形化(huà)ROS开发界面:以图形化的方式(shì)进(jìn)行(háng)ROS工作区及包的创建、源码添加、文件创建等,实(shí)现CMakelists.txt、package.xml文件的自动更新,兼容indigo/jade/kinetic等版本;
w 友好的编(biān)码体(tǐ)验:具有语(yǔ)法高亮、代(dài)码补(bǔ)全、定(dìng)义跳转、查看定(dìng)义、错(cuò)误诊断与显(xiǎn)示等IDE功能,支持(chí)集成终端,可在(zài)IDE界面(miàn)同时打(dǎ)开多个终端窗(chuāng)口,支持Vim编(biān)辑模(mó)式;
w 提供C++和Python代码调试:提供Release Debug及Isolated编译(yì)选项(xiàng),以界面交互的方式调试C++及Python代码,可设置断(duàn)点、显示调(diào)用堆栈、单(dān)步运行等;
w 内置Git功(gōng)能:可在(zài)编辑(jí)器(qì)界面进行差异比对、文件暂存、修改提(tí)交(jiāo),对任意Git服(fú)务仓库进行推送、拉(lā)取等;
w 支持远(yuǎn)程(chéng)部署及调试:支持代码的远(yuǎn)程部署、构建及(jí)实时(shí)调试,支持(chí)X86或ARM架构;
代码调(diào)试

ROS包管理器
(3)RoboWare Viewer
RoboWare Viewer是一(yī)个基(jī)于JavaScript开发(fā)的ROS UI交互(hù)界面开发工(gōng)具。通(tōng)过简易(yì)的拖拽组件、配置参数完成开发,支持组(zǔ)件自定(dìng)义。
主要特性包括:
▪拖(tuō)拽式开发(fā):RoboWare Viewer封装(zhuāng)了大量的ROS组件(jiàn),开发(fā)者只(zhī)需要将需要(yào)的组件(jiàn)拖(tuō)拽(zhuài)到内容区,不需要编写(xiě)任何代码(mǎ)就可以开发(fā)出漂亮的ROS人机交互界面(miàn)。

▪参(cān)数(shù)配(pèi)置:调整组(zǔ)件的(de)相关参数来改变组件的颜色、大(dà)小、位置等,也可(kě)以通过配(pèi)置ROS MASTER URI和TOPIC来改变数据源。

类属(shǔ)性设置(zhì)
▪效果预览:开发者可以在编码(mǎ)过程中查看应用(yòng)程序的运行效果,包括在PC上的(de)运行效果以及在手机上的运行效果。
▪跨平台使用及打包发布:RoboWare Viewer可在Linux、Windows、Mac OSX等操作系统下(xià)安装使用(yòng),打包(bāo)生成相应的PC应用程序,也可以打包(bāo)成androids、ioses下的移动端应(yīng)用程序。

ROS与RoboWare开发过程对比