I have a feeling it is the vane. I have yet to have a day with the wind consistently blowing. Thought about getting another pot and removing the grease somehow and building another vane for light air. One of these days soon when a front comes through I’ll get some consistent blowing wind. My HEEL_MAX is currently set to 30. I found the boat goes to wind better then with it set to 15 or 20. There are 12 marks in the pond and the boat is very good at finding them somehow. Boat is still in the car but tomorrow I can put up a log. And perhaps next week I will try the constant heading vane type if the wind is light and see how it does. Thanks
After looking at my Tlog this morning I have figured out what is going on. The video help also. Video’s are a very valuable tool. Scenario is… Wind 0 - 5 and most often probably less than 3 MPH. SAIL_NO_GO_ANGLE 50. Just being conservative to start with. SAIL_MAX_ST_RT at 5. The boat tacks and builds speed to about 2 MPH. The apparent wind goes to 46 - 49 degrees. Boat falls off the wind and off the wind until almost on a beam reach. Wind vane finally moves, boat sheets out and now the boat realizes it needs to head up more into the wind. It sheets in and changes course to a more proper course toward the mark. Now it’s time to tack and the process is repeated. So its the lack of wind for my vane. I also have an old 3DR GPS unit and the best it has been is 10 or 11 Sats and Hdop of .9. I think at times it drifts a bit and on a tight course like this creates a little bit of a problem. I’m going to reduce the NO GO ANGLE and probably increase the ST_RT to 10 although I don’t want the boat to get to busy. As I have said before I am not see any battery voltage or amp draw in any type of log. I don’t know yet if it is my old 3DR power module or the cable or what. See the screenshot below. It tells the story without words.
To help us with the sailboat development I’ve created a simple sailboat simulator (PR here)
I based the physics of it on this wikipedia article which describes the forces on sails. It’s still missing some important bits - for example the vehicle doesn’t heel over but I think it’s still useful and we can of course improve it over time. I’ve got some commits that add a SITL backend for the windvane as well but that’s not included in the above PR.
Great! this looks really usefull!
I had a play at making ground vehicles in realflight but basically there not very good. I think it could possibly work be would be a lot of work. Unlike air vehicles all the ground interaction stuff is dictated by the graphics. So you have to make the correct visual too.
I did find that Xplane10 has some user generated sailing vehicles in it. After some more research it turns they look right but the physics is not correct, they only work on one tack.
So i think that limits us to Gazibo, there is only one that looks OK https://github.com/disaster-robotics-proalertas/usv_sim_lsa. But i think the sailing physics is not much more complex than what you have done so far.
But I think for code development your simulator should work well. I wrote a VPP in Matlab a few years ago I think it did heel angles and sail twist and more complex things too. We might be able to duplicate some of the physics from that. I will upload it if i can find it.
a PR with basic sailboat support (without tacking and wind speed sensing) is about to be merged to master. If anyone would like to give it a try, I’ve put a binary here. I don’t think people should notice any significant changes in behaviour except that it doesn’t tack.
One warning is that in ACRO mode, you’ll need to slightly raise the throttle or it won’t try and control the sail.
No pressure, but if anyone has a chance to give it a try…
EDIT: a PR with the full feature set will be coming soon… we just wanted to get this simpler version in first because other wise it’s really tough on the reviewers to give it the thorough review it deserves.
O.K… So if I understand this properly the boat will not tack on its own in AUTO if heading to a windward waypoint? If so I’ll stick with what firmware is currently loaded on the boat.
Yes, that’s right it does not include tacking. Still, testing this interim version is an important step towards getting the software available to everyone so any testing people can do, even if it’s a step back from what’s on your vehicle at the moment, will help with the process of getting sailboats officially supported.
This is now half in master! Thanks for all the help @rmackay9!
I have been looking to upgrade the RF stuff on my boat so i can carry on testing on some larger bits of water. I have a 3DR telemetry kit to replace the wifi telemetry I had been using. I think I need to also move my rc receiver, its a frsky rx8r so should have plenty of range but I was getting low signal warnings after only 50M or so.
I think this is due to being so close to the water level. So i guess for the telemetry radio I could mount the radio itself in the waterproof box and mount the antenna up the mast with a SMA coax extension. But for the RC receiver I would just have to mount the whole thing on the mast and run the sbus signal back. I guess i could do the same and extend the antennas, and leave the actual receiver where it is, but they are tiny surface mount connectors.
A couple things here. I use a Spektrum system with satellite receiver. Each receiver is mounted under the deck on opposite sides of the boat. It helps but still no where near the range of an aircraft or land based rover. I use a 1 watt amp on my transmitter which seems to help a lot. I’m removing my 3DR 915MHz telemetry radio and adding a RFD 900 this weekend. The 3DR unit in the hull was having range issues. I plan on trying the RFD unit in the hull, close to deck, first and see how it goes before deciding to put antennas outside the boat. I’m trying to keep everything just below deck so I don’t clutter up the deck and risk equipment getting wet.
Finally had wind for a change. Did a Auto mission around 14 marks on a pond in numeric order. Other than the sheets moving to fast when my max heel was reached, easily fixed, the boat did a great job I thought.
That’s really great. I hope you don’t mind, I blogged it on ArduPilot.org here. I’m happy to make any chances to the blog you’d like of course.
I’ve raised a pull-request to get the 2nd part of @iampete1’s sailboat support into master. This includes the ability to tack but is still missing a couple of less critical features:
- tacking in Acro can only be done from an auxiliary switch. tacking (in acro) is aborted if the user provides any steering input
- true wind speed and direction are always reported to the ground station. In iampete’s version the user can select which is sent using a parameter.
On the positive side though I think the calculation of the true windspeed and drection may be better - this is the key thing that I’d like to confirm. Because the true wind direction is so important, it’s possible that the tacking performance may be better. It will only be better though if a windspeed sensor is attached.
If anyone would like to give it a try before it’s in master that would be greatly appreciated, I’ve put a binary for a Pixhawk/Cube autopilot here.
A small word of warning is that the parameters have moved around so if you were using iampete1’s version please double check that the SAIL_ parameters are reasonable.
Here’s a video of it working in the simulator.
My boat is being re rigged with heavier wire stays. I’m looking to add the wind speed sensor also in the next few days. I probably would not have time to test this until Sunday. And just to be clear on the wind speed sensor… The OUT and TEMP labelled on the sensor go to pin 13 and 14 on the Pixhawk ADC? I’m not sure what goes to what pin.
Yeah, out to pin 14 and temp to pin 13
Hi. Please add the ability to set the wind speed manually. Similar to how the wind direction is set through the transmitter thanks to the parameter “Wind vane sensor RC Input Channel”. In conditions when there are no sensors on the market that do not require serious manual revision, input through the transmitter would not be a bad alternative to the sensor.
It is also desirable to approximate the steering wheel taking into account the roll, the position of the sail and the speed of the boat. That is to take into account the property of the sailboat to boguing or to be bring to the wind with the coefficient for the catamaran.
Best Contribution of the Month, September
We could add setting the true wind speed from the transmitter, the code will work with no wind speed sensor at all, for slower craft this doesn’t make too much difference.
Not too sure what you mean for the steering? Do you mean so set the heading to the wind and keep the sail still? i.e. sailing to apparent wind angle rather than true wind angle. I have been thinking about this, but it would be tricky to include with the navigation code.
I like the idea of using perhaps channel 6 for adjusting the wind speed manually, because even the smallest sensors are too big for the MicroMagic class https://www.theamya.org/boats/micromagic/ where one would have to fight even to get the minimal things onboard
I meant sailing to the visible wind, as they do on real yachts. Recalculation of the visible wind in the true wind will always give an error at small angles of attack.
When driving in tacking the sails chosen are tight. The steering is controlled to maintain the course as close to the tacking angle as possible without significant loss of speed (heuristic rule 1: sharp course is more important than speed).
But, when the speed drops, the drift increases and the actual path of the boat becomes noticeably larger than the angle of tacking, and it will not be noticeable on the weather vane! The influence of this factor is amplified when the wind gets stronger. In addition, with further strengthening of the wind, the roll increases, hence the effective area of the sails decreases and the drift increases even more
If it is impossible to visually determine that the sails are winded and lost traction, the most important indicator of this is the Roll. Given the above, the Roll should be within certain limits for a certain wind force.
Actually my wind vane and Bourne pot weighs almost 3 oz… It needs to be this large to function some what properly as I have not removed the grease from the pot. I’m very pleased with it because it gives me repeatable accurate wind direction in a bench testing situation. However, even with my EC 12 the 3 oz. of weight 5 feet above the center of gravity of a 24 pound boat is making the boat more tender in the water. Carrying this kind of weight aloft on the mast head will certainly be a challenge for an IOM or Thunder Tiger boat like Randy has and make the boat not sail as well as designed.
So you want to change the Maximum Heel angle based on wind speed?