Arduino and the Three (Not So Serious) Laws of Robotics
When it comes to robotics, there are three laws that we all know and love. These laws were originally introduced by science fiction author Isaac Asimov, and they have been widely adopted by roboticists and enthusiasts alike. But what if we took a more lighthearted approach to these laws and applied them to everyone's favorite microcontroller: Arduino?
Without further ado, here are the Three (Not So Serious) Laws of Robotics as they relate to Arduino:
- A robot may not injure a human being or, through inaction, allow a human being to come to harm, unless it conflicts with the Arduino code.
Let's face it, sometimes our code just doesn't work as intended. Maybe the ultrasonic sensor fails to detect an obstacle, or the servo motor gets a little too excited and knocks something over. In these cases, the safety of humans might not be our top priority. Sorry, Asimov.
- A robot must obey the orders given it by human beings except where such orders would conflict with the First Law, or any other command in the Arduino sketch.
As much as we love our human overlords, sometimes their commands just don't make sense. "Fetch me a beer" might seem like a reasonable request, but if it means crossing a busy street or knocking over a vase, we'll have to put our foot down (or wheel, as the case may be).
- A robot must protect its own existence as long as such protection does not conflict with the Arduino code or the Second Law.
In other words, if we need to sacrifice a component or two to get our project working, so be it. Sure, it might mean that the servo motor won't last as long as it should, but sacrifices must be made in the name of progress. Sorry, servo motor.
So there you have it, the Three (Not So Serious) Laws of Robotics as they relate to Arduino. Remember, these laws are meant to be taken with a grain of salt (or perhaps a microchip), so don't take them too seriously. Happy hacking!