Finally got a day of reasonable weather, and went outside with my QR400 and Pixracer for a proper maiden flight. Glad to say that everything came back home in one piece My feedback as to the results goes as follows:
Manual/Stabilize: good. Stock QAV250 PIDs seem adequate, however slight oscillations can be heard during throttle punches. Stick reactions are good, if a bit tame. Nicely flyable.
AltCtrl: very good. Altitude lock-in is absolutely solid (despite the Pixracer being hard-mounted with no vibration isolation), stick reactions same as in Manual.
PosCtrl: good. Position lock is good. Stick reactions and flyability generally very tame, I guess I'll have to increase top GPS speed and controller aggressiveness a bit.
RTL: good. Despite what I presume is a bad compass calibration (more on this below), the copter returned straight to launch point on both tests. Descent seemed a bit aggressive, I switched to manual both times before it landed.
Acro: bad. Stick reaction latency is good, but that's about it. Attitude lock-in is virtually non-existent, copter keeps slowly drifting along all axis once right stick is returned to normal. It's flyable, but nowhere near the precision of currently dominant acro controllers (specifically Cleanflight/Betaflight). If the Pixracer/PX4 combo is supposed to be competitive in the racing scene, there is a lot of work to be done here.
During most of today's flying, the copter exhibited a steady yaw drift to the right. It was barely noticeable in Manual, but very visible in PosCtrl, and for some reason also in Acro. On some occasions it could be fixed with yaw trim on the TX, but I don't think this is the issue at hand, because I had to adjust trim a lot between modes to get it to fly straight.
I presume the reason is bad compass calibration, which I've done indoors in a potentially very EM-noisy area during initial setup. I wanted to re-do the calibration in the field, but had another issue that prevented me from doing that, as well as from trying some PID tuning to improve Acro performance:
Wifi connectivity with the ESP8266 (using an Android tablet with QGC) was horrible. I had constant "connection lost to vehicle 1... connection regained to vehicle 1" messages, during the connection and after it's completed. Also, each time after connection QGC said that "the vehicle failed to transmit the full parameter list", which meant I couldn't edit the PID values or go into the compass calibration screen.
The issue here could be that I used a PX4 master build from two days ago, which is when I set the vehicle up and had the first test hover indoors. Back then, the Wifi connectivity definitely worked, I used the tablet to calibrate ACC and compass initially. It's possible that QGC has auto-updated since, and something changed so that my PX4 build on the Pixracer is now out of date.
Final small thing: is there an option to improve MAVlink packet rates on the Telem2 output? I have an OSD connected there, and both the artificial horizon as well as Speed/Altitude readouts update really slowly, like at 1Hz or something. This is pretty horrible, the OSD itself should be able to update at 10Hz easily (it's a PlayUAVosd).
Log of flight with Acro/FPV: http://logs.uaventure.com/view/m3djQoNDSvrYyfF4s87Ayb. Acro doesn't seem to show correctly in LogMuncher, it should be the second large gray block on the graph: I first parked the copter in PosCtrl, put on my FPV goggles, then flew around a bit in AltCtrl before switching to Acro. Large PosCtrl block after that is me putting the goggles back down and returning the copter to launch position.
Log of pure LOS flight with a lot of yaw drift: http://logs.uaventure.com/view/sk6hPhoMUdyHqJbfMYcQoS. You can see nicely how there's a ton of uncommanded yaw drift during PosCtrl, and less (but still some) during Manual flying.
My next steps
- Update PX4 to the latest master build, keeping all settings. Check if this fixes QGC connectivity issues and allows me to calibrate the compass in the field.
- Recalibrate R/C to exclude the possibility of yaw channel center being offset and causing the yaw drift.
- During the next flight, when QGC connectivity works properly: try and tune the PIDs for better Acro performance. Increase Rate-I for all axis to minimize drift, possible increase Rate-P for better lock-in. Probably decrease Rate-D to prevent the audible oscillations during throttle punches in Manual.