I have a LiDAR device that reports the entire 360 degree range, but split into scans of 22.5 degrees each, and I'm trying to assemble my LaserScan messages correctly.

As I understand, each 22.5 scan (17 measurements) will have its own message, but my confusion is regarding scan_time, which is defined as time between scans.

From this answer:

Think of scan time as the time taken for a full rotation of the sensor even if it's only producing data for part of that revolution.

Which makes sense for that particular question, because their sensor is only reporting a single range of angles, but mine reports a full rotation, albeit in multiple scans. Does the same "full rotation" argument works for my case? Or the time between scans in my case is the time for a single 22.5 scan?

Also this question this question tells me that I should use the time for a single 22.5 scan.


1 Answer 1


I interpret the comment in LaserScan.msg to mean it is the interval, in float seconds, from the start-of-LaserScan-msg-N to start-of-LaserScan-msg-(N+1).

That said, I don't think this field is very critical, and I suspect you could probably set it to 0.0 without a problem.

For what it is worth, I've never seen a ros driver output distinct LaserScan messages with 22.5 degree arcs like you describe. It's far more typical for the ros driver to assemble a single message with 360-degrees of data in it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.