Omniscan 450 FS Raw Data

After reviewing many different topics similar to the issue I currently am experiencing, I can fully say I am at a loss.

For background, currently, I am working on a project for my college and we attempting to map a cave with an ROV.

I was able to pull raw data directly from our current device which is the Ping360. This has been my original attempt at making scans. Although, we are now planning on upgrading to the Omniscan 450 FS to get more detail with the scans, but my main issue is the data format of the logs.

Here is a sample photo of the scans we accomplished with the Ping360. This was done by accessing the ping directly through a IP connection and we took the raw data from each angle with its array of intensity values. After some simple sorting within my code we got a value which was (most likely to a wall). As you can see from the image below this worked quite well with the test we did within a pool, with the exception of some reflected noise I got.

Although the main issue with this is when I was running my program and tried to use “PingViewer” simultaneously it caused a huge bottlenecking issue. To avoid this with the Omniscan, I was hoping to save all the scans and then do the post-processing afterward and create my 3D scan based on the data it collected. However, I have been having issues with the “.svlog” that the sonar saves the information in. What would be the best way to translate this data and/or would it be easier to treat the Omniscan such as I did with the ping to collect raw data points?

All I am trying to do is understand the format in which the data would best be utilized for my manipulation purposes. Any advice or suggestions would be greatly appreciated.

Is the Omniscan mounted on a vehicle? BlueROV?
Since you are parsing Ping360 files I assume you know how to parse Omniscan svlog files and that you are familiar with the API (Appendix A: Programming API - Cerulean Sonar Docs). If not, that’s the place to start. I’m happy to answer any specific questions about the API, or perhaps about any packets you encounter in the log file which are “undocumented.”

We have purchased the Omniscan, but with shipping, it will most likely be arriving sometime in mid-February. So I have not had a chance to test any other methods to get the data besides from a svlog that you had sent me in relation to another query I had. I have looked up the documentation for the API and will be testing a method similar to that of the Ping360 when the device gets delivered to us.

In the meantime though, I have been trying to parse or interpret the svlog file and the main thing I am trying to understand is the format. When I look at the file within a text viewer, there are several telemetry data points in ASCII but after each readable telemetry data point, there is a section that I believe is in Unicode (UTF-8) and I am not too familiar with how this data can be parsed, especially when I don’t know the format.

This is an example of the data I am trying to understand.

All the data in the file is in “ping protocol” packets. If you are parsing Ping360 packets, you know how to do that, and you should have no problem handling the Omniscan packets as defined in the API in the manual. There are a few packet types that I need to document. I’ll try to get to that this week. The one that looks to be “human readable” is just a standard MAVLIKNK message wrapped in a ping protocol packet.

1 Like