Lots of signal noise when using Slamtec C1 LIDAR

I’ve been trying for a number of months to get a Slamtec C1 working correctly on ArduRover.

So far it has been completely useless as there seems to be so much signal noise, that nothing useful can be done with it.

  • I’ve re-position the LIDAR unit away from other electric and electronic equipment.
  • I changed to shielded wiring
  • I changed BEC in case this introduced some interference
  • I tried different frequency settings in SHED_LOOP_RATE
  • Tried both in the sunlight and shaded areas - same result.
  • I know LIDAR unit is working fine, as in Slamtec RoboStudio the range is exactly displayed as encountered.

One thing I’ve noticed, when changing to SHED_LOOP_RATE=400 then there is sometimes a maximum range of 12m showing up. This does not appear to be the case when lower frequency rates are used.

FC is a Pixhawk 6C Mini

So obviously a signal processing issue.

Any ideas / thoughts?

It will need to be set to 400hz, because it sends a packet every degree rather than every rotation you need to read the data from the serial port at a high speed that needs 400hz loop, also some serial ports can struggle as they can’t handle high speed serial data, only use serial 1 or serial 2.

are you sure its signal noise and it not just send max value of 12m when nothing is detected? set the prx max range to 11m and see if it looks better.

@geofrancis

Thanks for that.

Yes, am aware of the 400Hz setting. It is mentioned in the documents. Have also tried other values trying to see if a fraction in frequency might lead to a solution. –> Unfortunately no success.

I am using Serial 2 and have also tried differnet coms related settings. –> Unfortunately no success.

Also changed the PRX_MAX and PRX_MIN min values. –> Unfortunately no success.

Didn’t you write a script when you’ve done the low cost LIDAR ? Was that a LUA script or something else ?

I made an Arduino adapter for a few lidars, this one is for an s2 lidar on a rp2040 but it’s totally untested.

@geofrancis

Thanks for that.

From what I’m seeing I think it’s a data processing issue.

Given that it is only a rover, I much rather have a slower detection rate, but more reliable data. But currently not sure how I can slow it down.

  • Over the weekend I will get an oscilloscope out and check on power supply.
  • Also, might hook up Slamtec RoboStudio. In that way, if I get good, precise readings, I know it is definitely a data processing issue and not wiring or power supply related.

…..might have to go down the same path as you have done.

Once again, thanks.

I use the Arduino to record a whole scan before sending that in a packet to the flight controller, that way it only sends 1 packet per rotation rather than 90. As each from the lidar has 4 degrees I believe.

1 Like

@tridge

Is there a way to slow down Slamtec C1 for less data being “forced” to FC ?

….or which part of the ArduRover code relates to that processing ?

Thanks Tridge

It’s much worse on the Slamtec C1.

It has a resolution of 0.72° @ typical 10Hz = 5kHz

It is also mentioned in the technical specs:

“The RPLIDAR C1 adopts traditional sampling protocols and the high-speed sampling
protocol for outputting the 5000 times per second laser range scan data.”

1 Like