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

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

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

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

▪参数配置:调整组件(jiàn)的相关参数来改(gǎi)变组件的颜色、大(dà)小、位置等,也可以通过配(pèi)置ROS MASTER URI和TOPIC来改变数据源。

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

ROS与RoboWare开发过程对比