My vehicle was running fine, but once I updated the firmware and adjusted the positions of the thrusters to match the new configuration for the 6 fan configuration for BlueRov the vehicles controls were out of sync. The forward and backward motion commands with the joystick are working fine, but the ascend command causes thrusters 3 and 5 to slow down and sometimes stop while pushing air downward and descend causes 3, 5, and 4 to trust the vehicle upward (blowing air downward) and to flip. Does anyone have an idea on how to trouble shoot this vehicle? Are their specific parameters that I should look into adjusting?
Have you double checked that the motors are spinning the right way and adjusted the MOTX_DIRECTION parameters? This should be done anytime the thrusters are reconfigured or reconnected.
Yes, I matched them to the documentation with 3, 1 and 6 spinning CCW and 2, 4 and 5 spinning CW.
Okay, the diagram on the documentation shows CW and CCW to indicate the propeller direction that should be installed on those thrusters. When you are changing the MOTX_DIRECTION parameters, you should be giving the ROV a control input, like vertical dive, and then making sure that all of the motors are spinning the correct way to create that action.
For instance, for the vertical thrusters, push the joystick down to dive and make sure that all of the thrusters are push air or water upwards. If any of them are pushing downwards, then change the MOTX_DIRECTION parameter for that motor.
Is this how you’re doing it right now? This might not be super clear on the documentation.
Yes, I completed the changes on the thruster directions. I am still having the problem where when turning the vehicle on the 3 thrusters push air downward. When I use the controls to make it “ascend”, sometimes the thrusters would stop completely, but would generally slow down their motion still pushing air downward. When I use the control to make it “descend”, which should cause the thrusters to push air upward, the thrusters actually push air downward even harder than it was initially. Below is the documented rundown of the test I completed as well as the changes made between tests. Note that the changes in motor connections were to account for the changes in wiring that I was not initially aware of. This problem is one that I still have after adjusting the motor placement and changing the thrusters to have appropriate initial direction. There is also a autopilot stabilizing software component that is being used as well. I don’t know if that would be a factor but I wanted to let you know just in case.
ROV Testing Day 1: 21 July 2016
*Note: The thruster numbers were based on the original picture with 1 & 2 at the front of the vehicle to stabilize it.
Initial Test 1: Started rolling, pitching, and turning out of control when it was turned on.
Change 1: The connection of thrusters 1 and 2 (the front two that spin to move it up and down) were swapped in their connections to the Pixhawk. These were placed in their proper locations and sealed again for testing.
Test 2: No noticeable change in vehicle motion.
Change 2: We noticed that the top two steering thrusters (3 & 4) were acting how the front two (1 & 2) were supposed to and vice versa. We switched the connections between 4 & 2 and 3 & 1 to adjust and attempt to fix problems.
Test 3: When turned on the vehicle rolled to the right. When it was turned off and then turned on again it rolled to the left. Each time we turned it on and off the rolled direction alternated. There is no reason for this to happen that we are aware off. During this test we realized that thrusters (1 & 2) were moving in the wrong directions and they were reversed through the Pixhawk software.
Change 3: We adjusted the spin of the stabilizing thrusters (1, 2, & 5) so that they would thrust the vehicle upward to stabilize (aka air was blowing down below vehicle).
Test 4: When turned on the vehicle flipped and did a backwards roll. When the left joystick was used and pushed forward, we were able to temporarily stabilize the vehicle. When the joy stick was released it would flip backward again.
- Were there changes in the firmware that were downloaded during the update that would cause these problems, possibly in the thruster mapping?
- Is there a way to individually check thruster mapping and operations pre-dive?
- Is there a way to check out the autopilot control loop pre-dive?
Thanks for the detailed description of what’s going on. I’ve got a few initial questions that I want to check on first:
A. According to the descriptions, it seems like the motor numbering might still be incorrect. Please see the attached motor numbering diagram for the BlueROV. You’ll see that the vertical “stabilizing” thrusters are numbered 3, 4, and 5, but in Change 3 you mention that they are 1, 2, and 5. Can you confirm that this is set up right?
B. Can you confirm that you are using the firmware built for the BlueROV frame versus the “vectored” or “simplerov” frames? When you download the firmware files from firmware.ardusub.com, they should be in a folder called PX4-bluerov.
C. In QGroundControl, does the artificial horizon show that the vehicle is level when it is sitting normally? If not, this would cause it to roll or pitch strangely.
To answer your questions:
There haven’t been any changes to thruster numbering in about 2 months. I do think this should be double checked against the attached diagram.
We just added a “manual mode” that allows more straightforward testing of the motors. In this mode, there is no feedback control and the thrusters will only do what the joystick indicates. You can get this with the most recent firmware update and the most recent QGroundControl daily build. The will also be an individual motor test widget in QGC soon.
Checking the autopilot loop pre-dive is tough. I would recommend looking in QGC’s MAVlink Inspector and looking at the servo outputs. Those line up with the thruster numbers and indicate what each is trying to do. You can do this with thrusters unplugged or unpowered if you want.
Thanks for working through this patiently! It’s helping us improve the software and documentation. I appreciate that a lot.