There’s some further brief commentary on that here. Regardless, modes that require a position estimate understandably can’t be switched into without active position measurements, so you’ll need to fix the DVL connection/integration issue first.
ArduSub beta recently had a couple of updates that apparently messed up a default parameter for the depth sensor. The issue should be fixed if you
You will also need to set EK3_SRC1_POSXY and EK3_SRC1_VELXY to 6 (although I’m unsure if that’s just if you’re using BlueOS Beta instead of Companion).
Right, I’ve just confirmed that in QGC, so it seems our recommendation hasn’t been updated to match the new firmware.
I’ve put a comment about that in my documentation update pull request, but I don’t know what the new recommended value is so we’ll need to wait for the software team to be online tomorrow.
At this stage the DVL’s dead reckoning message isn’t used in the DVL integration - the position reported in QGC is calculated by ArduSub’s EKF3, which does its own dead reckoning by combining the autopilot’s IMU values with the DVL’s velocity measurements.
…
…
I am curious if that message saying “Trying to talk to dvl at http://192.168.2.95/api/v1/about” is the message I am suppose to see. I ask because when I try to go to that page it sends me to a page of what looks like code
And it doesn’t seem like it goes to the DVL IP address itself. But don’t quite understand how they communicate with each other so I wasn’t sure if this is an issue or not.
I don’t believe that’s an issue we were aware of, but the DVL extension is currently being rewritten to add some extra functionality and improve the interface, so this issue should be resolved with the release of that new version. It should be available within the next couple of weeks
Thanks for update on that! What is the most recent configuration of the OS and Ardusub is that the DVL works with? Maybe running into connection issues due to versions. Currently using BlueOS version 1.0.1 and Ardusub firmware 4.1.0.
I spoke with @williangalvani about this, and was told that there were some recent mavlink2rest and water-linked API changes that are causing the issues here. The updated DVL extension should support the latest BlueOS and DVL firmware versions, as well as the api for older DVL firmware versions.
You can beta test it via the following instructions:
It’s a bit unclear, but it looks like the mavlink2rest API might have changed on the 1/March, in which case the latest version before that would be 1.0.0-beta13. That’s from before the first stable release, so is likely not advisable to go back to. If that is the case it at least makes some sense, because the idea was that once BlueOS was stable the core APIs should stop having breaking changes wherever possible.
I’m also unsure whether it’s possible to access older water-linked DVL firmwares, so if you’re already on the latest one then you may need to use the latest DVL extension, or wait until it’s released in stable form.
@EliotBR since I have newest stable versions of both BlueOS and DVL, I went ahead and followed the steps by @williangalvani. But in my listing I could not find the two names to delete. Instead it was another one for the DVL. So I tried to delete that one instead but was told that I had to stop running the container to do so.
But I do not know how to do so, whether I do that through the terminal or not. I tried looking for it through task manager but could not find it. By running rest of code I have newest image now but can’t start new docker since I still have old docker installed. Here is the process I did via terminal:
Thank you so much @williangalvani@EliotBR you are lifesavers!! Yes I assumed missing one command just didn’t know code for it but going through those lines of code did the trick. Got DVL connected to BlueOS and then was able to get position hold to work right after! This is seriously great work by you guys.
Now as a follow up I am just wondering what exactly was the change we just did between when I originally ran the DVL extension to when I restarted the new docker. And also is that the process I will have to do for future reference. Like is the code I ran from github page (GitHub - bluerobotics/BlueOS-Water-Linked-DVL) different from one you gave above and always going to give me trouble? Or is it updated to the new docker now? Just wondering if every time I run the code I need to go through the process we did above.