I am writing to post an idea for a sailing application that would make use of the 2-way capability of Signal K to interact with instruments on a sailboat.
How about an application that takes boat information into a mobile application, lets the user choose which combination of sails are currently flying, and combine that with boat performance information previously entered by the user (polars,correction information for AWA (separate for each sail combo), estimated leeway information (adjust for each sail combo), and pipe back into the boat as a speed through water for target boat speed that could be brought up on an instrument display that may only know how to display boat speed ... but by selecting a boat speed source, meet the needs of communicate to the boat owner they are falling short or coming close to the potential of their boat as they make each sail trim adjustment.
Some other supporting functionality could be valuable:
- Allow the user to go back over time scale view that showed heading, position, stw, and allow the user to go back and change which sails were used at that time period. E.g. If I fly my Spinnaker, give me the option of going back to the application minutes or even hours after the sail change to properly log I did it. By seeing the time and the heading change, I can pin point within seconds of when I made the change.
- Allow the user to choose a range of time on a specific date (like the start of the race through the known finish time), display the course the boat took on the map, and give the line some coloring to suggest how close to 100% of the polar value the boat was achieving throughout the race. By hovering the cursor over the source, let the user see the boat information at that point in time, and help self examine how quickly or not the boat got up to speed on each tack and/or if the boat owner failed to keep the boat running fast at some point during the race.
- Allow the user to choose a range of date/time for playback against a polar graph. This could integrate the theoretical polars for your boat class, real "this boat" polars as well as current boat performance. Since a huge amount of data can be logged in 4GB, and even more in the SD card, maybe this can even be viewed across an entire sailing season...
Dan Corcoran
Breeze Pleeze
I am writing to post an idea for a sailing application that would make use of the 2-way capability of Signal K to interact with instruments on a sailboat.
--
You received this message because you are subscribed to the Google Groups "Signal K" group.
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I don't know of any instruments that accept data in Signal-K format, and the existing gateways being written from NMEA 2000 to Signal-K are one way.
I have written some python scripts that output common NMEA 2000 PGNs (for wind, boat speed, etc) that I'm happy to share if they would be helpful for your goal. They should work on anything with SocketCAN installed. I used PGN info found in canboat to write to them. I've only tested them with a Raymarine ST70 instrument display, but they work well there.
alex
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+u...@googlegroups.com.
A standard raymarine or garmin masthead wind unit plus motion correction will outperform the bg213 which has no mast motion correction.
The bg added option for motion correction will cost north of 5000 usd and complicated to add to existing boat systems.
Not forgetting that a $180 Signet analogue paddle wheel and the analogue signal from a B&G 213 Masthead is currently regarded as the best you can use to measure speed and AWA/AWS. No NMEA0183, no NMEA2000.
--
Not forgetting that a $180 Signet analogue paddle wheel and the analogue signal from a B&G 213 Masthead is currently regarded as the best you can use to measure speed and AWA/AWS. No NMEA0183, no NMEA2000.
--
You received this message because you are subscribed to the Google Groups "Signal K" group.
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+u...@googlegroups.com.
This is a sensor that can also benefit from motion correction. The pb200 and wx200 have integrated motion sensor, see panbo article "sailing with a pb200: parts 1,2,3 for what it's like I put my pb200 2 feet above masthead using vhf extension pole. Such products while great require running new cable to masthead. Would be valuable if all sailors had good true wind angle and target speed available. Motion correction of AWA is required, if everyone could reuse their existing wind sensor, would make the proposition a whole order of magnitude cheaper.
A 9 axis sensor chip is a dollar, it's all about software (could be smartphone app) and interfaces. Depending on sensitivity motion sensor can be installed low on the mast or even on the hull. I wonder how signal k can facilitate making the software and interfacing cheap.
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+u...@googlegroups.com.
I recently built a system that includes a sailing performance indicator to display actual boat speed relative to target speed based on the boat’s polar model. As part of this project I also developed a very efficient and compact mathematical representation of a boat polar model that I think could easily be incorporated into the Signal K data model.
My system started as a simple hobby project using a microcontroller development board to replace the unreliable paddlewheel knotmeter signal on an old Catalina 30 with GPS-derived boat speed. I also interfaced the microcontroller to a Raymarine ST60 Wind Instrument over SeaTalk to enable it to display true wind speed and angle. Finally, I developed the sailing performance indicator using GPS boat speed and wind speed/angle from the ST60.
At this point the performance indicator is simply a bright flashing LED with its flash rate increasing as boat speed approaches target speed. I’m not correcting wind speed/angle for mast motion but I am averaging both these and the boat speed over several seconds to dampen short-term errors. Overall the performance indicator works well - it’s definitely fun to see in real time how you’re doing relative to theoretical boat speed and we use it quite successfully to fine tune sail trim. I’ve thought about adding a more sophisticated display and some of the tracking and review functions that Dan suggested but haven’t done anything about that yet. I also think it would be possible to implement a machine learning algorithm (eg. Kalman filter) to automatically generate the polars from actual boat data. That would be a fun project!
A bit about my compact polar model representation: This is a parametric model that reduces the entire boat polar to 16 regression coefficients and calculates target boat speed for any combination of wind speed and angle in just 9 lines of C- code. This representation is much more efficient and accurate than saving perhaps hundreds of wind speed/angle pairs and using linear interpolation to calculate target speed. Since my model is so compact I think it would be ideal to incorporate in the Signal K data model under “vessels.vessel.design.performance”. It should even be possible to save multiple models for different sail combinations.
I’d be happy to hear from anyone interested in pursuing this.
--
This is exciting. The blinking light is a great idea for feedback on achieving target speed in response to sail trim.
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+u...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Signal K" group.
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+u...@googlegroups.com.
Thanks for the feedback everyone. I'm happy to share the algorithm and code, but what I'd really like to do is collaborate with someone to develop this further as a product or demo. My compact model isn't complicated but it is a bit difficult to explain in a blog post. I’ve made a Powerpoint presentation that I can talk to, and also a short video showing the system in operation. If anyone would like to do a Skype call or something like that I’d be happy to do so. Let me know.
To answer a few of your questions so far:
Fabian/Rob: I built the system on a Freescale (now NXP) KL46Z Freedom board which has a 48MHz ARM Cortex M0+ microcontroller and is Arduino pin compatible. I used an Adafruit Ultimate GPS Logger Shield for the GPS SOG signal. I believe the boat performance model alone would run on a smaller processor (Teensy etc.) as long as it can keep up with all the Signal K message parsing etc.
Dan: The flashing LED does work well – probably better than I expected. It’s kind of in the background while you’re sailing - you’re aware of it and you respond to it but it’s not distracting and it doesn’t take as much effort to read and interpret as e.g. a numerical display. Though it would also be nice to have an app with some of the functionality you described as well.
Mike: Yes, I generate the compact model parameters in a series of regression steps from a table of wind speed/angle pairs. For my original Catalina 30 model I used 72 data points that I read off a polar diagram. For now I’ve been doing the analysis manually using the regression add-on in Excel, but the whole process could probably be automated in Matlab or C-code. This evening I found of a set of polars in table form for a J30 http://www.blur.se/polar/J30_polar.txt and it took me about 20 minutes to generate the model coefficients from these using Excel. See the result below with the original data plotted as points and the model as lines. BTW, the RMS error between the data and model is less than 0.1kt, which is better than the precision of the original data.
- Kevin
That sounds great! - Id be happy to incorporate it into the java-server (with attribution of course!) if its open sourced - otherwise it would possibly suit a standalone module based on an arduino or teensy. Just plug into the boat network and get instant polar/performance calcs, storing the derived data in the model for display via any instrument.
Sounds really interesting and all good as far as it goes but for polar targets you really need to be working from boat speed through water and true wind. Anywhere there is current COG and SOG doesn't cut it.
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to signalk+u...@googlegroups.com.
Ian,
Just a quick note: There is also a socketCAN port of Timo’s NMEA2000 lib, so if you wish you can directly connect the RPi to the CAN bus and pull in Actisense formatted messages w/o going through the Due. I have been using piCAN adapter and an Rpi-3, not sure if one of the USB socketCAN adapters will work with the Pi-zero, would have to verify that.
-al-
Viking Star
45' Monk Sr. / McQueen
From: sig...@googlegroups.com [mailto:sig...@googlegroups.com] On Behalf Of Ian Boston
Sent: Monday, September 04, 2017 11:46 AM
To: Signal K
Cc: gerc...@phys.ethz.ch
Subject: Re: Signal K - Sailboat Performance App
Hi,
--
You received this message because you are subscribed to the Google Groups "Signal K" group.
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+u...@googlegroups.com.
adds performance data, forked from sbender9/signalk-derived-dataThis takes a rough polar and builds a fine polar with 1 degree twa steps and 0.1 tws steps, so eliminate interpolation. Too much data for a Due, but fine on a Raspberry Pi ZeroW.andOutputs NKE NMEA0183 performance sentences over TCP to be consumed by the NKE Android app.The repos are work in progress and may not be 100% upto date.They also build heavily on the work of others including SignalK.
The Pi Zero + Due draw about 100mA @ 12v most of the time. I did run InfluxDB + Grafana but the load on the Pi was too much.
On Mon, Sep 4, 2017 at 9:46 PM, Ian Boston <ianb...@gmail.com> wrote:adds performance data, forked from sbender9/signalk-derived-dataThis takes a rough polar and builds a fine polar with 1 degree twa steps and 0.1 tws steps, so eliminate interpolation. Too much data for a Due, but fine on a Raspberry Pi ZeroW.andOutputs NKE NMEA0183 performance sentences over TCP to be consumed by the NKE Android app.The repos are work in progress and may not be 100% upto date.They also build heavily on the work of others including SignalK.Ooh, nice stuff! Do you plan to keep your forks or share your work back?
With a quick look signalk-to-nke looks like it is a much improved version of signalk-to-nmea0183. I would love to have all this consolidated to one signalk-to-nmea0183 plugin to avoid confusion for users and scattered development effort.
The same goes for signalk-derived-data.The Pi Zero + Due draw about 100mA @ 12v most of the time. I did run InfluxDB + Grafana but the load on the Pi was too much.Yep, I guess you need RPi 3 with around 400mA draw for that. It also has multiple cores, so other processes don't subtract from the server's cpu capacity.
Ian,
Just a quick note: There is also a socketCAN port of Timo’s NMEA2000 lib, so if you wish you can directly connect the RPi to the CAN bus and pull in Actisense formatted messages w/o going through the Due. I have been using piCAN adapter and an Rpi-3, not sure if one of the USB socketCAN adapters will work with the Pi-zero, would have to verify that.
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+unsubscribe@googlegroups.com.
If you want the work back, then I would he happy to contribute.
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+unsubscribe@googlegroups.com.
There is a nice (though a bit pricy ) dual CAN adapter: the piCAN2: http://copperhilltech.com/pican2-duo-can-bus-board-for-raspberry-pi-2-3/
Made by “SK Pang Electronics” IIIRC there is a different supplier in the EU.
Given both ports are IRQ enabled and SPI based I would suspect there should be little issue keeping up with incoming traffic.
There are a few other options available, including isolated transceivers to meet the NMEA2000 guidelines if you wish: http://copperhilltech.com/brands/SK-Pang-Electronics.html
(Not promoting, no connection – just found it was a nice clean solution to getting CAN access onto the RPi’s)
Myself, only because I was using the N2K libs for their underlying J1939 support and noted is also works as an Actisense compatible reader feeding into the Signal K stack. But yes, socketCAN and candump seems like a simple solution!
From: teppo...@gmail.com [mailto:teppo...@gmail.com] On Behalf Of Teppo Kurki
Sent: Tuesday, September 05, 2017 12:57 AM
To: signalk
Subject: Re: Signal K - Sailboat Performance App
On Tue, Sep 5, 2017 at 6:20 AM, Al Thomason <thoma...@gmail.com> wrote:
--
To unsubscribe from this group and stop receiving emails from it, send an email to signalk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Signal K" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/signalk/YpmDpfv-Ro4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to signalk+unsubscribe@googlegroups.com.