Modelling the intensity returns of lidar sensor

146 views
Skip to first unread message

Dinesh M

unread,
Apr 17, 2023, 2:28:42 PM4/17/23
to projec...@googlegroups.com
Hi, 


    I'm looking for modelling the reflectivity of different materials (water/rock) perceived through lidar. 

     Its mentioned that the intensity values returned by lidar beams are based on diffuse reflectance. (In lidar sensor model webpage). 

When I try to create different materials (.mtl) with different kd parameters, still I don't find the lidar intensity returns affected by this.

Kindly help me with how can I achieve what I'm looking for. 

Nevindu Batagoda

unread,
Apr 17, 2023, 4:50:50 PM4/17/23
to ProjectChrono
Hello,

Currently, the intensity values returned by a LiDAR beam are modeled using a Lambertian reflection model (used for diffuse reflections). The LiDAR model assumes all materials are 100% diffuse, hence the Kd coefficient is 1. The returned intensity is dependent on the Lidar intensity of the material in question and the ray-normal angle (Lambertian reflection). The LiDAR intensity of the material is defined as " material reflectivity in a LiDAR's wavelength", which is a value between 0-1. This property should be defined when setting up your materials. You can try adjusting the reflective intensity of the material to see if you can get the desired result. In the future, we will be working on improving the LiDAR model to support different types of reflections. I hope this answers your question.

Best,
Nevindu 

Yan Dong

unread,
Aug 26, 2024, 4:03:43 AM8/26/24
to ProjectChrono
Hi,

We also need to change the intensity of LiDAR scan. 

You mentioned, 
"You can try adjusting the reflective intensity of the material to see if you can get the desired result",
Which properties should I change? I did not find any properties about "reflective" in material settings.

Or any update for chrono codes?

Thanks.
Yan

Nevindu Batagoda

unread,
Aug 26, 2024, 7:18:35 PM8/26/24
to ProjectChrono
Hello Yan,

You're right, the API for setting the lidar reflectivity of a material was not properly exposed to the user. Thanks for pointing that out. I fixed it and pushed the changes to the feature/sensor branch of the chrono repo (https://github.com/projectchrono/chrono/tree/feature/sensor). It will be available in the main branch in a few days, you can use the feature/sensor branch in the meantime.

You can now use the ChVisualMaterial::SetLidarIntensity(float) function to set the lidar reflectivity/intensity of the material. I updated the demo_SEN_lidar.cpp with an example of using that. Let me know if you have any further questions.

Best,
Nevindu M. Batagoda

Yan Dong

unread,
Aug 27, 2024, 9:27:34 AM8/27/24
to ProjectChrono
Hi Thanks for your reply. Many thanks.

August Andre Lukkassen

unread,
Mar 13, 2026, 12:31:19 AM (11 days ago) Mar 13
to ProjectChrono
Hi

I’m using pychrono for a ROS2 simulator and would like to set lidar reflectivity from Python. I checked the current pychrono bindings and SetLidarIntensity / GetLidarIntensity are not exposed on ChVisualMaterial. Would it be possible to add these to the pychrono (SWIG) bindings so we can call them from Python?

Best, 
August

Bocheng Zou

unread,
Mar 13, 2026, 7:40:53 PM (10 days ago) Mar 13
to projec...@googlegroups.com

Hi August,

I hope this email finds you well. Please note that the interface SetLidarIntensity / GetLidarIntensity doesn't present in the latest official Project Chrono. The functionality to set the lidar reflectivity of a material is from an old branch "feature/sensor", developed around August 2024, and that branch is not merged into the official Project Chrono. Therefore, that functionality is not available in PyChrono. 

Please check this commit: https://github.com/projectchrono/chrono/commit/41d6a3922d7d0ab03c52d278b11e0ec9c49ca762#diff-5e0dbca1202e96a5d56edf07f189e775771e46573d556584433d634c5a62cd7c for more information.

Best,

Bocheng Zou

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/projectchrono/cb7de998-7f8d-4944-85d5-78ca5bd7bd26n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages