User login

UWSim: Enhanced multibeam

Some time ago we realized multibeam had some important bugs and features that could be improved. So we decided to fix them and update the multibeam code to achieve a better simulation!. Some of the bugs fixed are: publishing values higher than the range limit and huge underwater particle noise. As some of you noticed multibeam sensors were publishing range values higher than the max range depending on the angle of the beam, this has been fixed on last version. About the huge underwater particle noise, for an unknown reason narrow cameras get much more underwater particles from osgOcean so we decided to disable them from multibeam cameras using osg mask. In the case we want noise, it can be added after getting the correct reading from the sensor using any noise distribution that we want to use.

Furthermore, we realized multibeam readings were incorrect when the field of view was big, started being noticeable from 160º. As you may know multibeam uses depth cameras to simulate range values, so in order to solve this we use more than one camera per multibeam when the field of view is higher than 120º. This has no effects on the output and solves the eyefish deformation multibeam was suffering when we increased the field of view over 160º.

Finally, we added a debug visibility for beams that can be configured through the configuration files on multibeam block. This debug feature draws a line for each beam, similar to range sensor, so we can see where the multibeam is looking at. As this lines are tagged as Augmented Reality will not be visible in virtual cameras. For simplicity and efficiency debug lines are drawn until max range, they will not show if a beam is colliding or not with an object, as happens with the sonar debug line.

Finally you can see the multibeam working in this video.