Anyone making a ROS SDK for Blueprint Subsea Oculus?

asked 2021-03-02 00:48:00 -0600

loguna gravatar image

updated 2021-03-02 20:05:32 -0600

I was wondering if anyone is working on an ros SDK for Blueprint Oculus sonar? If you are, can you kindly share the package with me?

edit retag flag offensive close merge delete



Please don't bump questions unnecessarily.

gvdhoorn gravatar image gvdhoorn  ( 2021-03-03 03:28:31 -0600 )edit

Did you find anything about that ?

ROSkinect gravatar image ROSkinect  ( 2022-03-23 07:25:48 -0600 )edit

Hi, I am looking for a ros driver for oculus 370.

samarth gravatar image samarth  ( 2022-09-25 07:44:02 -0600 )edit

You can find a ros node here for ROS1 :

And if you are using ROS2 :

(Disclaimer : I am the main author. I would be greatly interested in other people's and hardware feedback (the drivers were tested with the M750d and M1200d versions)

Pierre Narvor gravatar image Pierre Narvor  ( 2022-09-27 03:58:13 -0600 )edit

I tried it but my sonar is M370s where as the config file does not have parameters for my has others like m750 etc.Can you guide with updated package for m370s? When I run the package it returns on terminal that part number of sonar is 1229 but this part number is not matching anyone in oculus.h file?Also oculus sonar goes into standby mode.I am not sure how to take it out of that mode so data can be I have checked IP connection is I can see data on sonar ping topic but no data on sonar image topic.

samarth gravatar image samarth  ( 2022-09-27 09:46:46 -0600 )edit
mali gravatar image mali  ( 2022-09-28 11:57:17 -0600 )edit

can someone help how do we get these constants in below statements.I got it from ?.what is -65+....

    # Calculate for low frequency
    iterable = (-65+x*0.5078125 for x in range(256)) ///pls explain this calculation how its done.what is -65+...
    bearings = np.fromiter(iterable, float)
    self.low_freq_brgs = np.expand_dims(bearings, 0)

    # Calculate for high frequency
    iterable = (-35+x*0.2734375 for x in range(256))
    bearings = np.fromiter(iterable, float)
    self.high_freq_brgs = np.expand_dims(bearings, 0)
samarth gravatar image samarth  ( 2022-10-02 02:14:19 -0600 )edit

Hello samart,

Sorry about the delayed response, ROS answers emails actually ended up in my SPAM filter. I don't know if you are still on this but just in case :

If you see that the node (oculus_ros) goes into standby mode, it should actually be working. The sonar node will leave the standby mode if a subscriber subscribes to /oculus_sonar/ping (for example rostopic echo /oculus_sonar/ping will make the sonar leave standby mode). It is designed this way to lower power usage and avoid it pinging in the air.

The Oculus sonars actually take a LOT of time to acknowledge a parameter change. So it take a bit of time to leave standby mode. Wait for the sonar a bit (at least 20 seconds) after subscribing to the ping topic.

Pierre Narvor gravatar image Pierre Narvor  ( 2022-11-18 04:49:20 -0600 )edit