[Canberrauav] FW: Communication link advice

Brendan brendan_adam9 at hotmail.com
Fri Mar 21 16:05:08 EST 2014

From: brendan_adam9 at hotmail.com
To: james at auturgy.com.au
Subject: RE: [Canberrauav] Communication link advice
Date: Fri, 21 Mar 2014 03:19:07 +0000

Hey James,

All good info, thanks for the reply and am digesting it all now. I have spoken to Stephen Dade  about a month ago about using the GPS UART port, this was suggested to my supervisor, but he wants to use the custom MAVLINK packet approach for communication.

My current setup is Pandaboard running ubuntu with MAVPROXY installed. My secondary computer is running just an image of ubuntu using virtual manager. Pandaboard and secondary computer are connected via wifi. I have set up the streaming on Mavproxy so as to allow my secondary computer to connect to the packet stream ( I can also ssh the pandaboard). Everything is connected and am receiving packets from ardupilot to the pandaboard and then to the PC, this was confirmed by loading the console on my PC. I have tried creating a custom module, but for some reason when I load it, MAVPROXY says it cannot find it.



Date: Thu, 20 Mar 2014 18:14:23 +1100
From: james at auturgy.com.au
To: brendan_adam9 at hotmail.com
Subject: Re: [Canberrauav] Communication link advice



    I haven't seen you get a reply yet - if there has been one, it's
    probably from someone more of an expert in Mavlink than I am.  I'm
    definitely not an expert, but can point you in the right direction


    I'm not sure how far you've progressed by yourself, but if you
    haven't already found them I recommend these three links as
    excellent starting points for what you are asking about:








    Running Mavproxy on the Pandaboard is basically the easiest way to
    get it communicating with the APM.  You can still use Mission
    Planner on the ground if you want (although Mavproxy is better if
    you need to develop your own functions, as you can build a module in
    python and load it when you need it).


    However, from what you've said below, for navigation, position data
    (ie "you are here") rather than AHRS/attitude data
    (pitch/roll/yaw/heading, accels), is what I assume you want to be
    sending to the APM, and you want the APM to be able to use it.


    If that is the case, a potential option might be to simulate a GPS
    and send position data using binary or NMEA sentences from the
    pandaboard to where the APM is already looking for it  - ie the GPS
    UART port.  If you take this approach it avoids the need for a
    custom message type (at least for position data).  The code uses the
    GPS for more than just position though, so you'd have to look into
    secondary effects (I know a GPS velocity vector is used for wind
    estimates - there may be other places where GPS is called).


    You would obviously still need to use the existing mavlink message
    types for control (waypoints etc if that is what you are looking


    I hope this helps (and I hope someone else has replied to you!).

    Food for thought.







    On 18/03/14 18:23, Brendan wrote:

        Hey all,


            I need some advice/help in establishing a communication link
            between the Ardupilot and another processor board (such as
            the Pandaboard) with the ultimate goal of indoor navigation.
            Communications is obviously fundamental to this so I have
            been into the APM source code, more specifically the
            GCS_Mavlink module and trying to understand how it receives
            its packets, decodes them and forwards the command. I have
            also been trying to figure out how to create a custom
            mavlink msg and if it is possible to create a custom
            position mavlink msg from a processing board to send to the



            How to Convert positional data ie pitch roll, yaw or
            basically anything into a custom packet? 

            How would I forward the packet from the processing board? 

            On the APM side should I call a method that is continuously
            looking for custom packets that are identifiable from the
            normal packets?

            If there is someone I can have a long chat with about this,
            that would be great.


            This is for my 4th year project for my Electrical
            Engineering degree. 










Canberrauav mailing list
Canberrauav at canberrauav.org.au
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://canberrauav.org.au/pipermail/canberrauav/attachments/20140321/9fa107d9/attachment.html>

More information about the Canberrauav mailing list