From a simple cockpit indication to ArduPilot

Hello Community…
It all started as a fairly simple project…for a scale model of an F-4 Phantom in 1/6 scale i wanted to build a small functional ADI (Attitude Direction Indicator).

A few stepper motors, an Arduino nano shield, an MPU9250 to sense orientation, and all is set, right? Wrong…i learned over the last months that attitude estimation is in fact damn complicated. So complicated that meanwhile i’ve decided to try the simple things first. Airspeed indication using pitot tubes, Baro Altimeter, simple in and out functions. All well so far, also got a fairly decent attitude estimation on the MPU, but then really got stumbling on the calibration…
Getting calibration routines, all the data flowing, steppers driving…my nano was pushed beyond its limits with just a few copy and pastes…looking on i got towards UAV, FPV, and eventually ArduPilot.
What is going on in my head now? I want to turn the entire project around totally! I now want to use the ArduPilot to get my attitude estimation, provide an emergency autoland capability (“panic button” and “failsafe return to base”), and as “stuff i just get as a side” want to drive the instruments. For later projects i will want to integrate micro oled displays to simulate the fullsize screens (F-18, F-16…)

On the “Failsafe Return to Base” function, the most complicated function i want to implement, i want to sense if there is a Failsafe situation (or a panic button is pressed), get the airplane stabilized upright, proceed to a fix about half a mile from runway threshold on runway centerline, descend to approach altitude, configure and slow to landing speed, and then proceed to land on a 3° glideslope. This all on any random runway (save coordinates and runway heading upon setting takeoff power)

Why am i writing here? ArduPilot is OpenSource…everything is public. But, and i’m really sorry to say, it is REALLY REALLY difficult finding my way around this site. It contains tons and tons of information, discussions, topics, docs…and im having a difficult time finding a start with all the basic 101’s.
I do not want to buy a ready-to-go board with tons of stuff implemented that i dont need. I also dont want to start out from scratch on everything either…
Basically what i would like is a basic overview over what boards, Processors, and sensors have proven well, and are integrated in existing projects. Which project most closely matches my needs? Who has experience with those functions and can give some guidance when i start stumbeling?

Thanks so much and im very anxious to get started :slight_smile:

1 Like

2 weeks, 100 klicks and not a single comment? Not even a shove into some direction? Somewhat disappointing, i was hoping to get at least some type of reaction…

https://www.youtube.com/watch?v=Yxg2jH6JCbI&feature=emb_logo Look at your development colleague here http://forum.rcdesign.ru/f90/thread132831-381.html Russian is just it’s not Chinese Language

Yes, this it P-40E’s instrumental board for 2 meter fighter.
I have no idea how to implement working two dimention horizon in 14 millimiters diameter. So I made just roll indicator.

What is exact width of your canopy?

What do you mean width of canopy? Measured at what point?
It is 1/6 scale. The bevel is 21x21mm, the ball has 12mm dia and contains a third motor for heading indication.

Do you have an implementation of the requirements or just an idea? Size of indicator is too small for three motors.

I have the functional 3d model, motors and controller via arduino. All has been implemented. This is not the problem.
Right now i am receiving the dato from an MPU9250 on the same nano, but it is just too much to cope with for the small processor, and i am having issues with the calibration routine. Instead of networking 5 or 6 nanos to cope with all the data, i now want to use a beagleboard using the ardupilot to provide all the data to the stepper drivers. Id love to use the autopilot functionality to provide an added security feature…

Just stumbled across your post! Your case is unique, but it could definitely be done. You’ll want to read the “plane” sections of the “Wiki”, and the homepage explains the bare-bones basics: https://ardupilot.org/plane/

Because your requests are specific, it’s a little bit difficult to find the info you are searching for because it’s not quite as pertinent to the general novice user. I’d be happy to help with my experience, but it probably won’t be super-fast.

I’d recommend a generally inexpensive controller to start; maybe one of the Matek ones. You’ll probably want the following as well:

-basic GPS (like a uBlox M8N)
-airspeed sensor (my favorite is the SDP 3X by drotek)
-telemetry radio for tuning your aircraft while flying (900MHz SiK)
-digital receiver to transmit all channels via one cable

After installing the equipment, Mission Planner will generally walk you through the calibration steps and setup. That routine should generally be similar or the same as the wiki. We can help you if something trips you up.

Doing some auto tuning will get your autopilot to handle your plane correctly, and then there’s TECS tuning so that your climbs and descents will be on-target. At that point, your plane will probably be able to do fully automated actions. You’ll probably fly in MANUAL mode a lot, but FBWA is my “panic” mode as releasing the sticks will roll the plane level, and you will have manual throttle control. RTL will use the GPS to bring it back to orbit home OR enter an automated landing sequence if one is uploaded.

Finally, you’ll want to do some tuning on landings so that your aircraft can do the final sequence all in its own.

I’m not sure that there is a servo output specific to roll or pitch; maybe the camera mount servo output could be tricked into doing what you want. Otherwise there’s a new feature called scripting where you can write your own feature on top of what ardupilot is doing with the autopilot.

You don’t NEED a radio or GCS once things are set up, but it’s VERY beneficial for set up and tuning.

Is there some video of working indicator?