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!
9 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.