I believe the Example_Solid_State.json file is similar to what you need, but it’s rows have 1000 columns instead of 100.
-
For my use case, which is recommended?
“numLines”: 50,
“numRaysPerLine”: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100],
And unless the parameters of the emitters changes, you only need one state.
- What is the difference between reportRateBaseHz and scanRateBaseHz which would lead me to the next questions
I’m not sure there is one for the solid state lidar. I’ll pass that question up the chain, but I have only seen these be equal in solid state lidar.
- What is the difference between firing pattern and full firing cycle in the documentation? (in my case, which is one row and which is one complete scan).
Nothing, your firing pattern has 5000 firings for a full scan. It fires at 10Hz, so you fire 10 patterns a second.
- I assume scanRatesHz is a list of configurable scanning frequencies. How does it help in the simulation if we have to change the actual frequency values ourselves?
scanRatesHz is not used.
- What does ‘tick’ in relation to scans mean; is it per row or per complete scan?
per complete scan. Your solid state lidar has 5000 emitters. tic is a bad word, should probably be Hz
- I understand that the RTX lidar renders frames with a texture which is then post-processed to generate the pointcloud - which of the above frequencies correspond to this frequency of rendering frames?
None. The rendering is done at the FPS of the application. So if your running at 30fps, then you will get about 1/3 of your emitters firing per frame.
- What is the purpose of waveLengthNm, minReflectance, minReflectanceRange because I wrote a simple MDL file with spectral properties (defining reflectance values for a set of wavelengths) and I see no effect. For eg., I set the waveLengthNm in the config file to 885 nm and created a material which reflects only light of wavelength=520nm and another material which reflects only light of wavelength=885nm and I saw no difference in the pointcloud (I expected that the rays won’t reflect and hence no points of intersection for the first material)
I’m not sure waveLengthNm is used outside atmospheric interference, which is not in IsaacSim yet.
minReflectance is the min return power at a range that is considered valid. below that, the return may be invalid. The minReflectanceRange is the range to consider that min value at.
- What is intensityMappingType which I don’t see in the documentation but the console says that it is missing.
You should not be getting an error, your intensityMappingType should default to “LINEAR”, like in the example json files.
- I also read from one of the forum posts that there are solid-state specific parameters like numLines and numRaysPerLine which are not yet included in the documentation; these parameters are more intuitive but how do we use this to write emitterStates
Huh, those got left out by mistake, I’ll update the docs on my end. They will read:
numLines: Number of rows per full scan.
numRaysPerLine: Number of emitters in a row.
They are not in emitter states… but the number or array entries in the emitter state parameters is numLines*numRaysPerLine
Solid state config files tend to be large compared to rotary config files because of this fact.