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

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

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

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

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

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

ROS与RoboWare开发过程对(duì)比