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.
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)
Orientation
Pixhawk is mounted 90° to the right.
Compass/GPS is mounted 180° opposite the rover’s heading (accounted for in parameters).
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.
What I’ve Checked
RC calibration
Orientation parameters
Reboot after compass calibration
Tried different flight modes
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)
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.
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.
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.
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.