1.面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:利用数字技术将运动机器人、真实实验场地、运动轨迹进行数字化,构建数字化实验环境,通过虚拟仿真模拟采集虚拟摄像头获取的环境影像,并对环境影像进行一定的机器视觉评测,初步推荐较为合适的内容,用于机器视觉的分析,包括以下步骤:步骤1,真三维实景模型重建:基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息,然后在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型,最后导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,具体包括:步骤11.基于无人机倾斜摄影技术采集X(m)*Y(m)*Z(m)真实实验场地的影像信息;设置无人机飞行速度,拍摄间隔,相机倾斜角,旁向重叠度,航线重叠度及飞行高度;
步骤12.在倾斜摄影建模软件中生成1:1的X(m)*Y(m)*Z(m)的三维实景模型;
步骤13.导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境;
步骤2,搭建红外三维动作捕捉系统:在真实实验场地的顶部四周平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准,具体包括:步骤21.在真实实验场地的顶部四周通过支架、夹具等镜头固定装置,平均绑定n个红外动作捕捉镜头,确保镜头视野能够覆盖X(m)*Y(m)*Z(m)的捕捉区域,并将所有镜头通过网线连接到POE交换机;
步骤22.使用标定工具进行校准,让动作捕捉软件计算出镜头准确的相对空间位置和角度,建立三维空间XYZ坐标系,为精准动作捕捉做好准备;
步骤23.在需要动作捕捉的运动机器人躯体表面贴上k个反光标记点,反光标记点的数量和贴合位置以能精确捕捉到其动作为准;
步骤24.当系统能够实时识别目标物体后,一个完整的光学动作捕捉系统就已建立完成,接下来直接进行动作捕捉并记录数据;
步骤3,记录运动机器人的运动数据:运动机器人在真实实验场地进行运动,红外三维动作捕捉系统设备记录物体运动的一系列三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]},其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列;
步骤4,在三维数字化实验环境中,按1:1构建运动机器人的数字化模型;
步骤5,还原运动机器人的运动轨迹及运动姿态:根据红外三维动作捕捉系统设备记录的三维空间数据,在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境里,通过一定的计算与转化,并结合运动机器人的数字化模型轮廓,模拟出运动机器人的运动轨迹和运动姿态;该步骤的结果可以表现为运动机器人的数字化模型在三维数字化实验环境里的一系列动态运动过程,其运动过程高度拟合运动机器人在真实实验场地的运动过程,具体包括以下步骤:步骤51.根据记录的三维空间数据{[Xab,Yab,Zab],…,a∈[1,k],b∈[0,t]}在1:1的X(m)*Y(m)*Z(m)三维数字化实验环境,其中k表示反光标记点个数,t表示记录过程中的不同动作捕捉时间点,其为时间间隔很短的时间序列;设置某一个反光标记点的三维空间数据为运动路径计算数据,如a=a0,即 然后转化为三维可视平台所需的数据类型;
步骤52.计算运动机器人的数字化模型通过每三个记录的相邻的三维空间数据坐标点的运动时长,设置运动机器人的数字化模型运动速度变量speed,通过半正矢公式计算三个相邻经纬度每两点间的距离,再根据速度公式计算通过三点的运动时长;
所述半正矢公式为:
其中r表示地球赤道半径;表示φ1和φ2表示两点的纬度;λ1和λ2表示两点的经度;
所述的速度公式为:
td=dis/speed......................................................(6)其中td表示运动时长,dis表示表达式5得出的距离,speed表示运动机器人的数字化模型运动速度;
步骤53.运动轨迹平滑化计算,根据贝塞尔曲线公式计算,设置某一个反光标记点的三维空间数据为运动路径计算数据,如a=a0,即 t表示运动过程中的不同捕捉点;
所述贝塞尔曲线公式的表达式为:
其中tp表示运动机器人的数字化模型运动时间间隔,ta∈[0,td],td由步骤52表达式6计算所 得 ,p0 ,p1 ,p 2表 示每 三个 记 录的 相邻的 三 维空 间数 据坐 标 点p表示计算的结果;
步骤54.将步骤53表达式7计算的结果转化为三维可视平台所需的数据类型,然后计算相邻两点在三维可视平台中所需的朝向角度,还原运动姿态;
步骤6,绑定虚拟摄像头:在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,虚拟摄像头可以固定在数字化模型躯体轮廓某个位置,并按固定角度进行设置;当运动机器人的数字化模型在三维数字化实验环境中运动时,虚拟摄像头会随着数字化模型一起移动,并且其朝向角度会与数字化模型保持不变;就是运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,可以根据虚拟摄像头与数字化模型的相对位置和相对角度,实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,模拟仿真出该位置和角度的虚拟摄像头获取到的环境影像,该环境影像来自于步骤1所构建的三维数字化实验环境,具体包括以下步骤:步骤61.使运动机器人的数字化模型在三维数字化实验环境中沿着运动轨迹和运动姿态进行移动,移动数据取自步骤54中转化的三维可视平台所需的数据,然后由步骤52的式(5)和式(6)计算相邻两点间的运动时间,运动姿态数据取自步骤54的计算所得;然后由三维可视平台提供方法实时计算运动机器人的数字化模型位置,并实时改变运动机器人的数字化模型姿态;
步骤62.在运动机器人的数字化模型躯体轮廓上进行虚拟摄像头的构建,以某一个反光标记点所在平面为例,取一点绑定虚拟摄像头,该点与步骤51中的a0在X,Y,Z方向有固定偏移量,能够计算相应偏移量和虚拟摄像头的实时位置;
步骤63.实时计算运动轨迹和运动姿态的改变导致的虚拟摄像头视角改变的偏移量,从而对虚拟摄像头的视角数据实时更新,通过步骤54的方法实时计算虚拟摄像头所在平面,和运动机器人的数字化模型位置连线对于三维可视平台中所需的朝向角度,并与上一个角度做差的结果为当前虚拟摄像头视角改变的偏移量,更新视角数据;
步骤7,获取环境影像进行内容推荐:根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N];将N段视频文件用于机器视觉评测,由于视频拍摄的位置角度都会影响到视频拍摄结果,而拍摄结果影响机器视觉计算结果;根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,具体包括以下步骤:步骤71,根据步骤6设计N个虚拟摄像机,录得N段视频文件记为Vn,其中n∈[1,N],开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
步骤72,将N段视频文件用于机器视觉评测,根据评测结果的优劣来判断安虚拟摄像机的位置优劣,并推荐较优的虚拟摄像机拍摄位置做为实际的机器安装位置,评测过程可由多个评测项目组成。
2.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:在步骤13中,导入三维可视化平台建立1:1的X(m)*Y(m)*Z(m)三维数字化实验环境;
所述三维实景模型数据导入CesiumJs中建立三维数字化实验环境,根据其提供的函数方法Cesium.Cesium3DTileset({url:}),url参数表示模型数据存放地址,创建模型对象;
表达式为:
Cesium.Cesium3DTileset({url:模型数据存放地址})........................(1)。
3.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:在步骤51中,由CesiumJs提供的Cesium.Cartesian3(x,y,z)方法,其中x,y,z分别对应三维空间数据[X1b,Y1b,Z1b],首先转化为笛卡尔坐标系对象;
表达式为:
Cesium.Cartesian3(X1b,Y1b,Z1b).........................................(2)然后由CesiumJs提供的Cesium.Cartographic.fromCartesian(cartesian)方法,其中cartesian为式(2)转化的笛卡尔坐标系对象,将其转化为地理坐标系下经纬度的弧度表示对象;
表达式为:
Cesium.Cartographic.fromCartesian
(cartesian)..............................(3)然后由CesiumJs提供的Cesium.Math.toDegrees(cartographic)方法,其中cartographic为式(3)转化的地理坐标系下经纬度的弧度表示对象,包含latitude(纬度),longitude(经度),height(高度)三个参数,将它们分别转化为角度表示对象,表达式为:Cesium.Math.toDegrees
(cartographic.latitude)...............................(4)。
4.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤54中,将式(7)计算的结果由步骤51表达式2,3,4转化为经纬度数据,然后计算相邻两点对于正北方向的朝向角度,通过Math.atan2(y,x)计算原点(0,0)到(x,y)点的线段与x轴正方向之间的平面角度(弧度值),其中(x,y)表示其和(0,0)连线与相邻的两点连线平行的点,还原运动姿态;
所述计算(x,y)的表达式为:
x=Math.cos(startLat)*Math.sin(endLat)‑Math.sin(startLat)*Math.cos(endLat)*Math.cos(endLon‑startLng)............................................................(8)y=Math.sin(endLon‑startLon)*Math.cos(endLat).......(9)其中startLon表示起点经度;endLon表示终点经度;startLat表示起点纬度;destLat表示终点纬度;
所述计算平面角度(弧度值)的表达式为:
Math.atan2(y,x).....................................................(10)其中x,y为式(8)和(9)的计算结果。
5.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤61中,由CesiumJs提供的函数方法Cesium.Cartesian3.fromDegrees()实时计算运动机器人的数字化模型位置,Cesium.HeadingPitchRoll()实时改变运动机器人的数字化模型姿态;
所述计算运动机器人的数字化模型位置表达式为:
Cesium.Cartesian3.fromDegrees(currentLon,currentLat,currentHeight)...........(11)
其中currentLon表示实时经度;currentLat表示实时纬度;currentHeight表示实时高度;
所述运动机器人的数字化模型姿态表达式为:
let hpRoll=new Cesium.HeadingPitchRoll();.........(12)hpRoll.heading=Cesium.Math.toRadians(X0);............(13)其中hpRoll表示改变姿态的对象;heading表示偏航角参数,另外还包含pitch(俯仰角)和row(俯仰角)的参数可更改;Cesium.Math.toRadians()同样是CesiumJs提供的函数方法,将姿态变量X0,由弧度转为角度表示对象。
6.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤62中,由CesiumJs提供的函数方法Cesium.Matrix4.multiplyByPoint()计算虚拟摄像头的实时位置;
所述偏移量计算表达为:
Cesium.Cartesian3.multiplyByScalar(Cesium.Cartesian3.UNIT_X,Xs,positionV)..(14)其中Cesium.Cartesian3.UNIT_X表示X方向速度矢量变化,另外还有Cesium.Cartesian3.UNIT_Y表示Y方向速度矢量变化,Cesium.Cartesian3.UNIT_Z表示Z方向速度矢量变化;Xs表示当前指定方向的偏移量;positionV表示偏移矢量对象,由CesiumJs提供的函数方法Cesium.Cartesian3()创建;
所述实时位置计算表达式为:
Cesium.Matrix4.multiplyByPoint(modelMatrix,positionV,position)..............(15)
其中modelMatrix表示4x4的转换矩阵对象,由CesiumJs提供的函数方法Cesium.Transforms.headingPitchRollToFixedFrame()创建;positionV由式(14)计算所得;position由式(11)计算所得;
所述4x4的转换矩阵表达式为:
其中position和hpRoll由式(11)、(12)、(13)计算所得;Cesium.Ellipsoid.WGS84代表标准的WGS84椭球体;Cesium.Transforms.localFrameToFixedFrameGenerator()方法取决于模型数据的朝向,有east(东),south(南),west(西),north(北);
由CesiumJs提供的函数方法viewer.scene.camera.setView()绑定虚拟摄像头,所述表达式为:其中destination表示虚拟摄像头的位置;orientation表示虚拟摄像头的姿态,包括heading(偏航角),pitch(俯仰角)和row(翻滚角),可以根据需要设置。
7.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤71中,通过web端的接口提供的getDisplayMedia()捕获窗口内容,并使用MediaRecorder()方法生成媒体流记录对象,最后通过.start()方法开始记录数字影像视频数据,最后再根据实际需求设置的分辨率对影像视频数据进行裁剪,得最终视频文件;
所述捕获窗口内容表达式为:
navigator.mediaDevices.getDisplayMedia
(displayMediaOptions);................(18)其中displayMediaOptions表示设置捕获参数;
所述记录媒体流表达式为:
recorder=new MediaRecorder(captureStream);.............(19)recorder.start();.......................................(20)其中captureStream表示上一表达式生成的窗口内容对象;recorder表示媒体流对象。
8.如权利要求1所述的面向数字孪生场景现实轨迹仿真及视角捕捉内容推荐方法,其特征在于:步骤72中,以避障功能为例说明评测过程和评价方法,取视频Vn在时间段的视频段,作为机器视觉避障测评算法的输入,提供给机器视觉避障测评算法进行计算,计算各个视频段输入计算获得的虚拟障碍物距离 并计算 与真实距离 的误差,误差越小判断拍摄视频质量越佳(利于机器视觉分析);所述机器视觉避障测评算法表达式为:其中 表示第n个虚拟摄像机拍摄的视频文件在t时间的视频帧图片,
OBSTACLE AVOIDANCE为机器视觉避障测评算法公式;
避障误差率取正表达为:
最后对所有视频文件该时间段的视频进行避障评测,越小视频效果越佳,将 由小到大排序,约定排序中前Y个位置即为推荐位置。