63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

download 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

of 43

Transcript of 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    1/43

    U S E R S M A N U A L A N D

    P R O G R A M M I N G G U I D E

    Firmware Version 4.07

    HDL-64ES2

    and S2.1

    High Definition LiDAR Sensor

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    2/43

    i SAFETY NOTICES

    1 INTRODUCTION

    InTheBox

    2 PRINCIPLES OF OPERATION

    3 INSTALLATION OVERVIEW

    3 FrontlBackMounting

    4 SideMounting

    5 TopMounting

    6 Wiring

    6 USAGE

    6 UsetheIncludedPoint-cloud Viewer

    6 DevelopYourOwnApplication-specific

    Point-cloud Viewer

    7 db.xmlCalibrationParameters

    8 ChangeRun-TimeParameters

    1O ControlSpinRate

    ChangeSpinRateinFlashMemory

    ChangeSpinRateinRAMOnly

    1O LimitHorizontalFOVdataCollected

    11 DefineSensorMemoryIPSource

    andDestinationAddresses

    11 UploadCalibrationData

    11 ExternalGPSTimeSynchronization

    GPSReceiverOption1:VelodyneSuppliedGPSReceiver

    GPSReceiverOption2:

    CustomerSuppliedGPSReceiver

    13 PacketFormatandStatusBytefor GPSTimeStamping

    13 TimeStampingAccuracyRules

    13 LaserFiringSequenceandTiming

    14 FIRMWARE UPDATE

    15 APPENDIX A: MechanicalDrawings

    16 APPENDIX B: WiringDiagram

    17 APPENDIX C: DigitalSensorRecorder(DSR)

    17 Install

    17 Calibrate

    17 LivePlayback

    18 RecordData

    18 PlaybackofRecordedFiles

    19 DSRKeyControls

    19 DSRMouseControls

    2O APPENDIX D: MatlabSampleCode

    22 ReadingCalibrationandSensorParameterData

    23 APPENDIX E: DataPacketFormat

    27 LastSixBytesExamples

    3O APPENDIX F: DualTwoPoint CalibrationMethodology

    34 APPENDIX G: EthernetTransmitTimingTable

    36 APPENDIX H: LaserandDetectorArrangement

    37 APPENDIX I: AngularResolution

    38 TROUBLESHOOTING

    38 SERVICE AND MAINTENANCE

    39 SPECIFICATIONS

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    3/43

    CAUTION SAFETY NOTICE

    [i]

    Caution

    Toreducetheriskofelectricshockandtoavoidviolatingthewarranty,donotopensensorbody.Referservicingtoqualifiedservicepersonnel.

    The lightning flash with arrowhead symbol is intended to alert the user to the presence of uninsulateddangerousvoltagewithintheproductsenclosurethatmaybeofsufficientmagnitudetoconstituteariskofelectricshocktopersons.

    The exclamation point symbol is intended to alert the user to the presence of important operating andmaintenance(servicing)instructionsintheliteratureaccompanyingtheproduct.

    1. ReadInstructions Allsafetyandoperatinginstructionsshouldbereadbeforetheproductisoperated.2. RetainInstructions Thesafetyandoperatinginstructionsshouldberetainedforfuturereference.3. HeedWarningsAllwarningsontheproductandintheoperatinginstructionsshouldbeadheredto.4. FollowInstructions Alloperatinganduseinstructionsshouldbefollowed.5. ServicingTheusershouldnotattempttoservicetheproductbeyondwhatisdescribedintheoperating

    instructions.AllotherservicingshouldbereferredtoVelodyne.

    1

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    4/43

    INTRODUCTION HDL-64E S2 and S2.1 Users Manual

    [ 1]

    CongratulationsonyourpurchaseofaVelodyneHDL-64ES2orS2.1HighDefinitionLiDARSensor.Thesesensorsrepresenta

    breakthroughinsensingtechnologybyprovidingmoreinformationaboutthesurroundingenvironmentthanpreviouslypossible.

    TheHDL-64ES2orS2.1HighDefinitionLiDARsensorsarereferredtoasthesensorthroughoutthismanual.

    Thismanualandprogrammingguidecovers:

    InstallationandwiringHDL-64-ADAPT(GPSAdaptorBox)

    Thedatapacketformat

    Theserialinterface

    Softwareupdates

    GPSinstallationnotes

    Viewingthedata

    Programminginformation

    ThismanualappliestothetwoversionsoftheHDL-64Esensor,theS2andS2.1,unlessotherwiseindicated.Thetablebelowcomparesthe

    laserlayout,verticalfieldofview(VFOV)andprimaryapplicationofthetwoversions.

    HDL-64EVersion LowerLaserBlock UpperLaserBlock VerticalFieldofView(VFOV) PrimaryApplication

    S2 32lasersseparatedby

    %verticalspacing

    32lasersseparatedby

    1/3verticalspacing

    +2to-24.8 Autonomousnavigation

    S2.1

    (duallowerblock)

    32lasersseparatedby

    %verticalspacing

    32lasersseparatedby

    %verticalspacing

    31.5 3Dmapping

    Forthelatestupdatestothismanual checkwww.velodynelidar.com.

    In the Box

    Eachshipmentcontains:

    Sensor

    HDL-64-ADAPT(GPSAdaptorBox)

    Wiringharness

    CDwithusermanual,calibrationfile(db.xml),timingtablecalculationfile(.xls)andDSRviewer

    http://www.velodynelidar.com/http://www.velodynelidar.com/
  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    5/43

    PRINCIPLES OF OPERATION HDL-64E S2 and S2.1 User

    [ 2]

    s ManuaI

    Thesensoroperates,insteadofasinglelaserfiringthrougharotatingmirror,with64lasersfixedmountedonupperandlowerlaserblocks,

    eachhousing32lasers.Bothlaserblocksrotateasasingleunit.Withthisdesigneachofthelasersfirestensofthousandsoftimesper

    second,providingexponentiallymoredatapoints/secondandamoredata-intensivepointcloudthanarotatingmirrordesign.Thesensor

    deliversa360horizontalFieldofView(HFOV)anda26.8verticalFOV(31.5VFOVfortheS2.1).

    Additionally,state-of-the-artdigitalsignalprocessingandwaveformanalysisareemployedtoprovidehighaccuracy,extendeddistance

    sensingandintensitydata.Thesensorisratedtoprovideusablereturnsupto120meters.Thesensoremploysadirectdrivemotor

    systemwithnobeltsorchainsinthedrivetrain.

    Seethespecificationsattheendofthismanualformoreinformationaboutsensoroperatingconditions.

    Laser

    Emitters(Groupsof16)

    Laser

    Receivers(Groupsof32)

    Motor

    Housing

    Housing(Entireunitspins

    at5-20Hz)

    Figure1.HDL-64ES2designoverview.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    6/43

    [ 3]

    INSTALLATION OVERVIEW HDL-64E S2 and S2.1 Users Manual

    Thesensorbaseprovidesthefollowingmountingoptions:

    Front/Backmount(Figure2)

    Sidemount(Figure3)

    Topmount(Figure4)

    Thesensorcanbemountedatanyanglefrom0to90withrespecttoitsbase.RefertoAppendixAforcompletedimensions.Forall

    mountingoptions,mountthesensortowithstandvibrationandshockwithoutriskofdetachment.Althoughhelpfulforlongerlife,theunit

    doesntneedtobeshockproofedasitsdesignedtowithstandstandardautomotiveG-forces.

    Thesensorisweatherproofedtowithstandwind,rainandotheradverseweatherconditions.Thespinningofthesensorhelpsitshedexcess

    waterfromthefrontwindowthatcouldhamperperformance.

    Front/Back Mounting

    [152.4mm

    ]6.00

    TwoM8-1.25mmx12mmdeepmountingpoints. (Twoperside,foratotalof8.)

    [203.2mm]

    8.00[21mm]

    .83

    [25.4mm]

    1.00 Mounting

    Base

    Figure2.FrontandbackHDLmountingillustration.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    7/43

    INS

    [ 4]

    TALLATION OVERVIEW HDL-64E S2 and S2.1 Users Manual

    Side Mounting

    Mounting

    Base

    [152.4mm]

    6.00

    [21mm]

    .83[25.4mm]

    1.00

    [203.2mm]

    8.00

    Figure3.SideHDLmountingillustration.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    8/43

    INSTALLATION OVERVIEW HDL-64E

    [ 5]

    S2 and S2.1 Users Manual

    Top Mounting

    Four 0.41 [10.3mm] throughholes for top mount option tosecuretheHDLtothevehicle.

    [33.8mm]

    1.33

    [177.8mm]7.00

    [177.8mm]

    7.00

    [12.7mm]

    .50 [12.7mm].50

    Figure4.TopHDLmountingillustration.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    9/43

    INS

    [ 6]

    TALLATION OVERVIEW HDL-64E S2 and S2.1 Users Manual

    Wiring

    Thesensorcomeswithapre-wiredconnector,wiredwithpower,DB9serialandstandardRJ45Ethernetconnectors.Theconnectorwiresare

    approximately10[3meters]inlength.

    Power.Connecttheredandblackwirestovehiclepower.Besureredispositivepolarity.THESENSORISRATEDONLYFOR12-16

    VOLTS.Anyvoltageappliedover16voltscoulddamagethesensor.Thesensordraws4-6AMPSduringnormalusage.

    Thesensordoesnthaveapowerswitch.Itspinswheneverpowerisapplied.

    LockoutCircuit.Thesensorhasalockoutcircuitthatpreventsitslasersfromfiringuntilitachievesapproximately300RPMs.

    Ethernet.ThisstandardEthernetconnectorisdesignedtoconnecttoastandardPC.

    ThesensorisonlycompatiblewithnetworkcardsthathaveeitherMDIorAUTOMDIXcapability.

    SerialInterfaceRS-232DB9.Thisstandardconnectorallowsforafirmwareupdatetobeappliedtothesensor.Velodynemayrelease

    firmwareupdatesfromtimetotime.ItalsoacceptscommandstochangetheRPMoftheunit,controlHFOV,changetheunitsIPaddress,andotherfunctionsdescribedlaterinthismanual.

    WiringDiagram.Ifyouneedtowireyourownconnectorforyourinstallation,refertothewiringdiagraminAppendixB.

    USAGEThesensorneedsnoconfiguration,calibration,orothersetuptobeginproducingusabledata.Oncetheunitismountedandwired,supplying

    itpowercausesittostartscanningandproducingdatapackets.

    Use the Included Point-cloudViewer

    ThequickestwaytoviewthedatacollectedasanimageistousetheincludedDigitalSensorRecorder(DSR).DSRisVelodynespoint-cloudprocessingdataviewersoftware.DSRreadsinthepacketsfromthesensoroverEthernet,performsthenecessarycalculationstodetermine

    pointlocationsandthenplotsthepointsin3DonyourPCmonitor.YoucanobservebothdistanceandintensitydatathroughDSR. Ifyou

    haveneverusedthesensorbefore,thisistherecommendedstartingpoint.FormoreoninstallingandusingDSR,seeAppendixC.

    Develop Your Own Application-specificPoint-cloudViewer

    Manyuserselecttodeveloptheirownapplication-specificpointcloudtrackingandplottingand/orstoragescheme,whichrequiresthese

    fundamentalsteps:

    1.Establishcommunicationwiththesensor.

    2.Createacalibrationtableeitherfromthecalibrationdataincludedin-streamfromthesensororfromtheincludeddb.xmldatafile.

    3.Parsethepacketsforrotation,block,distanceandintensitydata

    4.Applythecalibrationfactorstothedata.5.Plotorstorethedataasneeded.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    10/43

    [ 7]

    USAGE HDL-64E S2 and S2.1 Users Manual

    Thefollowingprovidesmoredetailoneachoftheabovesteps.

    1.Establishcommunicationwiththesensor.

    ThesensorbroadcastsUDPpackets.Byusinganetworkmonitoringtool,suchasWireshark,youcancaptureandobservethe

    packetsastheyaregeneratedbythesensor.SeeAppendixEfortheUDPpacketformat.ThedefaultsourceIPaddressforthe

    sensoris192.168.3.043,andthedestinationIPaddressis192.168.3.255.TochangetheseIPaddresses,seepage11.

    2.Createaninternalcalibrationtableeitherfromthecalibrationdataincludedin-streamfromthesensororfromtheincluded

    db.xmldatafile.

    Thistablemustbebuiltandstoredinternaltothepoint-cloudprocessingsoftware.Theeasiestandmostreliablewaytobuildthe

    calibrationtableisbyreadingthecalibrationdatadirectlyfromtheUDPdatapackets.AMatLabexampleofreadingandbuilding

    suchatablecanbefoundinAppendixDandontheCDincludedwiththesensornamedCALTABLEBUILD.m.

    Alternatively, the calibration datacanbe found in the included db.xml file foundon theCD includedwith thesensor.Adescriptionof the

    calibrationdataisshowninthefollowingtable.

    db.xml Calibration Parameters

    Parameter Unit Description Values

    rotCorrection degree Therotationalcorrectionangleforeachlaser,asviewedfromthebackoftheunit.

    Positivefactorsrotatetotheleft.

    Negativevaluesrotateto

    theright.

    vertCorrection degree Theverticalcorrectionangleforeachlaser,asviewedfromthebackoftheunit.

    Positivevalueshavethelaser

    pointingup.

    Negativevalueshavethelaser

    pointingdown.

    distCorrection cm Fardistancecorrectionofeachlaserdistanceduetominorlaserpartsvariances.

    Adddirectlytothedistancevalue

    readinthepacket.

    distCorrectionX cm ClosedistancecorrectioninXofeachlaserdueto

    minorlaserpartsvariancesinterpolatedwithfardistancecorrectionthenappliedtomeasurementinX.

    distCorrectionY cm ClosedistancecorrectioninYofeachlaserduetominorlaserpartsvariancesinterpolatedwithfar

    distancecorrectionthenappliedtomeasurementinY.

    vertOffsetCorrection cm Theheightofeachlaserasmeasuredfromthebottomofthebase.

    Onefixedvalueforallupper

    blocklasers.

    Anotherfixedvalueforalllower

    blocklasers.

    horizOffsetCorrection cm Thehorizontaloffsetofeachlaserasviewedfromthebackofthelaser.

    Fixedpositiveornegativevalue

    foralllasers.

    MaximumIntensity Valuefrom0to255.Usually255.

    MinimumIntensity Valuefrom0to255.Usually0.

    FocalDistance Maximumintensitydistance.

    FocalSlope Thecontrolintensityamount.

    Thecalibrationtable,onceassembled,contains64instancesofthecalibrationvaluesshowninthetableabovetointerpretthepacketdatato

    calculateeachpointspositionin3Dspace.Usethefirst32pointsfortheupperblockandthesecond32pointsforthelowerblock.The

    rotationalinfofoundinthepacketheaderisusedtodeterminethepacketspositionwithrespecttothe360horizontalfieldofview.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    11/43

    [ 8]

    USAGE HDL-64E S2 and S2.1 Users Manual

    3.Parsethepacketsfor rotation,block,distanceandintensitydata. EachsensorsLIFOdatapackethasa1206bytepayloadconsisting

    of12blocksof100bytefiringdatafollowedby6bytesofcalibrationandotherinformationpertainingtothesensor.

    Each100byterecordcontainsablockidentifier,thenarotationalvaluefollowedby323-bytecombinationsthatreportoneachlaserfired

    fortheblock.Twobytesreportdistancetothenearest0.2cm,andtheremainingbytereportsintensityonascaleof0-255.12100byte

    recordsexist,therefore,6recordsexistforeachblockineachpacket.Formoreonpacketconstruction,seeAppendixE.

    4.Applythecalibrationfactorstothedata.Eachofthesensorslasersisfixedwithrespecttoverticalangleandoffsettotherotational

    indexdataprovidedineachpacket.Foreachdatapointissuedbythesensor,rotationalandhorizontalcorrectionfactorsmustbeappliedto

    determinethepointslocationin3Dspacereferredtobythereturn.Intensityanddistanceoffsetsmustalsobeapplied.Eachsensorcomes

    fromVelodynesfactorycalibratedusingadual-pointcalibrationmethodology,explainedfurtherinAppendixF.

    Theminimumreturndistanceforthesensorisapproximately3feet(0.9meters).Ignorereturnscloserthanthis.

    AfileontheCDcalledHDLSourceExampleshowsthecalculationsusingtheabovecorrectionfactors.ThisDSRusesthiscodeto

    determine3Dlocationsofsensordatapoints.

    5.Plotor storethedataasneeded. ForDSR,thepoint-clouddata,oncedetermined,isplottedonscreen.Thesourcetodothiscanbe

    foundontheCDandisentitledHDLPlottingExample.DSRusesOpenGLtodoitsplotting.

    Youmayalsowanttostorethedata.Ifso,itmaybeusefultotimestampthedatasoitcanbereferencedandcoordinatedwithothersensor

    datalater.ThesensorhasthecapabilitytosynchronizeitsdatawithGPSprecisiontime.Formoreinthiscapability,seepage11.

    Change Run-TimeParameters

    Thesensorhasseveralrun-timeparametersthatcanbechangedusingtheRS-232serialport.Forallcommands,usethefollowing

    serialparameters:

    Baud9600Parity:None

    Databits:8

    Stopbits:1

    Allserialcommands,exceptoneversionofthespinratecommand,storedatainthesensorsflashmemory.Datastoredinflashmemory

    throughserialcommandsisretainedduringfirmwareupdatesorpowercycles.

    Thesensorhasnoechobackfeature,sonoserialdataisreturnedfromthesensor.Commandscanbesentusingaterminalprogramorby

    usingbatchfiles(e.g..bat).Asample.batfileisshownbelow.

    SampleBatchFile(.bat)MODE COM3: 9600,N,8,1 COPY SERCMD.txt COM3 Pause

    SampleSERCMD.txtfile

    Thiscommandsetsthespinrateto300RPMandstoresthenewvalueintheunitsflashmemory.

    #HDLRPM0300$

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    12/43

    [ 9]

    USAGE HDL-64E S2 and S2.1 Users Manual

    Availablecommands

    Thefollowingrun-timecommandsareavailablewiththesensor:

    Command Description Parameters

    #HDLRPMnnnn$ Setspinratefrom300to1200RPM

    nflashmemory(defaultis600RPM)

    nnnnisanintegerbetween0300and1200

    #HDLRPNnnnn$ Setspinratefrom300to1200RPM

    inRAM(defaultis600RPM)

    nnnnisanintegerbetween0300and1200

    #HDLIPAssssssssssssdddddddddddd$ Changesourceand/ordestination

    IPaddress

    ssssssssssssisthesource12-digitIPaddress

    ddddddddddddisthedestination12-digit

    IPaddress

    #HDLFOVsssnnn$ ChangehorizontalFieldofView(HFOV) sss=startingangleindegrees;sssisaninteger

    between000and360

    nnn=endingangleindegrees;nnnisan

    integerbetween000and360

    Youcanalsouploadcalibrationdatafromdb.xmlintoflashmemoryanduseGPStimesynchronization.

    .

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    13/43

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    14/43

    [ 11]

    USAGE HDL-64E S2 and S2.1 Users Manual

    DefineSensor Memory IPSource and DestinationAddresses

    TheHDL-64EcomeswiththefollowingdefaultIPaddresses:

    Source:192.168.3.043

    Destination:192.168.3.255

    TochangeeitheroftheaboveIPaddresses,issueaserialcommandofthecasesensitiveformat#HDLIPAssssssssssssdddddddddddd$

    where,

    ssssssssssssisthesource12-digitIPaddress

    ddddddddddddisthedestination12-digitIPaddress

    Useall12digitstosetanIPaddress.Use0(zeros)whereadigitwouldbeabsent.Forexample,192168003043isthecorrectsyntaxforIP

    address192.168.3.43.

    TheunitmustbepowercycledtoadoptthenewIPaddresses.

    Upload CalibrationData

    Sensorsusethedb.xmlfileexclusivelyforcalibrationdata.Thecalibrationdatafoundindb.xmlcanbeuploadedandsavedtotheunits

    flashmemorybyfollowingthestepsoutlinedbelow.

    1.LocatethefilesHDLCAL.bat,loadcal.exe,anddb.xmlontheCDandcopythemtothesamedirectoryonyourPC

    connectedtothesensor.

    2.EditHDLCAL.battoensurethecopycommandliststherightCOMportforRS-232communicationwiththesensor.

    3.RunHDLCAL.batandensuresuccessfulcompletion.

    4.Thesensorreceivedandsavedthecalibrationdata.

    Toverifysuccessfulloadofthecalibrationdata,ensurethedateandtimeoftheuploadhavebeenupdated. RefertoAppendixEforwherein

    thedatapacketsthisdatacanbelocated.

    ExternalGPS Time Synchronization

    ThesensorcansynchronizeitsdatawithprecisionGPS-suppliedtimepulsessoyoucanascertaintheexactfiringtimeofeachlaserinany

    particularpacket.Thefiringtimeofthefirstlaserinaparticularpacketisreportedintheformofmicrosecondssincethetopofthehour,and

    fromthattimeeachsubsequentlasersfiringtimecanbederivedviathetablepublishedinAppendixHandincludedontheCD.

    CalculatingtheexactfiringtimerequiresaGPSreceivergeneratingasyncpulseandthe$GPRMCNMEArecordoveradedicatedRS-232

    serialport.TheoutputfromtheGPSreceiverisconnectedtoanexternalGPSadaptorboxsuppliedbyVelodynethatconditionsthesignal

    andpassesittothesensor.TheGPSreceivercaneitherbesuppliedbyVelodyneorthecustomercanadapttheirGPSreceivertoprovide

    therequiredsyncpulseandNMEArecord.

    GPSReceiverOption1:VelodyneSuppliedGPSReceiver

    Velodyneprovidesanoptionalpre-programmedGPSreceiver(HDL-64-GPS)Thisreceiverispre-wiredwithanRS-232connectorthat

    plugsintotheGPSadapterbox.Toobtainapre-programmedGPSreceiver,contactVelodynesalesorservice.

    GPSReceiverOption2:CustomerSuppliedGPSReceiver

    YoucansupplyandconfigureyourownGPSdevice.IfusingyourownGPSdevice:

    Issueaonce-a-secondsynchronizationpulse,typicallyoutputoveradedicatedwire.

    ConfigureanavailableRS-232serialporttoissueaonce-a-second$GPRMCNMEArecord.Nootheroutputcanbeaccepted

    fromtheGPSdevice.

    IssuethesyncpulseandNMEArecordsequentially.

    Thesyncpulselengthisnotcritical(typicallengthsarebetween20msand200ms)

    Startthe$GPRMCrecordbetween50msand500msaftertheendofthesyncpulse.

    Configurethe$GPRMCrecordeitherinthehhmmssorhhmmss.sformat.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    15/43

    USAGE HDL-64E S2 and S2.1 User s Manual

    TheimagesbelowshowtheGPSadaptorbox,includedwiththeHDL-64E,andoptionalGPSreceiver.

    GPS EQUIPMENT

    GPS Adaptor Box

    Model No.

    HDL-64-ADAPT

    (Included)

    GPS Receiver

    Model No.

    HDL-64-GPS

    (Optional)

    GPS Adaptor Box Front & Back View

    DB-9 F

    Connect toHost

    ComputerSerial Port

    DB-9 M

    Connect to Interface

    Cable from

    HDL-64E Unit

    # COLOR SIGNAL NAME

    1 Red +12V DC Power

    2 Black Power Ground

    3 Yellow 1 PPS (positive edge only)

    4 Red Vin (+5V)

    5 Black Ground

    6 White Transmit Data

    7 Brown Ground (Drain Wire)

    8 Green Receive Data

    [12]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    16/43

    USAGE HDL-64E S2 and S2.1 Users Manual

    [13]

    Packet Format and Status Byte for GPS Time Stamping

    The6bytesattheendofthedatapacketreportGPStimingandsynchronizationdata.Foreverypacket,thelast6bytesareformatted

    asfollows:

    TimestampBytesinReverseOrderinMicroseconds

    Bytes Description Notes

    4 GPStimestamp 32bitunsignedintegertimestamp.Thisvaluerepresentsmicrosecondsfromthetop

    ofthehourtothefirstlaserfiringinthepacket.

    1 StatusType 8bitASCIIstatuscharacterasdescribedinAppendixE.Thestatusbyterotates

    throughmanykindsofsensorinformation.

    1 StatusValue 8bitdataasdescribedinAppendixE.

    WithintheGPSstatusbyte,thereare4GPSstatusindicators:

    0:noGPSconnection.

    A:bothPPSandGPScommandhavesignal.

    V:onlyGPScommandsignal,noPPS.

    P:onlyPPSsignal,noGPStimecommand.

    Time StampingAccuracy Rules

    ThefollowingrulesandsubsequentaccuracyapplyforGPStimestamps:

    GPSConnection TimestampInfo Accuracy Notes

    GPSisntconnected

    (GPSStatus0)

    Thesensorstartsrunningon

    itsownclockstartingatmidnight

    Jan12000.Thisdateandtimedata

    isreflectedintheH,M,S,D,N,

    andYdatavalues.

    Expectadriftofabout5

    seconds/day

    Thesensorclockdoesnotcorrect

    forleapyears.SeeAppendixEfor

    moreinformation.

    GPSisconnected TheH,M,S,D,N,andYdatavaluesareobtainedfromthe$GPRMC

    NMEArecord.

    GPStimesynchingrunsinoneoftwomodes:

    TheGPShasaninternalclock

    thatrunsforseveralweeksthat

    isusedfirst.Theaccuracyisthat

    oftheGPSdeviceemployed.

    WhentheGPSachieveslock,

    thesensorclockisthenwithin

    +/-50jsofthecorrecttimeat

    alltimes.

    GPSisdisconnected

    afterbeingconnected

    Thesensorcontinuestorunon

    itsownclock.

    Expectdriftofabout5seconds/day

    Laser Firing Sequence and Timing

    IftheGPStimestampfeatureisused,itcanbeusefultodeterminetheexactfiringtimeforeachlasersoastoproperlytime-alignthesensor

    pointcloudwithotherdatasources.

    Theupperblockandlowerblockcollectdistancepointssimultaneously,witheachblockissuingonelaserpulseatatime.Thatis,eachupper

    blocklaserfiresinsequenceandinunisonwithalaserfromthelowerblock.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    17/43

    USAGE HDL-64E S2 and S2.1 Users Manual

    Lasersarenumberedsequentiallystartingwith0forthefirstlowerblocklaserto31forthelastlowerblocklaser;and32forthefirstupperblocklaser

    to63forthelastupperblocklaser.Forexample,laser32firessimultaneouslywithlaser0,laser33fireswithlaser1,andsoon.

    Thesensorhasanequalnumberofupperandlowerblockreturns.Hence,wheninterpretingthedelaytable,eachsequentialpairofdatablocks

    representstheupperandlowerblockrespectively.EachupperandlowerblockdatapairintheEthernetpackethasthesamedelayvalue.

    Thefirstfiringofalaserpairoccurs419.3psaftertheissuanceofthefirecommand.Sixfiringsofeachblocktakes139psandthenthecollected

    dataistransmitted.Ittakes100pstotransmittheentire1248byteEthernetpacket.Thisisequalto12.48Bytes/psand

    0.080128ps/Byte.SeeAppendixEformoreinformation.

    Atimingtable,showninAppendixG,showshowmuchtimeelapsesbetweentheactualcapturingofadistancepointandwhenthatpointisoutput

    fromthedevice.ByregisteringtheeventoftheEthernetdatacapture,youcancalculatebackintimetheexacttimeatwhichanyparticulardistance

    pointwascaptured.

    FIRMWARE UPDATEFromtimetotimeVelodyneissuesfirmwareupdates.Toupdatethesensorsfirmware:

    1.ObtaintheupdatefilefromVelodyne.

    2.ConnectthewiringharnessRS-232cabletoastandardWindowscompatiblePCorlaptopserialport.

    3.Powerupthesensor.

    4.Executetheupdatefile;thescreenbelowappears.

    Figure5.HDLsoftwareupdatescreencapture.

    5.SelecttheappropriateCOMport.

    6. ClickUpdate.

    7.Thefirmwareisuploadedandchecksummedbeforeitisappliedtotheflashmemoryinsidethesensor.Ifthechecksumiscorrupted,no

    updateoccurs.Thisprotectsthesensorintheeventofpowerordatalossduringtheupdate.

    Iftheupdateissuccessful,thesensorbeginstospindownforafewsecondsandthenpowersbackupwiththenewfirmware

    running.

    Iftheupdateisnotsuccessful,trytheupdateseveraltimesbeforeseekingassistancefromVelodyne.

    [14]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    18/43

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    19/43

    APPENDIX B: WIRING DIAGRAM HDL-64E S2 and S2.1 Users ManuaI

    Hartin

    gTec

    hno

    logy

    Group

    Me

    tal

    Vers

    ion

    ,Stan

    dard

    Stra

    ightStyle

    Mo

    de

    lNo

    .10

    -12

    -005

    -2001

    [16]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    20/43

    APPEND

    [17]

    IX C: DIGITAL SENSOR RECORDER (DSR) HDL-64E S2 and S2.I Users Manual

    DigitalSensorRecorder(DSR)DigitalSensorRecorder(DSR)

    DSRisa3Dpoint-cloudvisualizationsoftwareprogramdesignedforusewiththesensor.Thissoftwareisanoutoftheboxtoolforthe

    renderingandrecordingofpointclouddatafromtheHDLunit.

    DSRisa3Dpoint-cloudvisualizationsoftwareprogramdesignedforusewiththesensor.Thissoftwareisanoutoftheboxtoolforthe

    renderingandrecordingofpointclouddatafromtheHDLunit.

    YoucandevelopvisualizationsoftwareusingtheDSRasareferenceplatform.AcodesnippetisprovidedontheCDtoaidinunderstanding

    themethodsatwhichDSRparsesthedatapointsgeneratedbytheHDLsensor. Seepage20formoreinformation.

    YoucandevelopvisualizationsoftwareusingtheDSRasareferenceplatform.AcodesnippetisprovidedontheCDtoaidinunderstanding

    themethodsatwhichDSRparsesthedatapointsgeneratedbytheHDLsensor. Seepage20formoreinformation.

    InstallInstall

    ToinstalltheDSRonyourcomputer:ToinstalltheDSRonyourcomputer:

    1.LocatetheDSRexecutableprogramontheprovidedCD.1.LocatetheDSRexecutableprogramontheprovidedCD.

    2.Double-clickthisDSRexecutablefiletobegintheinstallationontoacomputerconnectedtothesensor.Werecommendthatyouuse

    thedefaultsettingsduringtheinstallation.

    2.Double-clickthisDSRexecutablefiletobegintheinstallationontoacomputerconnectedtothesensor.Werecommendthatyouuse

    thedefaultsettingsduringtheinstallation.

    3.Copythedb.xmlfilesuppliedwiththesensorintothesamedirectoryastheDSRexecutable(defaultstoc:\programfiles\Digital3.Copythedb.xmlfilesuppliedwiththesensorintothesamedirectoryastheDSRexecutable(defaultstoc:\programfiles\Digital

    SensorRecorder).Youmaywanttorenametheexistingdefaultdb.xmlthatcomeswiththeDSRinstall.SensorRecorder).Youmaywanttorenametheexistingdefaultdb.xmlthatcomeswiththeDSRinstall.

    Failuretousethecalibrationdb.xmlfilesuppliedwithyoursensorwillresultinaninaccuratepointcloudrenderinginDSR.

    Calibrate

    Thedb.xmlfileprovidedwiththesensorcontainscorrectionfactorsfortheproperalignmentofthepointcloudinformationgatheredforeach

    laser.Whenimplementedproperly,theimageviewablefromtheDSRiscalibratedtoprovideanaccuratevisualrepresentationofthe

    environmentinwhichthesensorisbeingused.Alsousethesecalibrationfactorsandequationsinanyprogramusingthedatageneratedby

    theunit.

    LivePlayback

    Forliveplayback:

    1.Secureandpowerupthesensorsothatitisspinning.

    2.ConnecttheRJ45Ethernetconnectortoyourhostcomputersnetworkconnection.YoumaywishtouseautoDNSsettingsforyourcomputersnetworkconfiguration.

    3.OpenDSRfromyourdesktopiconcreatedduringtheinstallation.

    =DSRdesktopicon

    4.SelectOptionsfromthemenu.

    5.Selecttheproperinputdevice.

    6.GotoOptionsagain.

    7.DeselecttheShowGroundPlaneoption.(Leavethisfeatureoffforthetimebeingoruntilthegroundplane

    hasbeenproperlyadjusted).

    8.(Optional)GotoOptions>Properties tochangetheindividualsettingsforeachLASERchannel.9.Providedthatyourcomputerisnowreceivingdatapackets,clicktheRefreshbuttontostartliveviewingofapointcloud.Theinitialimage

    isofadirectlyoverheadperspective.Seepage19formouseandkeycommandsusedtomanipulatethe3Dimagewithintheviewer.

    REFRESHbutton=

    The image can be manipulated in all directions and become disorienting. If you lose perspective, simply press F1 to return to the

    originalview.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    21/43

    APPEND

    [18]

    IX C: DIGITAL SENSOR RECORDER (DSR) HDL-64E S2 and S2.I Users Manual

    RecordData

    1.Confirmtheinputofstreamingdatathroughtheliveplaybackfeature.

    2.ClicktheRecordbutton.

    RECORDbutton=

    5.Enterthenameandlocationforthepcapfiletobecreated.

    6.Recordingbeginsimmediatelyoncethefileinformationhasbeenentered.

    7.ClickRecordagaintodiscontinuethecapture.

    8.StringmultiplerecordingstogetheronthesamefilebyperformingtheRecordfunctionrepeatedly.Anewfilenameisnt

    requesteduntilafterthesessionhasbeenaborted.

    AnEthernetcaptureutility,suchasWireshark,canalsobeusedasapcapcaptureutility.

    PlaybackofRecordedFiles

    1.UsetheFile>Opencommandtoopenapreviouslycapturedpcapfileforplayback.TheDSRplaybackcontrolsaresimilar

    toanyDVD/VCRcontrolfeatures.

    2.PressthePlaybuttontorenderthefile.ThePlaybuttontogglestoaPausebuttonwheninplaybackmode.

    PLAYbutton= PAUSEbutton=

    UsetheForwardandReversebuttonstochangethedirectionofplayback..

    FORWARDbutton= REVERSEbutton=

    TheX,Y,Zanddistancefiguresatthebottomoftheimagerepresentthedistanceofthex,y,zcrosshairswithrespecttotheoriginpoint

    indicatedbythesmallwhitecircle.Theconcentricgraycirclesandgridlinesrepresent10meterincrementsfromthesensor.Followingisan

    exampleimageofthecalibrationvaluesasseeninDSR>File>Propertiesscreen.ValuesaredifferentthanthoseonyourCD..

    Figure6.CalibrationvaluesasseeninDSR/File/Properties

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    22/43

    APPEND

    [19]

    IX C: DIGITAL SENSOR RECORDER (DSR) HDL-64E S2 and S2.I Users Manual

    DSR Key Controls

    Zoom:Z=ZoominShift,Z=Zoomout

    ZAxisRotation:Y=RotateCWShift,Y=RotateCCW

    XAxisRotation:P=RotateCWShift,P=RotateCCW

    YAxisRotation: R=RotateCWShift,R=RotateCCW

    ZShift:F=ForwardB=Back

    XShift:L=LeftH=Right

    YShift:U=UpD=Down

    Aux.Functions:Ctrl,(Z,Y,P,R,F,B,L,H,U,D) Direction=FineMovement

    Alt,(Z,Y,P,R,F,B,L,H,U,D)Direction=VeryFineMovement

    DSR Mouse Controls

    Rotational:LeftButton/Move

    Slide:RightButton/Move

    Zoom:Scrollforward=ZoomIn

    Scrollbackward=ZoomOut

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    23/43

    APPENDIX D: MATLAB SAMPLE CODE HDL-64E S2 and S2.I Users Manual

    [20]

    MatlabsamplecodetoreadcalibrationdatafromHDL-64Eoutput.

    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*(i_1)+32:Ind(1)+64*(i_1)+32+7));

    temp2=single(value(Ind(1)+64*(i_1)+48:Ind(1)+64*(i_1)+48+7));

    temp3=single(value(Ind(1)+64*(i_1)+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 Diving by 100.

    VerticalCorr(i)=VerticalCorr(i)/100;

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    24/43

    APPENDIX D: MATLAB SAMPLE CODE HDL-64E S2 and S2.I Users Manual

    % 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 Diving 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 Diving 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

    FocalDist(i)=FocalDist(i)65536;

    endFocalDist(i)=FocalDist(i)/10;

    FocalSlope(i)=temp2(5)*256+temp2(4);

    if FocalSlope(i)>32768

    FocalSlope(i)=FocalSlope(i)65536;

    end

    FocalSlope(i)=FocalSlope(i)/10;

    % Maximum and Minimum Intensity only 1 Byte each.

    MinIntensity(i)=temp2(6);

    MaxIntensity(i)=temp2(7);

    End

    % Done with correction factors.

    % Get Unit Parameter Data

    s=Ind(1)

    char(status(s80:s+6))

    value(s80:s+6)

    [21]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    25/43

    APPENDIX D: MATLAB SAMPLE CODE HDL-64E S2 and S2.I Users Manual

    [22]

    Version=dec2hex(value(s-1))

    .emperature=value(s-2)

    GPS=value(s-3)

    speed=single(value(s-48))+single(value(s-47))*256

    Fov_start=single(value(s-46))+single(value(s-45))*256

    Fov_end=single(value(s-44))+single(value(s-43))*256

    warning=value(s-13)

    power=value(s-12)

    Humidity=value(s-58)

    % Done with Unit Parameters.

    ReadingCalibrationandSensorParameterData

    LaserID#isa1byteinteger.Mostoftheoutputcalibrationdataare2bytesignedintegers,exceptminimumandmaximumintensity,which

    use1byteeach.SeeAppendixEformoreinformation.

    StatusType ASCIIValueInterpretationandScalingVerticalcorrection Divideby100formm

    Rotationalanglecorrection Divideby100formm

    Distancefarcorrection mm

    DistancecorrectionX mm

    DistancecorrectionY mm

    Verticaloffsetcorrection mm

    Horizontaloffsetcorrection mm

    Focaldistance mm

    Focalslope Divideby10toscale

    Minimumintensity Noscaling

    Maximumintensity Noscaling

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    26/43

    [23]

    APPENDIX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users Manual

    DataPacketFormat

    ThesensoroutputsUDPEthernetpackets.Eachpacketcontainsaheader,adatapayloadoffiringdataandstatusdata.Datapacketsare

    assembledwiththecollectionofallfiringdataforsixupperblocksequencesandsixlowerblocksequences.Theupperblocklaserdistance

    andintensitydataiscollectedfirstfollowedbythelowerblocklaserdata.Thedatapacketisthencombinedwithstatusandheaderdata

    inaUDPpackettransmittedoverEthernet.The firing data is assembled into the packets in the firing order, with multi-byte values transmittedleast significant byte first.

    ThestatusdataalwayscontainsaGPS4bytetimestamprepresentingmicrosecondsfromthetopofthehour.Inaddition,thestatus

    datacontainsonetypeofdata.Theotherstatusdatarotatesthroughasequenceofdifferentpiecesofinformation.Seedatagramon

    thenextpage.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    27/43

    APPEND

    [24]

    IX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users Manual

    Firmwareversion4.07(sheetIof3)

    47 Version4.07

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    28/43

    [25]

    APPENDIX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users Manual

    Firmwareversion4.07(sheet2of3)

    Reserved*

    Reserved*

    Reserved*

    Reserved*

    Reserved*

    Reserved*

    UpperBlockThreshold FE

    LowerBlockThreshold FF

    *ForLaser63,thesebyteswillcontainthetimestamprepresentingwhenthecalibrationdatawasuploadedinthefollowingsequence: *Year*Month*Day*Hour

    *Min*Sec.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    29/43

    [26]

    APPENDIX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users Manual

    Firmwareversion4.07(sheet3of3)

    Threshold

    Both=2Strongest=0

    Last=I

    A8

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    30/43

    [27]

    APPENDIX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users ManualLast SixBytes Examples

    Examplesofthelastrow of11consecutivepacketsfollows.Inallcases,theseconds figurerepresentstheoriginofthepacket

    expressedinsecondssincethetop ofthehour.

    PACKET#7648:

    PACKET#7649:

    PACKET#7650:

    PACKET#7651:

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    31/43

    [28]

    APPENDIX E: DATA PACKET FORMAT HDL-64E S2 and S2.1 Users ManualPACKET#7652:

    PACKET#7653:

    PACKET#7654:

    PACKET#7655:

    PACKET#7656:

    47

    40 = Ver 4.07

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    32/43

    APPENDIX E: DATA PACKET FORMAT

    [29]

    HDL-64E S2 and S2.1 Users Manual

    PACKET#7657:

    Not used(Spare)

    PACKET#7658:

    Not used

    (Spare)

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    33/43

    APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY HDL-64E S2 and S2.I Users Manual

    DualTwoPointCalibrationMethodologyandCodeSamples

    Velodyneusesadualpointcalibrationmethodologytocalculatethevaluesinthedb.xmlfile.Thissectiondescribesthiscalibrationmethodology.

    Thestepsforthecalibrationareasfollows:

    1:Performfarpointcalibrationat25.04m

    2:PerformnearpointXcalibrationat2.4m

    3:PerformnearpointYcalibrationat1.93m

    4:PerformlinearinterpolationtogetdistancecorrectionforXandY(Nearerthan25.00monly)

    Theformulaforthecalibrationvalueisasfollows:

    (x - 0)Dy = Dly + (D2 - Dly)

    Dx = Dlx + (D2 - Dlx )

    (x2 - 0)

    (x - xl)(x2 - xl)

    Where:

    xl=2.4m

    x2 =25.04m

    Dlx =correctedXdistancefornearpoint

    Dly =correctedYdistancefornearpoint

    D2x =correctedXdistance for farpoint

    D2y =correctedXdistanceforfarpoint

    CoordinateCalculationAlgorithmSampleCode

    firingData::computeCoords(guintl6 laserNum, boost::shared_ptr db,

    GLpos_t &pos)

    {

    guintl6 idx = laserNum % VLS_LASER_PER_FIRING;

    boost::shared_ptr cal = db->getCalibration(laserNum);

    if (data->points[idx].distance == O) {

    coords[idx].setX(O.O);

    coords[idx].setY(O.O);

    coords[idx].setZ(O.O);return;

    }

    II Get measured distance, distancel

    float distancel = db->getDistLSB() * (float)data->points[idx].distance;

    II Corrected distance by distance calibration at 25.O4m

    float distance = distancel+ cal->getDistCorrection();

    float cosVertAngle = cal->getCosVertCorrection();

    float sinVertAngle = cal->getSinVertCorrection();

    [30]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    34/43

    APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY HDL-64E S2 and S2.I Users Manual

    float cosRotCorrection = cal->getCosRotCorrection();

    float sinRotCorrection = cal->getSinRotCorrection();

    float cosRotAngle = rotCosTable[data->position]*cosRotCorrection +

    rotSinTable[data->position]*sinRotCorrection;

    float sinRotAngle = rotSinTable[data->position]*cosRotCorrection -

    rotCosTable[data->position]*sinRotCorrection;

    float hOffsetCorr = cal->getHorizOffsetCorrection()IVLS_DIM_SCALE;

    float vOffsetCorr = cal->getVertOffsetCorrection()IVLS_DIM_SCALE;

    ; IIConvert distance to X-Y plane, formular is: xyDistance = distance * cosVertAngle

    float xyDistance = distance * cosVertAngle

    II Calculate temporal X, use absolute value.

    float xx = xyDistance * sinRotAngle - hOffsetCorr * cosRotAngle + pos.getX();

    II Calculate temporal Y, use absolute value

    float yy = xyDistance * cosRotAngle + hOffsetCorr * sinRotAngle + pos.getY();

    if (xxgetDistCorrectionX())*(xx-

    240)I(2504-240)+cal->getDistCorrectionX();

    float distanceCorrY = (cal->getDistCorrection()-cal->getDistCorrectionY())*(yy-

    l93)I(2504-l93)+cal->getDistCorrectionY(); IIfix in V2.0

    II Unit convert: cm converts to meter

    distancel I= VLS_DIM_SCALE;

    distanceCorrX I= VLS_DIM_SCALE;

    distanceCorrY I= VLS_DIM_SCALE;

    II Measured distance add distance correction in X.

    distance = distancel+distanceCorrX;

    xyDistance = distance * cosVertAngle; II Convert to X-Y plane

    II Calculate X coordinate

    coords[idx].setX(xyDistance * sinRotAngle - hOffsetCorr * cosRotAngle +

    pos.getX()IVLS_DIM_SCALE);

    II Measured distance add distance correction in Y.

    distance = distancel+distanceCorrY;

    xyDistance = distance * cosVertAngle; IIConvert to X-Y plane

    II Calculate Y coordinate

    coords[idx].setY(xyDistance * cosRotAngle + hOffsetCorr * sinRotAngle +

    pos.getY()IVLS_DIM_SCALE);

    IICalculate Z coordinate, formula is : setZ(distance * sinVertAngle +vOffsetCorr

    coords[idx].setZ(distance * sinVertAngle + vOffsetCorr +

    pos.getZ()IVLS_DIM_SCALE);

    }

    [31]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    35/43

    APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY HDL-64E S2 and S2.I Users ManualIntensityCompensationvsDistance

    Intensitycompensationisdoneinthesoftwarefordifferentchannelsbychangingaparameterinthecalibrationwindowuntilthemeasurement

    getstoauniformintensityforareferencetarget.

    focalOffset = 256 ( 1 -focalDistance )213100

    intensityVal = intensityVal + K[focalOffset - 256 (1 - distance )2 ]65535

    HereKistheslopefromthecalibrationdata.Intensitygetstoitsmaximumatthefocaldistancefordifferentchannelsandfrom

    itscalibrationdata.

    CalibrationWindow

    Thefollowingnewintensityparametershavebeenaddedinthedb.xmlcalibrationfile

    focaldistance: Atthisdistance,theintensitygoestomax.Thefocaldistanceisdifferentfromlasertolaser. Ontheupperblock,

    itaverages1500cm.Onthelowerblock,itaverages800cm.

    focalslope:Thisparametercontrolsintensitycompensation. MinandMaxIntensityareusedtoscaleandoffsetintensity.

    IntensityValueCorrectedbyDistanceCode

    for (guint i=0; igetEnabled(laser))

    continue;bool intensity =db->getlntensity(laser);

    if (!intensity: {

    glColor3fv(db->getDisplayColor(laser).rgb);

    } else {

    guchar minlntensity = 0, maxlntensity = 0;

    float intensityScale = 0;

    minlntensity = db->getMinlntensity(laser);

    maxlntensity = db->getMaxlntensity(laser);

    IIGet intensity scale

    intensityScale = (float)(maxlntensity - minlntensity);

    II Get firing i intensityguchar intensityVal = it->getPoint(i)->intensity;

    II Get firing i distance, here unit is 2mm

    float distance = it->getPoint(i)->distance;

    II Calculate offset according calibration

    float focaloffset= 256*(1-db->getFocalDistance(laser)I13100)*(1-db-

    >getFocalDistance(laser)I13100);

    II get slope from calibration

    float focalslope = db->getFocalSlope(laser);

    [32]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    36/43

    APPENDIX F: DUAL TWO POINT CALIBRATION METHODOLOGY HDL-64E S2 and S2.I Users Manual

    [33]

    II Calculate corrected intensity vs distance

    float intensityVall = intensityVal + focalslope*(abs(focaloffset_256*(l_

    distanceI65535)*(l_distanceI65535)));

    if (intensityVall < minlntensity) intensityVall=minlntensity;

    if (intensityVall > maxlntensity) intensityVall=maxlntensity;

    II Scale to new intensity scale

    float intensityColor = (float)(intensityVall _ minlntensity) I intensityScale;

    II Convert to jet color

    int rgb=(int)(intensityColor*63);

    glColor3f(rcolor[rgb], gcolor[rgb], bcolor[rgb]);

    }

    GlVertex3fv(it_>getCoord(i).xyz;

    }

    it_>operator++();

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    37/43

    [34]

    APPENDIX G: ETHERNET TRANSIT TIMING TABLE HDL-64E S2 an d S2.I Users Manual

    HDL-64EEthernetTimingTableOverview

    TheEthernetTimingTableshowshowmuchtimeelapsesbetweentheactualcapturingofapointsdataeventandwhenthatpointisan

    eventoutputfromthesensor.ByregisteringtheeventoftheEthernetdatacapture,youcancalculatebackintimetheexacttimeatwhichanyparticular

    distancepointwascaptured.Theformulaisasfollows:

    ActualEventTimestamp=(DataPacketEventOutputTimestamp) (TimingTableEventTimestamp)

    Theupperblockandlowerblockcollectdistancepointssimultaneouslywitheachblockissuingsinglelaserpulsesatatime.Thatis,eachupperblock

    laserfiresinsequenceandinunisontoacorrespondinglaserfromthelowerblock.

    Forexample,laser32firessimultaneouslywithlaser0,laser33fireswithlaserI,andsoon.

    Thesensorhasanequalnumberofupperand lowerblock returns.This iswhywhen interpreting thedelay tableeachsequentialpairofdatablocks

    representstheupperandlowerblockrespectively,andeachupperandlowerblockpairofdatablocksintheEthernetpackethasthesamedelayvalue.

    EthernetpacketsareassembleduntiltheentireI200byteshavebeencollected,representingsixupperblocksequencesandsixlowerblocksequences.

    ThepacketisthentransmittedviaaUDPpacketoverEthernet,startingfromthelastbyteacquired.SeeasampleofthepacketformatinAppendixE.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    38/43

    [35]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    39/43

    APPENDIX H: LASER AND DETECTOR ARRANGEMENT HDL-64E S2 and S2.I Users Manual

    SENSORASSEENFROMTHEBACKOFTHEUNIT

    SENSORBEAMONTHEWALLASSEENONCAMERAINNIGHTVISIONMODE

    [36]

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    40/43

    [37]

    APPENDIX I: ANGULAR RESOLUTION HDL-64E S2 and S2.I Users Manual

    RPM RPS(Hz)

    TotalLaserPointsperRevolution

    PointsPerLaserperRevolution

    AngularResolution(degrees)

    300

    600

    9001200

    5

    10

    1520

    266,627

    133,333

    88,88966,667

    4167

    2083

    13891042

    .0864

    .1728

    .2592

    .3456

    Notes:

    Thesevaluesapplyequallytotheupperandlowerblock.

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    41/43

    TROUBLESHOOT

    [38]

    ING HDL-64E S2 and S2.I Users ManualUsethischarttotroubleshootcommonproblemswiththesensor. Usethischarttotroubleshootcommonproblemswiththesensor.

    Problem Resolution

    Unitdoesntspin Verifypowerconnectionandpolarity.

    Verifypropervoltage shouldbe16voltsdrawingabout3-4amps.

    Removebottomcoverandcheckinline10ampfuse.

    Replaceifnecessary.ModelNo.ATM-10.

    Unitspinsbutnodata VerifyEthernetwiring.

    Verifypacketoutputwithanothertool

    (e.g.EthereallWireshark).

    Noserialcommunication VerifyRS-232cableconnection.

    Unitmustbeactiveandspinningfor

    RS-232update.

    Itmaytakeseveraltriesfortheupdate

    tobeeffective.

    SERVICE AND MAINTENANCENoserviceormaintenancerequirementsorproceduresexistforthesensors.However,Velodynedoesofferapreventativemaintenance

    serviceforafee.Forservicemaintenance,pleasecontactVelodyneat(408)465-2800,oflogontoourwebsiteatwww.velodynelidar.com.

    http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/
  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    42/43

    [39]

    SPECIFICATIONS HDL-64E S2 and S2.I Users Manual

    Sensor: 64lasers/detectors360degreefieldofview(azimuth)

    0.09degreeangularresolution(azimuth)

    VerticalFieldofView:

    S2: +2-8.33@1/3degreespacing

    -8.83-24.33@1/2degreespacing

    S2.1: +2-29.5@1/2degreespacing

  • 7/31/2019 63-Hdl64es2g Hdl-64e s2 CD Hdl-64e s2 Users Manual Low Res

    43/43

    Velodyne LiDAR, Inc.345DigitalDrive

    MorganHill,CA 95037

    408.465.2800 voice

    408.779.9227 fax

    408.779.9208 servicefax

    www.velodynelidar.com

    ServiceEmail:[email protected]

    ProductEmail:[email protected]:[email protected]

    SalesEmail:[email protected]

    AllVelodyneproductsaremadeintheU.S.A.

    Specificationssubjecttochangewithoutnotice

    Othertrademarksorregisteredtrademarksarepropertyoftheirrespectiveowner.

    63HDL64E S2 Rev F DEC11

    http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/http://www.velodynelidar.com/