New to UAVCAN and completely CONFUSSED

Hello to the UAVCAN community. I am so greatful to have found you. I have quite a bit of experience with digital communication buses and language but in working with drones I have discovered that the commercial drones that my company operates utilize the UAVCAN protocol. I’m working to setup the maintenace and engineering support for these Drones and also perhaps designing improved models or updating the ones we have. With that I have recently learned of the UAVCAN protocol and I want to set myself up to support that. But HOLYCOW!!! From a Noob point of view its scattered all over the place, there’s V0, V.5 and V1 and all of them have changed names. So this has been so confusing. Can anyone help me out and just let me know what software I need. I like programing in Python. What plugins, extensions. What do I need to get up and running. Also what UAVCAN standard should I use and is there a document with those standards?

Any help would be so so appreciated.

Thank you so so much

Hi John,

The recent name change is intended to reduce the confusion you described. At the moment, there is no such thing as “UAVCAN” anymore. It has been forked into two independent projects:

  • DroneCAN was formerly known as the legacy UAVCAN v0; it also incorporates UAVCAN v0.5 which has never seen widespread use.

  • OpenCyphal was formerly known as UAVCAN v1.

Which software and tooling you need depends on which of these two protocols are used in your vehicles.

Thank you so much for responding to me. I believe we are using V1.

In that case, I suggest starting here:

Sorry again John. The confusion has been significant we admit. Our entire focus these last few weeks has been to reduce the noise and find clear air for us to advance Cyphal.

Thank you so much for responding. Knowing that someone is truly out there that will make getting up and running that much easier.

Thank You!!!

Will do.

Thank you!!!

Hi,

I am in a similar situation to John, however the device I need to talk to is using DroneCAN. Can you suggest good resources for getting started on DroneCAN?

Thanks in advance!

Cheers,

Lee

The official website should be a good starting point:

They also have their separate support resources and even their own Discord (links on their website)

Thanks!

Hello Mr Kirienko
I have been trying to get my head wrapped around the canbus protocol and yes a beginner, that is 1 yr reading. I have followed your products at Zubax and have tried to learn from your designs. So now you have Cyphal and then theres Dronecan saying they are continuing development. If I want to work with PX4 or Ardupilot I have to stay with them, what’s your planning with Cyphal as far as this. I am trying to build a control ecosystem with canbus as the protocol and all the hardware I have been purchasing is for px4. What are your plans with Cyphal as far as incorporating with px4. Yes I am just learning, from my experience you are a leader and driver of the canbus for drones, are you developing for completely different control os, It just seems to me there has to be a big picture I am missing.

Building any non-trivial system based on DroneCAN today would be a mistake unless you strongly require compatibility with legacy hardware out there. This is because of its inherent architectural limitations, which are covered in the Guide. I am fairly confident saying this since I was more involved in the architecting and designing of both DroneCAN and Cyphal than anybody else.

Cyphal/CAN is already supported in PX4. Although the support might be considered somewhat minimal, it should be easy to extend since the hard part is already done (mostly by @PetervdPerk, @JacobCrabill, and others).

Cyphal/CAN is minimally supported in a fork of ArduPilot. There is an upstream pull request which appears to be failing to gain the attention of the maintainers but one might hope to see it merged one day.