My team and I are building an AUV. We have successfully uploaded ArduSub to a Pixhawk, which we are controlling via a USB connection to a Jetson device. The Jetson device is using Dronekit to control ArduSub. Our physical test layout is not much more than a bunch of cables strewn across a table in an electronics lab. We just did an out-of-water motor test today–the chassis isn’t fully built yet, so in-water tests are a ways out–and ArduSub behaved very oddly.
When we put ArduSub into STABILIZE mode, we could activate all 6 motors by tilting or twisting the Pixhawk, but when we applied rc controls to channels 1 through 6 (vehicle.channels.overrides in dronekit) the Pixhawk would only activate one or two motors at a time, and three of the motors (2, 3, and 6 I think) never activated at all.
I have a hunch that this behavior occurs because ArduSub expects to “feel” feedback from the motors via the Pixhawk’s IMU and will change its behavior if it gets the right feedback, but successful projects aren’t built on hunches. I’d really like to know if this kind of behavior is normal before we put the AUV in the pool in a couple weeks, and get some idea of how to fix the this if it isn’t normal.