Reach with Velodyne Puck LITE

  1. I don’t use AHRS, instead I use 200Hz ypr. 10Hz Heading comes from ERB as does NED for velocity aiding. I use the Eigen library for the math. I may use quaternions.
  2. RTK. I assume that ERB is a good position solution.
  3. I create the LAS file myself using liblas and do georeferencing directly using proj4 terms (utm, WGS84, zone, easting, northing) . One geo reference for the entire cloud. All the points are offset from that.
  4. I make sure everything is using the same kind of timestamp (microseconds for the current time in the day minus 18 leap seconds). I capture everything to separate data files (points - post cartesian conversion, ypr, erb) and align/merge everything at LAS creation time. Motion/altitude is done per rotation/per nav rate and smoothed inbetween.
  5. All processing is written in c++ and done on an Nvidia Jetson TX1 running Linux 16.04. Cuda will likely be used to speed things up when we optimize. Optimization will take place after we’re sure everything is working properly.
  6. A small c program running on the reach feeds GPS and PPS to the puck. (which is what requires the removal of the 18 leap seconds as ERB adds it but GPS time does not include it)
  7. The ground control software is written in c# and runs under Windows,

This approach may change but it was relatively simple to do and seems like a good starting point. Ultimately it may make more sense to combine PPK and SLAM the motion but so far things look pretty good as is.

Your question just made me realize that I proly don’t need to supply NED for velocity aiding if I’m not using AHRS. I’ll investigate further.

Thanks for asking.

3 Likes