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开发过程对比