Hi, i´m making my own firmware based on the ArduCopter 3.2 Libraries, i have implemented various flight modes like STABILIZE, LOITER, ALT HOLD, RTL, AUTO, but changing the control law and configuring to my necessities, also i have implemented some functions like MAVLINK, LOGGING and until now all seems to be ok, but i required the use of the Optical Flow sensor to perform flight in an environment with poor GPS signal, so i want to show you my progress in my firmware because i have implemented the PX4Flow sensor on the APM and Pixhawk based on the AC 3.2 Libraries.
I have implemented the sensor via i2c, i thought i could have problems in the APM because took approximately 1ms to read the 22 bytes of the PX4Flow. On Pixhawk also was easy because already was implemented a library in the PX4 Firmware to communicate with the PX4Flow.
The mode is like Loiter but with Optical Flow, basically try to maintain the position integrating the Optical Flow and controlling the X-Y velocities by the radio stick, when i release the sticks the copter try to maintain the position, i notice that i have a better result on APM but maybe because i use the same controller gains on the 2 copters and maybe require more running but i´m happy with the results. I will try to modify ArduCopter to implement this on both controllers, but i´m not sure if are enough space on APM to add the code. Also i´m going to try to implement a data fusion to have a more reliable X-Y velocities.
PD. Sorry for my english.