Lidar

From Elcano Project Wiki
Revision as of 02:35, 20 May 2019 by JosephBreithaupt (talk | contribs) (Created page with " = Scanse Sweep = The Scanse Sweep is a lidar sensor. Its head spins around multiple times per second, and collects information about its lateral surroundings. The spin spee...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Scanse Sweep

The Scanse Sweep is a lidar sensor. Its head spins around multiple times per second, and collects information about its lateral surroundings. The spin speed and sampling rate can be changed.

It sends readings over a serial connection, each of which includes the angle, distance, signal strength, and other information.

Blasé Johnson worked on the sweep in the summer of 2017. The following is from his 6/22/17 report.

Basic Sweep Obstacle Detection Algorithm

Goal

To use the readings from the sweep to determine if there is an obstacle present within a given distance in front of the trike, and to stop the trike if this is so. Sweep Operation Rotation and Speed The Sweep rotates counterclockwise. Its rotational speed can be set to any integral value between 0 Hz and 10 Hz (number of full rotations per second).

Sampling Rate

The sweep obtains readings according to a given sample rate. Three distinct sample rates can be used for the Sweep: 500 – 600 Hz 750 – 800 Hz 1000 – 1075 Hz\

Sample Data

Each reading from the Sweep contains these data:

  • A byte with sync/error bits, where the sync bit indicates whether the current reading is the first reading since the sensor last made a full rotation, one of the error bits indicates a communication error with the Lidar module, and the rest of the bits are reserved for future uses.
  • The azimuth (degree of angle with starting position), transmitted as a 16-bit fixed point number, where the 12 MSBs are the integral part and the 4 LSBs are the fractional part.
  • The distance from the nearest obstacle in centimeters, transmitted as a 16-bit integer.
  • A value representing the signal strength, transmitted as an unsigned 8-bit integer, where 0 is the lowest strength, and 255 is the highest strength.
  • A checksum, which is the remainder of the sum of the six previous bytes divided by 255.

Math

The trike will be expected to stop if an obstacle is detected within a certain distance from the front side of the vehicle, within the horizontal span of the trike. These distances are illustrated in Figure 1 as DISTANCE and WIDTH, respectively.  The grey lines in Figure 1 show the distances that will be measured by the Sweep if it detects an obstacle at the line. The formula for this distance is DISTANCE/cos(AZIMUTH) . The range of azimuths for the front side of the trike can be computed from the formula sarcsin(WIDTH/(2*DISTANCE)) and 360-arcsin(WIDTH/(2*DISTANCE)) for the right and left corners, respectively.

Process

Once the Sweep begins taking measurements, check the measurements whose azimuths lie within the boundaries of the front side of the trike. For each measurement within this range, determine if the distance from an obstacle in centimeters is equal to or less than DISTANCE/cos(AZIMUTH) . If so, stop the vehicle until a search of the measurements within the front boundary comes back negative, and a certain amount of time has passed since the last obstacle was detected.W


External Links

Scanse

-- Main.JohnsonB - 2017-11-07

  • Figure 1: Distance from trike to detect obstacle & trike width:

<img src="%PUBURLPATH%/%WEB%/%TOPIC%/ScanseTrike.png" alt="ScanseTrike.png" width="397" height="463" />