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!
Replies
@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...
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...