EasyManuals Logo

Velodyne HDL-64E S3 User Manual

Velodyne HDL-64E S3
54 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #29 background imageLoading...
Page #29 background image
HDL-64E S3
High Definition LiDAR Sensor
Page 29
Velodyne LiDAR, Inc.
©
2019
63-HDL64ES3 REV K
Appendix D: MATLAB Sample Code
Matlab sample code to read calibration data from sensor output.
fileFilter = ‘*.pcap‘;
[File^name,Directory]=uigetfile(fileFilter,‘Open
a .pcap file‘) ;
Filename=[Directory File^name];
tic; fid=fopen(Filename); ttc=fread(fid,40); ttc=fread(fid,42);
ttc=fread(fid,inf,‘1206*uint8=>uint8‘,58);
%ttch=dec2hex(ttc);
% Determine how many data packets.
Packet=size(ttc)/1206;
% Convert data to single precision.
S1=single(ttc(2,:))*256+single(ttc(1,:));
S2=single(ttc(102,:))*256+single(ttc(101,:));
S3=single(ttc(202,:))*256+single(ttc(201,:));
S4=single(ttc(302,:))*256+single(ttc(301,:));
for i=0:10000 % Packets loop
status(i+1)=(ttc(1205+i*1206)); value(i+1)=(ttc(1206+i*1206));
end
a=[85 78 73 84 35]
fclose(fid);
toc;
Ind=strfind(value,a);
% Loop through 64 lasers.
for i=1:64
temp=single(value(Ind(1)+64*(i—1)+16:Ind(1)+64*(i—1)+16+7));
temp1=single(value(Ind(1)+64*(i1)+32:Ind(1)+64*(i—1)+32+7));
temp2=single(value(Ind(1)+64*(i1)+48:Ind(1)+64*(i—1)+48+7));
temp3=single(value(Ind(1)+64*(i1)+64:Ind(1)+64*(i—1)+64+7));
LaserId(i)=temp(1);
% Add high and low bytes of Vertical Correction Factor together and check if
positive or negative correction factor.
VerticalCorr(i)=temp(3)*256+temp(2);
if VerticalCorr(i)>32768
VerticalCorr(i)=VerticalCorr(i)65536;
End
% Scale Vertical Correction Factor by Dividing by 100.
VerticalCorr(i)=VerticalCorr(i)/100;
% Add high and low bytes of Rotational Correction Factor together and check
if positive or negative correction factor.
RotationalCorr(i)=temp(5)*256+temp(4);
if
RotationalCorr(i)>32768
RotationalCorr(i)=RotationalCorr(i)—65536;
End
% Scale Rotational Correction Factor by Dividing by 100.
RotationalCorr(i)=RotationalCorr(i)/100;
% Add high and low bytes of remaining 2 Byte Correction Factors together and
check if positive or negative correction factor, if necessary. Scale
dimensions in mm to cm by Dividing by 10. Scale Focal Slope by Dividing by
10.
DistanceCorr(i)=(temp(7)*256+temp(6))/10;
DistanceCorrX(i)=(temp1(2)*256+temp1(1))/10;
DistanceCorrY(i)=(temp1(4)*256+temp1(3))/10;
VerticalOffset(i)=(temp1(6)*256+temp1(5))/10;
HorizonOffset(i)=(temp2(1)*256+temp1(7));
if HorizonOffset(i)>32768
HorizonOffset(i)=HorizonOffset(i)65536; end
HorizonOffset(i)=HorizonOffset(i)/10;
FocalDist(i)=temp2(3)*256+temp2(2); if FocalDist(i)>32768

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Velodyne HDL-64E S3 and is the answer not in the manual?

Velodyne HDL-64E S3 Specifications

General IconGeneral
BrandVelodyne
ModelHDL-64E S3
CategoryAccessories
LanguageEnglish

Related product manuals