Rover only pivots after compass calibration — no forward/back throttle response

Hi everyone,

I’m building a large tank-drive rover, and it was driving correctly before. After calibrating the compass, the rover stopped responding to throttle inputs — it now only pivots left and right, but won’t move forward or backward.

Because of the rover’s size, I wasn’t able to physically tip it during compass calibration. After completing the calibration as best I could, this issue appeared.


:satellite_antenna: Hardware / Setup

  • Flight controller: Cube Orange+
  • Firmware: ArduRover 4.6.2
  • Frame type: Tank / Skid-steer
  • RC control: Throttle and steering on right stick (self-centering)

:compass: Orientation

  • Pixhawk is mounted 90° to the right.
  • Compass/GPS is mounted 180° opposite the rover’s heading (accounted for in parameters).

:test_tube: Symptoms

  • Tilting the Pixhawk forward/backward (independent of the rover) causes the rover to move forward/backward — so it’s reacting to attitude changes, just not my stick inputs.
  • In the RC calibration screen, both throttle and steering inputs are detected correctly.
  • Servo outputs respond to steering commands but not to throttle.
  • I’ve reviewed parameters and don’t see any obvious changes that would cause this.

:toolbox: What I’ve Checked

  • :white_check_mark: RC calibration
  • :white_check_mark: Orientation parameters
  • :white_check_mark: Reboot after compass calibration
  • :white_check_mark: Tried different flight modes
  • :white_check_mark: Servo outputs verified

Any ideas on what could be causing the throttle output to stop responding after compass calibration would be hugely appreciated. Thanks in advance for taking a look!
wontThrottle.param (16.2 KB)

Post a bin log showing the issue.

Please feel free to let me know if there’s anything else you need.

That log was quite useful.

You have mis-configured your throttle RC Channel (RC2). You currently have it as RC2_OPTION=-1. It should be RC2_OPTION=0 for normal operation.

Note that the vehicle was showing an Invalid channel option (4294967295) error message, which should have indicated to you that something was wrong.

Also, you have disabled arming checks (ARMING_CHECK=0). If the arming checks were enabled (ARMING_CHECK=0), they would have identified this issue and refused to arm the vehicle.

During earlier debugging, I modified that parameter and neglected to revert it afterward. I’ve since corrected the configuration, but the issue still persists with RC2_OPTION = 0.

I’ve uploaded a new log file to the same drive link, labeled “02”, which reflects the corrected parameter setting for further analysis.

To enable arming checks you need to set the parameter to 1.

I didn’t think enabling the arming checks would add any additional information to the log, but I went ahead and turned them on anyway — unfortunately, the issue is still present.

At this point, I feel like I’ve hit a wall. I’ve already tried adjusting several of the commonly recommended parameters during troubleshooting, but nothing has resolved the problem.

I’ve also uploaded the updated log file (0003) in hopes that someone can spot something I might have missed. I’m not seeing any error messages in the Messages tab, which makes this even harder to track down.

Any insight or fresh perspective on what’s going on here would be greatly appreciated.

I tried disabling the compass and relying on GPS COG only (COMPASS_USE=0 and EK3_MAG_CAL=0), but unfortunately the problem is still there — the rover will pivot but won’t move forward or backward.

I had suspected that the compass/EKF might be locking out linear movement, but since disabling it didn’t change anything, I’m starting to wonder if that’s still a fair assumption.

At this point I’m not getting any error messages in the Messages tab, so if it’s not the compass, I might be overlooking something else entirely. Any insight on whether the compass could still be the culprit, or what else might cause this kind of behavior, would be really appreciated.

Confirm you are testing this in MANUAL mode?

If so, you are grasping at straws with all of this GPS, compass, and EKF (mis-)configuration.

I think the problem was correctly identified. Make sure you have written/saved the RC parameters as previously described, reboot, and test again. Also ensure that you are arming the vehicle before attempting motion control.

I’ve run some more tests with your params on my CubeOrange+.

The issue was a mis-configured FRAME_CLASS parameter, which you had set to 3 (BalanceBot). This needs to be set to 1 (Rover)

1 Like

Good catch. I missed the misapplied frame config parameter.

@RangerWrangler - suggest you set the rest of your GPS, compass, and EKF parameter experiments back to default. MANUAL mode is not affected by any of those, so attempts to correct the issue by changing anything other than RC2_OPTION and FRAME_CLASS were in vain.

Also make use of ARMING_CHECKS. Disabling them simply allows you to ignore what should be glaring issues.

1 Like