I hope you don’t mind, I used a picture of your boat in our monthly report. Although we still have a ways to go to get it tuned perfectly, it’s a cool boat that I’m sure others are interested in seeing it.
I’ll reply with a more detailed analysis of the logs a bit later today.
Not at all, I look forward to reading that report.
Thank you once again.
FishTec HD Fishing Charts
I had a look at the logs and a few parameter changes may help:
CRUISE_THROTTLE to 35. sorry, I’d asked for this to be raised from 10 to 80 but that was overdoing it. From these logs anyway it appears that at least once the vehicle gets going, 40% is all it needs to travel at 4m/s.
reduce ATC_SPEED_FILT from 1 to 0.1. This should further slow the throttle response.
This is what it looks like in the Rover simulator with the NAVL1 parameter from your log. Obviously a boat acts differently than a Rover but this shows what the upper level navigation controller is trying to do. I think this path looks good which means the problems are not in the navigation controller but rather in the lower level steering and throttle controllers.
There is definitely one issue in the navigation controllers though and that is the sudden jumps in desired lateral acceleration when passing waypoints. This is largely the cause of the scary turn at WP76. These jumps appear in your log but also in the simulator so we need a code fix for this issue.
I’ll have a chat with Leonard our control expert to see if he has some more advice.
I’m also planning to ask Peter Barker if he can whip up a boat simulator for us. The key difference I think is the super low friction and also the turn rate of the vehicle is dependent upon the motor output not the vehicle’s speed. I think if we have a simulator it’ll help us with coding and tuning real vehicles.
I’ve found that a properly tuned boat in a certain sea state and wind conditions is badly tuned for different conditions. John’s boat not only works in a fluid environment, unlike a rover, but also has a lot of prop steer being that it is a single screw vessel. Auto pilots for manned boats learn as they are being used to adjust for such things. My arduboat is a twin screw and will behave very differently turning to port or starboard depending on how the boat is being effect by windage. I have it dialed in good but I just live with the fact that sometimes left turns are smoother than right and vise versa.
David R. Boulanger
Great info as always Randy, I will make adjustments and give it a test.
OK, that’s interesting info. I’m working on getting a RC power boat (I already have the square skid-steering boat) to help with development so then hopefully I can experience some of these issues directly.
One issue that I know we have is how the steering is scaled. Currently it’s scaled by vehicle speed (unless it’s a skid-steering vehicle) which is not correct for one of these boats. I think it should be scaled by throttle output (i.e. more throttle gives faster steering response, vehicle speed is not directly important). The throttle output is also incorrect because it’s not adjusted for the steering angle.
I’ll probably make an experimental firmware to adjust the steering and throttle on these boats and then we can see if they perform better.
Unfortunately no improvement with the latest settings
What should I add or change to this list?
I have noticed that there is still excessive throttle after the waypoint and trying to get back on track.
Outboard motor type boats don’t like lots of throttle with steering.
With Regard to WP_ RADIUS:-
Is this the radius that the CRUISE_SPEED is reduced to WP_SPEED?
With regard to CRUISE_SPEED:-
What takes preference, 35% CRUISE_THROTTLE or 3m/s CRUISE_SPEED?
Captains Log:- 13 April 2018
More testing today playing around with speed and waypoint radius.
Log - https://www.dropbox.com/s/nnvpoj20jproudb/00000107.BIN?dl=0
Major failure between wpt37 - wpt39 !!!
I will be changing WP_RADIUS to 1 and WP_SPEED to 4 for starters
NAVL1_DAMPING: L1 control damping ratio - I would be very interested to see you change this parameter, even outside of its limits because of your scenario.
The range of damping rates work really well for my plane in the air, but they may need to be vastly different for your boat on the ground. It looks like your steering control is improving, maybe now it’s time to try improving navigation.
I think the damping will control a bit of your overshoot after hitting the waypoints. Usually the waypoint radius is set so that the turn radius is about the same as the waypoint radius (so that the next leg is activated at the perfect moment for you to be aligned without overshoot). Your WP_Radius was set too high before, but now it appears just a little too low. It’s good to see improvement.
The other procedure I would recommend is setting a shorter test course for faster tuning changes and changing parameters while you’re monitoring the progress. You can do live tuning. It will save you a lot of time in my opinion, but just make sure to bring a notepad or save your progress so that you can return to settings if it gets worse at points.
Setting a “figure 8” style mission with turns of various angles will probably get things done the quickest, and that way you’re testing both left and right turns.
Here’s a video showing the repeat (Do Jump mission command) https://www.youtube.com/watch?v=-ph182oROT0. I would recommend a course like this:
Thank you Nathan, yes, I look forward to testing those NAVL1_DAMPING settings. If I look at the loops created after the mission in Loiter they have a radius of 15m, I presume I should use that as my turning radius?
As far as making changes to parameters wirelessly, this has never been possible for me as I can link to the board, but have never been able to make parameter changes and save them. This is what I have been using - https://rcworld.co.za/product_details.php?proid=161
After the failure at WPT37 the throttle appeared to be extremely stable, which turned out to be a servo failure (this was a new servo used only since 2 April for these tests).
When I brought the craft in switching from auto to manual, I only had steering, and NO THROTTLE - it was stuck in the same position since WPT39.
This morning I inspected the motor and found the servo was erratic and chattering wildly.
I put it on to a standalone receiver with battery pack and found it to be the same, as if the potentiometer was damaged somehow.
I have replaced the servo which I tested and was working perfectly.
After fitting to the motor, connecting to the Pixhawk2.1 and arming the servo was doing the same thing, no control with the radio and very erratic and all over the place, I immediately turned everything off.
Tried again directly connected to a standalone receiver and it was perfect.
I did a restore default on the Pixhawk2.1 and the throttle is back to normal.
Randy, is there any way you can check from my last log I posted what happened?
This is what is required:-
- Gentle throttle increase to required speed for mission
- Approaching first waypoint speed must be reduced very early to compensate for momentum
- Once waypoint is reached speed must remain very low until new heading to next waypoint is obtained
- Once new heading is obtained gentle throttle to mission speed is required
You should not have problems writing parameters using the write parameters button in the Full Parameter List or Tree. If you do, that would be the primary thing to troubleshoot. This will literally save you days of testing if you can get out there and tune it live.
Yes, I know how to write parameters to the board while connected via USB, but no luck using - RADIO TELEMETRY 433MHZ 500MW FOR PIXHAWK
It will connect, but I cannot read or write parameters or flight plan.
I asked many times here on this platform as well as Facebook but there was little to no response.
I’m sorry you’ve been having issues with it, but I think it’s worth troubleshooting it. I don’t want to branch off topic from the navigation issue too much, but could you point me in the direction of your previous posts on the telemetry problem?
As a reference, I would recommend updating the Sik Firmware using the instructions here: http://ardupilot.org/copter/docs/common-3dr-radio-advanced-configuration-and-technical-information.html
Thanks Nathan, I will spend some time with it again this week. Much appreciated