查看原文
其他

优必选机器人操作系统ROSA研发与应用 | 优必选科技软件平台技术专家王嘉晋【附PPT】


机器人操作系统是为机器人标准化设计而构造的软件平台,它使得每一位机器人设计师都可以使用同样的平台来进行机器人软件开发。

编辑| 符号
整理| Sunny

机器人大讲堂直播间  056期


机器人操作系统是为机器人标准化设计而构造的软件平台,它使得每一位机器人设计师都可以使用同样的平台来进行机器人软件开发。标准的机器人操作系统包括硬件抽象、底层设备控制、常用功能实现、进程间消息以及数据包管理等功能,一般而言可分为操作系统层和用户群贡献的机器人实现不同功能的各种软件包。


我们特邀优必选科技软件平台技术专家王嘉晋先生做客【机器人大讲堂】直播间,向大家介绍优必选机器人操作系统ROSA的设计初衷和目标,着重讲述ROSA所具备的功能及基础的模块架构,对比ROSA与ROS,演示如何使用ROSA提供的功能来提高机器人软件研发效率,并由此推导ROSA对软件开发者及机器人硬件厂商的价值,最后展望ROSA未来的研究方向。


本期分享要点如下


  1. ROSA的概述与目标

  2. ROSA的功能

  3. ROSA的价值

  4. ROSA在机器人上的应用

  5. ROSA未来的研究方向

以下内容根据王嘉晋先生直播分享实录整理

"关注「leaderobot」微信公众号,后台回复"优必选",即可获得本次直播完整版PDF及直播回放链接"


01

ROSA的概述与目标


作为一款机器人操作系统应用框架,ROSA在设计之初就旨在实现两个目标:一是面向普通业务软件开发者提供机器人能力API,纯业务软件开发者可通过调用抽象API就可满足应用场景的业务开发;二是面向机器人硬件厂商提供标准化的机器人SPI,使硬件厂商在定制自己配置时可以快速实现自制类SPI。


基于此目标,ROSA形成了几大特色,首先是跨软件平台,即同时支持Linux和Android平台;其次是跨硬件平台,ROSA深度整合优必选硬件技术;其他方面ROSA深度整合优必选运动控制软件技术、终端软件技术、云平台技术和AI技术,形成了多种技术深度融合的集成。


02

ROSA的功能


总的来说,ROSA面向开发者提供了机器人本体上的SDK,面向机器人硬件厂商提供了Robot SPI,可快速帮助厂商实现硬件的驱动移植和适配硬件服务的定制。ROSA的功能可概述为五大模块,即AI模块、运动能力模块、表现力模块、云能力模块和任务管理模块,如下图所示。


 

AI模块

解决机器人看世界、听人话、讲人话的事情,包含Vision、ASR、NLP、TTS等由优必选研究院做具体实现,ROSA提供调用的API。在调用相应的API后会通过跨进程的通信直接将请求导入架构中的服务中,针对需要较大模型的API很难在机器人本体上运行,那么此时就需要与优必选AI云联动。



运动能力模块

整合了优必选研究院的舵机控制技术,运动规划技术,导航技术,结合软件平台的软件协议及ROS的兼容进行实现,ROSA提供调用的API,业务软件开发者可快速使用API控制机器人实现业务驱动的机器人软件开发,达到开箱即用的效果。


运动能力模块与AI模块类似,先是舵机API等SDK层通过跨进程的通信到达程序架构层,其包含了舵机服务、动作服务、移动服务、导航服务等,然后通过MCU通信控制模块与舵机MCU固件进行通信,控制舵机的运动。


ROSA中的导航服务,涉及到算法和雷达传感器数据实际是在ROS中运行的,然后再与ROSA中的导航服务桥接,因此ROSA做到了与ROS的完美兼容。



表现力模块

自研的支持多屏输出的机器人表情、灯光和舞蹈编排服务,开发者可以很简便的让机器人在指定的屏幕上以较高的性能显示需要的机器人表情,控制机器人灯光效果,并结合音乐、动作和表情给机器人编排舞蹈。



云能力模块

优必选软件平台团队自研的云服务,包含了账号系统、消息通信、远程诊断、机器人自升级、行为分析等基础云能力组件,让开发者可以在机器人上一站式进行云开发,无需再集成多个第三方的服务,系统内自带云生态。


其中,远程诊断服务用以控制谁能够去接触到机器人,还能够对它的行为进行审计和记录,即记录该账号所代表的人在机器人上做了哪些事情等;那么消息通讯服务是用以解决web页面或手机页面到机器人间的文件传输等。


而实际上在机器人上的所有服务内容都依赖于云平台,比如通过上报的数据,根据一定的机器学习的算法、数据挖掘等方法得到一些有用的行为分析。



任务管理模块

任务管理模块是优必选软件团队自研的解决机器人多任务多资源冲突的模块,可非常方便的通过规则的定义,解决各业务冲突时的行为和优先级。任务管理模块主要依赖于应用管理模块、机器人资源管理模块和冲突策略配置模块。



应用管理模块,在系统启动之初扫描所有的APK,对其行为和依赖的资源进行扫描和分析;机器人资源管理模块,可管理舵机资源、表情资源等资源占用情况;当不同的应用资源有冲突时就需要冲突策略配置模块进行决策。


特色功能


  • 基础服务可简易定制和服务

硬件厂商可快速移植或定制一些服务,其过程的实现依赖于标准的SPI接口,可实现服务的定制和替换。应用管理同样是在系统启动之初就扫描所有的应用,并分析到应用可以实现的SPI,Router根据环境变量的不同将需求引流至对应的应用,即由应用管理来控制启动什么样的基础服务。



  • ROSA的多板卡分布式支持

ROSA依靠在板卡上运行子系统并在各子系统间建立分布式通信,来支持多板卡的ROSA分布式运行,并对分布式进行抽象,运行于ROSA之上的业务app如同运行于一块板卡之上,完全可以不考虑硬件上有几个板卡的事情。



ROSA和ROS的比较


ROSA与ROS相比,共同点就是都可以兼容Linux,但是对于Android来说,ROS就不能做到完全兼容了。其他的方面,针对机器人能力API、标准统一的SPA、是否支持OTA升级、是否支持大数据、是否支持广域网即时通信、是否支持机器人远程诊断以及是否具备提供传输加密存储加密组件等,ROSA都可以兼容,但ROS不具备。总的来说,ROSA是在ROS的功能基础之上又拓展了许多新的功能。



03

ROSA的价值


ROSA的价值主要体现在开发者和机器人硬件厂商两个角色,可以让开发者专注于纯软件开发,让机器人硬件产商专注硬件定制,无需考虑软件业务层面的事情。



04

ROSA在机器人Walker上的应用


ROSA在优必选产品Walker上的应用

ASR、TTS、动作、表情的调用:


结合云、导航、运动规划的业务:


ROSA的云特色功能展示——机器人远程诊断功能


ROSA的云特色功能展示——机器人即时通信功能


05

ROSA未来的研究方向


  • 开发工具集

基于ROSA框架开发更多的开发工具集,让开发者能够快速简单方便易用的使用ROSA,如模拟器、编译系统等。

 

  • 应用5G

未来考虑如何更好利用5G通信。


  • 支持图形编程

考虑到需求,未来支持图形编程,让普通人通过简单的图形拖动就可实现任务的规划和定制。

 

  • 任务调度中心

基于ROSA云平台对每个机器人进行状态进行管理。

 

  • 打包芯片方案

ROSA未来可以打包一些成熟的芯片方案。

 

  • 音视频传输

通过音视频传输实现对机器人的紧急故障排除和监控;

 

  • 多机器人协同

具备不同能力的机器人共同做一件事。


PPT资料获取方式


第一步:长按识别二维码,关注leaderobot公众号

第二步:回复关键字“优必选”获取PDF文件和直播视频链接

关注leaderobot,获取更多干货资料



END

好文回顾


*腾讯 Robotics X 实验室首次「开箱」移动机器人,能走梅花桩,还能自平衡

拥有载重100公斤的无人驾驶飞行器!你会拿它来干嘛?

*震惊!在建筑工地上,这些粉粉的机器人居然已经上岗!

*大健康领域的机器人技术创新应用案例

*波士顿动力将被出售?从30亿到如今将10亿卖出!机器人为什么也成了软银一笔失败的生意?

*人工智能、机器人“新工科”怎么教?优必选科技给出了一个样本!

*开拓99%的应用市场,机器人界需要一个iPhone!

*马斯克执着的蛇形机器人充电,在中国的机器人充电桩产业下,可能终究只是一场空!

*食品、包装行业飞速增长,并联机器人烽火连天,阿童木如何走向【当打之年】?

九号公司上市!专注智能短交通和服务类机器人领域,简化人与物的移动!





加入社群

机器人大讲堂Rob社群开始招募啦!如果您正在从事或想要从事机器人行业、想要学习这一方向,都欢迎您加入我们共同探讨机器人前沿科技。


另外,腿足机器人、医疗机器人、工业机器人、特种机器人等专业讨论群正在招募中,欢迎各位专业领域的小伙伴加入。


在机器人大讲堂公众号对话框回复“交流群”获取入群方式!


招募作者

机器人大讲堂正在招募兼职内容创作者和专栏作家

请将简历和原创作品投至邮箱:LDjqrdjt@163.com  

我们对职业、所在地等没有要求,欢迎有兴趣有能力的朋友加入!







看累了吗?戳一下“在看”支持我们吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存