Monday, May 16, 2011

Automating Wrongful Convictions: Optotraffic System Pwned

From the Urban Dictionary, we learn that "pwned" is (or may be) a corruption of the word "owned." According to one story, the word originated in an online game called Warcraft, in which a designer misspelled "owned." When the computer beat a player, it was supposed to tell the player he "has been owned."  Instead it told him he "has been pwned."

Basically "to pwn" someone is to dominate them, to beat them.

I have written about the problems with the Optotraffic system in three previous posts, here, here, and here. Read them if you dare. The basic problem is that the system assigns traffic tickets to people who are not speeding. Optotraffic says that's not possible, that their system uses lasers that are calibrated daily against GPS signals. The wronged citizenry claims that the supporting photos prove they were not speeding. The State, who has a stunningly large financial interest in the system being correct, sides with Optotraffic and legislates a legal system designed to hide exculpatory evidence and to keep the masses paying while offering only minimal resistance.

In this post, I will show step-by-step how the laser system can go wonkers. In this post, I intend to pwn Optotraffic's DLS-10S Automated Speed Enforcement system.

The Plan

My plan, devised and put into effect last Friday, was to generate a three-dimensional computer model of the laser monitoring system, then laser-blast three-dimensional computer models of pickup trucks as they raced through the beams in digital space. I would be able to tweek the laser platform in controlled fashion, and thereby understand what sort of situations could cause the system to erroneously decide a vehicle is speeding.

For my three-dimensional modelling program, I used Google's SketchUp.  I'm wary of Google because they are becoming too powerful, and power corrupts. But darn them if they don't keep making incredible products and giving them away for free, at least in a financial sense. I use the Google search engine because Bing is still not competitive. I use Google Scholar for finding court cases, because Westlaw and Lexis/Nexis want a billion dollars to use their services. I use Blogger because it's free and because Google gives preference to Blogger posts in their search engine.

I use SketchUp as my three-dimensional modelling tool not just because it's free. It is also brilliantly designed. Absolutely brilliantly designed. Without SketchUp, I could not possibly have implemented my plan.

Also, the name SketchUp is pretty clever.

The DLS-10S Model

I needed a model of Optotraffic's DLS-10S Automated Speed Enforcement system. I built my own (simplified) model based on information I obtained from an Optotraffic 2-view drawing. The drawing was a bit cheesy, and certainly unworthy of a big time government contractor such as Sigma Space Systems. Nonetheless, it was sufficient for my purposes.

I present my simplified drawing below.


Taa Daa!

Okay. I know it's not very impressive. All I really needed was that orange (umber?) laser platform at the top. I'm going to shoot lasers from it. The rest is there for reference.

The important point about the laser platform is that it is way, way, up there. It's 32 feet tall when fully extended, according to the fine folks at Optotraffic. It sits on top of a spindly telescopic pole, and that's where it gets into trouble.

Even if you mount the world's best laser system on top of a bending, twisty, rickety pole, the end package isn't worth spit in a bottle. The weak link is definitely not the laser unit. Calibrate that until the photons come home if you wish, but it won't prove your system works. The weak link is everything else about your system, particularly the bendy, twisty, telescoping, ridiculous pole.

To give a better feel for the pole, I had Sang morph himself and stand on his own head, five times.

Perhaps now you get a better feel for how tumescent that pole might be. It's nowhere near as rigid as Optotraffic would have you believe.

Sang, by the way, is the Reference Person that comes with SketchUp 7, the version I used. If you search for information on Sang, you learn from SketchUp that:
Sang is a member of the SketchUp development team. He enjoys rock climbing, pho and long walks on the beach.
But I digress.

The Pickup Truck Model

I decided to use a pickup as the vehicle in my digital recreation. Will Foreman is an ace eight-times over for the tickets on his company pickups, and that may have influenced my decision. SketchUp allows users to post their 3-D models so others can use them, and I had many to choose from. I choose an extended cab pickup modeled by Sarge 726. I know nothing about Sarge 726 other than he makes detailed and beautiful SketchUp models of vehicles. I thank him for his effort and humbly present his model below.

Sang examines Sarge's pickup with an admiring eye.

General Arrangement

I constructed a road, put some grass around it, put some frikin' laser beams on the frikin' laser platform, put Sarge's truck on the road, and here's what I got.


Now we're getting somewhere. Sang was busy elsewhere and won't be joining us again this post.

It's extremely important that the distance between the beams on the road is the same as the distance between the beams at the laser unit. To satisfy myself that I had constructed beams that were parallel, I measure them at both the laser platform and on the road. I show my measurements at the platform first.



Previously, by back-calculating from an Optotraffic daily calibration plot, I estimated the beam distance at 30 inches. Now, by scaling (best I could) from their cheesy 2-view, I estimate the beam distance at 29.25 inches. I could still be off by a half foot or so, but I think it's close. If the beams are closer, then the error I calculate in this post will be lower than actual. Conversely, if the beams are spread further apart, then the error I calculate in this post will be higher than actual.

The important point in this study is that the beam distance be the same on the road as it is at the platform. I therefore present my measurement at the road surface.


Once again, the font is too small for this format. Click on the image to enlarge it, or simply trust me that it says 29.25", identical to the measurement at the laser platform.

If the beams are parallel, and if the platform is not moving, then I have no doubt that the Optotraffic Automated Speed Enforcement system will work properly in the situation just portrayed. Each beam will detect the same point on the truck as it passes beneath the platform, and the distance over time calculation will be spot on.  What could possibly go wrong?

Let's look at some possibilities.

Translation Error

So that you can understand the motions I am to impose on the laser platform, assume you are a thirty-two foot giant with laser eyes, you are standing erect, head up, and you are looking down at the road by moving your eyes only. You are not tilting your neck. The cars look like ants. Very big ants. With wheels.

I'm going to describe a translation as you stepping backwards while keeping your head upright, while not moving your eyes. In other words, you are no longer lasing the center of the lane. You are lasing somewhat closer to the centerline, like this:


In this example, you stepped back 1 foot. The corners of the reference lines show where the beams used to land. Now they land closer to the dividing line, by one foot. They are still separated by 29.25", and this translation will not result in a wrongful ticket.  Each beam will detect the same point on the car, they are still separated as they are at the laser platform, so there is no error associated with this translation.

If, however, the translation is too great, the beams will miss the truck entirely.

A translation can be caused in many ways. First, the cart may have been positioned too far from the curb, or the roadway was wider than Optotraffic expected, or the wind was blowing the laser platform to and fro relative the roadway. Also, if the car is not traveling down the center of the lane, but is instead traveling to the right of the lane, the effect will be the same as moving the cart too far away from the curb.

By itself, it's not clear to me that a translation can cause a false speeding ticket. However, when combined with another movement of the laser platform, it most assuredly can.

Pitch

I use the term pitch to refer to one of three possible angular rotations. Imagine instead of stepping backwards, you tilted your head down slightly. The beams from your laser eyes would strike the road closer to the centerline, just as if you had stepped backwards. Below, I show the movement of the beams due to 1 degree of nose-down pitch.


Because of your grotesque 32-foot height, tilting your nose down 1 degree causes the beams to move 9.92" closer to the centerline.

Pitch movements are, for our purpose, interchangeable with translations. From here on out, I'll ignore pitch and refer to both pitch and translation movements as a translation movement.

Roll

I use the term roll to describe the second of three possible angular rotations. To understand this one, stand in your original position, keep your head erect, tilt your eyes down as you originally did, then tilt your head to the right. Your right laser-eye will move to the right and slightly down. Your left laser eye will move to the right and slightly up. If you tilted your head sideways by 1 degree, the result on the road will look like this:


One degree of roll will move each beam 6.75" closer to the truck, assuming you tilted your freakishly large head to the right. Because the beams are still spaced 29.25" apart on the road, this will make no difference in the speed calculation. I cannot imagine the circumstances in which a roll of the laser platform will cause a speed detection error.

Don't sweat a roll error, unless it is caused by the tower oscillating back and forth parallel to the roadway. Even in that case, the problem is the movement of the platform towards or away from the car. The problem is not the roll angle that will be induced by the movement.

From here on out, I'll ignore roll issues.

Yaw

This is the one. This is the angular movement that causes problems. To understanding what I mean by yaw, assume your original position then twist your head to the side. Your right laser-eye will move to the right and back. Your left laser-eye will move to the right and forward.  If you yaw your head nose right by 7 degrees, your beams will strike the roadway like this:


This may not look serious, but it is. The beam spread is shortened from 29.25" to 29.03", but that will not produce a significant error. The problem is that the two beams will not strike the car at the same point. The rightmost beam (which will detect the car first) will hit the car to the left of the second beam. They will detect the presence of the car using different points of the car.

In the scenario shown, this will not lead to a substantial error. If, however, the beams have translated closer to the centerline (or the driver is driving closer to the right side of the lane) while the laser platform is yawed, then bad things can happen.

Let's consider a scenario in which the beams are translated 23 inches towards the centerline and the platform is yawed 10 degrees, nose right. Something bad happens with the first beam.


I show a closeup below.


The beam whiffed. It missed the body of the car completely and hit the wheel.

[Look at the detail in the Sarge 726 model. If any of you know Sarge 726, please pass along my compliments.]

Now let's see what happens with the second beam.


The second beam didn't detect the tire, as did the first beam. The second beam detected the bumper. Check the closeup.


This is a problem. When the first beam was just detecting the tire, the critical portion of the bumper was already a good portion of the way across the 29.25" spread between the beams (at least as they were spread on the road.)  Let's see how much of a head start the bumper had.


Definitely click to enlarge that last one. The fore / aft distance between the two contact points is 9.61".

Holy reduced beam spread, Batman! That is going to play hell with the speed calculation.

When the first beam is contacting the tire, the bumper contact point is only 29.25" - 9.61" = 19.64" from the second beam. The dumbass laser system doesn't know that. It calculates the speed assuming the distance is 29.25" when it is actually only 19.64".

The dumbass laser system will over calculate the speed by a factor of 29.25 / 19.64 = 1.49 = 149%. As Scooby Doo would say: "Duh Oh!"

In this case, if Sarge's pickup was traveling at 35 mph, Sarge would get a ticket for going 52 mph.

Grand Finale

We know what can cause a translation error. Lots of things. We should consider briefly what might cause a yaw error. The first and obvious possibility is that the fine folks at Optotraffic didn't park the cart parallel to the road. A second possibility is that laser platform is yawed relative to the cart. I don't recall anything on Optotraffic's amazing and colorful calibration chart showing that the cart and the laser platform are properly aligned with the roadway.

Given the flimsy nature of the bendy, twisty pole, yaw could be induced by wind. The pole will tend to twist as it bends right or left, forward or backward. The pole may also twist in response to the cable tension necessary to winch the telescoping platform to its impressive 32 foot height. There are plenty of ways in which the platform might yaw, and zero ways in which Optotraffic checks to confirm that it is not yawed.

As I said early on in this post, if you put an expensive, precision laser system on top of a bendy, twisty pole, you end up with an expensive piece of crap. Unfortunately, Optotraffic and its government clients (and protectors) are making millions and millions off Optotraffic's expensive piece of crap.

Epilogue

In the virtual world, Sarge 726 decided to fight the $40 ticket my virtual automated speed enforcer sent him. He scheduled a half-day off work, and went to the courtroom cattle call of like-minded individuals. After three hours and forty-five minutes, it was finally his time to be heard. He explained to the judge that he lived in the city, that he knew the speed trap was there, and that he was always very careful when he drove past it. He always obeyed the speed limit and never had a ticket before. But for some reason he couldn't understand, he got a ticket in the mail that said he was doing 52 mph in a 35 mph zone. He would swear under oath that he was only doing 35. He never speeds along there. Never.

The representative for the state rose and said, in a condescending voice for all the minions who couldn't understand the concept: "We use lasers calibrated against our global positioning system, Your Honor."

The judge banged his gavel on his little gavel banging thing. "I find you guilty as charged by the precision machine. You owe $40 for the ticket and $44 in court fees. We take cash or credit card. You may appeal if you wish. The fee to appeal is $80. Next."

The Impending Execution of Rodney Gray

Rodney Gray sits on Mississippi's death row awaiting execution on this second-to-last day of his life. I offer below the summary of facts as presented by the U.S. Fifth Circuit Court of Appeals.
On August 15, 1994, in Newton County, Mississippi, Grace Blackwell, the 79-year old murder victim, drove to her local bank and proceeded to the drive-through window. Arlene McCree was working as a bank teller, and Blackwell had been her customer since 1980. McCree thought Blackwell looked “terrible.” Usually, McCree and Blackwell would engage in small talk;  however, on this occasion, Blackwell would not look at or converse with McCree. Instead, Blackwell simply stated “I need twelve hundred dollars.” McCree had to prompt Blackwell by asking her whether she wanted to cash a check or use a withdrawal slip. In response, Blackwell threw a blank check into the window tray. McCree could not see the backseat of the car because there were clothes “hanging in a very unusual manner.” Concerned by Blackwell's behavior, McCree asked Blackwell whether “something [was] wrong or ․ someone [was] in the car with her.” Blackwell did not respond to the questions;  instead, she attempted to mouth words to McCree, who could not read Blackwell's lips. After McCree made out the check for $1200, Blackwell signed it. Although McCree attempted to stall the transaction, she subsequently placed the money in the window tray, and Blackwell grabbed it. Blackwell then drove away saying “I'm hurrying, I'm hurrying.” McCree did not think that Blackwell was speaking to her. Believing Blackwell had been taken hostage, McCree called the Sheriff's Office.

A deputy sheriff was dispatched to Blackwell's home and found the front door open. Blackwell's car was not there and the “telephone wires [were] disconnected.” Meanwhile, Harry Jones was driving his car on Pine Bluff Road in Newton County and saw a brown Chrysler, which he later identified at trial as Blackwell's car, stopped in the road. He saw a man “wrestling with this lady.” Although he could not identify the woman, he identified Gray as the driver of Blackwell's car.

Later that same day, Lane McDill was driving to town on Newly Road 1 in Newton County and observed something lying “just off the bridge on the right-hand side of the road.” McDill stopped his vehicle and quickly discovered it was a deceased woman. He then drove to town and notified the police that there was a body at the bridge. As a result, law enforcement officers arrived at the scene, and the ensuing investigation revealed that Blackwell had been killed by a shotgun wound to the face. A forensic pathologist determined that Blackwell suffered a “series of injuries,” “including the presence of two shotgun wounds, as well as multiple scrapes of the skin, called abrasions, and lacerations, a cut, and contusions.” The lethal shotgun wound was a “contact shotgun wound with the muzzle of the shotgun placed against the area of the mouth.” The second shotgun wound “is consistent with having gone through an intermediate target scattering and striking the decedent over the left arm, left chest, and left cheek.” Blackwell's other injuries were consistent with either being struck by or pushed out of a vehicle. The forensic investigation also revealed that Blackwell had been raped and that the DNA analysis indicated that Gray was the perpetrator.
[Testimony regarding the DNA match: The “significance of [the] match is that there is a probability that selecting someone other than, someone unrelated to [Gray] in the population, having the same profiles as that sample, would be less than 1 in 446,000,000 in Black, Caucasian, and Hispanic populations.”]

Additionally, the Newton County Sheriff's Office interviewed Mildred Curry, who was Gray's girlfriend at the time. Curry told them that Gray had called from jail and informed her that there was money in her bathroom vent. A deputy sheriff searched her residence and found $1,123 in the bathroom vent. The search also uncovered the clothes and boots that Gray was wearing on the day of the murder.
I find no claim by anyone, even Rodney Gray himself, that he did not commit the crime. I therefore stand mute on his execution.

Errata:
I was wrong when I wrote that Rodney Gray did not proclaim his innocence. This article about his execution indicates that he proclaimed his innocence until the end.