It’s just a few days to go until christmas and my christmas holiday actually already started. Last Friday we’ve had our Technologies christmas celebration. Since we’re a bunch of geeks we decided it should not be just dinner, but we should do something techie as well. I think Robin was quite right in his Soundbyte about fun Christmas holiday projects, because that’s exactly what we did, except for the organic part.
All of us have been putting together a little robot vehicle based around an Arduino board. This first challenge was to assemble the robot. It kept me staring at a bunch of parts and a not-so-precise construction manual for a while. Do I normally read the manuals ? Of course not, but this hardware thing is a bit outside the comfort area. The parts included an Arduino Leonardo compatible board, wheels, servo’s, a line sensor, a distance sensor and IR transmitter and receiver. Somehow this hardware stuff felt a lot less comfortable than playing with a bunch of Java libraries. Hardware also tends to be a lot less forgiving. Connecting a sensor the wrong way does not result in a friendly IllegalArgumentException but responds with a smell of burning plastic and some tiny smoke signals instead. Fortunately Jan Willem already tried the assembly before exposing us to the challenge so that provided us with a nice idea of what the end result should be like.
After about an hour of fiddling with the parts and multiple IKEA deja-vu’s the device looked quite similar to the example and we could start with the actual programming. Usually most of us work on software for large scale cloud applications, so descending all the way down to some actual hardware was a really nice experience. There are just two methods to implement: setup() and loop() and a tiny 32 Kbytes of memory to give the Robot its brain. Here’s a video of the end result where I’ve programmed the Robot to stay on the carpet and not to touch the walls. I will probably play around with it a lot more during this Christmas holiday.
Probably a whole lot less sophisticated compared to what the Google engineers are working with for their self-driving cars but it gives a pretty good idea of the challenges they’re facing.
One of those challenges as was on the news this week and is for Google to be allowed to put the cars on the street without an accompanying driver. The Department of Motor vehicles in California just issued draft regulations this week prohibiting that. As it turns out the self driving cars have crash rate twice of that of human operated cars. Sadly enough but unsurprising in every single case it appeared to be the fault of the human driving the other car involved in the accident. The Google cars are programmed to operate within the boundaries of the law at all times. Humans however have a way more flexible interpretation of what is allowed when. Ever tried to drive exactly at the speed limit? I do occasionally, but soon you’l feel like a driving chicane since everyone starts overtaking you. Programming to operate within a system where everyone has the same beliefs and follows the same rules is way more easier than in a system where rules and beliefs differ across individuals, in that sense it’s just like human society. Humans do have the capability to adjust to those situations, unfortunately they do not always have the tolerance to do so. Ironically enough the top 20 of driver annoyances is filled with what we call huftergedrag.
In order to solve the self-driving challenges this we should first settle the ethical discussion. In what situations is a self driving vehicle allowed to break the rules? Personally I think we won’t see a mix of self-driving and human operated vehicles in traffic for at least the next 10 years. Not because it’s not technically achievable, but the ethical discussion but also the political responsibilities that go with that are too complex.
For a start and because it’s nearly Christmas and because we’re living in a world desperate for peace and happiness we should all just be nice to each other either on or off the road.
With just a little less than a week to go until Christmas, it speaks for itself this Soundbyte needs a Christmas song, not one of the 25 that are repeated continuously on Sky Radio but one from one of my favorite bands, the Beach Boys. So Merry Christmas everyone!, and be nice.