# Scenario: Doing Your Own Dead Reckoning

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.md) (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.md) (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.&#x20;

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).

{% hint style="info" %}
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.md)and [here](/c/tracker-650/using-mavlink-and-blueos-for-position-hold-on-a-bluerov2/global-origin.md).
{% endhint %}

{% hint style="info" %}
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.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ceruleansonar.com/c/tracker-650/general-usage/scenario-doing-your-own-dead-reckoning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
