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

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

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

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

▪参数配置:调整组(zǔ)件的相关参数来改变组件的颜色、大小(xiǎo)、位(wèi)置等,也可以通(tōng)过配置(zhì)ROS MASTER URI和TOPIC来(lái)改变(biàn)数据源(yuán)。

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

ROS与RoboWare开发(fā)过程对比