Controller Not Functioning Correctly

Hello,

My lab has recently purchased a BlueROV from a previous owner, and we replaced the Pixhawk with the Navigator. I’ve upgraded all BlueOS and QGroundControl software. I’m currently having an issue with the controller functions, which aren’t doing what they say they should be. I’m using an Xbox One controller. QGroundControl sees it as the Xbox One controller, but it is not recognized by Cockpit. The left joystick seems to be performing some sort of tilt functions. The right joystick: up goes right, right goes forward, back goes left, and left goes backwards. The other buttons don’t seem to be doing any visible functions. Is there some solution to this to get the configuration similar to the default?

Hi @bluepajamaz -
Welcome to the forums and congrats on the new (to you) ROV!
Does the xbox controller get recognized on an html5 gamepad tester website like this? If not, it isn’t expected to work with Cockpit…

As for the other behavior you’re seeing, assuming you’ve calibrated your joystick axis, in QGC and are referring to the vehicle motion in manual mode, I’d suspect your thrusters aren’t connected to the correct output channels of the pixhawk, and/or they don’t have the correct directions set. Have you followed the assembly and software setup guides? What happens to the vehicle if you arm it and put it in stabilize mode? Be ready to disarm if you haven’t tried this yet, it could “go crazy”!

I did test the controller with the website, it acts correctly. The joysticks are calibrated and each motor was individually tested in QGroundControl to check direction and number assignment (each responded to the correct motor placement according to the heavy frame diagram in the motor setup). I may do an automatic direction test later to double check. I did follow the guides. Stabilization mode made it do a barrel roll.

Hi @bluepajamaz
The vehicle rolling in stabilize mode indicates something is up! Either the AHRS orientation parameter isn’t set correctly, or your check of motor direction / placement had something go wrong. The auto-direction test, with vehicle floating in the water, should resolve things- make sure to calibrate your motion sensors first!

Hi @bluepajamaz -
I’ve just learned that your controller is (not yet) supported by Cockpit! An upcoming update should resolve this… and be included in the next beta version release (out ~ tomorrow)

Hello,
We were able to get the ROV in the water for another test. Calibrations and AHRS orientation helped some of the problems, but we discovered more problems as well. I got an error from the auto motor test which detected a couple of the motors as reversed (when they were not when previously working) and it failed on the 5th motor, saying it was having trouble detecting thrust. When I looked into controller configurations in QGroundControl there was no options for ascend or descend. This seems like incorrect configurations to me, is there somewhere where I could fix this?
Thanks!

Hi @bluepajamaz -
When performing the auto motor test, was the vehicle in the water and fully free to move, not restricted by a tether pulling on it? Were those previously not working motors not spinning or what do you mean by that?

Ascent and descent is typically controlled by the right joystick moved in the up/down direction. Do you have some other expectation for how depth will be controlled?

The vehicle was in water and could freely move, it shouldn’t have had a issue with the tether. It was negatively boyant, would this be an issue? The right joystick did forward, back, left strafe and right strafe. This is what makes me think it could be configured to the wrong type of vehicle or similar. No, I was searching for options for ascent and descent on the controller, which did not exist in QGroundControl, where you said it should have been on the right joystick.

Hi @bluepajamaz -
Yes, the vehicle needs to be floating not negative in order to sense the motion most reliably.

You may have set your controller RC mode differently than “mode 3” based on the behavior you describe - check your joystick configuration. This is where the mapping of joystick axis to motion occurs. Vertical motion is labeled “throttle” as this is typical nomenclature for a flying vehicle, that requires throttle to hover!