hdl32e software version v2
TRANSCRIPT
HDL32E Software Version V2.0
Description of New Functionalities and Changes
December 4, 2012 (Wolfgang Juchmann)
HDL32E Version 2.0 Software Overview
New Features:
– WebServer with GUI and API
– Calibrated Reflectivity Values
– Zero Horizontal Angle Calibration
– Improved GPS and Timestamp Handling
Noticeable changes to previous Software (V1.0):
– Default IP address now 192.168.1.201 (changeable via WebServer)
– Intensity now represents 256 calibrated reflectivity values (not 11 laser powers)
- 2 -
Noticeable changes to Version 1.0
• Default IP address is now 192.168.1.201 – With the introduction of the WebServer functionality with Version 2.0, the IP addresses as well as the
Gateway and Network addresses can now be configured by the user. Therefore there is no need to ship HDL32E with different IP address, but all of them will be shipped with the default address
192.168.1.201.
• Intensity now represents 256 calibrated reflectivity values (not 11 laser powers) – As a result of better differentiation between diffuse reflectors and retro-reflectors, diffuse reflectors
are now represented with values in the range from 0-100 and retro-reflectors from 101-255.
– Depending on the users choice of color scaling, this might result in a shift of colors from what the
user is used to. Adjustment of color scaling corresponding with the definition for diffuse and retro-reflectors in Version 2.0 will help with better differentiation for the reported calibration values.
- 3 -
WebServer with GUI and API – The HDL32E now contains a WebServer that allows the user to monitor configuration
parameters, choose network settings, control rotational speed and upload new firmware and/or calibration files
– The WebServer can be accessed by a GUI using Internet Explorer (other browsers are mostly compatible but have small issues with the live update portion of the GUI) or by issuing “JSON” commands and receiving “XML” style returns via a computer
- 5 -
– JSON Commands: • http://<hdl-ip-addr>/cgi/settings.json • http://<hdl-ip-addr>/cgi/status.json • http://<hdl-ip-addr>/cgi/info.json • http://<hdl-ip-addr>/cgi/diag.json
with default <hdl-ip-addr> = 192.168.1.201
How to use WebServer • Plug Ethernet cable into Host Computer
• Disable all other Internet / Ethernet / Wireless connections
• Plug GPS into HDL32E adapter box (optional)
• Plug Power into HDL32E adapter box
– after 5-8 seconds the HDL32E should start spinning
• Open Internet Explorer browser
– other browsers might work but are not supported at this time
• Type in IP address of HDL32E sensor:
– Default: http://192.168.1.201
• Internet Explorer will show HDL32 WebServer screens
• The “Download Snapshot” button on the Configuration Screen allows for recording
of all configuration parameters at once in a text based (xml) file.
- 6 -
Settings and Status
- 7 -
Default <hdl-ip-addr> : 192.168.1.201 Settings (settings.json) curl -s http://<hdl-ip-addr>/cgi/settings.json | python -mjson.tool !{! "laser":"On",! "rpm":600,! "host”:{! "addr":"255.255.255.255”! },! "net”{! "addr":"192.168.1.201",! "mask":"255.255.255.0",! "gateway":"192.168.1.1",! "dhcp":"Off”! }!}!
Status (status.json) curl -s http://<hdl-ip-addr>/cgi/status.json | python -mjson.tool { ! "gps":{! "position":“37 08.3192N 121 39.5432W “! },! "motor“:! "state":"On",! "rpm":742! },! "laser":{! "state":"On“! }!}!
Variable Type Descrip/on Typicial/Default Range Rules/Comments Laser Set and Read Provides power to upper board and turns lasers on/off ON ON or OFF If Laser is OFF, there will be no distance packets. RPM Set selects the approx. motor speed in rotaDons per minutes 600 0 and 300-‐1200 Allowed values: 300-‐1200 RPM. Values outside this range are truncated. SeOng
“0” will disable rotaDon and lasing. Actual RPM read value is scaled and may not equal RPM exactly. Do not set RPM’s that result in >1200 actual RPMs
Host IP Set and Read chooses/shows Host IP address of computer controlling sensor 255.255.255.255 Network Address Set and Read chooses/shows Network IP address of sensor 192.168.1.201 IP address format none
Network Mask Set and Read chooses/shows Network Mask of sensor 255.255.255.0 IP mask format none Network Gateway Set and Read chooses/shows Network Gateway of sensor 192.168.1.1 IP gateway format none Network DHCP Set and Read selects DHCP of sensor as ON or OFF OFF n/a none SET Bu`on Set acDvates the Network seOngs aaer changes Press Bu`on n/a none
SAVE Config Set saves all seOngs on this page into sensor aaer changes Press Bu`on n/a All values take effect immediately, but are not saved over power cycle unDl save config bu`on has been pressed.
Download Snapshot Read Saves all internal configuraDon parameters into HDLxxxSNxxx.hdl file Press Bu`on n/a none
Information
- 8 -
Information (info.json) curl -s http://<hdl-ip-addr>/cgi/info.json | python -mjson.tool { "model":"HDL-32E", "serial":"711024674", “mac_addr":"60-76-88-20-12-42", “image":{ "failsafe":{ "signature":2779096485, "version":17367808, "timestamp":1348862775, "data_length":293836, "data_crc":4045072806, "res1":1212435456, "res2":1343364855, "header_crc":3114870981 }, "application":{ "signature":2779096485, "version":17367808, "timestamp":1352183794, "data_length":364496, "data_crc":3862843394, "res1":1212435459, "res2":1351184552, "header_crc":3972623176 } }, "sysid":{ "bot":{ "id":1212435459, "timestamp":1351184552 }, "top":{ "id":1145588752, "timestamp":1343356599 } }, "state":{ "bot":{ "factorymode":0, "powerup":0, "runconfig":0, "wdtimer":0, "nstatus":0, "crcerr":0, "nconfig":0, "appmode":1, "wden":1, "prevaddr":0, "appaddr":16777216, "wdto":118489096 }, !
"top":{ "factorymode":0, "powerup":0, "runconfig":0, "wdtimer":0, "nstatus":0, "crcerr":0, "nconfig":0, "appmode":1, "wden":1, "prevaddr":0, "appaddr":917504, "wdto":262144008 } }, "fpgaid":{ "bot":{ "id":2, "version":17367302, "timestamp":0 }, "top":{ "id":1, "version":17302536,” timestamp":0 } }, "appid":{ "bot":{ "type":2, "version":17367808, "timestamp":1352183659 }, ”top":{ "type":1, "version":17367808, "timestamp":1348862211 } } } !
• This screen shows which Hardware and Software versions are being used in the sensor
• It also shows if the sensor has been switched from an application to a failsafe mode
• API displays software versions as numerical values that can be converted to version format
– 17367302 = 0x01090106 => 0x01 09 01 06 > 1.9.1.6
Diagnostics
- 9 -
Diagnostics (diag.json) curl -s http://<hdl-ip-addr>/cgi/diag.json | python -mjson.tool {! "volt_temp":{! "bot”:{! "i_out":3719,! "pwr_1_2v":1489,! "lm20_temp":1800,! "pwr_5v":1743,! "pwr_2_5v":3519,! "pwr_3_3v":4095,! "pwr_v_in":1785,! "pwr_1_25v":1583! },! "top":{! "hv":2657,! "ad_temp":629,! "lm20_temp":1086,! "pwr_5v":2063,! "pwr_2_5v":2049,! "pwr_3_3v":2681,! "pwr_5v_raw":2183,! "pwr_vccint":976! }! },! "vhv":363!}!
• This screen is for factory diagnostics purposes.
• Values are not calibrated and only have limited meaning
System
- 10 -
Variable Type Descrip/on Typical/Default Range Rules/Comments Model Read shows model number HDL-‐32E HDL-‐32 versions none SN Read shows unique Serial Number 711024674 9 digit number none MAC Read shows unique MAC address 60-‐76-‐88-‐20-‐12-‐42 12 digit MAC format none ConfiguraDon Set and Read selects ConfiguraDon screen white or blue when selected white,blue only one screen selected System Set and Read selects DiagnosDcs screen white or blue when selected white,blue only one screen selected Info Set and Read selects Info screen white or blue when selected white,blue only one screen selected DiagnosDcs Set and Read selects DiagnosDcs screen white or blue when selected white,blue only one screen selected Update Firmware Set allows new firmware upload yyyyy.flash n/a n/a (only upload factory recommended firmware updates) Update CalibraDon Set allows new calibraDon upload xxxxx.srec n/a n/a (careful with uploading the wrong calibraDon file) Reset System Set restarts processors to a fresh
power on state n/a n/a takes about 30 seconds
PosiDon Read shows GPS posiDon if connected 37 08.3027N 121 39.5421W n/a none
Motor Read Shows motor status ON ON or DISABLED Lasers will be disabled when rotaDons are below 200 RPM’s
RPM Read shows actual measured rotaDons per minutes
600 0 -‐ 3000 RPM actual read value does have an offset to set value, since there is no feedback loop connecDng set and read value. Do not set RPM;s that result in > 1200 RPM measured
Laser Read shows if laser is ON or DISABLED ON ON or DISABLED Laser turns OFF when measured motor speed is less than 200 RPM’s
Firmware Upload Procedure This procedure should only be performed if instructed by Velodyne to upload a new firmware version.
• Establish communication via internet explorer and the IP address
– Default: https://192.168.1.201
• For backup purposes, press Download Snapshot and save file – HDL<sensor serial number>.hdl
• Switch to Systems page
- 11 -
Firmware Upload Procedure • Click Browse and locate firmware to be uploaded
– xxxx.flash format
• Click Open and see file path in window
• Click Update and notice progress status (next slide
- 12 -
Firmware Upload Procedure • Once uploaded the following window will open
• Press Process Firmware Update
• Monitor Progress status
• Once 100% has been reached, press reset system
• Main Page will appear again after reset (next slide)
- 13 -
Firmware Upload Procedure • Press Download Snapshot to safe configuration after upload
• Change to Info screen to see new versions of software
• API displays software versions as numerical values that can be converted to version format
– 17367302 = 0x01090106 => 0x01 09 01 06 > 1.9.1.6
- 14 -
Calibrated Reflectivity Value (Version 2.0) – Version 1.0 of the HDL32E reports in the data packages the measured distance as well as a value
labeled intensity. The reported intensity value is based on one of 11 laser powers that the sensor has dynamically chosen based on best signal to noise ratio on the detector for the previous shot form that laser.
• Low reflectivity targets generate small signal and a high laser power is chosen and reported. • High reflectivity targets report a high signal and a low laser power is chosen and reported. • Therefore in V1.0 the reported laser power values are an inverse measure of the reflectivity.
– Version 2.0 of the HDL32 measures the true reflectivity of a target independent of laser power and distance with true 256bit resolution.
• Diffuse reflectors report values from 0 to 100 for 0-100% reflectivity • Retro-reflectors report values from 101 to 255 with 255 being the reported reflectivity for an ideal retro-reflector
and 101 – 254 being the reported reflectivity for partially obstructed retro-reflectors or imperfect retro-reflectors.
– The HDL32E is calibrated using commercially available reflectivity standards.
– A ~95 m test range allows for accurate calibration of reflectivity values independent of distance.
– As a result of better differentiation between diffuse reflectors and retro-reflectors, diffuse reflectors are now represented with values in the range from 0-100 and retro-reflectors from 101-255.
– Distances of < 0.5 m and from beyond the detection range are reported as zero meters.
– Depending on the users choice of color scaling, this might result in a shift of colors from what the user is used to. Adjustment of color scaling corresponding with the definition for diffuse and retro-reflectors in Version 2.0 will help with better differentiation for the reported calibration values.
– A customer reported error were retro-reflectors “plume” out and form a “cloud” or “ghost image” in front of or behind their exact location has been fixed.
- 16
-
HDL32E: Intensity Data • Intensity data output format the same as previously (8 bit, 0-255 values) • value 0 – value 100 = 0 – 100% reflectivity from diffuse surface
a) value zero means 0% reflectivity, which means that 0% of light is reflected back to the sensor (black, absorbent surface) b) value 100 means 100% reflectivity, which means that 100% of light is reflected (white, highly reflective surface) into many directions of which
a small angle is captured by the sensor
• Values higher than 100% reflectivity are possible, if the surface is not a diffuse surface but a highly reflective surface like a retro-reflector
• Anything higher than 100% is defined as a partial reflection from a high reflector • Value 101 – 255 = partial reflection from retro-reflector
c) value 101 means reflection is almost the same as white, reflective diffuse reflector (b) plus small amount of reflection from the retro-reflector d) value 255 means ideal reflection of the retro-reflector (perfectly clean retro-reflector, no coverage)
white, reflective diffuse reflector
(value 100)
black, absorbent diffuse reflector
(value 0)
a) b)
retro-reflector covered with semi-transparent white surface
(value 101) c) retro-reflector without
any coverage (value 255)
d)
- 17 -
Zero Angle Calibration (Version 2.0)
• Zero Horizontal Angle Calibration – The HDL32E provides two holes on the bottom side for precision mounting
using dowel pins. In order to reproduce unit to unit reproducibility the zero angle (for the rotational axis) is calibrated with respect to the dowel pins.
– Previously the the zero angle accuracy was limited by manufacturing and assembly tolerances of several rotational assemblies, while with Version 2.0 the zero angle is calibrated to the dowel pin holes after the assembly providing much better unit to unit repeatability.
– The target is centered to the mounting holes for dowel pins which are permanently fixed to the floor
– Several scans of laser 15 (horizontal) across the target are used to determine the center position from the edge locations
– The accuracy of the calibrated zero angle is about 0.05 degrees
– The unit to unit repeatability has additionally been increased with Version 2.0 by not coating the bottom side of the HDL32E sensor, thereby avoiding inaccuracies for mounting introduced by non-uniform coatings.
Dowel Pin hole Dowel Pin slot
Silver coating has been removed from bottom side
with version 2.0
New Features of Version 2.0
• GPS Fix – Customer had reported problems with the $GPRMC sentence related to the timing after a full second
and also with some missing characters. Both problems have been fixed in Version 2.0
• Timestamp Fix – Customers had reported problems with the timestamps “jumping” around especially after full hours.
This problem has been fixed with Version 2.0
- 20 -