晨风机器人插件编辑器_集成混合运动与大功率柔性操作的半人马救灾机器人(2)——软件框架与操作平台介绍...

94dfcd3f3e0df386fa788e84c552c51e.png

在上一篇文章中(链接在下),已经交代了项目背景、初步成果以及相关硬件平台的搭建情况,这篇文章会介绍CENTAURO相应使用的底层软件框架与操作平台。这里的操作平台主要是指,在不同的自主性等级(AI)下,驾驶人员是如何给予机器人指令的。

任赜宇:CENTARUO:集成混合运动与大功率柔性操作的半人马救灾机器人(1)——硬件平台介绍​zhuanlan.zhihu.com
494047d69aa90a8040e291c9fef8d518.png

01bcbc3262284048e4833001c4dde565.png

CENTAURO软件框架介绍

  • 底层硬件通讯

对于底层的硬件通讯,我们采用的是IIT自己搭建的平台Xbotcore——Xbotcore是一款开源

、实时(real-time)且跨硬件平台的软件通信平台
[1] https:// github.com/ADVRHumanoid s/XBotControl
[2] L. Muratore, A. Laurenzi, E. M. Hoffman, A. Rocchi, et al.,“XBotCore: A real-time cross-robot software platform,” in IEEE Int.Conf. on Robotic Computing, 2017.
[3] L. Muratore, A. Laurenzi, E. Hoffman, A. Rocchi, et al., “On the design and evaluation of XBotCore, a cross-robot real-time software framework,” Journal of Software Engineering for Robotics (JOSER), vol. 8, pp. 164–170, 2017.

(以上[2]和[3]是关于Xbotcore的两篇paper,对Xbotcore感兴趣的可详情参考)

Xbotcore的最大特点是其跨硬件平台性,即其提供一个相对统一的、且和所控制的机器人硬件细节最大程度无关的通信框架,去做到无缝控制多种机器人平台;其二是允许在机器人运行过程中动态地对模块化插件进行加载、移除或切换等操作。

  • 底层运动控制界面

对CENTAURO机器人而言,Xbotcore允许我们将CENTAURO上身的操作控制和下身的移动控制独立分成两个API,进而方便针对单个运动进行调试。

即针对上身我们开发了操作模块(Manipulation Module),该模块可以允许面向两个末端执行器,进行互相独立的笛卡尔运动控制;针对下身开发了轮式运动模块(Wheeled Motion Module),该模块支持对主动轮速度及方向的驱动控制以及(切换到腿足运动后)落脚点支撑多边形的构建(步态控制)。

CENTAURO操作平台介绍

  • 背景与动机

首先大背景是,现有技术条件下的AI不足以支撑机器人在复杂多变的环境中自主地完成各类任务,因此需要人类的监管与控制,即人类的AI+机器人物理本体,说到本质即是遥操作

我们在实际情景任务中,操作人员对机器人的传统遥操作,即PC显示器端共享机器人视觉+键盘手柄操控,往往会面临以下问题:

  • 机器人提供的视觉不足以让操作人员对周围环境进行精确评估,尤其是针对是否有物理接触/碰撞的精确判断
  • 操作人员无法实时精确理解机器人的动力学,在实际操作时容易失误达到关节极限位置或者造成自身碰撞;
  • 操作人员需要较高的操作熟练度与技巧,同时需要一定时间的注意力高度集中。从作者的实际经历来看,精确遥操作高自由度的关节机器人着实不容易。

基于以上问题,我们在设计阶段,就对CENTAURO机器人的视觉系统和操作控制平台制订了如下的要求:

  • 视觉系统:我们需要给予操作人员一个对情景更加直观的认识和理解——这将是通过机器人本身的虚拟3D模型以及基于关节状态、陀螺仪(IMU)、激光雷达和RGB-D相机的外界环境信息得到的。同时,我们将力反馈引入作为环境情景评估的变量。
  • 操作控制平台:首先我们认为包括机械臂的操作、末端执行器的抓取、轮式的移动以及足式的行走很难通过一个单一的界面(虚拟层面的API+物理层面的键鼠、手柄)进行准确操作,因此我们需要一套全身遥操作套装。其次,操作人员将被允许在不同层级的机器人自主性操作中切换,以上身操作为例:
低自主性:操作人员可以选择遥操作控制各个具体关节,机械臂会“七扭八扭”产生任何你想要到达的构型,人类操作的自主性高,但很容易进入奇异点造成失控;
中自主性:操作人员可以选择机械臂末端位置遥操作,关节运动通过逆运动学求解(基于开源的OpenSOT,链接: https:// opensot.wixsite.com/ope nsot );
高自主性:操作人员直接给予抓取特定目标的指令,机器人将自动生成末端执行器轨迹,同时关节通过逆运动学求解。
  • 全身遥操作套装系统 (Full-body Tele-presence Suit)

首先我们使用的全身遥操作套装系统如图1所示。如上一节说到,这是一个能提供较为精确且方便的多边遥操作的物理界面,但其机器人层面的自主性较低,简而言之,机器人每个关节空间的运动都可被操作人员控制。

762a3f48a1ae8cbbe93afbd26c39420c.png
图1. 操作人员所使用的全身遥操作套装。

从图1中我们可以看到,所使用的全身遥操作套装的主体是上半身外骨骼,其由双臂外骨骼和外骨骼手套组成。

  • 首先双臂外骨骼包括覆盖肩关节、手肘关节和手腕关节的双臂外骨骼,其中手腕关节实现了3-DoF的球角
    ,同时以上提到的各关节均包含独立的主动力反馈(由电机+线驱动实现),为了减轻双臂本体的重量,Actuators均放置在操作人员座位后端,最后该双臂外骨骼的设计包含90%左右的人类手臂的运动空间,并防止奇异点的出现。
[4] D. Buongiorno, E. Sotgiu, D. Leonardis, et al.,“WRES: A novel 3DoF wrist exoskeleton with tendon-driven differential transmission for neuro rehabilitation and teleoperation,” IEEE Robotics and Automation Letters (RA-L), 2018.
  • 其次其末端是使用了5-DoF的欠驱动外骨骼手套
    ,追踪手指的运动并提供抓取力的主动反馈(由线性驱动器和连杆实现)
[5] M. Gabardi, M. Solazzi, D. Leonardis, and A. Frisoli, “Design and evaluation of a novel 5 DoF underactuated thumb-exoskeleton,” IEEE Robotics and Automation Letters (RA-L), 2018.

这套带力反馈的遥操作套装(双臂+手套)对于复杂的针对非刚性和易碎物体的抓取操作是非常有效的。

同时一套基于时域无源((Time Domain Passivity)的控制方法也被开发去解决复杂的运动学问题以及处理遥操作控制的延时问题

,相应的多边position-force遥操作映射框架如图2所示,这其中也包含机械臂操作中常见的摩擦力&重力补偿与低阻抗柔性操作等。
[6] D. Buongiorno, D. Chiaradia, S. Marcheschi, M. Solazzi, et al.,“Multi-DoFs exoskeleton-based bilateral teleoperation with the time domain passivity approach,” Robotica, pp. 1–22, 2019.

4043929f051d4ed2d3052855043a1b19.png
图2. 多边position-force遥操作映射框架。

最后,由于CENTAURO机器人下身的四足腿轮式配置本身和人类腿部的结构相差较大,因此通过腿部外骨骼来控制行走或移动是不太可行的。因此我们就简单使用了两块踏板,去实现和驾驶汽车无异的控制CENTAURO的轮式移动。另外,为了更加精确地共享机器人端的3D视觉,操作人员佩戴了双眼式头戴显示器(HMD),可参见图1。

  • 辅助驾驶员界面 (Support Operator Interfaces)

上一节中基于全身遥操作套装的遥操作是属于自主性较低的,在很多应用场合下,我们并不需要主动去控制机器人各个关节的空间运动,因此我们也设计了相应的辅助驾驶员界面去提升一定层次的自主性,如:

  • 通过手柄可实现CENTAURO的全向轮式移动;
  • 通过6D鼠标可实现手臂和单腿末端的6维笛卡尔空间运动;

而对于更为复杂的组合运动,我们会使用一套关键帧编辑器,可实现在关节空间与末端笛卡尔空间中,不同的自主运动控制器的切换,这些运动控制器包括:

  • 一套自动化的移动、步态控制器:在平整的路面环境中,操作人员只需给出目标位置,控制器就能够自动生产移动(轮式运动)轨迹;而对于不规则路面,操作人员只需给予机器人stepping指令(e.g. 如通过鼠标的One Click-One Step),相应的控制器会自动计算出落脚点和相应的稳定机身姿态;
  • 一套自动化的双臂操作控制器:操作人员可在关键帧编辑器中通过6D鼠标选取被抓取物体或直接定义抓取目标,控制器将自动生成双臂协作抓取操作轨迹。

以上的这两套控制器会在下一篇文章中做详细介绍。

  • 基于数字映射的情景预测(Situation Prediction with Digital Twins)

首先,这里的基于数字映射的情景预测是指将现实世界的物体虚拟化,这里所虚拟化的信息包括实际物体(机器人与外界物理环境)的物理特征、运动学参数、外观、数据源、内部函数以及通信界面等。

其次使用这套情景预测系统的目的是:当机器人面对一个具有危险性的任务时,能够快速地将实际物理环境与机器人本身通过数字映射成虚拟环境,操作人员可在虚拟环境中对机器人的运动进行一些尝试性控制。如果控制策略得当,则直接复制给实际机器人进行操作,如果控制策略不得当,则可快速推倒重来,因为在虚拟环境的缘故,并不需要冒任何硬件损坏的风险。

下图(图3)就是一个使用该情景预测的典型例子:

b4da39ab54f116b3dc5b5f0b479244cb.png
图3. CENTAURO机器人在跨越空隙时所使用的情景预测(仿真环境&界面的使用来自VEROSIM)。

从左至右的四张图来看,当CENTAURO机器人到达需要跨越的间隙时(左图1),操作人员评估这是具有危险性的运动,需切入使用基于数字映射的情景预测模式(左图2),接着操作人员在虚拟环境中可以尝试不同的控制策略和位置姿态(右图2),最终被选定的控制方案将在实际机器人中去执行(右图1)。

最后,下图(图4)描绘了实际机器人操作和在情景预测模式中的通信框架:

cb7458eee92d30aef63ab742afd4d76d.png
图4. 实际机器人操作和情景模式的通信框架。

简而言之,在操作人员的界面中可选择是否切入情景预测模式(Predictive mode switch),在未切入时,机器人与外界环境的信息也是实时地更新进入数字映射的模拟环境,同时如若有现成的目标模型的数据,也可充实数字映射环境的信息;而当切入情景预测模式时,实际机器人的运动系统将被锁住,操作人员在虚拟环境中尝试不同的运动控制策略。而无论是否在情景预测模式下,数字映射的虚拟环境都将给操作人员的界面提供可视化的信息。

对于这块的内容,作者只能给予一个大致流程的介绍,因为非作者的科研方向,生怕造成误导,不过如下的paper

可以给予相应的细节信息:
[6] T. Klamt and S. Behnke, “Anytime hybrid driving-stepping locomotion planning,” in IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2017.
[7] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, et al., “The cityscapes dataset for semantic urban scene understanding,” in IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2016.
[8] T. Klamt and S. Behnke, “Towards learning abstract representations for locomotion planning in high-dimensional state spaces,” in IEEE Int. Conf. on Robotics and Automation (ICRA), 2019.
[9] D. Rodriguez, C. Cogswell, S. Koo, and S. Behnke, “Transferring grasping skills to novel instances by latent space non-rigid registration,” in IEEE Int. Conf. on Robotics and Automation (ICRA), 2018.

01bcbc3262284048e4833001c4dde565.png

这是CENTAURO系列的第二篇文章,后续还会有(三)自主运动控制器与(四)项目总结的介绍。PS:这块软件与控制相应上层的东西非作者的expertise,如有疑问or问题欢迎纠错和讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
晨风机器人配置 晨风机器人功能:查询功能,而晨风qq机器人是由一个个单独的qq号充当的,需要在用户的电脑里运行机器人软件,它使用的也是腾讯qq的通讯协议,这个软件本身类似于qq软件的电脑客户端,可以跟qq群里的群友或qq好友进行对话或收发图片、语音。因为每个机器人号码都是不同的,都是独立存在的,因此它具备高度个性化,可以深入结合用户的实际需求,打造各种独特的功能。 针对典型的几种用户,我们可以如下分类: 企事业单位: 用于税务部门常见问题的自动回复,交管局的常见问题回复、学习安排通知、驾照考题抢答。淘宝卖家的货物查询,返利优惠购买渠道。 粉丝群体: 歌曲整理搜集、活动查询、点歌、点播mv。 文化学习群体: 成语接龙、智力抢答、各类题库、成绩查询,布置作业。 娱乐群体: 杀人游戏、谁是卧底、骰宝游戏、猜大小、抢车位、三公游戏、婚姻农场、钓鱼捕猎、冒险闯关。 运动群体: 羽毛球、跑步报名统计,组织聚会活动。 群管维护群体: 限制低等级的人进群,群友发违禁词自动禁言、踢出群。锁定群名片,防止私改名片,自动切换全群禁言和开放聊天、发放最新通知内容。 大型互动类社交类群体: 跨群的同城交友、留言配对功能,跨群的文字类网络游戏,冰与火之歌游戏。 除了以上具备鲜明特殊的用户群体外,针对普通用户,这个软件可以对腾讯本身的应用进行强化,比如可以有针对群内送花、送礼物会有更详尽的统计排名,可以捕获转账消息,自动发卡。可以有更丰富详尽的群内签到、活跃统计。然后对腾讯官方机器人具备的陪聊功能、查询天气、手机号、快递查询、藏头诗、笑话、歌词查询、语音识别、语音输出等功能,我们也是一样具备的。 软件除了上面描述的外,我们最大的特点是内置了一套脚本编程语言,可以利用这些内置的奖惩、发送消息、禁言、踢出等指令实现复杂完备的信息交互、群管和其它需要拓展的功能。 用户可以用php、asp等脚本语言制作网络接口,或者用c++、易语言之类的编程语言实现本地的插件接口。这样用户可以很轻松的针对自身的个性需求,开发出合适的插件来帮助机器人实现各种功能。 最新开通在线支付宝支付后自动激活注册服务,无需人工处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值