I am working in a university in Norway and working on building an autonomous geophysical research vessel. We have build it and it is about 14 feet in length with a double engine as a propulsion system. The autopilot system we are using is a Pixhawk 2.1 cube black with Herelink and a Roboclaw 2*60 A motor controller.
The first test was to test the manuel driving system with a Here+ controller. This worked perfectly. However, on testing the autopilot system, it seemed that only one engine was running towards the waypoint. I have now tested the autopilot system to see how the PWM on both engines changes as I move the Pixhawk randomly towards a waypoint. This seems to work somehow, and the PWM changes on both engines, but it is really slow.
My questions to the experts here in this forum is:
- Are there any parameters that I could change to fix this?
- Does it have something to do with the compass calibration or the GPS signal?
Hope someone out there could help me.
I would love to see a log of this in Auto.
sorry for the late reply. The log, is that stored within the mission planner or qground control? If you can tell me how I can produce it then I can do it. Although it will only be a test without the boat.
It should be on the carrier board for the cube.
here is the log over PWM values of both engines.
This is the waypoint, towards which the boat was going. I only manipulated the autopilot system to see what happened when I rotated it from left to right.
this shows two plots over the output of the servos are similar, when the navigation vs heading is the same.
this shows two plots over the output of the servos are dissimilar, when the navigation vs heading is not the same.
This last one also show the the output in power jumps between the two engines, when the navigation vs heading is really dissimilar.
I am wondering if this problem could be solved with changes of the PID controller? Or if it is the navigation that is to unstable?
Hope you can help me.
You never have any speed.
That is because this experiment is performed on my floor at home. It is just to test the PWM distribution on both engines and how the navigation is affected.
I don’t know how navigation in auto can be tested without the boat actually moving itself.
Yea, that’s not going to tell you anything other than the motors run. No navigation feedback.
It can tell you how the motors run dependent on where they have to go to reach the waypoint.
Yes. You will see that they rotate in the proper direction. And if in Steering mode you could also check the differential steering. Beyond that you are not going to accomplish any tuning until it is on the water.
Hello David. I have now uploaded logs from survey tests:
This is how the boat looks like:
We had some problems with the compass, getting it to work proparly. We found out that by only using the compass from the pixhawk and not including the one from the gps, worked best. I think they are working against eachother as we had to turn the cube 180 degrees to make the boat go in the right direction.
During the test the boat reacted a bit slow on the turns (made large curves towards the new waypoint). This was partly solved, however, it is still relaxed and is not on the line between two waypoints. It can do small curves on the line an it is still shifting power from one engine to the other instead of running both engines.
Here are the parameters I have used:
Hope you can help me make the last adjustments or have some tips for me.
I’ll look at this in the next day or two. I’m not a big fan of the onboard Pixhawk compass. You should change AHRS_ORIENTATION and COMPASS_ORIENT so all agree.
Thank you so much David. Yes, I will try and change the orientation of both and see if it helps, but it is difficult to know what orientation they have now. Is there a way?
Usually there is some indication on the compass regarding which way is forward.
Is it possible to only use the Here+ GPS for navigation and heading? We have a lot of equipment and the compass on the Pixhawk cube is unreliable. What parameters do we need to change and to what?
I don’t know. That appears to be a RTK GPS with no compass. Looking at your parameter list you have three compasses with offsets calculated but you are only using 1. is this correct? It looks like compass three is the only one being used. Unless I miss read something
Yes, I am only using “FirstCompass” as primary compass, which is the Here+ GPS Rover.
Compass_use = enabled, Compass_use2 = disabled, Compass_use3= disabled.
Compass_external = External, Compass_external2 = internal, Compass_external3= internal.
So, our external GPS has no internal compass?
I also have another question: Is it possible to connect a GNSS to the autopilot system? Perhaps through a computer that is onboard the boat?
Underneath is a link to some figures that I have from our last test. Here we had enabled compass learning, which worked really well for us.