How to capture and process SLAM data on the ROCK R360 LiDAR

Steps to successfully generate a SLAM point cloud with your ROCK R360

How to turn on SLAM mode

    1. Connect your device via Wi-Fi to the unit and login to the Web GUI.
    2. Scroll down on the Status page to the  "SLAM Features"  section.
      IMG_5267
    3. Switch to "On" and  wait for the device to reboot. You should hear the camera click. 
       This will automatically change the scan pattern to Non-Repetitive Circular on the R360 Scan Pattern is the same in SLAM or non-SLAM modes.
    4. Go into your device orientation settings and set the values to:
      R360: 0,0,0
    1. On the Status page, you can now name your file. This is VERY helpful for SLAM scans as the names are similar across scans. 

     

  1. How to capture SLAM data

Do not try to calibrate for SLAM against a wall, corner of a room, or flat surface.

 

  1. Turn on your device while powered by a lipo battery or other source. 
  2. Ensure SLAM mode is ON as above.
  3. Find a complex scene to calibrate on. For example, the corner of a building or any area that has multiple surfaces. The side of a building or just one wall indoors would not be a sufficient start point.  See video below for details.
    Hold the unit with the LiDAR on the bottom and camera on top. 
  4. Push the button on the unit, you should hear the camera click.
  5. Hold as still as possible for 10 seconds. 
  6. After 10 seconds, slowly sweep the laser back and forth then begin moving for your scan. 

When calibrating SLAM indoors, start the unit facing as many objects across a room as possible. Starting from the corner of a room facing the open field of view may work best. 

How to capture SLAM data



    1. Hold the R360 in a position such that it is not blocked by your body. Holding it above your head is one way to do this. 
    2. Please note that the camera will take pictures, but the data will not be colorized in SLAM mode. 

Route Planning

SLAM processing relies on the LiDAR sensor and the inertial measurement unit (IMU) to estimate the location of the sensor ("trajectory") as you move.  Creating a point cloud using SLAM processing can produce very accurate results but it is very dependent on the subject of the scan and how the operator scans the subject area.

"Drift" is your enemy with SLAM processing. Drift is when sensor movement occurs in real life, but the movement cannot be accurately determined using the data collected. During this movement mismatch between real-life and sensor data the processed trajectory (and therefore the resulting point cloud) will drift away from reality. This drift has two main causes:

1. Too little data

The most common cause of sensor drift occurs when the LiDAR sensor is pointed at a featureless object. This can happen when the laser is pointed at the sky, standing too close to and pointing directly at a flat wall, or getting into too small of a room with little or no objects. Under this situation the SLAM processing simply doesn't have enough information to detect movement accurately. 

2. Accumulation of error

There is some degree of micro-drifts that occur over time when estimating your position using SLAM. As the length of your scan increases the micro-drifts can add up.

Now that you know the two main causes for "drift", let's look at technics for Drift Mitigation.

Drift Mitigation: Dense features

Environments with multiple 3D structures and objects will help reduce the amount of drift. Keeping this in mind,  featureless deserts like plain stairwells, hallways and tunnels would not be good candidates for SLAM.

Another key is to understand the sensor you are using. The R360 will scan a 360 degree field of view. 

When using a 360 LiDAR you are much less likely to run into drift from pointing at a featureless wall (compared to directional lidar sensors like the ROCK R2A). This is because even if you get close to the edge of a room, the 360-degree field of view of the sensor allows SLAM to see and localize using features in the rest of the room.

However, when using a 360 scanner be sure the operator's body is not obstructing the scan. The sensor needs to be angled in such a way as to get a full 360 degree field of view.

Other ideas on good feature collecting:

  1. Avoid areas with symmetrical planar surfaces (e.g. a small pedestrian tunnel with blank walls).
  2. Don't point the unit directly at a wall or similar surface from close up (within 6 meters or so).
  3. Always be looking at an open area. For example, when walking down a hall just point the unit directly at the room you're coming from or going into. 
  4. Be sure all doors are open before starting your scan.

Drift Mitigation: Loop Closure

As mentioned above, drift is also caused by the accumulation of micro-errors in the estimation of the sensor's trajectory. One aspect of this type of drift that we can exploit is that it accumulates over time. This means that earlier portions of a scan will contain less accumulated drift than later parts of a scan. Therefore, if we are able to tie the same object from an earlier part of a scan to a later part of the scan we can measure the amount of accumulated drift and apply corrections to the trajectory. This is called loop closure!

As you scan an area, loop back through a previously scanned area. The smaller the loops, the less accumulated error, and the better the loop closure will do at refining the trajectory between the beginning and end of the loop. Just be sure the loop closure portion overlaps by at least 5 meters.


loop-closure

Other ideas on good Loop Closure:

  1. Break large areas into smaller sections and be sure to practice loop closure between sections.
  2. Slow down! Walk slow and methodically. This is especially the case when turning the LiDAR sensor. Keep it slow and steady.
  3. We suggest performing a loop closure every 60-120 meters to avoid drift larger than a few inches.

Finishing your Scan

To stop scanning, simply press the unit's power button just like at the start of capturing data.  Hold the unit's power button for 4 seconds to trigger the shutdown procedure. There is no end-of-scan calibration or requirement to go all the way back to the starting point. 

 

Please capture at least one minute of SLAM data to allow for processing. 

The SLAM scan will not include data within 2 meters- so give some distance between yourself and your scan area. The scan will reach out about 15-20 meters. 

    How to Process SLAM Data

    Please note:

    • You can only upload and process one SLAM data set at a time in ROCK Desktop.
    • If you need to merge multiple SLAM projects you can do that after the deliverables are processed for each project using the Merge Feature in our ROCK Cloud Business Account Subscription. 
    • Select your SLAM LiDAR Data by selecting the folder you copied from your USB and let ROCK Desktop unpack the data.



    •  Once your LiDAR has been unpacked by ROCK Desktop, select the SLAM checkbox below your sensor profile, then select the environment and capture mode and click, "NEXT" to process your SLAM trajectory.


      If you change the Capture Mode, you will receive a notice about your capture mode not matching the current capture mode.  You can either update the orientation to the ROCK default for the capture mode, or not.  Users also have the option to adjust the Start Offset and Max Duration of their dataset under the Advanced Settings options.

    Now that your SLAM trajectory has processed you can upload to the ROCK Cloud by clicking the "upload" button in the top right of your screen, or add GCPs to align your SLAM dataset.
      1. To add GCPs, select the second option down (GCP symbol) on the toolbar to the right, and click "INSERT CONTROL POINTS". 

      2. Upload your CSV of GCPs in WGS84 coordinates and select the proper WGS84 UTM Zone that corresponds to the location of your SLAM dataset.

                                                    




      3. Once your GCPs have been uploaded to ROCK Desktop, the next step will be to match up your GCPs with your SLAM LiDAR point cloud data. Follow along with our video on SLAM GCP alignment: 
      4. When your GCPs have been aligned within WGS84 and they have been matched up to the point data you can continue with processing the point cloud by clicking "NEXT" near the bottom right corner and selecting "START PROCESSING".
         
      5. Once processing has finished you will see your generated point cloud and you can upload to your ROCK Cloud account!

    GCPs USED TO ALIGN SLAM WILL NEED TO BE IN THE WGS84 COORDINATE SYSTEM


    Other Helpful Links

    Learn how to re-project SLAM data from meters to feet.

    Powering your R2A or R360 while in SLAM mode.