OK - Does anyone have definition of what the rover firmware was built on?

I have been all over the net trying to locate the default system information for the 2.4.7 firmware. Ultimately, I need to build a new platform, Autostart ID, and custom mixers. I would like to start with the default files and modify to suit.

A few initial questions:

• The AutoStart space partition does not include rover, surface, or underwater allocations. Can I just append something, or am I constrained to the existing allocations? Where else in the startup is this information referenced? Is it only in rc.autostart?

• I have found the default mixer configurations. But, what is the default being used for the rover firmware? I assume it must be AERT or AET.

• VEHICLE_TYPE is mc, fw, or none. Could that be expanded to include rover, surface, and sub-surface types?

I'm sure I am missing something in my research.  I'm also sure a few of your answers will be to GitHub the firmware and reverse engineer what I am looking for, but maybe there is a general lack of rover documentation I could help with - or have missed.  The info seems abundant for plane and copter...

Any hints would be appreciated!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Admin

    @LoopZilla,

    The original ArduRover firmware was a modification of the ArduPlane code that existed in early 2013 which is about two years ago.

    The firmware was developed by Jean-Louis Naudin for the APM1.x and later by Andrew Tridgell for the APM2.x and then by Andrew Tridgell/Grant Morphett for the Pixhawk/PX4.

    Regards,

    TCIII AVD

    • Thanks for the info.  I figured something like that was the development path, but couldn't find any definitive info.  

      It looks like I am pouring over the code as best I can tonight...might as well be reading a Icelandic newspaper!  Learning more than I wanted to know...

  • Developer

    Hi. When you say "what the rover firmware was built on" I'm not sure what you mean.  Do you mean what compiler and operating system it was built with?

    I don't know what autostart space partition is either.

    Ah - are you referring to this? - https://pixhawk.org/dev/add_platform

    If so your getting projects mixed up.  There are 2 autopilots

    1. ArduRover (rover.ardupilot.com) is based on Ardupilot (https://github.com/diydrones/ardupilot) which is what this forum is about.  2.47 is the latest ArduRover release.

    2. PX4 Native (px4.io) is a separate (but related) autopilot stack.

    Have a read of this page

    https://pixhawk.org/choice

    Your questions seem to be PX4 Native based.

    Thanks, Grant

    • Thanks Grant.  

      I was only aware of the two different flight stacks from the PixHawk dot org page, and just plugged away in Mission Planner to load 2.47.  I still don't know how the 'middleware layer' applies (or if it is applicable).  So, news to me, I am actually looking to modify the wrong stack which is why the info was nonexistent.  I'm also an integrator, not a developer - so I am already in the deep end as it were.

      I am indeed 2.47 running on my PixHawk. 

      My question then becomes...

      Is there an easy way to add core actuator functionality into ArduRover beyond the normal steering & ESC based throttle only concept?  I also, at the minimum, need discrete outputs for brake and shift.  Then, those actions need to be scripted to actually make sense of the actions.

      Shifting is not just a shift movement; but potentially a zero throttle, brake application, confirm zero velocity, shift, release brake string of commands.  

      I'm not looking to call these actions into auto navigation, just yet.  I just want to be able to script or mix the actuator outputs.  If I can't get the basics of real vehicle navigation implemented, then I'll need to go back to my commercial (expensive) AP solutions...

      If you really want a twist -albeit off topic- consider how one would implement active trim tab control on a full size surface vessel.  I really don't want to be stuck in a situation where I need 'skid steer' functionality from ArduRover for the twin outboards, but 'elevon' functionality from ArduPlane for the tabs...

      Thanks for any additional insight...

This reply was deleted.