CN114760458B - 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 - Google Patents
高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 Download PDFInfo
- Publication number
- CN114760458B CN114760458B CN202210477571.9A CN202210477571A CN114760458B CN 114760458 B CN114760458 B CN 114760458B CN 202210477571 A CN202210477571 A CN 202210477571A CN 114760458 B CN114760458 B CN 114760458B
- Authority
- CN
- China
- Prior art keywords
- camera
- real
- virtual
- pose
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/293—Generating mixed stereoscopic images; Generating mixed monoscopic and stereoscopic images, e.g. a stereoscopic image overlay window on a monoscopic image background
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/296—Synchronisation thereof; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/2224—Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Manipulator (AREA)
Abstract
高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,包括以下步骤:规划拍摄路径,调整现实相机与待拍摄对象的位置关系,并获取现实相机的位姿信息;将现实相机的位姿信息实时发送到虚拟引擎的客户端程序,使虚拟相机运动方式与现实相机一致;接收同步位姿坐标信息,并将虚拟相机移动至接收到的现实相机的位姿坐标上;确定现实相机拍摄的视频图像与三维虚拟场景的区域和视角融合,保证三维虚拟场景的流畅度和沉浸感。利用本发明,可以圆满完成真实相机与虚拟相机之间的轨迹同步,实现真实视频和虚拟环境的数据融合,将获取到的真实场景的数据信息映射到虚拟环境中。
Description
技术领域
本发明涉及机器人和计算机技术领域,特别是涉及一种高真实感增强现实演播室虚拟与现实相机轨迹同步的方法。
背景技术
工业生产进程中,生产自动化是发展趋势,机器人的出现是生产自动化的一大飞跃。机器人是由微处理器控制的复杂系统,可以完成多种不同的任务而不需要更换机器,只需重新编程以适应新的任务。这其中,一种新型工业机器人——协作机器人的诞生扫除了人机协同的障碍,为机器人的发展开启了新篇章。协作机器人,顾名思义,就是在机器人与人可以在生产线上协同作战,充分发挥机器人的效率及人类的智能的机器人,这种机器人具备性价比高、安全灵活、编程方便等特点。
随着计算机图像处理技术的发展,虚拟现实可实现虚拟环境的构建,从而使参与者沉浸在周围的环境中,并与设定的环境元素进行交互,在影视特效、游戏娱乐、安全教育等领域应用广泛。目前,主流搭建虚拟三维场景的方法,是使用建模软件(如3D Max),根据图纸信息手动搭建模型,其优点是精细度和还原度较高,缺点是在大场景三维重建中需要花费较多的人力物力,而且需要不断更新模型参数;传统的三维重建技术一般使用主动式的光学系统或激光系统对现场实现测距,但是激光测量设备往往体积较大,造价昂贵,数据计算时间长,在复杂的现场需要不断地移动,可操作性较差,且当要求对拍摄对象进行多角度全方位拍摄时,人手持相机拍摄可能会出现画面颠簸、难以将相机固定在特定位置等问题。
发明内容
本发明要解决的技术问题是,克服现有技术存在的上述缺陷,提供一种高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,该方法相比传统基于图像的三维重建技术,成本低,效率高,可在较短时间内完成虚拟场景的搭建,所需设备造价较低,移动方便,可以快速采集图像数据,同时借助机器人等外部设备搭载摄像机,并使用操纵杆实时控制,能够在没有示教器的情况下控制通用机器人,可对现场进行快速拍摄和扫描,直接获取场景数据。
本发明解决其技术问题采用的技术方案是,一种高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,包括以下步骤:
步骤一,规划拍摄路径,调整现实相机与待拍摄对象的位置关系,并获取现实相机的位姿信息;
步骤二,将现实相机的位姿信息实时发送到虚拟引擎的客户端,使虚拟相机运动方式与现实相机一致;
步骤三,接收同步位姿坐标信息,并将虚拟相机移动至接收到的现实相机的位姿坐标上;
步骤四,确定现实相机拍摄的视频图像与三维虚拟场景的区域和视角融合,保证三维虚拟场景的流畅度和沉浸感。
进一步,所述方法通过以下硬件装备进行操作实施:
两台计算机:其中PC1上安装有虚拟引擎Unreal Engine4,简称为UE4;PC2装有基于编程语言进行编程设计的操作系统;
一个在末端执行器TCP上安装现实相机的机器人;
一根SDI或HDMI电缆,用于将现实相机的视频流传输到PC1;
一个带蓝牙的操纵杆,用于控制机器人及现实相机的位姿变化;
一个用于现实相机拍摄的绿幕背景;
用于以太网通信的路由器;
用于无线通信的Wi-Fi路由器。
进一步,基于机器人和虚拟引擎UE4,还包括:
虚拟相机被放置在虚拟场景中拍摄;
现实相机在绿色背景上拍摄,且拍摄对象不能与背景同色;
将所述现实相机拍摄对象实时渲染到所述虚拟相机视角的虚拟空间场景中。
进一步,步骤一中,所述拍摄路径中由操纵杆通过外部PC2控制现实相机的运动轨迹:在机器人末端执行器上搭载现实相机;基于TCP/IP网络通信,PC2通过实时数据交换RTDE接口协议与机器人控制器通信,从而实现操纵杆对机器人的操控。
进一步,步骤二中,所述将现实相机的位姿信息实时发送到虚拟引擎UE4的客户端的具体方法为:融合操纵杆对机器人同步控制的功能,使用TCP/IP Socket服务器,将机器人末端执行器TCP位置变化发送到UE4客户端,这个过程起到了位姿发送器Pose Sender进行位姿信息发送的作用。
进一步,步骤三中,所述接收同步位姿坐标信息并将UE4中虚拟相机移动至接收到的现实相机的位姿坐标上的具体方法是:用UE4的blueprint编写程序,从Socket服务器接收同步位姿坐标信息,然后将虚拟相机的位姿坐标信息更新为接收到的现实相机的位姿坐标信息,即起到位姿接收器Pose Receiver的作用。
进一步,所述坐标转换包括坐标系矩阵变换、缩放、平移以及旋转中的至少一种;所述坐标转换过程,包括将现实相机从位置A坐标转换到位置B坐标,拟路径与现实路径的坐标转换。
进一步,所述实现虚拟路径与现实路径下的坐标转换过程,包括:基于机器人的位姿数据格式,建立欧拉角和旋转矩阵之间的关系;机器人末端执行器TCP点、相机安装点和现实相机镜头坐标系的转换;基于虚拟引擎UE4的坐标定义,建立虚拟坐标系和真实坐标系的转换关系,完成从真实相机与虚拟相机之间的位姿变换。
进一步,步骤四中,用三个方向的视场角来描述所述现实相机的视场角,即:水平视场角HFOV,垂直视场角VFOV,对角线视场角DFOV,在UE4中设定虚拟相机的视角为现实相机的视角即可实现视角融合。
本发明高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,可以实现规划拍摄路径,方便调整现实相机与待拍摄对象的位置关系,并获取现实相机的位姿信息,将现实相机的位姿信息实时发送到虚拟引擎的客户端,使虚拟相机运动方式与现实相机一致,接收同步位姿坐标,并将虚拟相机移动至接收到的现实相机的位姿坐标上,确定现实相机拍摄的视频图像与三维虚拟场景的区域和视角融合,保证三维虚拟场景的流畅度和沉浸感。利用本发明,可以圆满完成真实相机与虚拟相机之间的轨迹同步,实现真实视频和虚拟环境的数据融合,并将获取到的真实场景的数据信息映射到虚拟环境中。本发明间接利用三维重建技术来获取真实场景的数据信息,并映射到虚拟环境中,相比传统基于图像的三维重建技术,成本低,效率高,可在较短时间内完成虚拟场景的搭建,所需设备造价较低,移动方便,可以快速采集图像数据,同时借助机器人等外部设备搭载摄像机,并使用操纵杆实时控制,使我们能够在没有示教器的情况下控制通用机器人,可对现场进行快速拍摄和扫描,直接获取场景数据。
附图说明
为了有利于本领域技术人员更清楚地理解本发明的技术方案,下面将对实施例描述中所需要使用的附图做简要说明。
图1是本发明实施例使用的硬件装备及各装备之间的数据传输线路示意图。
图2是本发明实施例的流程框图。
图3是本发明实施例的操纵杆-机器人控制系统之间的通信说明示意图。
图4是本发明实施例的实时数据交换RTDE接口—通用机器人之间的通信工作原理示意图。
图5是本发明实施例的操纵杆—机器人控制系统流程图。
图6是本发明实施例的现实相机—虚拟相机通信工作原理示意图。
图7是本发明实施例的机器人末端执行器TCP搭载的现实相机—UE4虚拟相机轨迹同步位姿发送器Pose Sender工作流程图。
图8是本发明实施例的机器人末端执行器TCP搭载的现实相机—UE4虚拟相机轨迹同步位姿接收器Pose Receiver工作流程图。
图9是本发明实施例的真实世界、机器人及其搭载的现实相机右手坐标系示意图。
图10是本发明实施例的真实世界坐标系、真实相机坐标系、虚拟世界坐标系和虚拟相机坐标系变换过程示意图。
图11是本发明实施例的机器人末端执行器TCP点、现实相机安装点和现实相机镜头框架位置示意图。
图12是本发明实施例的功能实现位姿变换技术路线图。
图13是本发明实施例的UE4虚拟相机和机器人末端执行器TCP搭载的现实相机坐标系示意图。
图14是本发明实施例的视场角、相机焦距和相机传感器宽度的关系示意图。
图15是本发明实施例的水平视场角HFOV、垂直视场角VFOV和对角线视场角DFOV的关系示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请请求保护的范围。
在本说明书中,提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地或隐式地理解的是,本说明书所描述的实施例,可以与其他实施例相结合。
本发明高真实感增强现实演播室虚拟与现实相机轨迹同步的方法实施例使用的硬件装备包括:两台计算机PC1和PC2、一个在末端执行器上安装有摄像机的机器人、一根可通过Blackmagic接口将摄像机的视频流传输到PC1的SDI或HDMI电缆、一个用于控制机器人及现实相机的位姿变化的蓝牙操纵杆、一个用于现实相机拍摄的绿幕背景、用于以太网通信的路由器、用于无线通信的Wi-Fi路由器。各装备之间的数据传输线路如图1所示。
其中,两台计算机PC1和PC2的作用和配置如下:PC1上安装虚拟引擎UnrealEngine4,简称为UE4,并配置虚拟相机插件、用于从现实相机收集视频信息的Blackmagic黑魔法包插件、用于远程通讯的媒体框架工具插件;PC2安装使用python3语言进行编程的Linux操作系统。如图1所示,本实施例选用PC1基于Windows10pro操作系统,PC2基于Ubuntu16系统。
机器人是由微处理器控制的复杂系统,可完成多种不同的任务而不需要更换机器,只需重新编程以适应新的任务。机器人可分为工业机器人和特种机器人。工业机器人是指面向工业领域的多关节机械手或多自由度机器人;特种机器人则是除工业机器人之外的、用于非制造业并服务于人类的各种先进机器人,包括:服务机器人、水下机器人、娱乐机器人、军用机器人、农业机器人等。本发明实施例的高真实感增强现实演播室虚拟与现实相机轨迹同步方法采用机器人技术实现,比如,实施例中的机器人可依照不同的拍摄要求选择不同型号的机器人。本实施例选用UR3机械臂,它是一个小型6轴协作桌面机器人,用于轻任务和自动化工作台场景,是一种可以进行人机交互的协作机器人,重量为11公斤,有效载荷承载能力达到3公斤,最大到达半径为500毫米,腕关节可旋转360度,末端关节可以无限旋转;UR3机械臂由机器人控制器、机器人关节和示教器三个主要部分组成,以实现其功能。
计算机视觉技术是计算机模拟人类的视觉过程,具有感受环境的能力和人类视觉功能的技术,是图像处理、人工智能和模式识别等技术的综合。通常包括图像处理、图像识别、图像检索、图像语义理解、视频处理、视频语义理解、三维物体重建、3D技术、虚拟现实、增强现实、人脸识别等技术。
本发明高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,就是基于计算机视觉技术,获取真实场景的数据信息,并映射到虚拟环境中,使现实相机拍摄的视频图像与三维虚拟场景的区域和视角融合,实现真实相机与虚拟相机之间的轨迹同步。
本发明的一个实施例,高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,如图2所示,括以下四个步骤(步骤内容如图2所示,各步骤的操作过程结合图3-15加以说明):
步骤一,规划拍摄路径,调整现实相机与待拍摄对象的位置关系,并获取现实相机的位姿信息;
其中,由操纵杆通过计算机PC2控制现实相机的运动轨迹,图3、图4显示了操纵杆—机器人—RTDE接口的通信示意图,具体方法是,首先在机器人末端执行器TCP点上搭载现实相机;基于TCP/IP网络通信,使用python创建一个操纵杆与机器人的通信通道,PC2通过实时数据交换RTDE接口协议与机器人控制器通信;
具体地,如图5所示,操纵杆与机器人的通信通道设置流程包括一个设置过程和一个循环过程:
设置过程:
(1a)导入依赖项:编程前需要事先导入库和包;pygame为python提供了从操纵杆接收数据的接口;ur_rtde为python提供了接收并向机器人控制器发送命令的接口;结合ur_rtde和pygame,将机器人控制器和Ubuntu PC连接到同一个网络;
(1b)初始化pygame以设置操纵杆;
(1c)建立机器人的接收接口:由于PC1和机器人控制器都连接到同一个网络,机器人控制器的IP地址作为ur_rtde接收接口类的参数输入,以建立连接,接收来自机器人控制器的数据,包含请求机器人当前位置和方向的功能;
(1d)建立机器人控制接口:机器人控制器的IP地址作为ur_rtde控制接口类的参数输入,以建立连接,以便向机器人控制器发送命令脚本,包含向机器人控制器发送命令脚本的功能,如moveL和moveJ;
(1e)与机器人控制器建立连接;
(1f)设置机器人在关节空间中的初始位置:对于关节空间,初始位置是一个包含若干元素的列表numpy,其中元素个数为机器人关节数量,对应于机器人每个关节的旋转弧度;形式为[J1,J2,...,Jn],即机器人的[底座,肩,肘,腕1,腕2,...,腕n]的弧度角;以UR3机械臂为例,则形式为[J1,J2,J3,J4,J5,J6],对应UR3的[底座,肩,肘,腕1,腕2,腕3]的角度;
(1g)移动机器人到初始位置MoveJ:要移动机器人,之前创建的机器人控制器中可用的函数包括MoveJ和MoveL,MoveJ[q,a,v,t,r]表示在关节空间中将机器人线性移动;MoveL[pose,a,v,t,r]表示在工具空间中将机器人线性移动;参数包括:pose:位姿,目标位姿的形式[X,Y,Z,RX,RY,RZ],其中X,Y和Z是机器人末端执行器TCP的位置,RX,RY和RZ是TCP的旋转矢量;q:关节位置,即[J1,J2,...,Jn];a:前导轴关节加速度,单位是rad/s^2;v:引导轴关节速度,单位是rad/s;t:时间,单位是s;r:混合半径,单位是m;可以通过给a,v,t,r等参数赋值使机器人移动,例如使a=v=0.5,t=r=0;
(1h)设置控制方式:控制方式可以是关节空间,也可以是笛卡尔空间;
(1i)设置伺服参数:为了使UR3机器人平稳移动而不抖动,机器人是伺服到给定的位置和方向,而不是移动到给定的位置和方向,可以使用ServoJ和ServoL命令,ServoJ[q,a,v,t,lookahead_time,gain]表示根据通用机器人的URScript手册,ServoJ用于在关节空间中在线实时控制将机器人关节线性移动到相应位置;ServoL[pose,a,v,t,lookahead_time,gain]表示在工具空间将机器人关节实时伺服到目标位姿;参数包括:po:位姿,目标位姿的形式[X,Y,Z,RX,RY,RZ],其中X,Y和Z是机器人末端执行器TCP的位置,RX,RY和RZ是TCP的旋转矢量;q:关节位置,即[J1,J2,...,Jn];a:前导轴关节加速度,单位是rad/s^2;v:引导轴关节速度,单位是rad/s;t:时间,单位是s;gain:增益,增益参数的工作方式与PID控制器的p项相同,它调整当前关节位置或位姿的期望;增益越高,机器人的反应就越快;Lookahead_time:用于将当前位置与当前速度在时间上向前投影。低值反应快,高值防止机器人的僭越;本例中令a=v=0.5,lookahead_time=0.1,gain=300;
(1j)获取机器人的当前位置信息:控制模式是笛卡尔空间时,坐标为[X,Y,Z,RX,RY,RZ];控制模式是关节空间时,坐标为[J1,J2,...,Jn];
(1k)设置增量速率(Δdelta):将机器人从一个点移动到另一个点需要一个新的位置增量,增量速率决定了要添加到给定坐标的值,坐标是机器人在关节空间或笛卡尔空间的当前位置;本实施例中起始增值率被设置为0.0005;
循环过程loop:
(11)设置开始时间;本实施例中,设置通用机器人规定的速率,即每2毫秒运行一次循环,以500Hz传输数据,以保证反应平稳;设置并保存当前时间为开始时间;
(1m)设置操纵杆按钮及其对应的命令,一般包括以下按钮:启动按钮:用于改变机器人的控制方式,若为关节空间模式,伺服使用ServoJ[q,a,v,t,lookahead_time,gain]命令,若为笛卡尔空间模式,则伺服使用ServoL[pose,a,v,t,lookahead_time,gain]命令;用于改变增量速率的触发按钮;在关节空间模式下:负责操控机器人底座、肩、肘、手腕等关节的触发按钮;在笛卡尔空间模式下:负责控制机器人末端执行器TCP位置和旋转矢量的触发按钮;
(1n)检查操纵杆按钮能否正常使用;
(1o)如果按钮按下是有效的,则程序向下执行,如果按钮无效,则跳转到“设置结束时间”,并不是操纵杆上的所有按钮都用于控制,有的按钮处于暂时未被激活的状态;
(1p)将增量添加到坐标:根据关节空间或笛卡尔空间控制模式,按下相应按钮将增量速率添加到相应的坐标中;
(1q)检查坐标的安全极限:对于关节空间模式,不需要检查安全极限,因为在这种模式下,关节可以旋转到任何允许的方向,而不会出现任何形式的奇点;在笛卡尔空间模式下,由于逆运动学中的奇异性,机器人只能到达某个特定的位置,故此时需要检查坐标的安全极限;
(1r)如果安全限制有效:安全检查通过条件,则程序继续执行,否则将跳转到“设置结束时间”;
(1s)使用机器人控制器,伺服机器人到指定坐标;
(1t)判断持续时间的大小,持续时间即结束时间与开始时间的差值大小;
(1u)如果持续时间大于设定时长,其中设定时长的单位通常为毫秒:程序继续执行,否则回到循环开始处“(1l)设置开始时间”;本实施例中设定时长为2毫秒;
(1v)休眠,其中休眠时长等于持续时间与设定时长的差值,并从循环开始处“(1l)设置开始时间”重复执行流。
步骤二,将现实相机的位姿信息实时发送到虚拟引擎的客户端,使虚拟相机运动方式与现实相机一致;
在本实施例中,如图6所示,真实相机在绿色背景上拍摄,且拍摄对象不能与背景同色,虚拟相机被放置在虚拟场景中,并对其进行拍摄。
其中,将现实相机的位姿信息实时发送到虚拟引擎UE4的客户端,即融合操纵杆对机器人同步控制的功能,使用TCP/IP Socket服务器,实现将机器人末端执行器TCP位置变化发送到UE4客户端,从而起到位姿信息发送器Pose Sender的作用。位姿信息发送器的主要功能是使机器人上的现实摄像机和虚拟摄像机作为起始原点的初始位置均为零。
具体地,如图7所示,机器人末端执行器TCP搭载的现实相机—UE4虚拟相机轨迹同步的位姿信息发送器Pose Sender工作流程包括一个设置过程和一个循环过程:
设置过程:
(2a)导入依赖项:编程前需要事先导入库和包,ur_rtde、numpy和pygame是要导入的主包;
(2b)初始化pygame以设置操纵杆;
(2c)建立机器人的接收接口:机器人-接收器,与机器人控制机制实现一样;
(2d)建立机器人控制接口:机器人-控制器,与机器人控制机制实现一样;
(2e)与机器人控制器建立连接;
(2f)创建Socket服务器:为程序建立通信通道,以便通过Wi-Fi网络与其它程序通信;运行该程序的计算机PC2和运行虚拟引擎UE4的计算机PC1都连接到相同的Wi-Fi或以太网网络;
(2g)连接到UE4客户端:服务器创建时,通过网络侦听与UE4客户端握手,然后与UE4客户端建立连接,将此连接称为UE4-client;
(2h)与UE4建立连接;
(2i)接收虚拟摄像头位姿VC-pose信息:与UE4建立连接后,UE4立即发送虚拟3D环境中作为视口的虚拟摄像头的位姿信息;
(2j)设置机器人在关节空间的初始位置:与机器人控制机制实现相同;
(2k)移动机器人到初始位置MoveJ;
(21)设置机器人的控制模式:可选的模式有关节空间或笛卡尔空间模式,但为了与UE4通信,主要采用笛卡尔空间模式,目的是让机器人携带真实的摄像机在线性空间中移动;
(2m)获取机器人坐标的当前位置信息:根据机器人控制机制实现中机器人-接收器接口的控制方式,获取机器人的当前位置信息;
(2n)设置伺服参数:ServoJ和ServoL命令;ServoJ[q,a,v,t,lookahead_time,gain]表示根据通用机器人的URScript手册,ServoJ用于关节位置的在线实时控制;ServoL[pose,a,v,t,lookahead_time,gain]表示在工具空间实时伺服机器人各关节到目标位姿;参数包括:gain:增益,增益参数的工作方式与PID控制器的p项相同,它调整当前关节位置或位姿的期望;增益越高,机器人的反应就越快。本例中令a=v=0.5,lookahead_time=0.1,gain=300;
(2o)设置增量速率Δdelta。本例中起始增值率被设置为0.0005;
(2p)获取现实相机安装点Camera Frame的位姿F-pose信息:现实相机安装点在机器人的末端执行器TCP上,其位姿通过右手坐标系进行测量,现实相机安装点的位姿是相对于TCP的,即把TCP看作是原点,然后将现实相机安装点的位姿转换为齐次矩阵F-pose;
(2q)获取现实相机镜头Camera的位姿C-pose信息:现实相机镜头在机器人TCP的现实相机安装点上,其位姿通过右手坐标系进行测量,现实相机镜头的位姿是相对于现实相机安装点的,即把现实相机安装点看作是原点,现实相机镜头的平面是一个z轴指向上方,y轴指向前方的右手坐标系,然后将现实相机镜头的位姿转换为齐次矩阵C-pose;
循环过程loop:
(2r)设置开始时间:设置当前时间为开始时间;
(2s)读取操纵杆输入信息:与机器人控制机制实现相同;
(2t)检查操纵杆按钮按下情况;
(2u)如果按钮按下是有效的,则程序向下执行,如果按钮无效,则跳转到“设置结束时间”;
(2v)获取现实相机镜头位姿1信息,即Pose1:旋转矩阵的变换过程是首先机器人-接收器实时获取机器人当前的TCP位姿信息,求出以欧拉角RPY形式表达的旋转矩阵TCP-pose,再根据TCP点的定义,建立相机安装点与TCP点之间的旋转矩阵F-pose,最后根据相机镜头中心点与安装点之间的位姿关系,建立旋转矩阵C-pose,由此得到现实相机镜头中心相对于TCP点的旋转矩阵是TCP pose×F-pose×C-Pose;
(2w)向坐标添加增量,改变相机位置;
(2x)检查坐标的安全极限;
(2y)如果安全限制有效:如果安全检查通过条件,则程序继续执行,否则将跳转到“设置结束时间”;
(2z)使用机器人控制器,伺服机器人到坐标;
(2①)获取现实相机镜头位姿2信息,即Pose2;
(2②)得到机器人从一点移动到另一点时的位姿变化ΔPose:通过从Pose2中减去Pose1得到变化数值,数学表达式为ΔPose=Pose2-Pose1;
(2③)现实相机到虚拟相机的转换位姿transform Pose:现实相机基于右手坐标系,y轴作为相机的朝向,z轴向上,UE4虚拟相机基于左手坐标系,x轴面向虚拟摄像头的方向,z轴向上,因此要现实相机到虚拟相机的位姿转换,就是将右手坐标系转换到左手坐标系,使现实相机与虚拟相机朝向相同;
(2④)得到新的虚拟相机位姿VC-pose′:用原虚拟相机位姿VC-pose与转换位姿transformed Pose相加;
(2⑤)通过UE4客户端的连接UE4-client将新的虚拟相机位姿VC-pose′信息发送到UE4;
(2⑥)判断持续时间长短,即结束时间与开始时间的差值大小;
(2⑦)如果持续时间大于设定时长:程序继续执行,否则回到循环开始处“(2r)设置开始时间”;本例中可设设定时长为2毫秒;
(2⑧)休眠,其中休眠时长等于持续时间与设定时长的差值,并从循环开始处“(2r)设置开始时间”重复执行流。
步骤三,接收同步位姿坐标信息,并将虚拟相机移动至接收到的现实相机的位姿坐标上;
其中,将虚拟相机的位姿信息更新为接收到的现实相机的位姿信息的方法为,通过运行blueprint编写的程序,从Socket服务器接收来自机器人位姿发送器Pose Sender的同步位姿坐标信息,起到位姿接收器Pose Receiver的作用;
具体地,如图8所示,机器人末端执行器TCP搭载的现实相机-UE4虚拟相机轨迹同步的位姿信息接收器工作流程包括:
(3a)创建socket客户端:socket客户端使用TCP客户端插件;
(3b)连接到服务器:两台计算机PC1和PC2在同一个网络上,客户端使用其IP与机器人位姿信息发送器Pose Sender程序建立连接;
(3c)将虚拟相机的位姿信息发送给服务器;
(3d)听取新的位姿信息;
(3e)如果接收此新位姿信息,则程序继续向下执行,否则继续等待下一个位姿信息;
(3f)将虚拟摄像机当前的位姿信息更新为从服务器接收到的位姿信息,并重复从(3d)开始的流程;
本实施例中,坐标系的转换,包括但不限于坐标系的变换、缩放、平移以及旋转等处理,包括将现实相机从位置A坐标转换到位置B坐标、虚拟路径与现实路径的坐标转换两个过程;真实世界、机器人及其搭载的现实相机都是基于如图9所示的右手坐标系;虚拟路径与现实路径的坐标转换如图10所示;
其中,虚拟路径与现实路径下的坐标转换过程还包括:基于机器人的位姿数据格式,建立欧拉角和旋转矩阵之间的关系;机器人末端执行器TCP点、相机安装点和现实相机镜头坐标系的转换;基于虚拟引擎UE4的坐标定义,建立虚拟坐标系,即左手坐标系和真实坐标系,即右手坐标系的转换关系,完成从真实相机与虚拟相机之间的位姿变换;
其中,将现实相机从位置A转换到位置B过程为:给定位姿P或关节位置q,通过位置变化增量率Δdelta,使现实相机从位置A坐标平移到位置B坐标;
具体地,在关节空间,对于关节位置q:q=[J1,J2,...,Jn]对应于机器人的[底座,肩,肘,腕1,腕2,...,腕n]的当前角度;现实相机从位置A坐标转换到位置B坐标,对于新的关节位置q’:q=[J1,J2,...,Jn]±Δ;在笛卡尔空间,对于位姿P:P=[X,Y,Z,RX,RY,RZ],对应当前机器人的TCP位姿,单位为米;由于RX,RY和RZ是旋转矢量,因此将RX,RY和RZ转换为Roll,Pitch和Yaw:P=[X,Y,Z,R,P,Y];现实相机从位置A坐标转换到位置B坐标,对于新的位姿P’:P’=[X,Y,Z,R,P,Y]±Δ;其中,Δ为位置增量;最后经整理,将R,P和Y转化成旋转矢量RX,RY和RZ,得到平移后新的位姿P’:P’=[X’,Y’,Z’,RX’,RY’,RZ’],其中,X’,Y’,Z’是机器人TCP新的位置,RX’,RY’,RZ’是TCP新的旋转矢量;
总旋转矩阵可定义为:
一个点的平移和旋转可以用齐次矩阵T表示:
X=t1,4
Y=t2,4
Z=t3,4
φ=a tan 2(t2,1,t1,1)
图11显示了机器人TCP点、现实相机安装点和现实相机镜头框架的位置;机器人TCP点位姿与现实相机镜头位姿不同,机器人基于实时获取的机器人TCP点的位姿信息,经旋转矩阵变换,可以得到现实相机镜头位姿信息及其变化情况;
位姿变换过程如图12所示,具体地,第一,现实相机镜头中心点Pc相对于现实相机安装点Ps的位姿关系是:第一,Pc=(xc,yc,zc,Rc,Pc,Yc),由式13.4,其中,xc,yc和zc是现实相机安装点的位置,Rc,Pc和Yc是旋转矢量,Tc是平移和旋转的齐次矩阵,上标T表示矩阵的转置;第二,现实相机安装点Ps相对于机器人TCP点的位姿关系是:Ps=(xs,ys,zs,Rs,Ps,Ys),由式13.4,其中,xs,ys和zs是现实相机安装点的位置,Rs,Ps和Ys是旋转矢量,Ts是平移和旋转的齐次矩阵,上标T表示矩阵的转置;第三,机器人TCP上一点Pt的位姿是:Pt=(xt,yt,zt,Rt,Pt,Yt),由式13.4,其中,xt,yt和zt是机器人TCP上一点的位置,Rt,Pt和Yt是旋转矢量,Ttcp是平移和旋转的齐次矩阵,上标T表示矩阵的转置;第四,现实相机镜头中心点和现实相机安装点相对于机器人TCP点是固定的,因此根据机器人TCP点的实时位姿Ttcp可以获得现实相机的位姿信息Tcam:Tcam=TtcpTcTs,由式13.5,将其次矩阵转化为位姿:Tcam→Pcam;第五,改变现实相机的位姿:位姿改变量ΔPcam=currentPcam-previousPcam;
虚拟坐标系(左手坐标系)和真实坐标系的转换如图13所示,第一,给定现实相机的位姿改变量ΔPcam:ΔPcam=(Δx,Δy,Δz,ΔR,ΔP,ΔY);其中Δx,Δy,Δz是位置变化量,ΔR,ΔP,ΔY是旋转矢量变化量;第二,置换Δx→Δy;第三,置换Δy→Δz,得ΔPcam=(Δy,Δx,Δz,-ΔR,-ΔP,-ΔY);第四,由式13.4和13.5,ΔPcam→ΔP,得到虚拟相机相应位姿改变量AP;第五,改变虚拟相机的位姿:currentPvcam=previousPvcam+ΔP;
步骤四,确定现实相机拍摄的视频图像与三维虚拟场景的区域和视角融合,保证三维虚拟场景的流畅度和沉浸感;
可用图15所示三个方向的视场角来描述所述现实相机,即:水平视场角HFOV,垂直视场角VFOV,对角线视场角DFOV,在UE4中设定虚拟相机的视角为真实相机的视角即可实现视角融合;
本领域普通技术人员可以理解为实现上述技术实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟、U盘、移动硬盘或者光盘等各种可以存储程序代码的介质。
以上对本发明高真实感增强现实演播室虚拟与现实相机轨迹同步方法实施例进行了详细介绍。本发明优选实施例只是用于帮助所属领域技术人员充分地理解本发明方法及其核心思想,以及具体实施方式。对于本领域的技术人员来说,依据本发明的技术思路,在不付出创造性劳动的情况下,可以作出若干修饰或改变,它们仍旧属于本申请权利要求保护的范围。
Claims (3)
1.一种高真实感增强现实演播室虚拟与现实相机轨迹同步的方法,其特征在于,所述方法使用以下硬件装备进行操作实施:两台计算机:其中PC1上安装有虚拟引擎UnrealEngine4,简称为UE4;PC2装有基于编程语言进行编程设计的操作系统;一个在末端执行器上安装有现实相机的机器人;一根SDI电缆,用于将现实相机的视频流传输到PC1;一个带蓝牙的操纵杆,用于控制机器人及真实相机的位姿变化;一个用于现实相机拍摄的绿幕背景;用于以太网通信的路由器;用于无线通信的Wi-Fi路由器;虚拟相机被放置在虚拟场景中拍摄;现实相机在绿色背景上拍摄,且拍摄对象不能与背景同色;将所述现实相机拍摄对象实时渲染到所述虚拟相机视角的虚拟空间场景中;
所述现实相机与虚拟引擎客户端之间的通讯连接方式,包括以下4种:(1)利用蓝牙使蓝牙操纵杆与可进行编程设计的PC2之间的通讯连接;(2)基于以太网口的实时数据交换接口RTDE的PC2与机器人控制器之间的通讯连接;(3)基于TCP/IP网络通讯协议的机器人与虚拟引擎客户端之间的无线同一局域网的通讯连接;(4)现实相机与虚拟引擎客户端之间通过SDI电缆的通讯连接;
所述方法包括以下步骤:
步骤一,规划拍摄路径,调整现实相机与待拍摄对象的位置关系,并获取现实相机的位姿信息;所述拍摄路径中由操纵杆通过外部PC2控制现实相机的运动轨迹:在机器人末端的执行器TCP上搭载现实相机;基于TCP/IP网络通信,PC2通过实时数据交换RTDE接口协议与机器人控制器通信,从而实现操纵杆对机器人的操控;
步骤二,将现实相机的位姿信息实时发送到虚拟引擎UE4的客户端,使虚拟相机运动方式与现实相机一致;所述将现实相机的位姿信息实时发送到虚拟引擎UE4的客户端的具体方法为:融合操纵杆对机器人同步控制的功能,使用TCP/IP Socket服务器,将机器人末端执行器TCP位置变化发送到UE4客户端,这个过程起到了位姿发送器进行位姿信息发送的作用;
步骤三,接收同步位姿坐标信息,并将虚拟相机移动至接收到的现实相机的位姿坐标上;所述接收同步位姿坐标信息并将UE4中虚拟相机移动至接收到的现实相机的位姿坐标上的具体方法是:用UE4的blueprint编写程序,从Socket服务器接收来自机器人位姿发送器发送的现实相机的位姿坐标信息,然后将虚拟相机的位姿坐标信息更新为接收到的现实相机的位姿坐标信息,即起到位姿接收器的作用;
2.根据权利要求1所述的方法,其特征在于,所述坐标转换包括坐标系矩阵变换、缩放、平移以及旋转中的至少一种;所述坐标转换过程,包括将现实相机从位置A坐标转换到位置B坐标,虚拟路径与现实路径的坐标转换。
3.根据权利要求2所述的方法,其特征在于,所述实现虚拟路径与现实路径下的坐标转换过程,包括:基于机器人的位姿数据格式,建立欧拉角和旋转矩阵之间的关系;机器人末端执行器TCP点、相机安装点和现实相机镜头坐标系的转换;基于虚拟引擎UE4的坐标定义,建立虚拟坐标系和现实坐标系的转换关系,完成从现实相机与虚拟相机之间的位姿变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477571.9A CN114760458B (zh) | 2022-04-28 | 2022-04-28 | 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210477571.9A CN114760458B (zh) | 2022-04-28 | 2022-04-28 | 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760458A CN114760458A (zh) | 2022-07-15 |
CN114760458B true CN114760458B (zh) | 2023-02-24 |
Family
ID=82333967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210477571.9A Active CN114760458B (zh) | 2022-04-28 | 2022-04-28 | 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760458B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710474A (zh) * | 2022-09-05 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 虚拟相机的参数处理方法、装置、电子设备及存储介质 |
CN116320363B (zh) * | 2023-05-25 | 2023-07-28 | 四川中绳矩阵技术发展有限公司 | 一种多角度虚拟现实拍摄方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180130911A (ko) * | 2017-05-30 | 2018-12-10 | 배재대학교 산학협력단 | 가상 스튜디오 연동 스마트 증강현실 서비스 시스템 및 방법 |
CN109685906A (zh) * | 2017-10-18 | 2019-04-26 | 深圳市掌网科技股份有限公司 | 基于增强现实的场景融合方法和装置 |
CN110047039A (zh) * | 2019-02-28 | 2019-07-23 | 中国人民解放军军事科学院国防科技创新研究院 | 一种面向虚拟现实交互的冗余视场全景影像构建方法 |
CN110866978A (zh) * | 2019-11-07 | 2020-03-06 | 辽宁东智威视科技有限公司 | 一种实时混合现实视频拍摄中的相机同步方法 |
CN111080704A (zh) * | 2018-10-22 | 2020-04-28 | 浙江宇视科技有限公司 | 视频增强现实的方法及装置 |
CN111161422A (zh) * | 2019-12-13 | 2020-05-15 | 广东电网有限责任公司 | 一种用于增强虚拟场景实现的模型展示方法 |
CN111683239A (zh) * | 2020-06-22 | 2020-09-18 | 贝壳技术有限公司 | 三维相机的控制方法、装置及计算机可读存储介质 |
CN113467601A (zh) * | 2020-03-31 | 2021-10-01 | 深圳光峰科技股份有限公司 | 基于增强现实的信息显示方法、系统、装置及投影设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2557212A (en) * | 2016-11-30 | 2018-06-20 | Nokia Technologies Oy | Methods and apparatuses for determining positions of multi-directional image capture apparatuses |
GB2560301A (en) * | 2017-02-20 | 2018-09-12 | Nokia Technologies Oy | Methods and apparatuses for determining positions of multi-directional image capture apparatuses |
US20210349308A1 (en) * | 2020-05-05 | 2021-11-11 | Szu Wen FAN | System and method for video processing using a virtual reality device |
-
2022
- 2022-04-28 CN CN202210477571.9A patent/CN114760458B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180130911A (ko) * | 2017-05-30 | 2018-12-10 | 배재대학교 산학협력단 | 가상 스튜디오 연동 스마트 증강현실 서비스 시스템 및 방법 |
CN109685906A (zh) * | 2017-10-18 | 2019-04-26 | 深圳市掌网科技股份有限公司 | 基于增强现实的场景融合方法和装置 |
CN111080704A (zh) * | 2018-10-22 | 2020-04-28 | 浙江宇视科技有限公司 | 视频增强现实的方法及装置 |
CN110047039A (zh) * | 2019-02-28 | 2019-07-23 | 中国人民解放军军事科学院国防科技创新研究院 | 一种面向虚拟现实交互的冗余视场全景影像构建方法 |
CN110866978A (zh) * | 2019-11-07 | 2020-03-06 | 辽宁东智威视科技有限公司 | 一种实时混合现实视频拍摄中的相机同步方法 |
CN111161422A (zh) * | 2019-12-13 | 2020-05-15 | 广东电网有限责任公司 | 一种用于增强虚拟场景实现的模型展示方法 |
CN113467601A (zh) * | 2020-03-31 | 2021-10-01 | 深圳光峰科技股份有限公司 | 基于增强现实的信息显示方法、系统、装置及投影设备 |
CN111683239A (zh) * | 2020-06-22 | 2020-09-18 | 贝壳技术有限公司 | 三维相机的控制方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114760458A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114760458B (zh) | 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 | |
Fallon et al. | An architecture for online affordance‐based perception and whole‐body planning | |
Goldberg et al. | Beyond Webcams: an introduction to online robots | |
US7714895B2 (en) | Interactive and shared augmented reality system and method having local and remote access | |
Buss et al. | Development of a multi-modal multi-user telepresence and teleaction system | |
US10960543B2 (en) | Robotic point capture and motion control | |
US20080316368A1 (en) | Method and Device For Moving a Camera Disposed on a Pan/Tilt Head Long a Given Trajectory | |
CN105573341A (zh) | 一种飞行器光学控制方法及系统 | |
CN111716365B (zh) | 基于自然行走的沉浸式远程交互系统及方法 | |
KR20210015624A (ko) | 드론 기반 재난상황 관제 방법 및 시스템 | |
Szczurek et al. | Multimodal multi-user mixed reality human–robot interface for remote operations in hazardous environments | |
CN113858217A (zh) | 多机器人交互的三维视觉位姿感知方法及系统 | |
CN210361314U (zh) | 一种基于增强现实技术的机器人示教装置 | |
Taylor et al. | Web-based telerobotics | |
Johns et al. | Robo-Stim: Modes of human robot collaboration for design exploration | |
JPH03213278A (ja) | ロボットの遠隔操作支援方式 | |
CN212231547U (zh) | 混合现实虚拟预演拍摄系统 | |
CN109664273B (zh) | 一种工业机器人光标拖动示教方法及系统 | |
KR102517324B1 (ko) | 메타버스-현실 융합 시스템 | |
CN108646588B (zh) | 一种基于传感器图像生成模型的电视制导武器仿真器 | |
Solis et al. | An underwater simulation server oriented to cooperative robotic interventions: The educational approach | |
US20220395978A1 (en) | Enhanced robotic camera control | |
CN109822573B (zh) | 基于摄像机器人的直播节目在线包装方法 | |
Wang et al. | A sensor-driven approach to web-based machining | |
CN113191032B (zh) | 一种视角仿真方法、装置、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |