Cockpit first Beta release!

Cockpit v1.0.0-beta.1

We’ve been developing a new browser-based control station software for almost two years now, and we are happy to announce that today we are releasing the first Beta version of Cockpit! :grinning:

About Beta

This first Beta for us means that we’ve been adding functionalities and testing Cockpit for some time, and we now consider it ready to be the first GCS of choice for someone piloting an ROV.

Beta also means that, despite all our testing so far, we expect bugs to be discovered, and we will fix them along the way, before releasing the first stable version.

It’s for you

You know this already, but we can’t say it too often: we are building Cockpit to improve your experience piloting a remote vehicle, so your feedback is critical to the process. Hearing from you is the best way for us to go in the right direction.

So with all that said, enjoy Cockpit, and let us know what you think.

:bulb: Important:

For now, Beta releases should always be installed from the Store tab in the Extensions Manager, instead of the usual extension upgrade in the Installed tab. This is a bug in BlueOS that we already fixed on master and will be available in version 1.1.2. When you install a new version, the one you already have will be uninstalled first automatically.

7 Likes

Hi Rafael - just installed the Beta2 version and tested it in water and seem to work as well as Beta1. For feedback I note a couple of issues below!

  1. Video latency (freezing) seemed worse than Beta 1 although I get this stream error message after messing around with the video settings so perhaps that is it. Will work through the solution provided above to see if that solves the freezing.
  2. Added a button to trigger the camera to the wireless xbox joystick (record?) but has no effect.
  3. Want to add a mini widgit to display tether turns but can’t find the relevant Mavlink variable. Is there a list of variables that can be added to the miniwidgits or joystick buttons (sorry if i missed this in the docs but have tried!).
  4. Instructions for installing the new version were a bit confusing. I couldn’t find any procedure to uninstall (completely or otherwise) but seemed to install just fine using the extension pages in BlueOS. Please advise if this was incorrect.
  5. Many Thanks for this awesome upgrade to the BlueROV2!!!
1 Like

Thanks for the testing and feedback Bill! Will comment on each point below:

  1. We indeed have a (big) video problem in Cockpit right now, and we are releasing the solution on Beta3 today. As you can see there, we are using (a lot) more resources than necessary and this, together with a bug we discovered recently in the camera manager is causing lags, stuttering and sometimes even loss of control on the vehicle. I expect all of those problems to be gone on Beta3. I don’t expect changes in this behavior from Beta1 to Beta2, as there were no changes related to that, but if you happen to have opened a video recording or updated your BlueOS version to master, that could have worsened the problem.

  2. Was that a MAVLink MANUAL_CONTROL “Camera trigger” function that you added? If so, this function is not directly connected to Cockpit, and is actually sending a message to the vehicle saying it wants to trigger the camera, although I don’t know if the vehicle or our camera manager do have support for that. I’m summoning @williangalvani, @joaoantoniocardoso and @patrickelectric here to clarify on this one. If we already have support on both ArduSub and MCM, we can make Cockpit work with it, although I think a more straightforward solution is to just add a “Toggle video recording” function to the Cockpit Actions protocol. Opened an issue to track that.

  3. Actually the VeryGenericIndicator already has a preset for tether turns. After you click to use it you can check on the “Custom” tab which is the variable being consumed by it.

  4. You did it right. The problem was that our extensions manager was not considering <1.0.0 versions as unstable, so if you had v0.18.2 for example, when Beta1+ were released, BlueOS considered those to be unstable versions and didn’t offer it to you. We are fixing that for the next minor stable release on BlueOS. For now, you just need to open BlueOS’s extensions page, and on the store tab, click to install the latest Beta version of Cockpit. I just realized there’s no need to uninstall it first, so I’m removing that from the original post. @EliotBR I think there’s an opportunity here to improve the documentation on the extensions page side.

  5. I’m very, very glad you liked it. It’s been a long development, but we’ve been enjoying it a lot, the internal response to it has been great, and we are excited now to be sharing it with you. I predict an awesome year coming. With those feedbacks we are receiving from people like you, it’s much easier for us to go in the right direction and create a good product. We are the ones who need to thank you.

1 Like

Was that a MAVLink MANUAL_CONTROL “Camera trigger” function that you added? If so, this function is not directly connected to Cockpit, and is actually sending a message to the vehicle saying it wants to trigger the camera, although I don’t know if the vehicle or our camera manager do have support for that. I’m summoning @williangalvani, @joaoantoniocardoso and @patrickelectric here to clarify on this one. If we already have support on both ArduSub and MCM, we can make Cockpit work with it, although I think a more straightforward solution is to just add a “Toggle video recording” function to the Cockpit Actions protocol. Opened an issue to track that.

The Mavlink Camera Manager doesn’t implement recording, so the message won’t work. Feel free to open an issue there, if that is important.

2 Likes

Many Thanks for the info Rafael and Joao - much appreciated!

Regards the Mavlink Camera trigger - yes that is the one I was referring to. I think it’s already raised as a suggestion here. Just assumed it had been implemented already when I saw it was an option when assigning joystick buttons in Cockpit.
Personally think your team has hit the bullseye in terms of a good balance between rapid development, flexibility and functionality with Cockpit so far. Enjoying the new interface very much now but even more excited about taking advantage of the amazing ability to extend/customize the BlueROV in future.
Best Regards to you all for the holiday season!

3 Likes

Thank you so much for the feedback Bill! We’re also very happy with how things are going, and very optimistic. There’s a lot yet to be done, but things seen to be on the right path. Merry Christmas and a happy new year!

1 Like

Hi all.

Just loaded and tested Beta 3. I’m setup with an additional, downward looking IP camera (12Mpx View Sheen) with a primary and secondary (low res) streams. I’ve customised the HUD View to add a thumbnail for monitoring the downward looking camera, and added a new view for the high res version.

Observation: I experience the odd video freeze, but it’s way worse if I use the Cockpit URL: blueOS.local/extension/cockpit?full_page=true (from the BlueOS sidebar menu) than if I use the URL: blueOS.local:49153. Any idea why that is?

Also, do you have a feel yet as to whether the final Cockpit product would run as an extension on BlueOS or be an Electron app installed on the top-side computer? Is there much of an overhead for the Raspberry Pi to be running the HTML server? Looking at the CPU usage it looks like the mavlink-camera-manager uses the most CPU time in this situation (>200%).

Absolutely loving this. Feels really close!

1 Like

Observation: I experience the odd video freeze, but it’s way worse if I use the Cockpit URL: blueOS.local/extension/cockpit?full_page=true (from the BlueOS sidebar menu) than if I use the URL: blueOS.local:49153. Any idea why that is?

I didn’t expect them to behave differently. @joaoantoniocardoso any idea on this?
Also, Peter, have you configured your list of allowed IPs for video stream? It is supposed to help/fix the freeze problem. You can do it in the configuration menu.

Also, do you have a feel yet as to whether the final Cockpit product would run as an extension on BlueOS or be an Electron app installed on the top-side computer? Is there much of an overhead for the Raspberry Pi to be running the HTML server? Looking at the CPU usage it looks like the mavlink-camera-manager uses the most CPU time in this situation (>200%).

We plan to have Cockpit also provided as a standalone Electron application, yes. You can actually download it already for Mac and Linux, but it’s been a long time since I don’t test it, so I’m not sure if it’s working correctly. It’s not our focus right now, but it’s in our plans to provide first-class support to it. For those using BlueOS (which already includes mavlink2rest and mavlink-camera-manager) it already has everything needed. For those that want a full-featured solution, that can connnect directly to non-BlueOS systems, the main problem today is that the camera-manager is only compatible with Linux systems, as it uses the Video4Linux API, and so would not work on Mac and Windows. @joaoantoniocardoso and @patrickelectric have already mentioned to have thought about more flexible alternatives for it. It’s something we should be working on when we get to focus on the standalone Cockpit app.

The camera-manager is indeed the most resource-intensive part, as expected, but it should run even on Pi3 systems, so no problem for regular computers. The HTML server is negligible in terms of resource usage.

Absolutely loving this. Feels really close!

It is our pleasure to hear that! Thank you for all the feedback Peter!

1 Like