ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    How does VOXL 2 communicate with external Flight Controller?

    VOXL 2
    external fc voxl2
    2
    4
    486
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      roy
      last edited by

      Hi,

      How does VOXL 2 communicate with an external flight controller? What sort of latency does connecting to an external flight controller introduce?

      Thanks!

      1 Reply Last reply Reply Quote 0
      • modaltbM
        modaltb ModalAI Team
        last edited by

        Hi @roy ,

        Typically the easiest way to interface is through a UART. That's what we do on our VOXL-Flight product. There's the Snapdragon 821 on one side, and an STM32 on the other, and they communicate via a UART at 921.6kbuad. Latency has not been an issue.

        Same idea roughly on VOXL2, except this time we have PX4 running ON the snapdragon 865 on a DSP instead of offboard.

        BUT, you don't need to use that, and can get mavlink going over UART to some other controller that has a UART and speaks mavlink.

        We are in the process of exposing more UART(s) that the application processor can have access to.

        Right now you need a daughter board that has a 2W uart exposed on a JST 4 pin.

        Soon, we're looking to change the SPI on J8 to a UART, and with a little level shifter, we can get UART in that way.

        We are also working on getting the UARTs that are on J19 to be "pass through" through the DSP. Once we have that going, then you could connect via J19 without level translators. So a few opions... the only one immediately available is via a daughter board UART, or if you wanted to try a SPI to UART convertor off of J10....

        Holler if you have any more questions and we can help.

        1 Reply Last reply Reply Quote 1
        • R
          roy
          last edited by

          Thanks @modaltb, your explanation was very helpful.

          Regarding latency, is there any response delay from converting a sensor output to mavlink protocol then interpreting that mavlink message into a behavior? Versus directly interpreting the sensor output on the VOXL 2. Or, is the the communication across the board always mavlink? (Thus the latency/response delay would be about equal)

          Will there able future development to include a PX4-RTPS bridge via uORB? The attached image contains a diagram of the bridge.

          PX4-RTPS.png

          1 Reply Last reply Reply Quote 0
          • modaltbM
            modaltb ModalAI Team
            last edited by

            Hi @roy ,

            I don't have quantitive data to give you, except that even in the native setup, we are doing a bunch of "translations".

            For example, one of the DSPs (sensors DSP, sometimes called Sensors Low Power Island (SLPI), at least on the older platform and carried over by us out of habit)) is talking SPI to an IMU, and then that data get's passed via mUORB to the applications processor and in some scenarios for our vision processing code that runs on the application processor.

            (We've now actually hooked up an IMU directly to the applications processor for vision processing and PX4 has it's own, but the data path and delays introduced did not cause issues for us)

            This graphic is from: https://docs.modalai.com/voxl2-px4-developer-guide/

            2e82e9d0-a1bd-49a3-b9ac-1790090ec700-image.png

            It shows how we're doing things roughly.

            So you can imagine this:

            • have an external flight controller connected via UART (as explained above, through an add on board or soon via a camera connetor J8)
            • use our voxl-mavlink-server has a UART implantation that can be used as reference to get MAVLink to/from your Flight Controller INTO VOXL2

            Maybe not answering all your questions, but keep the back and forth going and we can widdle away 😉

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Powered by NodeBB | Contributors