"After revealing last week that a pilot installation of controversial, buggy border-security
scanner towers had finally been accepted into service, the US government has now
admitted that the project is a technical failure..."
- Boeing’s Border Watchtowers Can’t See Straight, Wired Magazine
I worked on the project two years ago, very briefly. I knew it was a basket case the moment I saw it. Not only do I know exactly how it happened, and why it ended up like it did, I can explain the whole thing in three words... North American Union.
This instructable will show you how to fix the failed $1B border security system in three easy steps. The goal is to create a system using only what is already there, that is fully autonomous, and which operates as good as, or better than, a system relying on having one or more human operators present at all times.
Remove these ads by
Signing UpStep 1: Fix the Filter
Two years ago I got hired as a consultant by Boeing with the job description of making sure everything worked. On my first day on the job, I read some documentation that said the system used "Kalman filtering." It also said it used "particle physics?" Well, I don't know much about particle physics, but I do know my Kalman filtering. Later that day I asked my manager if he could tell me how the Kalman filter was implemented. He told me that I should only concern myself with "intelligent" questions. I knew right then and there that the system would be a complete and utter failure. I was let go after 30 days for "incompetence."
One of the biggest complaints about the Boeing system is that it's constantly giving false alarms. Well, one thing a Kalman filter is good for is eliminating false alarms. A Kalman filter is a software algorithm that is used for all kinds of things. Most often it's used for guidance and navigation, but it can be used for everything from economic projections to population growth studies.
The Kalman filter is my favorite filter in the world. If you walked up to me in a bar and asked what my favorite filter was, I'd say the Kalman, by far. One reason it's my favorite is because, if you read the description on Wikipedia, it looks like a big ugly hairball of mathematical equations! Go here and scroll down (actually, look at the screen shot above.) Beautiful, ain't it! BTW, that's one problem with Wikipedia. It sometimes ends up being a giant sandbox for grad students working on PhD theses, which, in my humble opinion, is where that description belongs, not on Wikipedia. The average reader isn't going to be able to understand a description like that.
Fortunately, like most complicated things, if you boil it down, it's just a tiny little common sense equation. It is basically just a weighted filter. For example, say you have a pile of watermelons with a sign saying "10 lb. watermelons." Now, to estimate how much each watermelon actually weighs, you start by saying your initial estimate of the weight is 10 lbs, because that's the only information you have. This is called the prediction. Then you pick up a watermelon from the pile and put it on the scale and it reads 9 lbs. But the scale says it's accurate to plus or minus 5%, meaning 95% accurate. Therefore you can only say for sure that the watermelon weighs at least 9 * .95 = 8.55 lbs. To account for the other 5%, you take the previous estimate, your initial estimate, times 5%, and add that to the intermediate estimate, which yields 10 lbs * .05 = 0.5. Then, your overall new estimate, called the update, is 8.55 + 0.5 = 9.05 pounds. And you just keep doing that for each watermelon, resulting in a recursively filtered estimate. Regarding the covariance matrix, that is for things that have a small side effect on the system, such as if very high humidity causes the watermelons to be a tiny bit heavier, in which case you would add humidity to the covariance matrix.
With the Boeing system, a specific complaint was that, on windy days, there would be even more false alarms due to things like tree branches swaying in the wind, not to mention tumbleweeds rolling by. To correct for this, one item for the covariance matrix would be current wind conditions. Maybe even use "tumbleweed recognition," which, by the way is entire feasible considering that the way I do pattern recognition is by closing my eyes and visualizing the video data (the ones and zeros) and "seeing" what tumbleweeds look like over time as ones and zeros. For one thing they are almost perfectly round. And they move fast, about as fast as the wind, which I already know because it's in my Kalman filter. Are you starting to see how the ability to inject simple common sense into the Kalman filter is what makes the Kalman filter so eloquent, and useful? More detail on that in the next section.








































Visit Our Store »
Go Pro Today »




But, that's okay. I'm going to repurpose this article, and use for my next indestructable, "How to make a HAL 9000 Series Computer." I'll be building a HAL 9000, and using it to operate the newly hacked border security system.
("2001: A Space Odyssey" was on tonight.)
Congress gets a kickback by buying stock in companies that are going to show a nice profit increase per share that multiplied by the P/E ratio to cause a share price rise. Or the congress member buys options on the shares, then sells the options after the price rises.
You were a real threat to their cozy little game. You might have produced something that actually worked.
My aproach would have been a 1950's capacitive alarm fence that if you even aproach it, it turns on the lights and sirens.
A filter for tumble weeds would be 1.) wind speed vs. object speed corelation. 2.) wind direction vs. object motion direction. 3.) object warmer than ambient? 4.) Multiple objects moving as a cluster? 5.) objects moving away from border?
Thanks for the intro to this type of filtering.
Waaaayyyyy back in the bronze age of computers, in the 1980's, some of us in college talked about things like this in pseudo-code. Now these are called high level languages! :)
If you can define what stimuls produces what response, that's conceptual programming. And any college grad with a degree in the field today can write the specific code in whatever langauge is popular at the time. It's no big deal to be creative, one just has to get away from the idea that things are too difficult to do. Or get away from the idea that only large teams of "smarter" people can accomplish the task. After all, aren't we all here on Instructables because we CAN learn? :)
Best of luck to you Crazy Robot!
"I de-politicized it now."
Aw shucks! Does that mean your article is now politick-ally currect? ;)
Once a paper is changed in that way it loses all common sense and power. Please tell us it is only partly sanitized, please!
So NOW I KNOW WHAT "INCOMPETENCE" really means.
Thank you for the clarification. Yeah, that Kalman Filter thingy was cool too.
The letter doesn't present well, you could be read as being delusional (examples of possible reactions in brackets):
You say "I realize this may sound too good to be true" (probably is then?) and "And no, I’m not a genius" (but you think you are?), and you don't cite the articles which you read recently (oh yeah, what articles?) - which are the entire basis of the argument.
L
You already said that you had sent it, but that is not important. If they write back do update the topic though.
L
This reads a lot like it's mostly in your head, rather than being on paper (electronic or otherwise)?
L
I wasn't good at it in school though...
L
Hmmmm . . . . I think I preferred your Flatulent Boss Detector.