Acro mode in SITL behaving erratically


Has anyone else tried using Acro mode in SITL? When I command a simple input such as rotation on the pitch axis, the result is some pitch rotation and spontaneous roll rotation. It’s inconsistent, and the flip will look different every time. The objective is having a clean autonomously controlled Acro mode.

The setup I’m using is a Dronekit-python implementation sending a MAVLink_manual_control_message to SITL.
The mavlink message is: MANUAL_CONTROL (Messages (common) · MAVLink Developer Guide)
Copter 4.0.6 currently, and mostly default copter.parm

My test case is sending only pitch, no roll. I verified that ArduCopter is receiving the intended values (mode_acro.cpp). The range for MANUAL_CONTROL parameters are -1000 to 1000. For my test case (or any pitch values >100) I get the wild behaviour:

		x=100 # pitch
		y=0 # roll
		z=50 # throttle
		r=0 # yaw

I’ve also tried changing the tuning parameters ATC_RAT_PIT_P, ATC_RAT_PIT_D, ATC_RAT_RLL_P, ATC_RAT_RLL_D, etc. without any success.

Retry with ArduCopter 4.2.0-rc1 and report the results here.

Thank for the suggestion, I have it working now. The steps I took were:

  • Update to ArduCopter 4.2.0-rc1
  • Set ACRO_TRAINER to 0
  • Modify the tuning PIDs to reduce oscillation