is there a reference key for mast rotation?
I've looked at both Appendix A and B in the 1.7.0 spec documentation, but cannot find anything that seems to be defined for mast rotation (searched for mast, rotation, angle). I do see rudderAngle, but I don't really want to 'overload' that.
Is there such a key? If a key doesn't exist, is it possible to define an additional one? I have a PGN for my custom mast rotation reader, and would like to add to the derived-data/truewind plugin a version of truewind that takes mast rotation into account.
Thanks for any tips!
12 Replies
No. There is not one defined. You can use whatever you think makes sense. And we can hash it out in your pr to derived data.
I just published a plugin that incorperates mast rotation for calculating true wind. Look for advancedwind plugin. You would still need to add mast rotation to the (meta) data.
As a racing sailor with a rotating mast the issue of getting wind data into the system is a huge problem. Clearly the big boys (Navico etc) regard rotating masts as a tiny niche, not worth working on.
So SignalK's ability to address this is very important to me, and others. Aswin, your new "Advanced Wind" plugin is extremely interesting.
I have used Node-Red to create a Mast Angle parameter using two compasses. The output will feed into Advanced Wind to give me back updated Apparent wind and all the rest that this app can deliver.
For me this is very exciting. My suggestion is that the calculations that provide the Mast Angle number would be ideally integrated into "Derived Data".
Using two compasses is clearly inaccurate. I propose to integrate some averaging and smoothing to get a better "Mast Angle" reading. For a complete newby like me getting to understand the Node-Red -> Signalk -> NMEA2000 protocols and languages is interesting and fun, but a huge time waste which could be done much more quickly and intelligently by people who are smarter and more experienced than me.
But anyway Chapeau to all who are creating such a powerful and useful set of tools. Thanks
Do you have two compass sensors or are they really IMU sensors (like a precision-9 or a DST-810). And do they have the same characterisitics? I ask because the old compass sensors react slowly while IMU sensors can respond more quickly. If both sensors have different characteristics you can introduce errors when combining the two.
I've got a B&G ZG100 as the main boat heading sensor, and a Garmin SteadyCast mounted to the mast for "Mast heading". I've read through the specs on both units but don't recognize the tech used as IMU (Inertial Motion Unit), so pretty sure that neither are paticularly accurate or highly responsive (10hz max I believe).
However atm, I have nothing, so anything will be an improvement. Assuming I can get the system working in prototype, I'll then be able to investigate some higher quality sensors if they seem to add value.
I'm not using this for autopilot, just as some secondary guidance to Apparent Wind angle -> True Wind, which I hope to assist with developing polars etc.
These are both IMU sensors with comparable abd decent specs and characteristics. I think it could work to determine mast rotation from the difference between the two.
Have you concidered using a rudder angle sensor for this? I think it will give better results as the measurement is more direct.
You could even make your own non contact sensor using this https://automation.honeywell.com/us/en/products/sensing-solutions/sensors/motion-and-position-sensors/magnetic-position-sensors/arc
Thanks Aswin for confirming the tech used in each of these two sensors. It's not often that teh outcome is better than I expected.
I agree that using a honeywell sensor would be more accurate, but I have the equipment now, and figure that for me getting the software working is a bigger challenge than getting the hardware changed.
The next stage for me (which is trivial for others, I know) is to a) select a SignalK parameter name for the mast angle measurement and b) set up the meta data around the delta that will be sent out from Node-Red. Then work through the appropriate signalk node to export the delta to signalk so your AdvancedWind plugin can do all the important work for me.
Is there any specific meta data that your plug-in requires? Do you have a better suggestion for a Path than " self.rig.mast.angle"? I thought I saw a reference to "rig" in some documentation I saw somewhere, although it is clearly an orphan. I know there is a path category for "Sails" but mast angle doesn't fit there at all.
Back to your suggestion about the Honeywell angle sensor, I think that is the gold standard for measuring the mast rotation and if I feel that the two compass method is not sufficient then I'll start to look into doing that. However it seems to open up another frontier for me in terms of needing to understand I2C etc. The first step of getting data off the N2K system -> Signalk -> Node-Red -> Signalk-> N2K has been plenty challenging enough :-). I feel like doing some data averaging and data smoothing will improve the Mast Angle figure enough to be satisfactory to me.
I do not have a suggestion for a path. I quick look into the keys reference didn't not show any obvious candidates or suggestions. The plugin allows you to specify the name of the path for mast rotation. No metadata is needed. The plugin assumes the rotation is in radians and that a positive angle is clockwise.
I do want to understand mast rotation a bit better. Do you set the mast angle like you would set a rudder or is mast rotation the result of sail trim? Does it vary a bit when you are on a steady course? Do you have real life data of the two sensors that you might want to share with me? I might be able to help you writing a filter to calculate mast angle.
Thanks for all the feedback Aswin.
I’ll set up a very simple delta for that mast angle path and see how I go.
As for how “Over rotation”works:
it is an attempt to smooth the low pressure side of the transition from the mast to the sail.
There are two main ways that it is controlled
1) using a “tiller” from the bottom of the mast which is actively controlled by a cord (two cords actually, one to each side of the boat. One cord is actively controlled at any time.)
In this case the mast is mostly fixed relative to the centreline of the boat until you tack and rotate it to the other side.
2) a “mast tiller” connected to the boom with a single adjustable length control line.
This system is more automatic (it tacks from side to side without any input due to sail forces).
Both systems will result in some movement of the mast under sail forces.
In both cases max mast rotation will be less than 90 degrees due to shroud and forestay forces as they wrap around the mast.
When the mast tiller is connected to the boom, the mast movement is as frequent as the traveller and main sheet adjustments.
Hi Aswin, I hope you can set me straight. I’ve got my mast Angle calculation working in Node red, and exporting a simple output with a topic (msg.topic = “rig.mast.angle”) and a payload (msg.payload = mastAngle).
This is passed to SignalK using the send-path-value node.
In the data browser the path rig.mast.angle appears with the right value in it.
But when I enter “rig.mast.angle” into your advanced wind plug in, and look on the web app the mast angle seems to remain at 0, and the output seems to ignore any change to the mast angle input.
I assume that I’ve done something wrong with setting up the input to your plugin. Would you have any advice?
Hi Beatrix, There was a bug in the mast angle code. This is noe fixed. Also, the webApp will noe show the mast angle, so it is more easy to check its value.
How is the quality of your calculated mast angle.?
new version is 2.1.5
Thanks so much Aswin. I think your package is really valuable.
I’ll download the update now and test it tomorrow.
So far I haven’t tested the mast angle measurement accuracy. I’ll do that by setting up some graduations on the deck and seeing which graduation the mast tiller aligns with and compare that with the compass reading.
Will take a week or so before I can get to that.
I’ll let you know when I get that done.
Hi Aswin, I got to the boat yesterday and tested that the new version has fixed that issue, and sure enough it has. And the updated wind angle now reflects on my B&G chart plotter as well, which is great.
Now I’ll finish fitting the mast compass to the boat and start testing the system in real life.
I expect to be able to give some feedback after next weekend.
Thanks again