# Table of Contents - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Configuring the Tracker 650 | Cerulean Sonar Docs](#configuring-the-tracker-650-cerulean-sonar-docs) - [Cerulean Standard Packet Protocol | Cerulean Sonar Docs](#cerulean-standard-packet-protocol-cerulean-sonar-docs) - [Quick Start for ArduSub Users | Cerulean Sonar Docs](#quick-start-for-ardusub-users-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [General Specifications | Cerulean Sonar Docs](#general-specifications-cerulean-sonar-docs) - [Live Status Page | Cerulean Sonar Docs](#live-status-page-cerulean-sonar-docs) - [Setting the Host IP Address | Cerulean Sonar Docs](#setting-the-host-ip-address-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Setting the Fallback IP Address | Cerulean Sonar Docs](#setting-the-fallback-ip-address-cerulean-sonar-docs) - [Setting the Static IP Address | Cerulean Sonar Docs](#setting-the-static-ip-address-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Directory | Cerulean Sonar Docs](#directory-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Finding the Configuration Web Page | Cerulean Sonar Docs](#finding-the-configuration-web-page-cerulean-sonar-docs) - [Directory | Cerulean Sonar Docs](#directory-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Example Configuration Web Page | Cerulean Sonar Docs](#example-configuration-web-page-cerulean-sonar-docs) - [Setting the MAVLink REST Server Parameters | Cerulean Sonar Docs](#setting-the-mavlink-rest-server-parameters-cerulean-sonar-docs) - [Overview | Cerulean Sonar Docs](#overview-cerulean-sonar-docs) - [Scenario: Driving Your Own Kalman Filter | Cerulean Sonar Docs](#scenario-driving-your-own-kalman-filter-cerulean-sonar-docs) - [Setting DVL Mounting Rotation Offsets | Cerulean Sonar Docs](#setting-dvl-mounting-rotation-offsets-cerulean-sonar-docs) - [Setting Pool Mode | Cerulean Sonar Docs](#setting-pool-mode-cerulean-sonar-docs) - [General Usage | Cerulean Sonar Docs](#general-usage-cerulean-sonar-docs) - [Setting Speed of Sound | Cerulean Sonar Docs](#setting-speed-of-sound-cerulean-sonar-docs) - [Electrical Drawings | Cerulean Sonar Docs](#electrical-drawings-cerulean-sonar-docs) - [Scenario: Doing Your Own Dead Reckoning | Cerulean Sonar Docs](#scenario-doing-your-own-dead-reckoning-cerulean-sonar-docs) - [General Hints and Tips | Cerulean Sonar Docs](#general-hints-and-tips-cerulean-sonar-docs) - [Bottom Mount | Cerulean Sonar Docs](#bottom-mount-cerulean-sonar-docs) - [Setting Velocity Adjustment | Cerulean Sonar Docs](#setting-velocity-adjustment-cerulean-sonar-docs) - [Mounting Drawings (V1 pre-2025) | Cerulean Sonar Docs](#mounting-drawings-v1-pre-2025-cerulean-sonar-docs) - [Communicating with the Tracker 650 | Cerulean Sonar Docs](#communicating-with-the-tracker-650-cerulean-sonar-docs) - [Global Origin | Cerulean Sonar Docs](#global-origin-cerulean-sonar-docs) - [Thruster Deck Mount | Cerulean Sonar Docs](#thruster-deck-mount-cerulean-sonar-docs) - [Using MAVLink and BlueOS for Position Hold on a BlueROV2 | Cerulean Sonar Docs](#using-mavlink-and-blueos-for-position-hold-on-a-bluerov2-cerulean-sonar-docs) --- # Overview | Cerulean Sonar Docs [NextQuick Start for ArduSub Users](/c/tracker-650/quick-start-for-ardusub-users) Last updated 3 days ago The Tracker 650 is designed for low-cost, medium accuracy measurement of the relative velocity between the sensor head and any planar surface, e.g., a seabed, a seawall, or a barge bottom. The system provides velocity (or delta position plus time) outputs in the ROV frame of reference as well as raw sensor data that can be used in a user's Kalman filter. This system is designed and priced for use by people who want their ROV to hold a position in the face of currents or tether pull. It can also be used as the odometry sensor in a [dead](/c/tracker-650/general-usage/scenario-doing-your-own-dead-reckoning) \-reckoning system. With software versions later than 3.3.1, the Tracker 650 can be used with an Omniscan ROVL to ensable sensor fusion and handoff between the Tracker 650 and the ROVL. If all you want is position hold and you are mounting the Tracker 650 on a BlueROV2 with [appropriate software](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2) , then you can mount the sensor on the bottom of the ROV, connect it to power and ROV Ethernet, and set the ArduPilot parameters to allow position hold. You don't need to set the Tracker 650's configuration or calibrate anything. A secondary capability is using the Tracker 650 to support your own Kalman filter localization function or to do dead-reckoning navigation using your own orientation reference. Tracker 650 V2 Isometric View of sensor face Tracker 650 V2 View of sensor face Tracker 650 V2 View of backside — Arrow points in "X" direction Tracker 650 V2 Side view ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FtMLSwJqxe1Z7Zn6fc9ft%252Fimage.png%3Falt%3Dmedia%26token%3D5d0e386a-b91b-41fe-a753-187c246b6279&width=768&dpr=4&quality=100&sign=eab39245&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FCMYUK5lNjJIoRi97GQIh%252Fimage.png%3Falt%3Dmedia%26token%3D46349f99-5393-4ce1-8b6a-05a4c9991c62&width=768&dpr=4&quality=100&sign=c5180d95&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FdZk6Wd5sl2IslnRA2f79%252Fimage.png%3Falt%3Dmedia%26token%3Df843411d-ee72-472b-911c-4d06ce979230&width=768&dpr=4&quality=100&sign=310410ed&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FjqWss5vtQA5Kgx9bis9P%252Fimage.png%3Falt%3Dmedia%26token%3Dc20f9255-d95c-4526-8de6-9be081cc01a3&width=768&dpr=4&quality=100&sign=4601083c&sv=2) --- # Overview | Cerulean Sonar Docs [NextInstallation](/c/sonarview/installation) Last updated 4 months ago SonarView is a cross-platform application for controlling and communicating with sonar devices. #### [](#supported-devices) Supported Devices: * Cerulean Sonar * Omniscan 450 * Surveyor 240-16 MBES * S500 Sounder * Insight 240 * Tracker 650 * Blue Robotics * Ping360 * Ping Echosounder #### [](#supported-platforms) Supported Platforms: * Windows * MacOS * Linux * Docker Animated screen capture of SonarView illustrating how vehicle motion scans the seafloor. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F2515205857-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FSYkdyxXfSDQsVcrx8VV1%252Fuploads%252Fm8V2W3k59cA9FoOxn8uN%252Fcropped%2520SV.gif%3Falt%3Dmedia%26token%3D40464f3d-47fc-4519-a3c5-a09087691c98&width=768&dpr=4&quality=100&sign=de49cbef&sv=2) --- # Configuring the Tracker 650 | Cerulean Sonar Docs The Tracker 650 is shipped already configured for the most common use case, which is to provide odometry to the autopilot on a BlueROV. For other cases, you may need to configure the Tracker 650 for your application or to troubleshoot your configuration. Note: depending on how you mount the Tracker 650 to the BlueROV, you may still need to configure the mounting orientation of the Tracker 650. There are three main ways to configure the Tracker 650: * Using the built-in web configuration interface in software versions 3.3.1 and above (recommended), which is described in this section. * Programmatically, using the [commands accepted by the Tracker 650](https://docs.ceruleansonar.com/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650) (this option is mostly useful to systems integrators) * Using the [CeruleanTracker application](https://docs.ceruleansonar.com/c/ceruleantracker) (now deprecated) [PreviousGeneral Specifications](/c/tracker-650/general-specifications) [NextFinding the Configuration Web Page](/c/tracker-650/configuring-the-tracker-650/finding-the-configuration-web-page) Last updated 3 days ago --- # Cerulean Standard Packet Protocol | Cerulean Sonar Docs [](#overview) Overview --------------------------- Cerulean Ping Protocol is the Application Programming Interface (API) used by many of Cerulean sonars. It is also used by the Blue Robotics Ping 1D and Ping 360 sonars. This is the protocol used to communicate between a host computer and the sonar devices. It is also the format of the data stored in log files (which typically have the filename extension ".svlog"). [](#nomenclature) Nomenclature ----------------------------------- Some shorthand used in the packet definitions. numonic u8 unsigned 8 bit number bool unsigned 8 bit field, 0 is false, anything else is true char generally holds an ascii character char\[\] an array of char of indeterminate length char\[5\] an array of 5 char u16 unsigned 16 bit number u32 unsigned 32 bit number float 32 bit floating point number [NextUniversal Packet Format](/c/cerulean-ping-protocol/universal-packet-format) Last updated 6 months ago --- # Quick Start for ArduSub Users | Cerulean Sonar Docs ### [](#requirements) Requirements: #### [](#hardware) Hardware: * Tracker 650 + mounting solution. * Blue Robotics ROV (BlueROV2) or any vehicle that has the following: * ArduSub flight controller (Pixhawk, BlueRobotics Navigator, etc.. ) * Companion computer (Raspberry Pi, Nvidia Jetson, etc.. ) * Ethernet switch * We recommend the [Blue Robotics Ethernet Switch](https://bluerobotics.com/store/comm-control-power/tether-interface/ethswitch/) #### [](#software) Software: * [mavlink2rest](https://github.com/mavlink/mavlink2rest?tab=readme-ov-file) * **mavlink2rest is included in BlueOS**. If you are running BlueOS, no further action is required. * mavlink2rest can also be installed standalone using the instructions provided at the link above. * ArduSub * [Cerulean SonarView](https://docs.ceruleansonar.com/c/v/sonarview) (technically optional) * The BlueOS Extension version of SonarView may be used instead of the desktop app. This can be found in the BlueOS Extension Store. * [1.9.10-beta](https://github.com/CeruleanSonar/SonarView/releases/tag/v1.9.10-beta) or later is required. ### [](#hardware-setup) Hardware Setup 1. Power off the vehicle completely and open the primary electronics enclosure. 2. First, route the Tracker 650 cable into vehicle's primary electronics enclosure. Ensure the sealing surfaces and o-ring are lightly greased and free of debris. Tighten the cable penetration. 3. Connect Tracker 650's power leads to the vehicle's power distribution rails. (Red +, Black -) 4. Plug the 4 pin JST-GH connector into your vehicle's Ethernet switch. 5. Secure wires using waxed lacing cord or zip ties with a small strain relief loop to prevent strain on the pins and connectors. Close the primary electronics enclosure. 6. Attach the Tracker 650 to the mounting bracket. Attach the mounting bracket to the vehicle. 7. Power on the vehicle. ### [](#software-setup) Software Setup The Tracker 650 is designed to be _mostly_ plug-and-play with a stock Blue Robotics BlueROV2. The full default configuration is described [here](/c/tracker-650/communicating-with-the-tracker-650/factory-defaults-and-default-messages) . Essentially: * The Tracker 650 will request a DHCP address by default, but will fall back to 192.168.2.3 in the absence of a DHCP server * It sends [position delta](https://mavlink.io/en/messages/ardupilotmega.html#VISION_POSITION_DELTA) messages to mavlink2rest at 192.168.2.2:6040 * It assumes the sensor is oriented with the arrow pointing forward (arrow side down) Final steps: 1. [Some autopilot parameters must be configured to accept the positioning messages from the Tracker 650.](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/ardupilot-parameters) 2. Reboot your vehicle. 3. You can check if mavlink2rest is receiving messages from the Tracker 650 by viewing mavlink2rest ([http://192.168.2.2:6040/](http://192.168.2.2:6040/) or http://blueos.local:6040/) and looking for _VISION\_POSITION\_DELTA_ messages near the bottom of the list. 4. At this stage, a BlueROV2 should be able to utilize ArduSub's position hold flight mode if all is well. Position Hold will only be available when the Tracker 650 has a bottom lock. ### [](#additional-functionality) Additional Functionality The Tracker 650 can now be configured using its [built-in web server](/c/tracker-650/configuring-the-tracker-650) (recommended), or with [Cerulean SonarView](https://docs.ceruleansonar.com/c/v/sonarview) which is available as a BlueOS Extension as well as a Linux, macOS, or Windows app. The Tracker 650 is also configurable though [CeruleanTracker](https://docs.ceruleansonar.com/c/v/ceruleantracker) (Microsoft Windows only, deprecated). * The Tracker 650 can act as an echosounder by enabling the MAVLink "Send Distance" function. * In order to use ArduSub's dead reckoning and waypoint navigation features, a global origin must be set. In the absence of another positioning source, the Tracker 650 can send a [(0,0)](https://en.wikipedia.org/wiki/Null_Island) global origin to mavlink2rest by enabling the "Auto Origin" Option. The message will be sent once after the Tracker 650 establishes communication with the vehicle. * Although the vehicle's position will not be georeferenced, this is still useful for local navigation and testing. [PreviousOverview](/c/tracker-650) [NextGeneral Specifications](/c/tracker-650/general-specifications) Last updated 3 days ago --- # Overview | Cerulean Sonar Docs [NextGeneral Specifications](/c/dvl-75/overview/general-specifications) Last updated 1 year ago The DVL-75 is designed for low-cost, medium accuracy measurement of the relative velocity between the sensor head and other objects. The system provides velocity outputs relative to the World Frame of reference and can estimate positions using dead reckoning. This system is designed and priced for use by people who need to know generally where their ROV is located and/or want to hold a position in the face of currents or tether pull. It is not a survey-grade instrument. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F400583030-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FIUx8F0dEX9C01W3iSbva%252Fuploads%252FiFipzfrKI0P7fmpkTBhy%252Fimage.png%3Falt%3Dmedia%26token%3D5153d600-e511-47c6-95eb-a00adfb79fac&width=768&dpr=4&quality=100&sign=82727ac7&sv=2) --- # Overview | Cerulean Sonar Docs [NextGeneral Specifications](/c/s-500-sounder/general-specifications) Last updated 9 months ago The S500 is a multipurpose single-beam echosounder. It can be used as an altimeter for ROVs and AUVs, for bathymetry work aboard a USV, as an obstacle avoidance sonar, and other underwater distance measurement applications. The S500 implements CHIRP modulation, which sends a varying frequency ultrasonic pulse. The advantages of CHIRP include better signal to noise ratio, and higher range resolution than non-CHIRP devices. The S500 can report a simple distance measurement, or It can also provide the full signal profile for display as a "waterfall" plot like the display of a fish finder. Raw signal strength data profiles can also be provided for advanced analysis in technical applications. The S500 uses a high frequency 500 kHz transducer giving about 5 degrees beam width for ROV and AUV altimeter and bathymetry applications. It has a measurement range of over 100 meters. A bottom-tracking algorithm runs on the device to determine the distance to the seafloor. Three communication interfaces include Ethernet (100Mb/sec), USB (12Mb/sec), and 3.3-5.0V serial (115kbaud). ### [](#whats-in-the-box) What's in the box * 1x S500 Control Board * 1x Transducer with one meter cable (1 shield + 2 signal wires) and installed JST GH connector * 1x 2-wire power cable with installed JST GH connector (60 cm) * 1x extra 3-conductor JST GH connector * 1x Oil-Resistant Buna O-Ring (McMaster-Carr part-number 9452K94) * 1x Postcard with Link and QR code to online documentation ### [](#sonarview-app) SonarView App Cerulean SonarView supports the S500 for waterfall display over the Ethernet, USB or serial interfaces. SonarView also supports S500 firmware update and IP address setting over the Ethernet interface. ### [](#sonarview-docs) [SonarView](https://docs.ceruleansonar.com/c/v/sonarview/overview) [Docs](https://docs.ceruleansonar.com/c/v/sonarview/overview) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F1404007887-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Ft6tXJcFswXggiI88IaJw%252Fuploads%252FhMqBFeKQsOaRdUSiWWSO%252FS500copy_1512x.webp%3Falt%3Dmedia%26token%3D02747345-3624-4a67-badb-fa847c09c8d8&width=768&dpr=4&quality=100&sign=cdabcbba&sv=2) --- # General Specifications | Cerulean Sonar Docs Attribute Value Maximum Depth Rating 300 m Device Diameter 108 mm Device Height 48 mm Weight in Air 550 g Weight in Water 135 g Maximum Operating Height (above target plane)\* 25 - 50 m Minimum Operating Height\*\* 50 cm Maximum Operating Speed\*\*\* 5 kts Number of velocity sensors 3 Sensor down-angle from horizonal 70 degrees Angular Operating Envelope, Degrees off vertical 0 to 10 degrees Ping Frequency 675 kHz Ping Repetition Rate 5 – 20 Hz V-in power Voltage Min and Max 10V to 30V DC V-in power average (power averaged over 1 second) 2.5 Watts average V-in Power, peak (largest current spike during operation irrespective of voltage) 5 Watts Ethernet support\*\*\*\* 10/100 Mbps Serial Comms Voltage Levels\*\*\*\* 3.3V TTL or 5V TTL, auto-sense Serial parameters, default\*\*\*\* 115,200, 8 , N, 1 \*Achieved maximum height is dependent on several variables, including tilt of the sensor head, flatness of the target plane, hardness of the target plane, vegetation cover on the target plane, and salinity. On a hard-bottom body of water such as Minnesota's Lake Superior, we regularly achieve 50 meters. On a muck-bottom lake such as Minnesota's Lake Minnetonka, we sometimes struggle to get 30 meters. \*\*Assuming the sensor head is oriented parallel to the target surface. \*\*\*Maximum speed may vary with height above target plane. \*\*\*\*The recommended interface is Ethernet. Serial interface is possible with a user-supplied custom cable. Some features, such as mavlink2rest communication, are lost when using serial. [PreviousQuick Start for ArduSub Users](/c/tracker-650/quick-start-for-ardusub-users) [NextConfiguring the Tracker 650](/c/tracker-650/configuring-the-tracker-650) Last updated 9 months ago --- # Live Status Page | Cerulean Sonar Docs [PreviousExample Configuration Web Page](/c/tracker-650/configuring-the-tracker-650/example-configuration-web-page) [NextSetting the Static IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-static-ip-address) Last updated 3 days ago Clicking the "Show Status" button on the Configuration Web Page brings up a display of system status, which automatically refreshes every three to four seconds. An example of this page is shown below. It is intended for troubleshooting by the factory. Yours may look different depending on the firmware version and the system status. As a user you don;t need to understand any of the numbers or states. This page is primarily used by system integrators and factory tech support. NOTE: **If system confidence is less than 50, no number on this page is meaningful.** ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FEUJtLQBje5lhXFZRFQLm%252Fimage.png%3Falt%3Dmedia%26token%3D96ab868f-c549-4bde-a4f7-ab03b22a2c8f&width=768&dpr=4&quality=100&sign=ea563ac0&sv=2) --- # Setting the Host IP Address | Cerulean Sonar Docs The Host IP address is used to select the destination for output messages. This is most useful to system integrators. Most users should leave this alone. [PreviousSetting the Fallback IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-fallback-ip-address) [NextSetting the MAVLink REST Server Parameters](/c/tracker-650/configuring-the-tracker-650/setting-the-mavlink-rest-server-parameters) Last updated 4 days ago --- # Overview | Cerulean Sonar Docs [NextQuick Start for ArduSub Users](/c/tracker-650/quick-start-for-ardusub-users) Last updated 3 days ago The Tracker 650 is designed for low-cost, medium accuracy measurement of the relative velocity between the sensor head and any planar surface, e.g., a seabed, a seawall, or a barge bottom. The system provides velocity (or delta position plus time) outputs in the ROV frame of reference as well as raw sensor data that can be used in a user's Kalman filter. This system is designed and priced for use by people who want their ROV to hold a position in the face of currents or tether pull. It can also be used as the odometry sensor in a [dead](/c/tracker-650/general-usage/scenario-doing-your-own-dead-reckoning) \-reckoning system. With software versions later than 3.3.1, the Tracker 650 can be used with an Omniscan ROVL to ensable sensor fusion and handoff between the Tracker 650 and the ROVL. If all you want is position hold and you are mounting the Tracker 650 on a BlueROV2 with [appropriate software](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2) , then you can mount the sensor on the bottom of the ROV, connect it to power and ROV Ethernet, and set the ArduPilot parameters to allow position hold. You don't need to set the Tracker 650's configuration or calibrate anything. A secondary capability is using the Tracker 650 to support your own Kalman filter localization function or to do dead-reckoning navigation using your own orientation reference. Tracker 650 V2 Isometric View of sensor face Tracker 650 V2 View of sensor face Tracker 650 V2 View of backside — Arrow points in "X" direction Tracker 650 V2 Side view ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FtMLSwJqxe1Z7Zn6fc9ft%252Fimage.png%3Falt%3Dmedia%26token%3D5d0e386a-b91b-41fe-a753-187c246b6279&width=768&dpr=4&quality=100&sign=eab39245&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FCMYUK5lNjJIoRi97GQIh%252Fimage.png%3Falt%3Dmedia%26token%3D46349f99-5393-4ce1-8b6a-05a4c9991c62&width=768&dpr=4&quality=100&sign=c5180d95&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FdZk6Wd5sl2IslnRA2f79%252Fimage.png%3Falt%3Dmedia%26token%3Df843411d-ee72-472b-911c-4d06ce979230&width=768&dpr=4&quality=100&sign=310410ed&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FjqWss5vtQA5Kgx9bis9P%252Fimage.png%3Falt%3Dmedia%26token%3Dc20f9255-d95c-4526-8de6-9be081cc01a3&width=768&dpr=4&quality=100&sign=4601083c&sv=2) --- # Setting the Fallback IP Address | Cerulean Sonar Docs The Fallback IP Address is the address used by the Tracker 650 if it is set to get a DHCP address (by setting the static IP to 0.0.0.0) and there is no DHCP server or the DHCP server declines to serve an address. It is your responsibility to make sure it is unique and on the proper subnet. Discussions of subnets are beyond the scope of this manual. No netmask is necessary. The Tracker 650 will not allow you to set an address starting with 127 or 255. This is to protect you from yourself. [PreviousSetting the Static IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-static-ip-address) [NextSetting the Host IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-host-ip-address) Last updated 4 days ago --- # Setting the Static IP Address | Cerulean Sonar Docs If set to anything other than 0.0.0.0, the Static IP Address is the IP address used by the Tracker 650. It is your responsibility to make sure it is unique and on the proper subnet. Discussions of subnets are beyond the scope of this manual. No netmask is necessary. Once set, the Tracker 650 will use this address regardless of the presence of a DHCP server. The Cerulean SonarView application can force the Tracker 650 to accept a new static IP address, even if you have accidentally set the static IP to an inaccessible address. The Tracker 650 will not allow you to set an address starting with 127 or 255. This is to protect you from yourself. [PreviousLive Status Page](/c/tracker-650/configuring-the-tracker-650/live-status-page) [NextSetting the Fallback IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-fallback-ip-address) Last updated 3 days ago --- # Overview | Cerulean Sonar Docs [NextElectrical Connection](/c/insight-240/electrical-connection) Last updated 11 months ago The Insight-240 forward looking sonar features multibeam technology to image a full 90 degree sector with every ping. This video-like capability is ideal for all-condition navigation, target location and tracking, and general situation awareness. You can observe echoes from objects like ropes, walls, dock pilings, rocks, shipwrecks, boats, fish, and any other structures or objects that reflect sound waves. The generated images provide a compelling reference point for navigation, regardless of water visibility, allowing for the localization of essential features in the water quickly. The Insight-240 is a 240kHz, 150m range, 300m depth rated system. For general purpose applications, an available servo tilt mechanism is a highly recommended option. [](#sonarview) SonarView ----------------------------- The Insight-240 is designed for use with Cerulean SonarView. See the links below: ### [](#sonarview-web-app) [SonarView Web App](http://sonarview.io/) ### [](#sonarview-docs) [SonarView Docs](https://docs.ceruleansonar.com/c/v/sonarview/overview) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F270183269-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FTO373UEHspNiurJ1dwQk%252Fuploads%252FI4GahOiAdXxc0sQ36w02%252Fimage.png%3Falt%3Dmedia%26token%3Da62d4588-cf44-421d-87ba-eba95540db25&width=768&dpr=4&quality=100&sign=7a0d7c28&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F270183269-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FTO373UEHspNiurJ1dwQk%252Fuploads%252FoF5rhJO3UtqeEWjikdRF%252Fimage.png%3Falt%3Dmedia%26token%3D53730f07-75d2-421e-8846-64f12f32d610&width=768&dpr=4&quality=100&sign=597646c6&sv=2) --- # Overview | Cerulean Sonar Docs [](#download-ceruleantracker-installer) [Download CeruleanTracker Installer](https://github.com/CeruleanSonar/AutoFirmware/raw/master/CeruleanTracker%202023-12-08.msi) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CeruleanTracker is a Windows application that works with multiple Cerulean Software sonar products, including the Cerulean ROV Locator and the Cerulean DVL-75. It replaces the ROV Locator Windows App, the DVL Console App, and the Cerulean Companion interface to the Blue Robotics ROV Companion software. **Note: When used with a DVL-75, CeruleanTracker is driven by the DVL-75’s $DVEXT output message. If you suppress $DVEXT CeruleanTracker will not operate as expected. The DVL is shipped with $DVEXT turned off.** **Note: CeruleanTracker will warn you if $DVEXT is suppressed if you connect by Ethernet. If you connect by serial it will not warn you.** **Note: Only one instance of CeruleanTracker can run on a PC at any given time. Serial devices on Windows can only connect to one application at a time; thus, a GPS PC app cannot be connected to a Topside GPS while CeruleanTracker is connected to it.** CeruleanTracker is designed to remember its settings after closing and re-opening. To restore CeruleanTracker to default settings, delete the CeruleanTrackerSettings file in the Users > (user) > Appdata > Local > CeruleanSonar folder. This should seldom be necessary. If window positions are mostly or entirely off-screen, such as when using a laptop inside with an external monitor and then taking the laptop out in the boat, window positions will be reset to default automatically. [](#toc97284324) -------------------- [NextSensor Fusion](/c/ceruleantracker/overview/sensor-fusion) Last updated 18 days ago ![Page cover image](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F2098770382-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FJmHibmWKSWDSTSNZwtIB%252Fuploads%252FKYAyg8mKVFz5v8x832ng%252FEMK-2%2520%284%29.png%3Falt%3Dmedia%26token%3Dc6462351-de67-4f44-98fd-b4d039aa76ca&width=1248&dpr=4&quality=100&sign=ea3a6e66&sv=2) --- # Directory | Cerulean Sonar Docs Last updated 7 months ago [](https://docs.ceruleansonar.com/c/sonarview/) [](https://docs.ceruleansonar.com/c/omniscan-450/) [](https://docs.ceruleansonar.com/c/s-500-sounder/) [](https://docs.ceruleansonar.com/c/dvl-75/) [](https://docs.ceruleansonar.com/c/rov-locator/) [](https://docs.ceruleansonar.com/c/ceruleantracker/) [](https://docs.ceruleansonar.com/c/insight-240/) [](https://docs.ceruleansonar.com/c/tracker-650/) [](https://docs.ceruleansonar.com/c/surveyor-240-16/) [](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/) [SonarView](https://docs.ceruleansonar.com/c/sonarview/) [Omniscan 450](https://docs.ceruleansonar.com/c/omniscan-450/) [S500 Sounder](https://docs.ceruleansonar.com/c/s-500-sounder/) [DVL-75](https://docs.ceruleansonar.com/c/dvl-75/) [ROV Locator](https://docs.ceruleansonar.com/c/rov-locator/) [CeruleanTracker](https://docs.ceruleansonar.com/c/ceruleantracker/) [Cerulean Ping Protocol](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/) [Insight-240](https://docs.ceruleansonar.com/c/insight-240/) [Tracker 650](https://docs.ceruleansonar.com/c/tracker-650/) [Surveyor 240-16](https://docs.ceruleansonar.com/c/surveyor-240-16/) --- # Overview | Cerulean Sonar Docs [NextQuick Start](/c/surveyor-240-16/quick-start) Last updated 7 months ago The Surveyor 240-16 is an affordable MBES ([Multibeam echosounder](https://en.wikipedia.org/wiki/Multibeam_echosounder) ) with excellent performance/price. Its primary function is bathymetry. It's small and light enough to be carried by even very small uncrewed vessels. ### [](#acoustics) Acoustics The unit operates at 240khz and features a 16-element receive array. An angle-of-arrival estimation algorithm is used to detect the position of specific acoustic reflectors well in excess of the accuracy achievable with conventional beam-forming techniques. It has a horizontal field of view (cross-track beam width) of 80° and an along-track beam width of 4°. Although the effective cross-track beam width with conventional beam forming would be about 7 degrees, Surveyor can resolve angle of arrival to less than one degree. ### [](#performance) Performance In most situations, points can be detected up to 50m (slant range) away from the sensor. In ideal conditions this can be substantially further. A variety of environmental factors can reduce the ability to detect points (target hardness, sensor pitch/roll, acoustic interference, etc..). Even in compromised conditions, you can expect reliable performance up to 30m from the target plane. 20hz is the maximum ping rate at close range (about 20m). As the range increases, the ping rate must reduce due to the speed of sound. 10-20 points can be detected in each ping. Point density can be increased by slowing the vessel, or performing multiple overlapping passes. ### [](#sensors) Sensors Surveyor features a built-in 9 axis IMU. SonarView uses the internal IMU for pitch and roll compensation and combines this with position and heading information from a moving platform (such as a USV or towfish) to accurately place each data point in the correct geographic location. ### [](#housing) Housing The aluminum housing is rated for 300m depth and features an external status LED. Mounting holes have been placed on the top, bottom, and sides (M4 - 0.7mm). The housing can be opened for inspection or servicing, it is not potted or oil-filled. Because some small ROVs are limited by the number of cable penetrations, we've placed an auxiliary M10 penetrator hole on the Surveyor's housing. This can be used to relocate an i2c sensor from the vehicle's hull (such as the Bar pressure sensors on the BlueROV2). ### [](#connections) Connections The unit operates on 10-30V DC. It consumes approximately 5w at idle and up to 15w while pinging. Ethernet is used for communications though a 4 position JST-GH connector ([Blue Robotics Connector Standard](https://bluerobotics.com/learn/wl-connector-standard/#ethernet-10100) ). An RJ-45 adapter is provided. ### [](#data-formats) Data Formats We are working with various hydrographic software suppliers on additional integrated support, and we are interested in working with more! ### [](#requirements-for-successful-operation) Requirements for Successful Operation * Accurate position and heading data from your vessel * Surveyor relies on an external source for heading and positioning data. Ideally this data should be available at 20hz or greater (or at least greater than Surveyor's ping rate). The accuracy of the detected points will be directly effected by errors in these sources. * Supported sources: [mavlink2rest](https://github.com/mavlink/mavlink2rest) , NMEA * SonarView * The unit has no onboard datalogging. A computer running SonarView must be connected to operate the sonar and log data. This could be a Windows/Mac/Linux computer, or a companion computer like a Raspberry Pi. * Surveyor datalogs can become quite large, budget 5GB per hour at 20hz ping rate. If using a Raspberry Pi, 128GB is a good size. * A stable platform * Although we compensate for pitch and roll to position points in 3D space, better results can be achieved with a more stable platform (just like a camera). * Thoughtful mounting * Avoid mounting the transducer in an area near air bubbles, excessive turbulence, or other potential sources of interference. [](#id-3d-view) 3D View: ----------------------------- At this time, Surveyor 240-16 is operated with the Cerulean application. Data can be exported to CSV, GSF which are supported by most software in the bathymetric community. [Surveyor 240-16 MBES 3D Viewmodelviewer](https://models.sonarview.io/Surveyor240-16/twitter.html) [SonarView](https://docs.ceruleansonar.com/c/sonarview/) Items included with purchase of Surveyor 240-16 ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F2416497028-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOPPBWdanG78xVyb6w4vq%252Fuploads%252FsZYyBrYTKehTsMNjjMl7%252FIMG_6084%2520copy.jpg%3Falt%3Dmedia%26token%3D514dca25-1bd9-481e-b617-ef24b1c03c44&width=768&dpr=4&quality=100&sign=ea87bf62&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F2416497028-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOPPBWdanG78xVyb6w4vq%252Fuploads%252FIbQ59TGIDCzDFyzS5ZZM%252Fimage.png%3Falt%3Dmedia%26token%3Dfce21339-197a-4328-aac6-5d4154f7edc8&width=768&dpr=4&quality=100&sign=6f19ae7a&sv=2) --- # Finding the Configuration Web Page | Cerulean Sonar Docs The configuration web page is accessed with a web browser at the default HTTP web server port 80. First, find the IP address of the Tracker 650. * If you have set the static IP address of the Tracker 650, you already know what it is. It is set to 0.0.0.0 from the factory, which means “use DHCP”. * Otherwise, if you powered the Tracker 650 up on a subnet that does not include a DHCP server, the Tracker 650 will use its fallback IP address. When shipped from the factory this is set to 192.168.2.3. If you changed the fallback IP address you already know what it is. * If you powered the Tracker 650 up on a subnet that does include a DHCP server, you may be able to use the name "Tracker650" instead of a numeric IP address, depending om if the DHCP server accepts the Tracker 650’s suggestion of a host name. * Cerulean's SonarView application can also discover the IP address of the Tracker 650, as can the (now deprecated) CeruleanTracker application. Once you have the IP address in hand, you can enter it into the address bar of a browser such as Google Chrome, for example, the following two different methods: Copy http://192.168.2.3 http://Tracker650 The configuration page should pop up, assuming: * The Tracker 650 is powered up * The Tracker 650 is in the same network as your computer * Your computer can access the subnet used by the Tracker 650 (some hints about this are [here](/c/tracker-650/communicating-with-the-tracker-650/tips-on-how-to-find-the-ip-address-assigned-to-your-ethernet-adapter) ) [PreviousConfiguring the Tracker 650](/c/tracker-650/configuring-the-tracker-650) [NextExample Configuration Web Page](/c/tracker-650/configuring-the-tracker-650/example-configuration-web-page) Last updated 3 days ago --- # Directory | Cerulean Sonar Docs Last updated 7 months ago [](https://docs.ceruleansonar.com/c/sonarview/) [](https://docs.ceruleansonar.com/c/omniscan-450/) [](https://docs.ceruleansonar.com/c/s-500-sounder/) [](https://docs.ceruleansonar.com/c/dvl-75/) [](https://docs.ceruleansonar.com/c/rov-locator/) [](https://docs.ceruleansonar.com/c/ceruleantracker/) [](https://docs.ceruleansonar.com/c/insight-240/) [](https://docs.ceruleansonar.com/c/tracker-650/) [](https://docs.ceruleansonar.com/c/surveyor-240-16/) [](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/) [SonarView](https://docs.ceruleansonar.com/c/sonarview/) [Omniscan 450](https://docs.ceruleansonar.com/c/omniscan-450/) [S500 Sounder](https://docs.ceruleansonar.com/c/s-500-sounder/) [ROV Locator](https://docs.ceruleansonar.com/c/rov-locator/) [CeruleanTracker](https://docs.ceruleansonar.com/c/ceruleantracker/) [Insight-240](https://docs.ceruleansonar.com/c/insight-240/) [Tracker 650](https://docs.ceruleansonar.com/c/tracker-650/) [Surveyor 240-16](https://docs.ceruleansonar.com/c/surveyor-240-16/) [Cerulean Ping Protocol](https://docs.ceruleansonar.com/c/cerulean-ping-protocol/) [DVL-75](https://docs.ceruleansonar.com/c/dvl-75/) --- # Overview | Cerulean Sonar Docs [NextElectrical Connection](/c/omniscan-450/electrical-connection) Last updated 7 months ago The Omniscan 450 comes in two models, the FS (forward scanning), and SS (side scanning). This manual covers both models. Note that although the model designations indicate Forward and Side scanning, in reality either one can be used for either application. The real difference is in the transducer and the packaging. The Omniscan 450 FS pictured below is fully packaged in its own enclosure housing the transducer and the electronics module. 100m and 300m enclosures are available. The Omniscan 450 SS pictured below has a separate transducer and electronics module. The transducer is 50% longer than the FS which gives a narrower beam and longer range. It is rated at 300m. The electronics module must be housed in the user's water tight enclosure. [](#whats-in-the-box) What's in the Box -------------------------------------------- #### [](#omniscan-450-fs) Omniscan 450 FS * Omniscan 450 FS unit with 1m ethernet cable terminated in 4-pin JST GH (compatible with Blue Robotics Ethernet Switch) with separate power and ground connections. * 4-pin JST GH to RJ45 (female) Adapter * 4-pin JST GH to 4-pin JST GH Adapter * 4-pin JST GH extension cable (200mm) #### [](#omniscan-450-ss) Omniscan 450 SS * Omniscan 450 SS Transducer with 1m shielded cable. * Omniscan 450 electronics module * 1m ethernet cable with 4-pin JST GH connectors (compatible with Blue Robotics Ethernet Switch). Cable also has another pair of wires for supplying power. * 4-pin JST GH to RJ45 (female) Adapter [](#software) Software --------------------------- The Omniscan 450 is designed for use with Cerulean SonarView: ### [](#omniscan-requires-sonarview-1.5.3-or-newer) [Omniscan Requires SonarView 1.5.3 (or newer)](https://github.com/CeruleanSonar/SonarView/releases/latest) ### [](#go-to-sonarview-docs) [Go to SonarView Docs](https://docs.ceruleansonar.com/c/sonarview/) Omniscan 450 FS 300m enclosure Omniscan 450 FS 100m enclosure ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F3592855831-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FHdQbBpPtUatcIjbJpCQn%252Fuploads%252FeYjC1xz01lFouai1C5fX%252FL1060155.jpg%3Falt%3Dmedia%26token%3D01f3c32d-a905-4e6a-b594-aa47ced6e799&width=768&dpr=4&quality=100&sign=73cc2cbd&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F3592855831-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FHdQbBpPtUatcIjbJpCQn%252Fuploads%252F8V2BatHpa0Wu5bXTsTNN%252Fimage.png%3Falt%3Dmedia%26token%3Ddd52f709-83a0-41d6-b6f4-3037516b2b42&width=768&dpr=4&quality=100&sign=d86a96f3&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F3592855831-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FHdQbBpPtUatcIjbJpCQn%252Fuploads%252FdCUpFIaI1HAGTgM8qwE9%252Fimage.png%3Falt%3Dmedia%26token%3D6bc3bdcf-cb79-42a4-a357-b5ef7b6ea035&width=768&dpr=4&quality=100&sign=8b7ba9e&sv=2) --- # Example Configuration Web Page | Cerulean Sonar Docs [PreviousFinding the Configuration Web Page](/c/tracker-650/configuring-the-tracker-650/finding-the-configuration-web-page) [NextLive Status Page](/c/tracker-650/configuring-the-tracker-650/live-status-page) Last updated 3 days ago The example web page below is representative. Yours may look different depending on firmware revision and the state of the system. Every parameter you can set on this page is "sticky". Once committed, the values are saved in non-volatile memory and are in effect until changed. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FBy7LUrx5tcCRUI84bSlh%252Fimage.png%3Falt%3Dmedia%26token%3D67fd7db1-773e-4dad-812a-d0d5213f524c&width=768&dpr=4&quality=100&sign=28fd9419&sv=2) --- # Setting the MAVLink REST Server Parameters | Cerulean Sonar Docs In the default configuration, the Tracker 650 sends odometry information to the autopilot on a BlueROV via an interface on the BlueROV called the MAVLink Rest Server. There are several configuration parameters, all of which are set to reasonable parameters at the factory. Most users can leave these at the default settings. See also [this discussion](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2) . The **MAVLink Server Address and Port** parameters set the IP address of the MAVLink server, which on a BlueROV is the IP address of the BlueROV itself. By default it is 192.168.2.2:6040. If you have changed the BlueROV address you need to re-enter it here. The port number is virtually always 6040. The **MAVLink System ID** identifies the Tracker 650 itself and is used by the MAVLink server to sort out who is talking to it. You only need to change this if you have a complicated network with other similar systems talking to the MAVLink server, and there is a collision with the system ID used by another device. The **MAVLink Vehicle ID** identifies the autopilot associated with the BlueROV you are trying to control. You should know if you changed the ID on the BlueROV and what you set it to. One situation where you might have to change your BlueROV vehicle ID is if you have other BlueBoats and/or BlueROVs on the same subnet. The **checkbox to send the global origin** is tricky. If you have a small basic system with just a BlueROV and Tracker 650, checking this box will cause a global origin of (0,0) to be send when everyone powers up. This will enable the BlueROV to use the Tracker 650 for position hold and dead reckoning. The downside is, the BlueROV thinks it is located off the west coast of Africa and the map on QGroundControl won't be correct. But, this does get position hold working for a basic user. If you know how to set a global origin by other means (e.g., CeruleanTracker, SonarView, an Omnitrack system), you definitely do NOT want this box checked. For arcane reasons, the autopilot accepts only one global origin per power cycle, so once set to (0,0) you are stuck with it until you reboot the ROV. [PreviousSetting the Host IP Address](/c/tracker-650/configuring-the-tracker-650/setting-the-host-ip-address) [NextSetting Pool Mode](/c/tracker-650/configuring-the-tracker-650/setting-pool-mode) Last updated 3 days ago --- # Overview | Cerulean Sonar Docs [NextGeneral Specifications Mk II](/c/rov-locator/general-specifications-mk-ii) Last updated 1 month ago The ROV Locator is designed for low-cost, medium accuracy localization of underwater objects. * The system can be used to guide an ROV to an area of interest, either manually or autonomously * The system can be used to locate an ROV or AUV * Other applications, such as swarming, are also possible This system is designed and priced for use by people who need to know generally where their ROV is located. It is not intended to be a survey-grade instrument, and it has few features not directly required for the primary function. A minimum complete system requires both a transmitter or transponder and a receiver or transceiver. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F2180742755-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FTLwTkS60mCJ7pYKVd2G5%252Fuploads%252FkP9ZietfCcGpUlkhZ33T%252Fimage.png%3Falt%3Dmedia%26token%3D260e5e58-923e-4fef-b8e6-e2709d29aa06&width=768&dpr=4&quality=100&sign=c0b32287&sv=2) --- # Scenario: Driving Your Own Kalman Filter | Cerulean Sonar Docs The Tracker 650 can optionally output a $[DVKFC](/c/tracker-650/communicating-with-the-tracker-650/the-ethernet-interface/usddvkfc-kalman-filter-raw-data-support-message) (Kalman Filter Raw Data C) message. The data in this message can be used in your own Kalman filter to estimate position or do other computations. Kalman filters are beyond the scope of this document. [PreviousSetting DVL Mounting Rotation Offsets](/c/tracker-650/configuring-the-tracker-650/setting-dvl-mounting-rotation-offsets) [NextForward-Facing Mount](/c/tracker-650/configuring-the-tracker-650/setting-dvl-mounting-rotation-offsets/scenario-driving-your-own-kalman-filter/forward-facing-mount) Last updated 18 days ago --- # Setting DVL Mounting Rotation Offsets | Cerulean Sonar Docs These parameters set the orientation assumed by the Tracker 650 when it converts its velocity calculations into the coordinate frame used by the vehicle. See [here](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) for a discussion of how to determine these values. [PreviousSetting Pool Mode](/c/tracker-650/configuring-the-tracker-650/setting-pool-mode) [NextScenario: Driving Your Own Kalman Filter](/c/tracker-650/configuring-the-tracker-650/setting-dvl-mounting-rotation-offsets/scenario-driving-your-own-kalman-filter) Last updated 4 days ago --- # Setting Pool Mode | Cerulean Sonar Docs Operation in a pool can be difficult, and the Tracker 650 includes a pool mode. It should not be used outside a pool environment. See the notes [here](/c/tracker-650/configuring-the-tracker-650/setting-pool-mode) . [PreviousSetting the MAVLink REST Server Parameters](/c/tracker-650/configuring-the-tracker-650/setting-the-mavlink-rest-server-parameters) [NextSetting DVL Mounting Rotation Offsets](/c/tracker-650/configuring-the-tracker-650/setting-dvl-mounting-rotation-offsets) Last updated 4 days ago --- # General Usage | Cerulean Sonar Docs [PreviousSetting Velocity Adjustment](/c/tracker-650/configuring-the-tracker-650/setting-velocity-adjustment) [NextGeneral Hints and Tips](/c/tracker-650/general-usage/general-hints-and-tips) Last updated 3 days ago The Tracker 650 operates by bouncing three narrow conical sonar beams off a target plane (often the target plane is the seabed or bottom of a body of water). The Tracker 650 measures the frequency of each return beam. If any of the transmit/receive elements are moving with respect to the target plane, that return beam frequency is shifted due to the Doppler effect. By measuring the frequency shift, we can calculate the relative velocity between each transmit/receive element and the target plane. Depending on how the sensor is angled with respect to the target plane, and the direction of motion, each beam may sense a different velocity. We also measure the orientation of the sensor with respect to the target plane. All this information is run through an Extended Kalman Filter (EKF), which outputs sensor velocity in all three axes relative to the sensor. If the sensor is fixedreasonably rigidly to your ROV and is lined up with the ROV's cardinal axes, the velocities then also apply to the ROV. Since the sensor beams are angled from a target plane - to - line normal, the target plane does not provide as good a return as you might get from sounding sonars that are pointed straight at the target plane. Best overall performance comes when the sensor head is operated in a parallel position relative to the target plane. As the head is tilted more and more off parallel, one or more of the returns become weaker and weaker. While the Tracker 650 can operate temporarily with as few as one beam locked on the target plane, performance is degraded. Take-away: keep it as parallel to the target plane as you can while operating. The following are a few scenarios to illustrate how you might use the Tracker 650. The scenarios are not exhaustive, nor are they necessarily mutually exclusive. Tracker 650 with notional cones showing the sensor -3dB patterns ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FhLOOUN0X7ZG7RJVrGcja%252Fimage.png%3Falt%3Dmedia%26token%3D2833b425-84e1-425e-a0ba-4b7ff68c5f9e&width=768&dpr=4&quality=100&sign=cf6f9f72&sv=2) --- # Setting Speed of Sound | Cerulean Sonar Docs Speed of sound should only be changed if you are sure you know what the speed of sound is in your operating environment. It affects how the Tracker 650 calculates the Doppler shift and hence the measured velocities. [PreviousBasic Operating Guidelines and Hints](/c/tracker-650/general-usage/basic-operating-guidelines-and-hints) [NextScenario: Doing Your Own Dead Reckoning](/c/tracker-650/general-usage/scenario-doing-your-own-dead-reckoning) Last updated 3 days ago --- # Electrical Drawings | Cerulean Sonar Docs [PreviousArduPilot Parameters](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/ardupilot-parameters) [NextPower and Ethernet Cabling](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/ardupilot-parameters/electrical-drawings/power-and-ethernet-cabling) Last updated 9 months ago [Power and Ethernet Cabling](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/ardupilot-parameters/electrical-drawings/power-and-ethernet-cabling) --- # Scenario: Doing Your Own Dead Reckoning | Cerulean Sonar Docs You might want to do your own dead reckoning or use velocity data in the ROV’s coordinate frame. You can do this by enabling the $[DVPDL](/c/tracker-650/communicating-with-the-tracker-650/outgoing-message-formats-tracker-650-to-host/usddvpdl-and-usddvpdx-dvl-position-and-angle-deltas-messages) (position delta) or $[DVPDX](/c/tracker-650/communicating-with-the-tracker-650/outgoing-message-formats-tracker-650-to-host/usddvpdl-and-usddvpdx-dvl-position-and-angle-deltas-messages) (extended position delta) output. **If you are writing dead reckoning software take care to understand the different coordinate system used in the $DVPDL/X messages.** Once you have the delta position data (which is equivalent to a distance moved for each sample), you can convert the distances to distance vectors using your own orientation refence such as the heading data computed by the ROV's flight controller. By integrating the distance vectors, you can compute the distance from your starting location. Dead reckoning is simpler than the explanation above sounds, and here are many sources of information on how to do dead reckoning, such as [here](https://en.wikipedia.org/wiki/Dead_reckoning) . If you have a BlueROV with current software, it can already do dead reckoning. See [here](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2) and [here](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/global-origin) . If the Tracker 650 loses track of the target plane by flying too high or too low, or if there are issues like heavy vegetation that absorb the sonar signal, the unit will indicate the issue by send a low confidence value, and the delta positions given will be zero. This will cause your dead reckoning to stop updating position while the issue persists. [PreviousSetting Speed of Sound](/c/tracker-650/general-usage/setting-speed-of-sound) [NextScenario: Holding Position](/c/tracker-650/general-usage/scenario-holding-position) Last updated 3 days ago --- # General Hints and Tips | Cerulean Sonar Docs [PreviousGeneral Usage](/c/tracker-650/general-usage) [NextBasic Operating Guidelines and Hints](/c/tracker-650/general-usage/basic-operating-guidelines-and-hints) Last updated 3 days ago * Ocean/lake bottom and water conditions such as salinity affect the maximum altitude at which you can operate reliably. When the maximum altitude is exceeded the Tracker 650 sends data messages with confidences set to 0. * Accuracy of the Tracker 650 reduces as you approach the minimum standoff (altitude), starting at about 1 meter standoff. * If possible the Tracker 650 should not be operated below its minimum altitude. It does not always detect going under minimum altitude and multiple reflections between the ROV and the target plane can appear to the Tracker 650 to be valid target plane detection and introduce spurious motion estimates. If you drop under the minimum altitude, try to hop up to at least 2 meters above the target plane to allow the Tracker 650 to re-acquire. In a muck environment, crashing into the muck can entrain gas bubbles and particles in the thruster wash, which may be interpreted by the Tracker 650 as sudden shifts in speed. The [$DVPDX](/c/tracker-650/communicating-with-the-tracker-650/outgoing-message-formats-tracker-650-to-host/usddvpdl-and-usddvpdx-dvl-position-and-angle-deltas-messages) message contains an estimate of standoff so you can watch as you approach the minimum. The standoff data can optionally also be sent to the [MAVlink interface](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2) and act as a virtual sounder. * If the Tracker 650 is not parallel to the target plane when it is moving, some of the X-Y velocity will end up in the Z velocity. For example, if you are driving your ROV parallel to a flat seabed at one meter per second, and the Tracker 650 central axis is pointed at 80 degrees down from the X axis (90 degrees would be needed to make the Tracker 650 parallel to the seabed), then the X velocity would read as 0.98 m/s, and the Z velocity would read as -0.17 m/s. If you a using a good IMU (and the orientation between the IMU frame and the Tracker 650 frame are known) and are integrating the delta positions in three dimensions, this will all work out as expected. If you are dead-reckoning only in the horizontal plane (or other plane parallel to the target plane), you can use the [SET-VELOCITY-ADJUSTMENT](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-velocity-adjustment) command to fudge in a correction factor. * If you are sitting at the surface and using active control to keep the ROV partially out of the water, be aware that air bubbles may become entrained in the thruster wash and cause false target plane and false motion detection. * The Tracker 650 sometimes does not perform well in pools due to reverberations, which causes constructive and destructive interference with reflections which confuses the bottom tracker. For pool usage you can try [pool mode](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-pool-mode) . * When using the Tracker 650 for position hold in areas with heavy vegetation, it is possible to get into a positive feedback loop that introduces error. If the ROV is directly over vegetation, the ROV thruster wash can cause the vegetation to move away from the ROV. This motion is picked up by the Tracker 650, and the ROV can respond by traveling in the direction of the vegetation motion. This can put the Tracker 650 over previously undisturbed vegetation, and the process repeats. * DVL velocities are noisier than you would expect (see [here](/c/tracker-650/expectations) ), but surprisingly, by integrating over a short span of time they quickly regress to the mean. * See the SonarView docc or the for how to install firmware updates. [CeruleanTracker docs](https://docs.ceruleansonar.com/c/ceruleantracker/) --- # Bottom Mount | Cerulean Sonar Docs [PreviousMounting the Tracker 650](/c/tracker-650/mounting-the-tracker-650) [NextThruster Deck Mount](/c/tracker-650/mounting-the-tracker-650/thruster-deck-mount) Last updated 18 days ago Bottom View of BlueROV2 Heavy with Tracker 650 mounted facing downward with arrow pointed forward. The Tracker 650 is attached to an adapter plate (yellow). This is the default mounting configuration (BOTTOM, FORWARD). Iso view of the BlueROV2 Heavy with Tracker 650 mounted facing downward with arrow pointed forward as shown in the previous figure. Note the Tracker 650 is recessed and thus better protected against damage. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FjkwQIgj9gmv8qQ8woSap%252Fimage.png%3Falt%3Dmedia%26token%3D7b8416e9-92e4-4591-8384-ba31cc332bf4&width=768&dpr=4&quality=100&sign=518f230&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252Ff9sRpYh5YXUfgYn0qr0t%252Fimage.png%3Falt%3Dmedia%26token%3D44306310-2520-42cd-afb8-3d41c434c70e&width=768&dpr=4&quality=100&sign=f07fba81&sv=2) --- # Setting Velocity Adjustment | Cerulean Sonar Docs The velocity adjustment sets an overall global adjustment in measured velocity. Velocity as measured at each transducer is multiplied by the velocity adjustment factor before being used in any calculations. The DVL accepts velocity adjustments between 0.8 and 1.25 inclusive, and the value is stored in flash memory until a new value is received. [PreviousForward-Facing Mount](/c/tracker-650/configuring-the-tracker-650/setting-dvl-mounting-rotation-offsets/scenario-driving-your-own-kalman-filter/forward-facing-mount) [NextGeneral Usage](/c/tracker-650/general-usage) Last updated 4 days ago --- # Mounting Drawings (V1 pre-2025) | Cerulean Sonar Docs [PreviousSend xxx Message](/c/tracker-650/mounting-the-tracker-650/thruster-deck-mount/send-xxx-message) [NextCommunicating with the Tracker 650](/c/tracker-650/communicating-with-the-tracker-650) Last updated 18 days ago Example Example Example Example ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252F8UxblxRoH2t08daMx2ki%252Fimage.png%3Falt%3Dmedia%26token%3Db07d7549-8508-4808-9022-927ab430be0d&width=768&dpr=4&quality=100&sign=4dce6074&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FCMvByOW2QGBRQAq3GJD5%252Fimage.png%3Falt%3Dmedia%26token%3Dde09aa97-0e22-41b8-a6f7-ce0d21c7f9de&width=768&dpr=4&quality=100&sign=35f3506f&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FNL8ZR4HucxiS7p6I5ako%252Fimage.png%3Falt%3Dmedia%26token%3D3c8b8336-7c46-4963-b027-0028f521b311&width=768&dpr=4&quality=100&sign=1a2cf933&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FgImBW3obXhKx1lrWXmEB%252Fimage.png%3Falt%3Dmedia%26token%3D6cb6b846-7589-480f-929c-989de8271b0e&width=768&dpr=4&quality=100&sign=e87d09eb&sv=2) ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FpBGWTi5EHFh1llpWryYr%252Fimage.png%3Falt%3Dmedia%26token%3Dec8edfca-5edc-4570-8a32-d5423808bcc2&width=768&dpr=4&quality=100&sign=dba8ca1c&sv=2) --- # Communicating with the Tracker 650 | Cerulean Sonar Docs [PreviousMounting Drawings (V1 pre-2025)](/c/tracker-650/mounting-drawings-v1-pre-2025) [NextFactory Defaults and Default Messages](/c/tracker-650/communicating-with-the-tracker-650/factory-defaults-and-default-messages) Last updated 11 months ago The Tracker 650 communicates via Ethernet (best choice) or TTL serial. Both interfaces are active on startup. Incoming messages received on either interface are treated identically, first-come, first-served. Outgoing messages are sent on both interfaces simultaneously. Both interfaces can be used simultaneously, but we recommend you do not send commands on both interfaces. If using both for monitoring, use one for monitoring and the other for monitoring/controlling. Refer also to the [CeruleanTracker Docs](https://docs.ceruleansonar.com/c/v/ceruleantracker/) . CeruleanTracker is a Windows Application that may be able to manage all the setup communications for you. Simplified Block Diagram of Tracker 650 ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FjaqObbsIYKWs5qibbv9h%252Fimage.png%3Falt%3Dmedia%26token%3D2750b10c-e22f-4f4f-a610-20c6eba62718&width=768&dpr=4&quality=100&sign=3c9ccc1e&sv=2) --- # Global Origin | Cerulean Sonar Docs ArduSub is able to accept inputs from several sensors, and it can use these inputs to do dead reckoning navigation. The Cerulean Tracker 650 is able to provide ArduSub with delta distance messages via mavlink2rest. ArduSub can then do dead reckoning based in the delta distance from the DVL and ROV orientation from other sensors it is monitoring. In order for ArduSub to do dead reckoning, it needs to be set up as described earlier. It also needs to receive a global origin, which essentially tells ArduSub where to start from. ArduSub accepts one and only one global origin per session (a session is the time period during which the ROV is powered). You can give ArduSub a global origin in several ways: * The DVL can automatically send a global origin of (0,0) each time it connects to the MAVlink REST server. This allows relative positioning not corresponding to the actual latitude and longitude and thereafter ArduSub will attempt to update this position using dead reckoning.. You can [enable this feature like this](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/mavlink-origin) . Once the origin is set, it is fixed until you cycle power on the ROV. * You can manually send a position through the DVL using the [SET-POSITION](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-position) command. You can give ArduSub your actual GPS position and thereafter ArduSub will attempt to update this position using dead reckoning. You can only do this once, as once the origin is set, it is fixed until you cycle power on the ROV. If you have enabled automatic origin as described above, SET-POSITION will be too late and have no effect. * You can send ArduSub a global origin using your own MAVlink interface (such as Cerulean's SonarView software or the deprecated capability in CeruleanTracker) and not involve the DVL. Once you have set the global origin, ArduSub will attempt to update this position using dead reckoning with the position delta information supplied by the DVL. ArduSub is very complicated and does some unintuitive things. If you send NMEA-formatted GPS position information to ArduSub, it will disable the ability thereafter to use position hold and dead reckoning based on DVL inputs. NMEA data could come from a GPS on the same network, or it might come from CeruleanTracker if you fail to turn off NMEA outputs as described [here](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/tracker-650-setup-for-mavlink-support) . When the DVL is out of range of a target surface and/or is not accurately calculating velocity and delta distance, ArduSub stops updating the dead reckoning solution. [PreviousTracker 650 Setup for MAVLink Support](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/tracker-650-setup-for-mavlink-support) [NextMounting the Tracker 650](/c/tracker-650/mounting-the-tracker-650) Last updated 18 days ago --- # Thruster Deck Mount | Cerulean Sonar Docs [PreviousBottom Mount](/c/tracker-650/mounting-the-tracker-650/bottom-mount) [NextSend xxx Message](/c/tracker-650/mounting-the-tracker-650/thruster-deck-mount/send-xxx-message) Last updated 18 days ago ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252Ftv1PC9TS9ZhHDiM0xOZE%252Fimage.png%3Falt%3Dmedia%26token%3D5f36a95c-4a69-4fdc-8599-607bfc1864f3&width=768&dpr=4&quality=100&sign=996930fc&sv=2) Side view of BlueROV2 Heavy with DVL (violet color) mounted using a sheet metal bracket (orange color) on the starboard side thruster deck. The advantage of this position is that it takes up quite a bit of of the minimum standoff, allowing the ROV to fly closer to the target surface. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252FVboTC4TA6U5TPAHAbReT%252Fimage.png%3Falt%3Dmedia%26token%3D6ad939f9-136b-4e3e-a99a-41be239a33e8&width=768&dpr=4&quality=100&sign=3c91de4d&sv=2) Bottom view of Tracker 650 (violet color) mounted on thruster deck. Note the arrow is pointed to the bow (camera dome is the bow) with a 30 degree offset from directly forward. The 30 degree offset puts the B sensor cone into the optimum position to pass through the ROV frame and also resolves an interference between the cable penetrator and a thruster body. This requires a [SET-SENSOR-ORIENTATION](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) command (only one time since it will be stored in non-volatile memory) with parameters (0, 0, 30). If the DVL was flipped around to the port thruster deck the arrow would be offset from straight astern by 30 degrees and the parameters to SET-SENSOR-ORIENTATION would be (0, 0, -150). ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252Fq3PARINjosEaGDPfQUNP%252Fimage.png%3Falt%3Dmedia%26token%3De79a67ef-04f6-4f66-841d-52eb0ddfb00f&width=768&dpr=4&quality=100&sign=8fd3ae4f&sv=2) Top view of Tracker 650 mounted on thruster deck, showing the resolved interference between the cable penetrator and a thruster body. ![](https://docs.ceruleansonar.com/~gitbook/image?url=https%3A%2F%2F977450193-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FldEroQctKFErSiZvuhJk%252Fuploads%252F0AbZfwaJssmbysA0g7QD%252Fimage.png%3Falt%3Dmedia%26token%3D9385f314-78dc-4192-85ac-ebee01531e93&width=768&dpr=4&quality=100&sign=5efd5875&sv=2) Iso view of Tracker 650 mounted on thruster deck. Semi-transparent cones are shown for the sensor axes. --- # Using MAVLink and BlueOS for Position Hold on a BlueROV2 | Cerulean Sonar Docs By default, the Tracker 650 will send [position delta messages](https://mavlink.io/en/messages/ardupilotmega.html#VISION_POSITION_DELTA) to [mavlink2rest](https://github.com/patrickelectric/mavlink2rest) , a component of [BlueOS](https://github.com/bluerobotics/BlueOS-docker) . ArduSub requires these messages to enter Position Hold mode. You can also optionally send MAVLink [DISTANCE\_SENSOR](https://mavlink.io/en/messages/common.html#DISTANCE_SENSOR) [distance messages](https://mavlink.io/en/messages/common.html#DISTANCE_SENSOR) that make the Tracker 650 look like a depth sounder, and optionally a [SET\_GPS\_GLOBAL\_ORIGIN](https://mavlink.io/en/messages/common.html#SET_GPS_GLOBAL_ORIGIN) message. The position delta messages are necessary but not sufficient for ArduSub to do position hold (see the next two sections for other conditions). The distance sensor messages tell ArduSub how far off the bottom (or other target surface) the DVL is. ArduSub doesn't really care, but it does pass this information to QGroundControl, which can display this on your piloting screen. The SET\_GPS\_GLOBAL\_ORIGIN message is described [here](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/global-origin) . The address and port of mavlink2rest are assumed to be 192.168.2.2:6040, which is the default in BlueOS. The address and port will need to be configured if they are different than the default. See [DVL Setup for MAVLink Support](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/tracker-650-setup-for-mavlink-support) . Other ROV operating systems running mavlink2rest may also work, but we have only tested with BlueOS at this time. The Tracker 650 must be on the same Ethernet subnet as the mavlink2rest server We recommend using BlueOS version 1.1.0-beta.16 or later. Earlier versions of BlueOS may not have the functionality to support position hold using the MAVLink interface as described here. We recommend using ArduSub version 4.1.1 Beta or later. Earlier versions of ArduSub may not have the functionality to support position hold using the MAVLink interface as described here. When sending a distance measurement, by default the Tracker 650 will send a parameter in the MAVLink message saying the distance measurement is along the ROV +Z axis (down). If you [tell the](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) Tracker 650 [it is mounted](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) pointing other than down (e.g., forward), the Tracker 650 will say the distance measurement is parallel to the closest one of the ROV principal axis. If the Tracker 650 is pointed in a direction that is ambiguous (e.g., halfway between the +X and +Y axes), the Tracker 650 will use the default (down) parameter. Possible direction values (automatically derived from your [mounting parameters](/c/tracker-650/communicating-with-the-tracker-650/commands-accepted-by-the-tracker-650/set-sensor-orientation) ) are: - Down (parallel to the +Z axis) - Up (parallel to the -Z axis) - Forward (parallel to the +X axis) - Aft (parallel to the -X axis) - Port (parallel to the -Y axis) - Starboard (parallel to the +Y axis) [PreviousScenario: Holding Position](/c/tracker-650/general-usage/scenario-holding-position) [NextArduPilot Parameters](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/ardupilot-parameters) Last updated 11 months ago ---