一种基于虚拟现实的实时人机交互方法与流程

文档序号:11772620阅读:312来源:国知局
一种基于虚拟现实的实时人机交互方法与流程

本发明涉及人机交互技术领域,尤其涉及一种基于虚拟现实的实时人机交互方法。



背景技术:

人机交互技术即为通过人与机器人之间的信息交互,实现人控制机器人执行各种动作。在如救援、高危作业等各领域中需要应用机器人执行相应任务,通过人机交互技术,由操作人员在远端遥控机器人,获取机器人的实时动作、周围环境信息后,再控制机器人调整相应执行动作,无需操作人员现场进行操作,执行效率以及安全性能高。

为实现人机交互,目前通常是直接通过网络数据传输机器人的运动信息、实景环境视频数据等,再直接利用液晶显示屏等显示设备将视频数据进行显示,以使得操作人员能够获取到机器人运动、环境信息。但是直接利用显示设备显示机器人环境信息,操作人员在第三视角下的临场感不强,且通常机器人所处环境网络带宽有限,直接通过网络获取环境信息给显示设备显示时,所需的带宽大,使得传回的视频流经常会存在延时和丢包现象,不仅增加操作人员的操作难度,还容易使操作人员疲劳。

虽然通过肌电、脑电、语音等新兴的交互设备也可以实现有效的人机交互,完成在特定任务下的机器人动作级、行为级、任务级等控制,但是存在以下问题:

1)均只能特定的适用于基于如肌电、脑电、语音等信息执行交互,具有极强的针对性和局限性,不能广泛适用于多种任务和机器人平台中;

2)对于实时实景环境数据获取,仍然是基于完整的实景视频数据传输,直接使用显示设备将视频数据进行显示,数据量大、对网络传输带宽要求高,且实时性不强。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、能够基于虚拟现实系统实现人机交互,且所需通信带宽小、实时性强以及应用灵活的基于虚拟现实的实时人机交互方法。

为解决上述技术问题,本发明提出的技术方案为:

一种基于虚拟现实的实时人机交互方法,步骤包括:

s1.实时采集被控机器人的运动信息、所处环境的实景环境数据;

s2.根据采集的所述运动信息对被控机器人的位姿进行估计,得到位姿估计结果,以及根据采集的所述实景环境数据构建得到对应的三维环境地图,获取所述三维环境地图实时更新的增量数据,并将所述增量数据进行压缩后得到压缩后增量地图,分别将所述位姿估计结果、所述压缩后增量地图发送给控制端;

s3.控制端实时接收所述位姿估计结果、所述压缩后增量地图,根据接收到的所述位姿估计结果、所述压缩后增量地图分别对虚拟现实系统中机器人模型的位姿状态、三维环境地图进行更新;根据更新后的位姿状态以及三维环境地图生成控制指令发送给被控机器人,以控制被控机器人执行所需动作。

作为本发明的进一步改进,所述步骤s2中将所述增量地图进行压缩具体包括:将所述增量地图划分为多个点云或子空间,分别获取每个所述点云或子空间的位置、尺度信息,由对应各所述点云或子空间的位置、尺度信息表示所述增量地图。

作为本发明的进一步改进:所述增量地图具体采用octomap压缩方法进行压缩,或所述增量地图具体采用3d-ndt算法进行表示以进行压缩。

作为本发明的进一步改进:当采用octomap压缩方法进行压缩时,在虚拟现实系统中采用cube模块进行可视化渲染;当所述增量地图具体采用3d-ndt算法进行表示时,在虚拟现实系统中采用sphere模块进行可视化渲染。

作为本发明的进一步改进:所述步骤s2中具体通过每隔指定周期数时,将当前周期三维环境地图与指定周期数前三维环境地图进行比较,去除当前周期三维环境地图中,与指定周期数前三维环境地图相似度在指定范围内的数据,得到所述增量数据。

作为本发明的进一步改进:所述步骤s2中具体采用一个线程对被控机器人的位姿进行估计,并实时获取所述位姿估计结果进行发送,由另一个线程构建三维环境地图,并实时获取所述三维环境地图实时更新得到的增量数据进行发送。

作为本发明的进一步改进:所述实现对被控机器人的位姿进行估计,并实时获取所述位姿估计结果进行发送,以及所述构建三维环境地图,并实时获取所述三维环境地图实时更新得到的增量数据进行发送,具体采用loam算法的双线程分别执行。

作为本发明的进一步改进,所述步骤s3中对虚拟现实系统中机器人模型的位姿状态、三维环境地图进行更新的具体步骤为:

s31.预先构建机器人模型,并在虚拟现实系统中进行可视化渲染;

s32.获取所述机器人模型的位姿状态、所述三维环境地图的初始数据,根据获取的所述初始数据在虚拟现实系统中构建机器人模型的初始位姿状态、初始三维环境地图;

s33.所述虚拟现实系统实时接收被控机器人端发送的所述位姿估计结果、所述增量数据,由接收到的所述位姿估计结果对机器人模型的位姿状态进行可视化渲染,以更新被控机器人的位姿状态,以及将所述增量数据在当前三维环境地图中进行可视化渲染,以更新三维环境地图。

作为本发明的进一步改进:所述步骤s1中具体基于搭载在被控机器人上的三维距离传感器和imu采集实景环境数据。

作为本发明的进一步改进,所述步骤s2中将所述位姿估计结果、所述压缩后增量地图发送时,将待发送数据进行json格式编码,将编码后的数据进行发送;所述步骤s3中控制端接收到数据时,按照json格式进行解码后,得到传输的所述位姿估计结果、所述压缩后增量地图。

与现有技术相比,本发明的优点在于:

1)本发明基于虚拟现实的实时人机交互方法,通过实时采集机器人运动信息和实景环境信息,分别估计机器人位姿和构建三维环境地图,获取三维环境地图更新的增量数据后,再进行地图压缩,最终将位姿估计结果、压缩后增量地图传输至控制端,在虚拟现实系统中进行可视化渲染,操作人员能够在第一视角下实时获取到机器人的运动状态、所处三维环境,从而基于虚拟现实系统对机器人进行实时远程控制,同时三维环境地图更新时仅实时传输压缩后的增量地图数据,极大减小了所需传输的数据量,从而大大降低了所需网络带宽,可以灵活使用于各种复杂环境中;

2)本发明基于虚拟现实的实时人机交互方法,在获取增量地图的基础上,基于点云压缩技术进一步进行地图压缩,将增量地图划分为多个点云或子空间,分别获取每个点云或子空间的位置、尺度信息,由对应各点云或子空间的位置、尺度信息表示增量地图,能够极大的减少所需传输数据量,同时保证地图显示时整体轮廓和精度;

3)本发明基于虚拟现实的实时人机交互方法,进一步采用双线程分别对被控机器人的位姿进行估计及数据传输、构建对应的三维环境地图及数据传输,由两个线程分别处理机器人位姿、三维环境地图,避免位姿更新频率高、地图数据量大而使得机器人位姿更新滞后等问题,保证实现高效的实时人机交互。

附图说明

图1是本实施例基于虚拟现实的实时人机交互方法的实现流程示意图。

图2是本实施例基于虚拟现实的实时人机交互方法的实现原理示意图。

图3是本实施例三维环境地图构建及压缩处理的实现流程示意图。

图4是本实施例三维环境地图传输的实现流程示意图。

图5是本实施例在虚拟现实系统中实现可视化的实现流程示意图

图6是本发明具体实施例中所采用的交互设备的结构示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1、2所示,本实施例基于虚拟现实的实时人机交互方法步骤包括:

s1.实时采集被控机器人的运动信息、所处环境的实景环境数据。

在被控机器人上搭载数据采集系统,由数据采集系统实时采集被控机器人的运动信息、周围环境的实景环境数据。在具体应用实例中,在被控机器人上搭载三维距离传感器和imu(惯性测量单元),以结合三维距离传感器和imu采集被控机器人的运动信息、周围环境的实景环境数据。三维距离传感器可采用三维激光雷达、单线激光雷达和电机组合、kinect等,采用单线激光雷达时可以获取周围环境中一个平面的深度信息,多线激光雷达则可以采集空间的深度信息,获得实景的三维点云数据。结合三维距离传感器和imu采集到的实景环境数据,能够获取完整的环境数据,从而准确的反映机器人周围环境信息。

在具体应用实施例中,在被控机器人搭载数据采集系统时,将网桥水平放置,imu布置于激光雷达的正下方,且与激光雷达平行安装,激光雷达、imu、机器人布置为相互之间坐标系的z轴保持基本重合,以高效采集实景环境数据。

s2.根据采集的运动信息对被控机器人的位姿进行估计,得到位姿估计结果,以及根据采集的实景环境数据构建得到对应的三维环境地图,获取三维环境地图实时更新的增量数据,并将增量数据进行压缩后得到压缩后增量地图,分别将位姿估计结果、压缩后增量地图发送给控制端。

由于网络通信带宽有限,同时考虑虚拟现实系统中渲染效果的限制,本实施例构建得到三维环境地图后,采用增量式的地图传输方式,每次向控制端发送地图数据时,仅发送新产生的三维环境地图的增量数据以进行地图可视化渲染,相比于传统的需要传输整个环境视频数据,数据传输量非常小,从而能够有效降低人机交互时所需网络带宽需求。

获取三维环境地图实时更新的增量数据具体包括:通过每隔指定周期数时,将当前周期三维环境地图与指定周期数前三维环境地图进行比较,去除当前周期三维环境地图中,与指定周期数前三维环境地图相似度在指定范围内的数据,得到增量数据。

若机器人运行速度较慢(如小于0.2m/s),则每帧获取的新地图点云数量有限,但相对于三维点云地图较为稠密,上述增量式地图依然无法满足虚拟现实系统的渲染条件,仅简单利用点云数据在虚拟现实中进行渲染会导致虚拟场景发生闪烁现象,影响最终的可视化效果。本实施例通过将增量地图基于点云压缩技术进一步进行地图压缩,将增量地图划分为多个点云或子空间,分别获取每个点云或子空间的位置、尺度信息,由对应各点云或子空间的位置、尺度信息表示增量地图,能够极大的减少所需传输数据量,同时保证地图显示时整体轮廓和精度。

在具体实施例中,可采用octomap压缩方法或平面拟合法对增量数据进行压缩,也可以采用3d-ndt算法对增量数据进行表示以实现地图压缩。3d-ndt算法为根据ndt(正态分布)函数完成点云配准的配准算法,通过使用3d-ndt算法的特性来实现三维环境地图的表示,可以高效地压缩地图数据量,减少所需传输数据量,同时可以保留地图的主要信息。

采用3d-ndt算法对增量地图数据进行表示具体包括:将三维点云空间按照ndt单元均匀分割为多个子空间,分别计算各个子空间的点云位置均值、协方差矩阵,各个子空间分布使用点云在空间的位置均值作为质心,以及使用协方差矩阵的特征值作为点云在空间分布中的尺度以表示各子空间,完成对增量地图数据进行表示,构成3d-ndtmap(地图)。采用3d-ndt算法最终在空间的表示结果类似于一个椭球,即基于3d-ndt算法在虚拟现实中将三维环境地图用椭球可视化每个子空间,每个子空间仅有6个参数,分布为空间位置x、y、z和在x、y、z方向的尺度信息,整个三维环境地图的数据量非常少,大大降低了系统对网络通信带宽的要求。

如图3所示,本实施例中,假设激光雷达和imu的工作周期为k,获取增量地图数据时,将第k周期获取的新点云地图(三维环境地图)与第k-1周期之前构建的所有点云地图(三维环境地图)作对比,再滤除第k周期产生的新点云地图中与第k-n周期之前所有点云地图在空间上相近的点,得到增量式点云地图,其中n为设定的间隔周期数,n以及相似点判定的阈值均根据实际需求设置;再对增量式点云地图采用3d-ndt算法进行表示,得到增量式3d-ndt地图,即为压缩后的增量地图,仅包含增量地图各各点云或子空间的位置、尺度信息。相似点判定的阈值具体可设定为0.01m,考虑到机器人平台运行速度,n可设定为5,即采用新产生5帧地图做一次增量式计算,以获取三维环境地图更新的增量数据,确保人机交互的实时性以及交互效果。

虚拟现实系统中执行人机交互时,机器人位姿的更新频率比地图更新的更新频率高,且地图数据量远远大于机器人位姿数据量,若机器人位姿估计及位姿数据发送、三维环境地图构建及发送采用同一线程,则会导致机器人位姿更新严重滞后。在具体实施例中,采用一个线程对被控机器人的位姿进行估计,并实时获取位姿估计结果进行发送,由另一个线程构建三维环境地图,并实时获取三维环境地图实时更新得到的增量数据进行发送,两个线程相互独立执行,避免机器人位姿更新滞后,从而进一步提高人机交互的实时性。

如图2所示,本实施例中采用loam算法的双线程分别执行①对被控机器人的位姿进行估计,并实时获取位姿估计结果进行发送;②构建三维环境地图,并实时获取三维环境地图实时更新得到的增量数据进行发送。loam算法为异频双线程icp算法,loam算法使用一个独立线程获取实时采集到的机器人的运动信息进行位姿估计,将位姿估计结果通过网络传输至控制端,使用另一个独立线程获取实时采集到的实景环境数据,构建对应的三维环境地图后,每隔指定周期数时计算三维环境地图的增量数据,得到增量式地图,再基于点云压缩技术进行压缩后,得到压缩后增量式地图,将压缩后增量式地图通过网络传输发送给控制端,能够实时进行位姿估计、三维环境地图构建及更新。

本实施例中,将位姿估计结果、压缩后增量地图发送时,将待发送数据进行json格式编码,将编码后的数据进行发送;控制端接收到数据时,按照json格式进行解码后,得到传输的位姿估计结果、压缩后增量地图,基于json的数据编码格式可灵活适用于多平台的网络数据传输。被控机器人端与控制端使用udp等通信方式实现网络数据传输。如图4所示,将上述得到的增量式3d-ndt地图使用json格式进行编码后再发送,接收到该编码数据后,解析后即得到传输的该增量式3d-ndt地图。

s3.控制端实时接收位姿估计结果、压缩后增量地图,根据接收到的位姿估计结果、压缩后增量地图分别对虚拟现实系统中机器人模型的位姿状态、三维环境地图进行更新;根据更新后的位姿状态以及三维环境地图生成控制指令发送给被控机器人,以控制被控机器人执行所需动作。

如图5所示,本实施例对虚拟现实系统中机器人模型的位姿状态、三维环境地图进行更新的具体步骤为:

s31.预先构建机器人模型,并在虚拟现实系统中进行可视化渲染;

s32.获取机器人模型的位姿状态、三维环境地图的初始数据,根据获取的初始数据在虚拟现实系统中构建机器人模型的初始位姿状态、初始三维环境地图;

s33.虚拟现实系统实时接收被控机器人端发送的位姿估计结果、增量数据,由接收到的位姿估计结果对机器人模型的位姿状态进行可视化渲染,以更新被控机器人的位姿状态,以及将增量数据在当前三维环境地图中进行可视化渲染,以更新三维环境地图。

在具体应用实施例中,首先采用建模软件(如3dsmax)构建机器人模型以表示被控机器人,使操作人员可以在虚拟现实系统中识别该模型,并可获取机器人位姿的状态;当控制端接收到被控机器人端发送的位姿估计结果数据,则对位姿估计结果数据在机器人模型中进行可视化渲染,以实时更新模型中机器人的位姿状态,以及接收到被控机器人端发送的三维环境地图的增量数据后,对增量数据在当前三维环境地图中进行可视化渲染,以实时更新模型中三维地图环境,其中更新频率可设置为不低于24hz,通过虚拟现实系统可直接观测到机器人的实时位姿状态以及周围实景环境状态。

在虚拟现实系统中对地图进行可视化渲染时,由所采用的地图压缩方法确定对应的地图渲染方式。在具体应用实施例中,当采用octomap压缩方法进行压缩时,在虚拟现实系统中可使用如unity3d软件中预制体cube模块进行可视化渲染;当增量地图具体采用3d-ndt算法进行表示时,在虚拟现实系统中可使用如unity3d软件中预制体sphere模块进行可视化渲染。具体的渲染方式由实际情况而定,但渲染思想一致:获取地图中每个点云或子空间的位置、尺度等信息,然后在虚拟现实中利用合适的模块进行渲染。

基于虚拟现实系统,可以采用多种方式为机器人下达多种指令,如:手柄按键为机器人下达前进后退等指令,手柄位姿或头显位姿为机器人下达位姿调整指令或云台位姿控制指令,手柄运动轨迹为机器人或机械臂下达运动轨迹,激光末端为机器人下达目的地坐标等等。本实施例基于虚拟现实技术实现人机交互,不仅可以提高人机交互效率,同时可以灵活适用于多种任务和机器人平台中。

在具体应用实施例中,利用虚拟现实的交互设备为机器人下达动作级指令,如控制机器人前进、后退、左转及右转,具体可采用htcvive交互设备,如图6所示,包含两个手柄,每个手柄包含9种触发事件,其中设定为由右手柄的②③④触发事件分别触发机器人的左转、前进、右转、后退事件,由右手柄的⑦⑧触发事件分别触发机器人的加速、减速事件,操作控制实现便捷、高效。当然也可以根据实际需求采用其它触发事件,或采用其他交互设备,如虚拟键盘等。

虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1