210 likes | 463 Views
20100108. 自定义文件格式及坐标系. 北京大学信息科学技术学院 赵卉菁 Zhaohj@cis.pku.edu.cn. LadyBug2. GPS/IMU. L4. L5. Video Camera. POSS-v. Laser Scanner L2,L1,L3. 北京大学智能车实验平台 Poss ・ v. 数据格式. 导航数据 POS : XYZ : NAV 激光数据 LMS DS PT 标定参数文件 Calib. POS data format ( ASCII ). 惯性导航厂家自定义 每行数据项列表 -》.
E N D
20100108 自定义文件格式及坐标系 北京大学信息科学技术学院 赵卉菁 Zhaohj@cis.pku.edu.cn
LadyBug2 GPS/IMU L4 L5 Video Camera POSS-v Laser Scanner L2,L1,L3 北京大学智能车实验平台 Poss・v
数据格式 • 导航数据 • POS: • XYZ: • NAV • 激光数据 • LMS • DS • PT • 标定参数文件 • Calib
POS data format (ASCII) 惯性导航厂家自定义 每行数据项列表 -》
2. XYZ格式(ASCII) • 自定义 • 每行数据项列表 某直角坐标系 与POS文件内容一致
3.NAV格式(ASCII) • 自定义 • 每行数据项列表 与XYZ数据内容一致 NAV坐标系定义
4. LMS data format (Binary) 計測角度範囲(例、180), float 自定义 角度解像度(例、0.5), float 距離値単位(例、100), float 背景データ(現在無用),LMSDATBUF MAXDATLEN = range/resolution + 1 e.g. 180/0.5+1 = 361 100/0.25+1 = 401 Scan #1,LMSDATBUF Scan #2,LMSDATBUF typedef struct { long milli; unsigned short dat[MAXDATLEN]; } LMSDATBUF; Scan #n,LMSDATBUF
5. DS文件格式(Binary) 自定义 計測角度範囲(例、180), float typedef struct { double x,y,z; } point3d; 角度解像度(例、0.5), float 距離値単位(例、100), float MAXDATLEN = range/resolution + 1 e.g. 180/0.5+1 = 361 100/0.25+1 = 401 Scan #1,DSDATBUF Scan #2,DSDATBUF typedef struct { point3d rot; point3d shv; long milli; unsigned short dat[MAXDATLEN]; } DSDATBUF; Scan #n,LMSDATBUF
6. PT文件格式(Binary) 自定义 Scan #1,Laser point #1, RGBpoint3d Scan #1,Laser point #2, RGBpoint3d typedef struct { double x,y,z; } point3d; Scan #1,Laser point #m1, RGBpoint3d Scan #2,Laser point #1, RGBpoint3d typedef struct { point3d p; BYTE r, g, b; } RGBpoint3d; Scan #n,Laser point #mn, RGBpoint3d
7. Calib文件格式 举例 • 自定义 • 每行数据项列表 LD FL rot -450 0 shv -0.79 0 0
Camera-Laser Calibration Totally 11 unknowns Pinhole Model Tsai’s Method (x,y,z) (u,v) World Coordinate System (3D) Intrinsic Parameters: 5 Image Coordinate System (2D) Camera Coordinate System (3D) Extrinsic Parameters: 6
P c Video Image captured at time k c (k ) T c wc Vehicle’s body C.S. at time k Laser point P measured at time k c l 3. Transform from global C.S. to vehicle’s body C.S. at time k c T T lv vc 2. Transform from vehicle’s body C.S. at time k to global C.S. l Vehicle’s body C.S. at time k (k ) T l l vw Video camera’s C.S. 4. Transform from vehicle’s body C.S. to video camera C.S. 1. Transform from laser scanner C.S. to vehicle’s body C.S. Laser scanner’s C.S. C.S. : coordinate system Global C.S.
惯性导航数据格式及坐标系转换 • GPS84_TokyoXYZ • 从 WGS84 (经度纬度坐标)转换到 东京直角坐标系数据,输出XYZ,PLT,PNT等格式数据 命令行例、 GPS84_TokyoXYZ.exe -pos dat.POS -oziplt dat.plt GPS84_TokyoXYZ.exe -pos dat.POS -ozipnt dat.pnt GPS84_TokyoXYZ.exe -pos dat.POS -xyz dat.xyz • Xyz2Navi • 对XYZ数据进行分析,输出NAV数据 • 注意 • GPS时钟有跳秒问题。 • POS数据中的UTC为修正跳秒,GPS时为原始数据。相差14秒。 • UTC时间加上8小时为北京时间 • INS数据与激光数据有时间差约3.841秒
惯性导航数据坐标系定义 北 俯仰角 Pitch 航向角 heading + 东 地心 横滚角 roll
NAV坐标系定义 y 俯仰角 Pitch x vehicle heading z 横滚角 roll 航向角 heading Vehicle Frame
x y z z z x x y y Sensor Frame Vehicle Frame
x y z z x y UR Laser CS Vehicle body CS Calibration Parameters (ur.calib) For any laser points (x, y, 0) in UR laser CS, First rotate (R) then shift according to calibration parameters. The rotation parameter means that from the Vehicle body CS, first rotate Z by -90, then rotate Y by -90, finally rotate X by 0, to achieve UR laser CS. R = Rz(-90)・Ry(-90)・Rx(0) LD UR rot 0 -90 -90 shv 0.79 -4.2 0
z x y y z UL Laser CS x Vehicle body CS Calibration Parameters (ur.calib) For any laser points (x, y, 0) in UR laser CS, First rotate (R) then shift according to calibration parameters. The rotation parameter means that from the Vehicle body CS, first rotate Z by 90, then rotate Y by 90, finally rotate X by 0, to achieve UR laser CS. R = Rz(90)・Ry(90)・Rx(0) LD UL rot 0 90 90 Shv -0.79 -4.2 0
z x z x y y Vehicle body CS FL Laser CS Calibration Parameters (ur.calib) For any laser points (x, y, 0) in UR laser CS, First rotate (R) then shift according to calibration parameters. The rotation parameter means that from the Vehicle body CS, first rotate Z by 0, then rotate Y by 0, finally rotate X by -45, to achieve UR laser CS. R = Rz(0)・Ry(0)・Rx(-45) LD FL rot -450 0 shv -0.79 0 0
三维激光点阵数据生成 • 通过车体的运动及垂直二维激光扫描合成为三维激光点阵数据 • LMS+Calib+NAV-》3D Laser Points • Calib定义了激光扫描仪坐标系与车体坐标系(NAV)的关系 • NAV数据有两个:惯性导航,FM激光SLAM
三维激光点阵数据生成 • Lms2Ri • 将LMS数据转换为距离图像 • Lms2Ds • 修正LMS时钟参数(-3.841s),将LMS数据与NAV数据合成,输出DS格式数据 • Ds2Pt • 根据激光扫描仪与车体的标定参数将DS数据转换成全局坐标系中的激光点阵,输出Pt格式数据 • Datviewer • 显示三维激光点阵数据