Custom non-PID controller implementation

Hello, I am currently working on a research project related to the implementation of nonlinear controllers for the quadcopters. I wanted to test ANFIS (adaptive neuro-fuzzy inference system) performance as a one of the controllers. I wanted to start from an altitude stabilization controller. I can collect training data from the ardupilot PID controller in form of [Input 1: altitude error, Input 2: altitude error rate; Output: change in motor rpm or change in rotor throttle command]. Assuming only altitude is changing, the control signal for all motors will be the same.
I have build a drone using Raspberry Pi 3 and Navio2 and capable of controlling it using Ardupilot.
I have following question: if it is possible to use alternative type of the altitude controller with Ardupilot, if not, then how it could be done to test custom non-PID altitude stabilization controller with Navio2/Raspberry Pi 3 setup. The controller would adjust the speed of the motors based on the altitude error and error rate. I want to observe how stable, smooth, fast would quadcopter react to the change in desired altitude (for example, to command drone to increase/decrease current altitude by 1 meter). In addition, is something like this examinable in SITL (or similiar simulation environment).
Any advices would be much appreciated.

I would advise you to check here for help on that topic

https://gitter.im/ArduPilot/Research

This topic was automatically closed after 100 days. New replies are no longer allowed.