Home        Store        Docs        Blog

ArduSub Out of Water Motor Testing

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.

Hi,

I would recommend to do such tests with RC input in manual mode and not stabilize.
Since stabilize is a closed loop control algorithm, it may be not totally clear what is happening if the ROV can’t actuate in his attitude (since it’s in the air and not in the pool).
Try manual mode, the actuation will be much easier to understand.

We did our RC tests in both MANUAL and STABILIZE modes. But we figured out the problem.

When we use the Dronekit->ArduSub (SITL)->Gazebo stack, the rc channels are initally set to 1500. When we use the Dronekit->ArduSub (PixHawk)->Motor stack, the rc channels are initially set to 0. The strange behavior we encountered was due to arming the motors when the rc channels were set to 0. We fixed it by setting all channel overrides to 1500 before arming the motors.

1 Like

This topic was automatically closed after 3 days. New replies are no longer allowed.