WEBVTT

00:00.000 --> 00:03.540
Okay, folks, I think we are back.

00:03.980 --> 00:07.560
Let me try once again sharing my screen.

00:13.020 --> 00:18.680
And once again, I'm going to live dangerously and show the whole thing.

00:19.580 --> 00:37.500
So, when we were talking about ideas for talks and projects and things like that, one of the things that I just happened to mention, and somebody said, well, this seems like it'd be an interesting little challenge type of project to do.

00:37.780 --> 00:42.660
And I'm going to talk to you about something called AIS point prediction.

00:43.140 --> 00:45.140
So, here's the general idea.

00:45.140 --> 00:49.700
And if I was better at drawing graphics, I could have drawn you some graphics.

00:49.940 --> 00:56.140
So, I'm going to try going out here to OpenCPN to see what kind of things we've got going out here.

00:56.680 --> 01:05.880
What I really need, and I probably don't have, well, actually, I probably do have, but you see these vessels out here.

01:06.560 --> 01:09.460
This vessel right here, the Janus, we know is a sailboat.

01:09.460 --> 01:11.620
It looks like it's about to come in Ponce Inlet.

01:11.940 --> 01:14.660
The Sea King, I don't know anything about the Sea King.

01:14.700 --> 01:15.880
It's also a Type B.

01:15.880 --> 01:17.640
That's too bad, but that's okay.

01:18.480 --> 01:30.020
On AIS messages, vessels that are by Code of Federal Regulations required to transmit Class A type of vessels.

01:30.020 --> 01:36.820
So, the really big ones have a lot of passengers, have a certain tonnage or horsepower.

01:36.940 --> 01:38.540
They're Class A.

01:38.700 --> 01:43.780
And a Class A is going to be telling me all the information that's down here.

01:43.780 --> 01:47.900
They'll be telling me a speed, course, heading, and turn rate.

01:48.240 --> 01:53.920
They'll also be communicating relatively frequently.

01:54.380 --> 02:00.800
Class B vessels, the smaller ones, aren't required to transmit.

02:01.140 --> 02:07.520
And in fact, in a Class B position report, there's no way to even tell me about a turn rate.

02:07.680 --> 02:10.840
So, the reason I'm telling you that is so that I can tell you this.

02:11.220 --> 02:19.940
My question is, and here's an example of Louisiana, which was just offshore pretty recently, a tanker, offshore Daytona.

02:19.940 --> 02:35.700
So, if I know a ship's latitude, longitude, speed over ground, course over ground, and turn rate, can I predict where they will be the next time they give me a position report?

02:36.140 --> 02:40.610
And in some ways, this sounds like a trivial exercise.

02:41.470 --> 02:44.290
I fooled around a little bit with it, not a lot.

02:44.290 --> 02:46.790
It's a really interesting exercise.

02:48.790 --> 02:57.190
And the idea came to me some time ago, the idea being, you know, I'm at a particular place.

02:57.470 --> 03:03.310
And suppose a bad guy spoofs their AIS latitude, longitude of a vessel.

03:03.310 --> 03:06.270
And they try to, let's say, knock Louisiana off the air.

03:06.270 --> 03:08.930
And now they spoof, bing, Louisiana.

03:09.190 --> 03:18.210
Well, suppose their next position report puts me five miles away.

03:18.430 --> 03:23.550
Well, there's no way that I can move five miles in a minute.

03:23.930 --> 03:34.570
So, my AIS receiver could maybe flash red to say, we just got something that just doesn't seem right.

03:35.550 --> 03:49.690
Now, the other thing, by the way, that this AIS message will tell us, this position message, this and other things, is you'll notice that this is also giving me the destination and ETA of when I plan on getting there.

03:49.690 --> 04:00.270
So, this vessel, which I saw the other day, probably about four or five days ago, is expected tomorrow morning at 7 in the morning UTC to be in Texas.

04:00.270 --> 04:04.590
So, it must have, well, it must have been several days ago.

04:04.750 --> 04:08.070
Anyway, so where I'm going with this is this.

04:08.070 --> 04:13.650
Again, an AIS type 1, 2, or 3 message is a class A position report.

04:13.690 --> 04:18.150
And the information that matters to me is it's going to give me a latitude.

04:18.650 --> 04:27.170
For those of you that are not familiar with the relationship between latitude, longitude, and distance, it is vaguely as follows.

04:27.230 --> 04:30.730
One degree of latitude is 60 nautical miles.

04:30.730 --> 04:34.350
One minute of latitude is one nautical mile.

04:34.830 --> 04:44.630
Longitude is about, one degree of longitude is about 60 nautical miles at the equator, which is zero degrees latitude, of course.

04:44.990 --> 04:55.790
But for every other, any other latitude, a degree of longitude, the linear distance is going to be some function of the latitude.

04:56.250 --> 04:59.710
And think about a globe.

04:59.710 --> 05:11.910
And, of course, as you get closer and closer to the North Pole, one degree of longitude gets to be almost nothing, whereas one degree of longitude at the equator is 60 nautical miles.

05:11.910 --> 05:14.450
Anyway, I mentioned that later on.

05:14.770 --> 05:19.110
Then we're going to have the course in degrees, zero degrees being true north.

05:19.110 --> 05:23.750
And so an actual course will be somewhere between zero and 359.

05:24.010 --> 05:25.570
The speed in knots.

05:25.690 --> 05:32.110
A knot, of course, is a nautical mile per hour, which translates to about 1.15 miles per hour.

05:32.330 --> 05:37.770
I'm going to have a rate of turn, which is generally expressed in the number of degrees per minute, left or right.

05:38.250 --> 05:46.190
And the time between transmission is going to be a function of what is your speed and what is your rate of turn.

05:46.970 --> 05:52.870
And it turns out there's a standard for this, and if only the standard matched the reality, life would be a good thing.

05:53.050 --> 05:59.970
But here is actually an example, and it talks about some of the additional issues related to the problem.

06:00.210 --> 06:05.950
So I only care about the Class A transponder types, although I'm showing you Class Bs as well.

06:05.950 --> 06:12.630
So technically speaking, if you're a Class A vessel, you're at anchor, you just need to transmit every three minutes.

06:12.870 --> 06:17.170
Now, you may be saying, but I'm at anchor, I'm not moving.

06:17.170 --> 06:25.290
Well, again, AIS Class A devices, you might be talking about a vessel that is several hundred meters in length.

06:25.670 --> 06:45.510
If it's anchored or moored, the position of the bridge might be actually composing a circle, that if that ship were to swing around its anchor in a 360-degree circle, you might be talking about a radius of many hundreds of meters.

06:46.070 --> 06:58.910
Well, a nautical mile is about 2,000 yards, so I might, like I said, I might have a pretty big swing radius.

06:58.910 --> 07:08.590
In any case, if I'm sailing, not sailing obviously, but underway between 0 and 14 knots, I'm supposed to be transmitting every 10 seconds.

07:08.610 --> 07:17.630
If I am sailing at a speed of 0 to 14 knots and changing course, I need to be transmitting every 3.33 seconds.

07:17.630 --> 07:21.350
So that's how you read the chart in terms of transmission rate.

07:21.370 --> 07:28.670
What I did is I then translated this and said, well, what's the maximum distance I can travel in that amount of time?

07:28.830 --> 07:36.870
Well, if I'm going 14 knots and I'm transmitting every 10 seconds, I'm only going to be traveling 77 yards.

07:36.870 --> 07:38.750
That's not very far.

07:38.750 --> 07:51.870
And you can sort of see as my, as I progressed here, what I was trying to give was an idea of exactly how far might I be going between transmissions.

07:52.410 --> 07:58.870
Now, I mentioned I wish the reality were, you know, match the standard.

07:58.870 --> 08:04.090
Sometimes we will see vessels going by that are class A vessels and they're pretty big class A vessels.

08:04.090 --> 08:10.450
And like the Louisiana, the Louisiana was going at 15 knots.

08:10.450 --> 08:15.670
Well, at 15 knots, even in a straight line, they should be transmitting every six seconds.

08:15.670 --> 08:20.250
But we had like a minute, that slide that I showed.

08:20.330 --> 08:28.890
So in any case, you know, so the distance or rather the rate between transmissions is something else we need to take into account.

08:29.250 --> 08:33.890
So then I said, well, okay, I've got, I've got a ship here.

08:34.370 --> 08:35.770
That's supposed to be a ship.

08:35.790 --> 08:40.530
And it's at some latitude and longitude, which I'm calling lat zero and long zero.

08:40.530 --> 08:42.450
I know my course over ground.

08:42.450 --> 08:44.370
I know my rate of turn.

08:44.830 --> 08:48.990
And so the question is , all right, well, I've got a triangle in here.

08:49.150 --> 08:51.170
I've got some angle theta.

08:51.170 --> 08:55.950
Now, this may or may not be the right approach to go, by the way, but I've got some angle theta.

08:56.390 --> 09:04.910
And so at some t time later on, I've got my new latitude and longitude, lat one and long one.

09:05.190 --> 09:16.370
And so I will observe that I can figure out the radius of this circle because it's going to be related to the speed over ground and the rate of turn.

09:16.470 --> 09:24.670
I can figure out the distance that I've traveled, that circular distance, that arc, if you will.

09:24.670 --> 09:30.710
That's going to be somehow related to the velocity times the time between the transmissions, the actual time.

09:30.950 --> 09:33.890
And then I've got this delta x and delta y.

09:33.910 --> 09:42.710
Well, delta x is going to be a function of the angle of the circle, the speed over ground and the time, which as will my delta y.

09:42.710 --> 09:58.890
But then my actual change in latitude and longitude has got to be a function of the course plus theta, meaning that if I was just going due north or do anything, it'd be easy.

09:58.890 --> 10:18.270
But as we start to change off of zero degrees, we start to see, because again, a degree of latitude is the same everywhere in terms of linear length, but the linear length of the degree of longitude is not going to be the same.

10:18.430 --> 10:23.550
So like I said, we have, you know, that issue to deal with.

10:25.410 --> 10:39.510
So again, my targets that I'm going for is if there's no rotation of the ship and the ship is moving in a straight line, well, that's almost easy to do.

10:40.250 --> 10:43.990
If the rate of turn is not zero, my ship is turning.

10:45.290 --> 10:58.250
And so then the other thing I was thinking of is not only can I, how well can I predict my next point, but, you know, we just had a tropical storm down here last week, went up the east coast.

10:58.250 --> 11:05.170
And so we always look at the National Hurricane Center and they give us this cone of certainty for

11:38.890 --> 11:43.370
, so that if my next point is in the box, do I claim victory?

11:43.710 --> 11:50.590
And am I looking for, well, a really small box or how big will I let my box be?

11:50.890 --> 11:53.790
If I'm going in a straight line, they really are sort of boxes.

11:53.790 --> 12:00.170
If my rate of turn isn't zero, then the boxes actually become a cone.

12:00.170 --> 12:02.530
Am I anywhere in the right range at all?

12:04.310 --> 12:13.150
So, like I said, in terms of a problem, I was just thinking that this sounds like an interesting problem to tinker with.

12:13.370 --> 12:18.670
And, and there's all sorts of places to look at historical information.

12:19.110 --> 12:30.610
What you need to work on, though, if you get historical information, and I could even provide you some, is you need type one, type two, or type three position reports from the same vessel.

12:31.370 --> 12:36.470
And, and the type one, again, because you need rate of turn.

12:36.470 --> 12:42.090
Now, I mentioned something about the length of the degree of latitude and longitude.

12:42.090 --> 12:54.210
So, again, the length of the degree of latitude in meters, there's, there's a formula that I know is used at a number of the government sites.

12:54.490 --> 13:04.410
It was actually easy to find the formula because they have these pages where they have like a JavaScript, and you can, you know, put in, you know, what your latitude is.

13:04.410 --> 13:07.410
It will tell you the length of a degree of latitude in meters.

13:07.510 --> 13:11.310
Well, of course, if you right-click and look at the page source, you can see their formula.

13:11.910 --> 13:14.990
But it's been used a lot, and I've seen it documented in a few places.

13:15.330 --> 13:23.310
In any case, the length of the degree of longitude, again, you will also notice is a function of the latitude.

13:24.170 --> 13:31.890
The length of the degree of latitude and longitude, here, here's, that I produced largely from those formulas.

13:31.890 --> 13:38.690
And you will notice that a degree of latitude, in terms of nautical miles, it almost doesn't matter where you are.

13:38.690 --> 13:43.850
It's about 60 miles, 60 nautical miles to a degree.

13:43.850 --> 13:50.290
If you look at a degree of longitude, the number of nautical miles, again, at the equator, it's about 60.

13:50.290 --> 14:03.350
And then, as you go towards the poles, it increasingly gets smaller and smaller, and then rapidly gets smaller once you get above about, you know, 45 degrees, either north or south.

14:03.350 --> 14:05.770
And that actually, you know, makes sense.

14:05.770 --> 14:09.970
Until, of course, you get to the pole, and then the degree of longitude is zero nautical miles.

14:12.330 --> 14:16.070
And again, I've given you some websites where they have more information about this.

14:16.070 --> 14:21.450
And that, more or less, was the challenge.

14:21.910 --> 14:25.970
And as I said, I think it's sort of an interesting problem.

14:27.090 --> 14:32.230
And for a few people, I don't know where we sort of go from there.

14:32.530 --> 14:38.710
I, like I said, I talked to Reid out about this, and I think he talked to a couple of other people.

14:38.930 --> 14:39.770
Interesting problem.

14:39.770 --> 14:52.310
I think what we're looking for is maybe to have some intermediaries, intermediate solutions at some point in the next year, maybe revisit this at Hack to C 3.0 next year.

14:52.590 --> 14:56.290
And anyway, so that's where I am.

14:57.890 --> 14:59.490
So, questions?

14:59.490 --> 15:00.370
Comments?

15:01.030 --> 15:02.870
Let me go back up here.

15:05.570 --> 15:10.270
I'm no longer at Hack to C Village.

15:16.710 --> 15:19.890
So, I'll sit here for a couple minutes while we go into Q&A.

