Looking for Advice

I have a college project that I’m working on and I need some help. For right now I’m looking right some code (preferable C++) that will give my quad-copter(raspberry3/Navio2) the ability to do basic maneuvers (lift-off, hover, pitch, roll, yaw). I want it to be able to do all this by receiving commands via standard-input(keyboard) over a wifi connection. My main concern is stability and how to correctly use the on-board sensors. Is there a C++ library that performs stable hovering and stable lift-off? I feel there should be some sort of planar-PID algorithm using the LSM and MPU sensors.

Eventually this system will have to autonomous and I don’t think the APM, Mission planner, or any other GCS will be of much use to me.
Any help would be great,

@jharr167 Running APM in alt-hold or loiter mode and controlling it over MAVLink protocol or DroneKit using your code instead of the GCS would be one of the proper options.

Thanks Mikhai. Are you aware of any libraries(C++ preferable) that will assist in your suggestion?

There’s an official MAVLink library on Github that can be used from a variety of languages including C++.

Thank you for the suggestion but I don’t think this is what I’m looking for. I’m looking for a C++ library that has code for basic quad-copter maneuvers (ascend, descend, hover, pitch, roll, yaw) that I can call and use in conjunction with computer vision code like OpenCV .