1 00:00:00,000 --> 00:00:03,540 Okay, folks, I think we are back. 2 00:00:03,980 --> 00:00:07,560 Let me try once again sharing my screen. 3 00:00:13,020 --> 00:00:18,680 And once again, I'm going to live dangerously and show the whole thing. 4 00:00:19,580 --> 00: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. 5 00:00:37,780 --> 00:00:42,660 And I'm going to talk to you about something called AIS point prediction. 6 00:00:43,140 --> 00:00:45,140 So, here's the general idea. 7 00:00:45,140 --> 00:00:49,700 And if I was better at drawing graphics, I could have drawn you some graphics. 8 00:00:49,940 --> 00: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. 9 00:00:56,680 --> 00: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. 10 00:01:06,560 --> 00:01:09,460 This vessel right here, the Janus, we know is a sailboat. 11 00:01:09,460 --> 00:01:11,620 It looks like it's about to come in Ponce Inlet. 12 00:01:11,940 --> 00:01:14,660 The Sea King, I don't know anything about the Sea King. 13 00:01:14,700 --> 00:01:15,880 It's also a Type B. 14 00:01:15,880 --> 00:01:17,640 That's too bad, but that's okay. 15 00:01:18,480 --> 00:01:30,020 On AIS messages, vessels that are by Code of Federal Regulations required to transmit Class A type of vessels. 16 00:01:30,020 --> 00:01:36,820 So, the really big ones have a lot of passengers, have a certain tonnage or horsepower. 17 00:01:36,940 --> 00:01:38,540 They're Class A. 18 00:01:38,700 --> 00:01:43,780 And a Class A is going to be telling me all the information that's down here. 19 00:01:43,780 --> 00:01:47,900 They'll be telling me a speed, course, heading, and turn rate. 20 00:01:48,240 --> 00:01:53,920 They'll also be communicating relatively frequently. 21 00:01:54,380 --> 00:02:00,800 Class B vessels, the smaller ones, aren't required to transmit. 22 00:02:01,140 --> 00:02:07,520 And in fact, in a Class B position report, there's no way to even tell me about a turn rate. 23 00:02:07,680 --> 00:02:10,840 So, the reason I'm telling you that is so that I can tell you this. 24 00:02:11,220 --> 00:02:19,940 My question is, and here's an example of Louisiana, which was just offshore pretty recently, a tanker, offshore Daytona. 25 00:02:19,940 --> 00: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? 26 00:02:36,140 --> 00:02:40,610 And in some ways, this sounds like a trivial exercise. 27 00:02:41,470 --> 00:02:44,290 I fooled around a little bit with it, not a lot. 28 00:02:44,290 --> 00:02:46,790 It's a really interesting exercise. 29 00:02:48,790 --> 00:02:57,190 And the idea came to me some time ago, the idea being, you know, I'm at a particular place. 30 00:02:57,470 --> 00:03:03,310 And suppose a bad guy spoofs their AIS latitude, longitude of a vessel. 31 00:03:03,310 --> 00:03:06,270 And they try to, let's say, knock Louisiana off the air. 32 00:03:06,270 --> 00:03:08,930 And now they spoof, bing, Louisiana. 33 00:03:09,190 --> 00:03:18,210 Well, suppose their next position report puts me five miles away. 34 00:03:18,430 --> 00:03:23,550 Well, there's no way that I can move five miles in a minute. 35 00:03:23,930 --> 00:03:34,570 So, my AIS receiver could maybe flash red to say, we just got something that just doesn't seem right. 36 00:03:35,550 --> 00: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. 37 00:03:49,690 --> 00: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. 38 00:04:00,270 --> 00:04:04,590 So, it must have, well, it must have been several days ago. 39 00:04:04,750 --> 00:04:08,070 Anyway, so where I'm going with this is this. 40 00:04:08,070 --> 00:04:13,650 Again, an AIS type 1, 2, or 3 message is a class A position report. 41 00:04:13,690 --> 00:04:18,150 And the information that matters to me is it's going to give me a latitude. 42 00:04:18,650 --> 00:04:27,170 For those of you that are not familiar with the relationship between latitude, longitude, and distance, it is vaguely as follows. 43 00:04:27,230 --> 00:04:30,730 One degree of latitude is 60 nautical miles. 44 00:04:30,730 --> 00:04:34,350 One minute of latitude is one nautical mile. 45 00:04:34,830 --> 00: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. 46 00:04:44,990 --> 00: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. 47 00:04:56,250 --> 00:04:59,710 And think about a globe. 48 00:04:59,710 --> 00: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. 49 00:05:11,910 --> 00:05:14,450 Anyway, I mentioned that later on. 50 00:05:14,770 --> 00:05:19,110 Then we're going to have the course in degrees, zero degrees being true north. 51 00:05:19,110 --> 00:05:23,750 And so an actual course will be somewhere between zero and 359. 52 00:05:24,010 --> 00:05:25,570 The speed in knots. 53 00:05:25,690 --> 00:05:32,110 A knot, of course, is a nautical mile per hour, which translates to about 1.15 miles per hour. 54 00:05:32,330 --> 00: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. 55 00:05:38,250 --> 00: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. 56 00:05:46,970 --> 00: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. 57 00:05:53,050 --> 00:05:59,970 But here is actually an example, and it talks about some of the additional issues related to the problem. 58 00:06:00,210 --> 00:06:05,950 So I only care about the Class A transponder types, although I'm showing you Class Bs as well. 59 00:06:05,950 --> 00: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. 60 00:06:12,870 --> 00:06:17,170 Now, you may be saying, but I'm at anchor, I'm not moving. 61 00:06:17,170 --> 00:06:25,290 Well, again, AIS Class A devices, you might be talking about a vessel that is several hundred meters in length. 62 00:06:25,670 --> 00: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. 63 00:06:46,070 --> 00: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. 64 00:06:58,910 --> 00: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. 65 00:07:08,610 --> 00: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. 66 00:07:17,630 --> 00:07:21,350 So that's how you read the chart in terms of transmission rate. 67 00:07:21,370 --> 00: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? 68 00:07:28,830 --> 00: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. 69 00:07:36,870 --> 00:07:38,750 That's not very far. 70 00:07:38,750 --> 00: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. 71 00:07:52,410 --> 00:07:58,870 Now, I mentioned I wish the reality were, you know, match the standard. 72 00:07:58,870 --> 00:08:04,090 Sometimes we will see vessels going by that are class A vessels and they're pretty big class A vessels. 73 00:08:04,090 --> 00:08:10,450 And like the Louisiana, the Louisiana was going at 15 knots. 74 00:08:10,450 --> 00:08:15,670 Well, at 15 knots, even in a straight line, they should be transmitting every six seconds. 75 00:08:15,670 --> 00:08:20,250 But we had like a minute, that slide that I showed. 76 00:08:20,330 --> 00: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. 77 00:08:29,250 --> 00:08:33,890 So then I said, well, okay, I've got, I've got a ship here. 78 00:08:34,370 --> 00:08:35,770 That's supposed to be a ship. 79 00:08:35,790 --> 00:08:40,530 And it's at some latitude and longitude, which I'm calling lat zero and long zero. 80 00:08:40,530 --> 00:08:42,450 I know my course over ground. 81 00:08:42,450 --> 00:08:44,370 I know my rate of turn. 82 00:08:44,830 --> 00:08:48,990 And so the question is , all right, well, I've got a triangle in here. 83 00:08:49,150 --> 00:08:51,170 I've got some angle theta. 84 00:08:51,170 --> 00: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. 85 00:08:56,390 --> 00:09:04,910 And so at some t time later on, I've got my new latitude and longitude, lat one and long one. 86 00:09:05,190 --> 00: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. 87 00:09:16,470 --> 00:09:24,670 I can figure out the distance that I've traveled, that circular distance, that arc, if you will. 88 00:09:24,670 --> 00:09:30,710 That's going to be somehow related to the velocity times the time between the transmissions, the actual time. 89 00:09:30,950 --> 00:09:33,890 And then I've got this delta x and delta y. 90 00:09:33,910 --> 00: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. 91 00:09:42,710 --> 00: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. 92 00:09:58,890 --> 00: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. 93 00:10:18,430 --> 00:10:23,550 So like I said, we have, you know, that issue to deal with. 94 00:10:25,410 --> 00: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. 95 00:10:40,250 --> 00:10:43,990 If the rate of turn is not zero, my ship is turning. 96 00:10:45,290 --> 00: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. 97 00:10:58,250 --> 00:11:05,170 And so we always look at the National Hurricane Center and they give us this cone of certainty for 98 00:11:38,890 --> 00:11:43,370 , so that if my next point is in the box, do I claim victory? 99 00:11:43,710 --> 00:11:50,590 And am I looking for, well, a really small box or how big will I let my box be? 100 00:11:50,890 --> 00:11:53,790 If I'm going in a straight line, they really are sort of boxes. 101 00:11:53,790 --> 00:12:00,170 If my rate of turn isn't zero, then the boxes actually become a cone. 102 00:12:00,170 --> 00:12:02,530 Am I anywhere in the right range at all? 103 00:12:04,310 --> 00: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. 104 00:12:13,370 --> 00:12:18,670 And, and there's all sorts of places to look at historical information. 105 00:12:19,110 --> 00: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. 106 00:12:31,370 --> 00:12:36,470 And, and the type one, again, because you need rate of turn. 107 00:12:36,470 --> 00:12:42,090 Now, I mentioned something about the length of the degree of latitude and longitude. 108 00:12:42,090 --> 00: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. 109 00:12:54,490 --> 00: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. 110 00:13:04,410 --> 00:13:07,410 It will tell you the length of a degree of latitude in meters. 111 00:13:07,510 --> 00:13:11,310 Well, of course, if you right-click and look at the page source, you can see their formula. 112 00:13:11,910 --> 00:13:14,990 But it's been used a lot, and I've seen it documented in a few places. 113 00:13:15,330 --> 00:13:23,310 In any case, the length of the degree of longitude, again, you will also notice is a function of the latitude. 114 00:13:24,170 --> 00:13:31,890 The length of the degree of latitude and longitude, here, here's, that I produced largely from those formulas. 115 00:13:31,890 --> 00: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. 116 00:13:38,690 --> 00:13:43,850 It's about 60 miles, 60 nautical miles to a degree. 117 00:13:43,850 --> 00:13:50,290 If you look at a degree of longitude, the number of nautical miles, again, at the equator, it's about 60. 118 00:13:50,290 --> 00: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. 119 00:14:03,350 --> 00:14:05,770 And that actually, you know, makes sense. 120 00:14:05,770 --> 00:14:09,970 Until, of course, you get to the pole, and then the degree of longitude is zero nautical miles. 121 00:14:12,330 --> 00:14:16,070 And again, I've given you some websites where they have more information about this. 122 00:14:16,070 --> 00:14:21,450 And that, more or less, was the challenge. 123 00:14:21,910 --> 00:14:25,970 And as I said, I think it's sort of an interesting problem. 124 00:14:27,090 --> 00:14:32,230 And for a few people, I don't know where we sort of go from there. 125 00:14:32,530 --> 00: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. 126 00:14:38,930 --> 00:14:39,770 Interesting problem. 127 00:14:39,770 --> 00: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. 128 00:14:52,590 --> 00:14:56,290 And anyway, so that's where I am. 129 00:14:57,890 --> 00:14:59,490 So, questions? 130 00:14:59,490 --> 00:15:00,370 Comments? 131 00:15:01,030 --> 00:15:02,870 Let me go back up here. 132 00:15:05,570 --> 00:15:10,270 I'm no longer at Hack to C Village. 133 00:15:16,710 --> 00:15:19,890 So, I'll sit here for a couple minutes while we go into Q&A.