CN110133625A - 一种快速球坐标激光雷达仿真方法 - Google Patents

一种快速球坐标激光雷达仿真方法 Download PDF

Info

Publication number
CN110133625A
CN110133625A CN201910420113.XA CN201910420113A CN110133625A CN 110133625 A CN110133625 A CN 110133625A CN 201910420113 A CN201910420113 A CN 201910420113A CN 110133625 A CN110133625 A CN 110133625A
Authority
CN
China
Prior art keywords
coordinate
point
vertex
triangular facet
laser radar
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.)
Granted
Application number
CN201910420113.XA
Other languages
English (en)
Other versions
CN110133625B (zh
Inventor
居阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Otbery Technology Co Ltd
Original Assignee
Beijing Otbery Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Otbery Technology Co Ltd filed Critical Beijing Otbery Technology Co Ltd
Priority to CN201910420113.XA priority Critical patent/CN110133625B/zh
Publication of CN110133625A publication Critical patent/CN110133625A/zh
Application granted granted Critical
Publication of CN110133625B publication Critical patent/CN110133625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/497Means for monitoring or calibrating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

一种快速球坐标激光雷达仿真方法。本发明公开了一种对于激光雷达的快速仿真方法,由CPU与GPU进行协同运算,CPU进行部分初始化工作,GPU在顶点着色器中对三角面的顶点坐标进行坐标转换,在几何着色器中,将每个三角面变成两个三角形组成的长方形,挂载原三角面的三个顶点ABC的坐标并输出,在片元着色器中,对三角面进行射线检测,并计算碰撞点坐标,计算激光雷达的输出并映射到(R,G,B,A)空间中。本发明使用传统的渲染管线,兼容绝大多数型号的显卡,并可获得现代显卡的加速性能,同时,本发明解决了激光雷达仿真中等距采样的问题,实现了高速高精确率的等角采样。

Description

一种快速球坐标激光雷达仿真方法
技术领域
本发明属于仿真技术领域,特别是涉及到一种快速球坐标激光雷达仿真方法。
背景技术
目前,激光雷达广泛应用于自动驾驶、机器人、船舶、航空等领域。然而,目前主流仿真系统中,对于激光雷达的仿真还停留在使用深度摄像机或者是使用CPU计算Raycast(射线检测)的阶段。
如微软的AirSim仿真系统及LG的LG Simulator仿真系统中,均使用了深度摄像机作为激光雷达仿真手段。
这种仿真方式存在一个严重的问题:虚拟摄像机进行采样时,是按照屏幕像素进行等距采样,如图1所示,摄像机的光束实际上是从原点发射,方向为从摄像机原点到每个像素在NearClip上的位置,因此,传统渲染方式实际上是等距采样而非等角采样。然而,实际的激光雷达(如Velodyne)为等角采样。哪怕是采用了超采样之后,在屏幕边缘处的采样点,其误差在50米距离上依然可达100毫米。
LG公司的LG Simulator在处理此问题时,采用的方法是令摄像机高速旋转,每次对一个小角度进行采样。这样不仅浪费了大量计算资源,还导致采样出现了延迟。
发明内容
有鉴于此,本发明提出一种对于激光雷达的快速仿真方法,依然使用传统的渲染管线,兼容绝大多数型号的显卡,并可获得现代显卡的加速性能,同时解决了激光雷达仿真中等距采样的问题,实现了高速高精确率的等角采样。
为达到上述目的,本发明的技术方案是这样实现的:
一种快速球坐标激光雷达仿真方法,由CPU与GPU进行协同运算,包括:
S1、CPU进行部分初始化工作,包括:
定义直角坐标系为左手坐标系;即物体前向为Z轴,右侧为X轴,上方为Y轴;
定义球坐标系为:ψ为空间中某点P在XZ平面上的投影与Z轴的夹角;θ为空间中某点P与Y轴的夹角;R为空间中某点P距离原点的距离;
定义激光雷达的总线数height;
定义激光雷达每次扫描的次数width;
定义每次扫描沿Y轴扫描的角度范围的一半ψrange;
定义每次扫描沿X轴扫描的角度范围的一半θrange;
定义每次扫描的最大感知范围Lmax;
绘制一个width*height像素的噪声图,要求RGBA四个通道均为独立噪声;
定义每个材质的平滑度smoothness;
定义每个材质的反射率reflection;
定义每个材质的贴图Tex;
在每次扫描前,定义摄像机的Transform Matrix Tcam;
S2、GPU在顶点着色器中对三角面的顶点坐标进行坐标转换;转换后的顶点输出为{Psphere,Pworld,uv},其中Psphere为球坐标,Pworld为摄像机坐标系坐标,uv为该顶点的UV坐标;
S3、GPU在几何着色器中,将每个三角面变成两个三角形组成的长方形,令两个三角形的每个顶点依次挂载原三角面的三个顶点ABC的坐标并输出,三角形每个顶点的输出为{Psphere,Pworld,A,B,C,uv};
S4、GPU在片元着色器中,由几何着色器的输出获取原三角面三个顶点;同时,由屏幕像素位置获取射线方向,对三角面进行射线检测,并计算碰撞点坐标;然后计算此碰撞点的贴图是否为透明,若光线无法继续穿透,计算激光雷达的输出并映射到(R,G,B,A)空间中。
进一步的,步骤S2中,坐标转换的过程包括:
将顶点在ObjectSpace目标空间坐标系的坐标转换为世界坐标系坐标,然后再转换为摄像机坐标系下的坐标;
摄像机坐标系的定义为:摄像机位置为原点,摄像机前向为z轴正向,摄像机右侧为X轴正向,摄像机正上方为Y轴正向;
顶点(x,y,z)转化为球坐标:
其中,ψ为该点在XZ平面上的投影与Z轴的夹角,θ为该点与Y轴的夹角;
输出的球坐标Psphere为(ψ,θ,z);
将该顶点的摄像机坐标系坐标Pworld(x,y,z)输出;
同时,输出此顶点的UV坐标uv;
顶点着色器的输出为{Psphere,Pworld,uv}。
进一步的,步骤S3中,所述将每个三角面变成两个新三角面组成的长方形的方法包括:
S301、获得三角面三个顶点A、B、C的顶点着色器输出信息,根据三个顶点的球坐标Psphere,求出:
ψ的最小值ψmin和最大值ψmax,
θ的最小值θmin和最大值θmax;
S302、构建矩形包络框,其左上角坐标为(ψmin,θmax),右下坐标为(ψmax,θmin);
S303、对包络框进行三角化,由矩形A1B1C1D1变为两个新三角形A1B1C1和A2B2C2;其中,A1、B1、C1坐标不变;A2坐标等于A1,B2坐标等于C1,C2坐标等于D1;
S304、令输出的两个三角形A1B1C1和A2B2C2的每个顶点依次挂载此三角面的三个顶点ABC的坐标;
A1点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0);
B1点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0);。
C1点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1);
A2点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0);
B2点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0);
C2点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1);
每个顶点的输出为{Psphere,Pworld,A,B,C,uv}。
更进一步的,步骤S302中,如三角面的ψmin、ψmax、θmin、θmax的值在范围[-1,1]之外,则需扩大矩形的范围,根据(ψmin,θmax),(ψmax,ψmin)求出此矩形的包络圆,再构建能够包络此圆的正方形作为包络框。
进一步的,步骤S4中,所述射线检测及计算碰撞点坐标的步骤包括:
S401、根据屏幕像素点坐标Pixel(x,y)计算此像素对应的ψ、θ;
θ=(y-0.5)*2*θrange
其中,ψrange、θrange分别为激光雷达每次扫描的范围的一半;
根据ψ、θ确定射线方向,并进行归一化,获得入射光的单位向量Dir;
y=sin(θ)
S402、利用在几何着色器中输出的ABC坐标进行计算;令坐标为(x,y,z,w),则根据下面公式重新获得三角面ABC坐标;
S403、获得三角面ABC坐标及射线方向Dir后,进行射线与三角面碰撞检测;如射线与三角面有交点,返回交点的摄像机空间坐标Pc及长度t;
S404、由ABC算出三角面的法线Nrm;
Nrm=(B-A)×(C-A)
由Pc求得碰撞点的世界坐标P;
P=Pc+Pcam
其中Pcam为摄像机的世界坐标。
进一步的,步骤S4中,所述计算碰撞点的贴图是否为透明的方法包括:
使用从几何着色器获得的uv坐标对贴图进行采样,获取该点的颜色Col(R,G,B,A);如A小于材质的AlphaCullOff值,则认为光线穿透了此点,将此点的depth深度设为极小值以允许光线继续穿透。
进一步的,步骤S4中,所述计算激光雷达的输出并映射到(R,G,B,A)空间包括:
S411、取得碰撞点的世界坐标P对噪声图TXnoise的采样UV坐标Puv;
Puv(u,v)=Fraction((Px,Py)*Pz*100)
其中,Fraction()为获取输入值的小数点后的部分;
S412、使用Puv获得一个4阶向量Pnoise,将其从[0,1)区间映射到[-0.5,0.5),获得噪声向量err;
err=Pnoise-(0.5,0.5,0.5,0.5)
S413、计算加噪后的法线Nnoise;
Nnoise=Nrm+err*(1-Smoothness)*RoughScale
Nrm为由三角面ABC坐标计算出的三角面的法线;
S414、计算加噪法线Nnoise与入射光夹角的余弦值lambert;
如lambert大于smoothness,则激光雷达接收到的信号为从该点返回的光线;
S415、计算三角形表面材质对激光波段的吸收率Absorption;
S416、激光在反射后的反射能量energy为:
S417、由于实际激光雷达仪器仅计算发射和返回的时间差,实际上激光雷达输出的距离Len应为:
更进一步的,步骤S416中,如lambert小于smoothness,则认为激光雷达收到的信号为二次反射后的位置;
反射长度L可由噪声向量近似求得:
L=(errx,erry,errz)*errw*reflection3
而二次反射后的反射点的位置Pr为:
Pr=P+Reflect(Dir,Nrm)
其中,Reflect为计算Dir方向的光线在法线为Nrm的面上的反射方向的函数;
则反射后的能量energy为:
优选的,步骤S4中,激光雷达的输出映射到(R,G,B,A)空间中的方法为:
根据长度t或Len,计算激光雷达认为的反射点P0(x,y,z)的坐标:
P0=Dir*Len
由于RGB颜色的范围为[0,1],因此需将P0映射到[0,1]空间。
A=energy
此像素的depth深度为:
与现有技术相比,本发明具有如下的有益效果:
(1)本发明在不改变传统渲染管线的基础上,充分利用了当代GPU的渲染加速性能,实现了高性能、高精确率的激光雷达仿真;
(2)本发明可极大的加速激光雷达相关算法的研发和训练;
(3)本发明可同步输出标准答案和点云数据,形成训练数据集,极大缩短深度学习算法的训练时间;本发明可将激光雷达神经网络的训练时间由300小时缩短至100小时。
(4)本发明可应用于但不限于自动驾驶仿真、机器人仿真、航空航天仿真、军事仿真等领域;
(5)本发明的采样角度误差为0.00005弧度,采样精度误差为0.001米。
附图说明
图1为传统方法中摄像机的等距采样图示;
图2为本发明实施例中直角坐标系与球坐标系的定义的示意图;
图3为本发明实施例中根据三角面构建长方形包络框的示意图;
图4为本发明实施例中扩大范围构建包络框的示意图;
图5为本发明实施例中包络框三角化的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明需要CPU与GPU进行协同运算。
本发明中,定义直角坐标系为左手坐标系。即物体前向为Z轴,右侧为X轴,上方为Y轴。
定义球坐标系为:
ψ为空间中某点P在XZ平面上的投影与Z轴的夹角。
θ为空间中某点P与Y轴的夹角。
R为空间中某点P距离原点的距离。
定义如图2所示。
CPU需要进行一部分初始化工作:
定义激光雷达的总线数height。
定义激光雷达每次扫描的次数width。
定义每次扫描沿Y轴扫描的角度范围的一半ψrange
定义每次扫描沿X轴扫描的角度范围的一半θrange
定义每次扫描的最大感知范围Lmax。
绘制一个width*height像素的噪声图,要求RGBA四个通道均为独立噪声。
定义每个材质的平滑度smoothness。
定义每个材质的反射率reflection。
定义每个材质的贴图Tex。
注:以上初始化参数均可在运行中实时更改。
在实时运行中,在每次扫描前,需定义:
摄像机的Transform Matrix(旋转矩阵)Tcam。
GPU计算部分分为三个步骤:
一、Vertex Shader(顶点着色器):
在顶点着色器中进行坐标转换。
本发明将顶点在ObjectSpace(目标空间坐标系)的坐标转换为世界坐标系坐标,然后再转换为摄像机坐标系下的坐标。
摄像机坐标系的定义为:摄像机位置为原点,摄像机前向为z轴正向。摄像机右侧为X轴正向。摄像机正上方为Y轴正向。
本发明把顶点(x,y,z)转化为球坐标。
其中,ψ为该点在XZ平面上的投影与Z轴的夹角,θ为该点与Y轴的夹角。
输出的球坐标Psphere为(ψ,θ,z)。
将该顶点的摄像机坐标系坐标Pworld(x,y,z)输出。
同时,输出此顶点的UV坐标uv。
因此,顶点着色器的输出为{Psphere,Pworld,uv}
二、Geometry Shader(几何着色器)
在几何着色器中,将每个三角面变成两个三角面组成的长方形,以抵消后续Raster(晶格化)及Barycentric Interpolation(质心插值法)对于顶点信息的压缩。
在此着色器阶段,可获得三角形三个顶点A、B、C的顶点着色器输出信息。
根据三个顶点的球坐标Psphere,求出:
ψ的最小值ψmin和最大值ψmax。
θ的最小值θmin和最大值θmax。
构建包络框,其左上角坐标为(ψmin,θmax),右下坐标为(ψmax,θmin),如图3所示。
如三角形的ψmin、ψmax、θmin、θmax的值在范围[-1,1]之外,则需扩大长方形的范围。根据(ψmin,θmax),(ψmax,ψmin)求出此长方形的包络圆,再构建能够包络此圆的正方形包络框,如图4所示。
对包络框进行三角化,如图5所示。
由矩形A1B1C1D1变为两个新三角形A1B1C1和A2B2C2。其中,A1、B1、C1坐标不变。A2坐标等于A1,B2坐标等于C1,C2坐标等于D1;
令输出的两个三角形A1B1C1和A2B2C2的每个顶点依次挂载此三角面的三个顶点ABC的坐标;
A1点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0)。
B1点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0)。
C1点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1)。
A2点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0)。
B2点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0)。
C2点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1)。
几何着色器每个顶点的输出为:
{Psphere,Pworld,A,B,C,uv}
三、Fragment Shader(片元着色器)
在片元着色器中,可由几何着色器的输出获取三角形三个顶点。同时,由屏幕像素位置获取射线方向,对三角形进行射线检测,并计算碰撞点坐标。
由于顶点坐标已转化为球坐标,因此,根据屏幕像素点坐标Pixel(x,y)可计算此像素对应的ψ、θ。
θ=(y-0.5)*2*θrange
其中,ψrange、θrange分别为激光雷达每次扫描的范围的一半。
根据ψ、θ确定射线方向,并进行归一化,获得入射光的单位向量Dir。
y=sin(θ)
在几何着色器中,本发明输出了三角形的三个顶点ABC的坐标。因此,在片元着色器中,此坐标经由质心插值法之后发生了变化。为在质心插值法之后求得原始三角形的坐标ABC,本发明可利用之前在几何着色器中输出的ABC坐标进行计算。令坐标为(x,y,z,w),则可有此公式重新获得ABC坐标。
获得三角形ABC坐标及射线方向Dir后,进行射线与三角面碰撞检测。
如射线与三角面有交点,返回交点的摄像机空间坐标Pc及长度t。
由ABC算出三角形的法线Nrm。
Nrm=(B-A)×(C-A)
由Pc求得碰撞点的世界坐标P。
P=Pc+Pcam
其中Pcam为摄像机的世界坐标。
若激光雷达所扫描的表面使用了带Alpha通道的透明贴图,则需计算此点的贴图是否为透明。如透明则光线应穿过此三角面。
使用从几何着色器获得的uv坐标对贴图进行采样,获取该点的颜色Col(R,G,B,A)。如A小于材质的AlphaCullOff值,则认为光线穿透了此点,将此点的depth(深度)设为极小值以允许光线继续穿透。
如光线无法继续穿透,则进行后续计算:
由P对噪声图TXnoise的采样UV坐标Puv。
Puv(u,v)=Fraction((Px,Py)*Pz*100)
其中,Fraction()为获取输入值的小数点后的部分。
使用Puv获得一个4阶向量Pnoise,将其从[0,1)区间映射到[-0.5,0.5),获得噪声向量err。
err=Pnoise-(0.5,0.5,0.5,0.5)
计算加噪后的法线Nnoise。
Nnoise=Nrm+err*(1-Smoothness)*RoughScale
计算加噪法线Nnoise与入射光夹角的余弦值lambert。
如lambert大于smoothness,则激光雷达接收到的信号为从该点返回的光线。
计算三角形表面材质对激光波段的吸收率Absorption。以Velodyne品牌为例,其激光雷达的波长为790nm。而红色的波长范围为650~750nm。因此可近似认为此贴图的红色通道R的值为激光在材质上的反射率。
由于激光具有良好的指向性,因此激光在稀薄空气中传播时能量无衰减。但激光在反射后失去了其指向性,变为了球形散射。因此其反射能量energy为:
如lambert小于smoothness,则认为激光雷达收到的信号为二次反射后的位置。
反射长度L可由噪声向量近似求得:
L=(errx,erry,errz)*errw*reflection3
而二次反射后的反射点的位置Pr为:
Pr=P+Reflect(Dir,Nrm)
其中,Reflect为计算Dir方向的光线在法线为Nrm的面上的反射方向的函数。
则反射后的能量energy为:
由于实际激光雷达仪器仅计算发射和返回的时间差。因此实际上,激光雷达输出的距离Len应为:
由于渲染管线仅能输出图像,因此需要将激光雷达的输出映射到(R,G,B,A)空间中。在此仅提供一种思路。【如使用其他方式映射或编码,依然纳入此权利声明中】
根据长度t或Len,计算激光雷达认为的反射点P0(x,y,z)的坐标:
P0=Dir*Len
由于RGB颜色的范围为[0,1],因此需将P0映射到[0,1]空间。
A=energy
此像素的depth(深度)为:
输出数据的解析方法:
以上述输出格式标准为例。
需要将图像上的像素进行一些处理,以便进行后续的显示或处理。
首先将RGB变换到[-Lmax,Lmax]范围内:
x=(2R-1)*Lmax
y=(2G-1)*Lmax
z=B*Lmax
其中,RGB为图像某点的颜色值。Lmax为激光雷达扫描最大距离。
使用摄像机的逆变化矩阵乘以该坐标,得到该点的世界坐标Pworld。
Pworld=Tcam -1*(x,y,z,0)。
本发明测试环境如下:
CPU:i7 8700K
GPU:GTX 1080ti
操作系统:Windows 10
在仿真64线激光雷达时,实现了每秒300Hz的工作频率。远超激光雷达本身的20Hz最大工作频率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种快速球坐标激光雷达仿真方法,其特征在于,由CPU与GPU进行协同运算,包括:
S1、CPU进行部分初始化工作,包括:
定义直角坐标系为左手坐标系;即物体前向为Z轴,右侧为X轴,上方为Y轴;
定义球坐标系为:ψ为空间中某点P在XZ平面上的投影与Z轴的夹角;θ为空间中某点P与Y轴的夹角;R为空间中某点P距离原点的距离;
定义激光雷达的总线数height;
定义激光雷达每次扫描的次数width;
定义每次扫描沿Y轴扫描的角度范围的一半ψrange;
定义每次扫描沿X轴扫描的角度范围的一半θrange;
定义每次扫描的最大感知范围Lmax;
绘制一个width*height像素的噪声图,要求RGBA四个通道均为独立噪声;
定义每个材质的平滑度smoothness;
定义每个材质的反射率reflection;
定义每个材质的贴图Tex;
在每次扫描前,定义摄像机的Transform Matrix Tcam;
S2、GPU在顶点着色器中对三角面的顶点坐标进行坐标转换;转换后的顶点输出为{Psphere,Pworld,uv},其中Psphere为球坐标,Pworld为摄像机坐标系坐标,uv为该顶点的UV坐标;
S3、GPU在几何着色器中,将每个三角面变成两个三角形组成的长方形,令两个三角形的每个顶点依次挂载原三角面的三个顶点ABC的坐标并输出,三角形每个顶点的输出为{Psphere,Pworld,A,B,C,uv};
S4、GPU在片元着色器中,由几何着色器的输出获取原三角面三个顶点;同时,由屏幕像素位置获取射线方向,对三角面进行射线检测,并计算碰撞点坐标;然后计算此碰撞点的贴图是否为透明,若光线无法继续穿透,计算激光雷达的输出并映射到(R,G,B,A)空间中。
2.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S2中,坐标转换的过程包括:
将顶点在ObjectSpace目标空间坐标系的坐标转换为世界坐标系坐标,然后再转换为摄像机坐标系下的坐标;
摄像机坐标系的定义为:摄像机位置为原点,摄像机前向为z轴正向,摄像机右侧为X轴正向,摄像机正上方为Y轴正向;
顶点(x,y,z)转化为球坐标:
其中,ψ为该点在XZ平面上的投影与Z轴的夹角,θ为该点与Y轴的夹角;
输出的球坐标Psphere为(ψ,θ,z);
将该顶点的摄像机坐标系坐标Pworld(x,y,z)输出;
同时,输出此顶点的UV坐标uv;
顶点着色器的输出为{Psphere,Pworld,uv}。
3.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S3中,所述将每个三角面变成两个新三角面组成的长方形的方法包括:
S301、获得三角面三个顶点A、B、C的顶点着色器输出信息,根据三个顶点的球坐标Psphere,求出:
ψ的最小值ψmin和最大值ψmax,
θ的最小值θmin和最大值θmax;
S302、构建矩形包络框,其左上角坐标为(ψmin,θmax),右下坐标为(ψmax,θmin);
S303、对包络框进行三角化,由矩形A1B1C1D1变为两个新三角形A1B1C1和A2B2C2;其中,A1、B1、C1坐标不变;A2坐标等于A1,B2坐标等于C1,C2坐标等于D1;
S304、令输出的两个三角形A1B1C1和A2B2C2的每个顶点依次挂载此三角面的三个顶点ABC的坐标;
A1点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0);
B1点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0);。
C1点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1);
A2点的存储坐标为A(Ax,Ay,Az,1)、B(0,0,0,0)、C(0,0,0,0);
B2点的存储坐标为A(0,0,0,0)、B(Bx,By,Bz,1)、C(0,0,0,0);
C2点的存储坐标为A(0,0,0,0)、B(0,0,0,0)、C(Cx,Cy,Cz,1);
每个顶点的输出为{Psphere,Pworld,A,B,C,uv}。
4.根据权利要求3所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S302中,如三角面的ψmin、ψmax、θmin、θmax的值在范围[-1,1]之外,则需扩大矩形的范围,根据(ψmin,θmax),(ψmax,ψmin)求出此矩形的包络圆,再构建能够包络此圆的正方形作为包络框。
5.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S4中,所述射线检测及计算碰撞点坐标的步骤包括:
S401、根据屏幕像素点坐标Pixel(x,y)计算此像素对应的ψ、θ;
θ=(y-0.5)*2*θrange
其中,ψrange、θrange分别为激光雷达每次扫描的范围的一半;
根据ψ、θ确定射线方向,并进行归一化,获得入射光的单位向量Dir;
y=sin(θ)
S402、利用在几何着色器中输出的ABC坐标进行计算;令坐标为(x,y,z,w),则根据下面公式重新获得三角面ABC坐标;
S403、获得三角面ABC坐标及射线方向Dir后,进行射线与三角面碰撞检测;如射线与三角面有交点,返回交点的摄像机空间坐标Pc及长度t;
S404、由ABC算出三角面的法线Nrm;
Nrm=(B-A)×(C-A)
由Pc求得碰撞点的世界坐标P;
P=Pc+Pcam
其中Pcam为摄像机的世界坐标。
6.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S4中,所述计算碰撞点的贴图是否为透明的方法是:
使用从几何着色器获得的uv坐标对贴图进行采样,获取该点的颜色Col(R,G,B,A);如A小于材质的AlphaCullOff值,则认为光线穿透了此点,将此点的depth深度设为极小值以允许光线继续穿透。
7.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S4中,所述计算激光雷达的输出包括:
S411、取得碰撞点的世界坐标P对噪声图TXnoise的采样UV坐标Puv;
Puv(u,v)=Fraction((Px,Py)*Pz*100)
其中,Fraction()为获取输入值的小数点后的部分;
S412、使用Puv获得一个4阶向量Pnoise,将其从[0,1)区间映射到[-0.5,0.5),获得噪声向量err;
err=Pnoise-(0.5,0.5,0.5,0.5)
S413、计算加噪后的法线Nnoise;
Nnoise=Nrm+err*(1-Smoothness)*RoughScale
Nrm为由三角面ABC坐标计算出的三角面的法线;
S414、计算加噪法线Nnoise与入射光夹角的余弦值lambert;
如lambert大于smoothness,则激光雷达接收到的信号为从该点返回的光线;
S415、计算三角形表面材质对激光波段的吸收率Absorption;
S416、激光在反射后的反射能量energy为:
S417、由于实际激光雷达仪器仅计算发射和返回的时间差,实际上激光雷达输出的距离Len应为:
8.根据权利要求7所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S416中,如lambert小于smoothness,则认为激光雷达收到的信号为二次反射后的位置;
反射长度L可由噪声向量近似求得:
L=(errx,erry,errz)*errw*reflection3
而二次反射后的反射点的位置Pr为:
Pr=P+Reflect(Dir,Nrm)
其中,Reflect为计算Dir方向的光线在法线为Nrm的面上的反射方向的函数;
则反射后的能量energy为:
9.根据权利要求1所述的一种快速球坐标激光雷达仿真方法,其特征在于,步骤S4中,激光雷达的输出映射到(R,G,B,A)空间中的方法为:
根据长度t或Len,计算激光雷达认为的反射点P0(x,y,z)的坐标:
P0=Dir*Len
由于RGB颜色的范围为[0,1],因此需将P0映射到[0,1]空间。
A=energy
此像素的depth深度为:
CN201910420113.XA 2019-05-20 2019-05-20 一种快速球坐标激光雷达仿真方法 Active CN110133625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910420113.XA CN110133625B (zh) 2019-05-20 2019-05-20 一种快速球坐标激光雷达仿真方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910420113.XA CN110133625B (zh) 2019-05-20 2019-05-20 一种快速球坐标激光雷达仿真方法

Publications (2)

Publication Number Publication Date
CN110133625A true CN110133625A (zh) 2019-08-16
CN110133625B CN110133625B (zh) 2020-05-08

Family

ID=67571608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910420113.XA Active CN110133625B (zh) 2019-05-20 2019-05-20 一种快速球坐标激光雷达仿真方法

Country Status (1)

Country Link
CN (1) CN110133625B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113820694A (zh) * 2021-11-24 2021-12-21 腾讯科技(深圳)有限公司 一种仿真测距的方法、相关装置、设备以及存储介质
CN114895316A (zh) * 2022-07-11 2022-08-12 之江实验室 一种多激光雷达测距的快速数值仿真方法和装置
CN115393496A (zh) * 2022-10-25 2022-11-25 之江实验室 一种多激光雷达仿真点云的快速绘制方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1942896A (zh) * 2004-04-16 2007-04-04 苹果电脑有限公司 用图形处理单元处理图形操作的系统和方法
US7880671B2 (en) * 2008-09-18 2011-02-01 Raytheon Company Electromagnetic (EM) solver using a shooting bouncing ray (SBR) technique
CN102129680A (zh) * 2010-01-15 2011-07-20 精工爱普生株式会社 实时几何形状感知投影和快速重校准
CN103885040A (zh) * 2014-03-29 2014-06-25 江西理工大学 一种基于cpu-gpu异构计算的圆迹合成孔径雷达回波生成方法
CN107851176A (zh) * 2015-02-06 2018-03-27 阿克伦大学 光学成像系统及其方法
CN108733051A (zh) * 2017-04-17 2018-11-02 英特尔公司 自主车辆高级感测和响应

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1942896A (zh) * 2004-04-16 2007-04-04 苹果电脑有限公司 用图形处理单元处理图形操作的系统和方法
US7880671B2 (en) * 2008-09-18 2011-02-01 Raytheon Company Electromagnetic (EM) solver using a shooting bouncing ray (SBR) technique
CN102129680A (zh) * 2010-01-15 2011-07-20 精工爱普生株式会社 实时几何形状感知投影和快速重校准
CN103885040A (zh) * 2014-03-29 2014-06-25 江西理工大学 一种基于cpu-gpu异构计算的圆迹合成孔径雷达回波生成方法
CN107851176A (zh) * 2015-02-06 2018-03-27 阿克伦大学 光学成像系统及其方法
CN108733051A (zh) * 2017-04-17 2018-11-02 英特尔公司 自主车辆高级感测和响应

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113820694A (zh) * 2021-11-24 2021-12-21 腾讯科技(深圳)有限公司 一种仿真测距的方法、相关装置、设备以及存储介质
CN113820694B (zh) * 2021-11-24 2022-03-01 腾讯科技(深圳)有限公司 一种仿真测距的方法、相关装置、设备以及存储介质
CN114895316A (zh) * 2022-07-11 2022-08-12 之江实验室 一种多激光雷达测距的快速数值仿真方法和装置
CN114895316B (zh) * 2022-07-11 2022-10-28 之江实验室 一种多激光雷达测距的快速数值仿真方法和装置
CN115393496A (zh) * 2022-10-25 2022-11-25 之江实验室 一种多激光雷达仿真点云的快速绘制方法和装置
CN115393496B (zh) * 2022-10-25 2023-03-24 之江实验室 一种多激光雷达仿真点云的快速绘制方法和装置

Also Published As

Publication number Publication date
CN110133625B (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
KR101923562B1 (ko) 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법
CN110133625A (zh) 一种快速球坐标激光雷达仿真方法
CN103489214A (zh) 增强现实系统中基于虚拟模型预处理的虚实遮挡处理方法
CN1317666C (zh) 适于创建透明对象的实时阴影的系统和方法
KR20210091070A (ko) 이미지 프로젝션 방법, 장치, 기기 및 저장 매체
JPH06223198A (ja) 光線追跡による画像生成装置及び方法
KR20170012201A (ko) 다수의 렌더 타겟들 내에서 활성 컬러 샘플 카운트를 변경함으로써 스크린 위치에 의한 변화하는 유효 분해능
CN105699951A (zh) 基于dem数据叠加的航海雷达回波模拟方法
WO2023061232A1 (zh) 图像渲染方法、装置、设备及介质
CN106251282A (zh) 一种机械臂采样环境仿真图的生成方法及装置
CN114002701A (zh) 一种实时渲染点云的方法、装置、电子设备及系统
CN109523619A (zh) 一种通过多角度打光的图片生成3d材质贴图的方法
CN110471061A (zh) 一种实现机载合成孔径雷达成像的仿真方法及其系统
US20190116354A1 (en) Camera calibration
CN113034660B (zh) 一种基于pbr反射模型的激光雷达仿真方法
CN104700437B (zh) 信号级高逼真度实时红外复杂场景生成方法
US20230206567A1 (en) Geometry-aware augmented reality effects with real-time depth map
CN111860328B (zh) 一种基于双向反射函数和森林场景光照效果建模的生物量估算方法
CN113763457B (zh) 落差地形的标定方法、装置、电子设备和存储介质
Liao Shadow Mapping for Omnidirectional Light Using Tetrahedron Mapping
CN113470135A (zh) 海面仿真图像的生成方法、装置和电子设备
Han et al. Research on rocket laser scattering characteristic simulation software
Shang et al. Research on the rapid 3D measurement of satellite antenna reflectors using stereo tracking technique
Schiavone et al. Interoperability issues for terrain databases in distributed interactive simulation
CN116993894B (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