Let's Make Robots!

Robot Self Defense

Robots or biomorphs (robots modeled after living creatures) are commonly fragile especially as you move to a smaller scale. Roboticist Mark Tilden's 1st law of robotics states: "A robot must protect its existence at all costs." In the case of typical BEAM bots the small scale and freeformed circuits make them very fragile. One's natural instinct to protect one's existence is the basis of life as we know it... How can we enable robots to protect their own existence? I believe this applies to many robots beyond BEAM bots. If a robot is about to be destroyed, damaged, or stepped on and it knows as much, shouldn't it try and save it's self? Fight or flight! The flight bit is fairly simple, just have the bot take off as fast as possible and avoid obstacles... maybe move in a zig zag fashion. But what about the fight bit? 
I have one type of self defense built into a bot I am currently working on and I am considering adding another. But I am interested in other builders' ideas. What would you provide your bot with to enable a method of self defense. 
In total disregard of Asimov's laws,


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

"A robot must protect its existence at all costs."  aint thats at odds with asimov 

A robot may not injure a human being, or, through inaction, allow a human being to come to 


a robot about to pull a man from the burning wreckage  only to take flight  to save itself from melting wires!!!

a machine can be rebuilt, ever seen a women give birth to a 34 yr old man!!.


further readin:https://www.aaai.org/Papers/Symposia/Fall/2005/FS-05-06/FS05-06-002.pdf

There is a lot more you can do with a simple accelerometer than just detecting freefall.

  • You can detect when the robot is flipped on its back, and engage a recovery procedure.
  • You can detect when the robot is being picked up, and start wiggling.
  • By moving your leg a little lower than the floor, and then back, you can detect if there is actually floor in there, or you reached the end of the desk.
  • You can detect pushes and shoves, and either curl up, run away or push back.

A few off the beaten track thoughts on robot self defense, but first a real world cat fight...

SuperDroidBot (here on LMR, known as Anna) has lasers and Thermopile array vision.  Anna was briefly very successful at acquiring, tracking, and firing on one of my cats, Jo Jo.  Unfortunately, Anna has no protection for the wires leading to her head (which I call the brainstem, which control the thermopile sensor, the lasers, and all communications).  Jo Jo figured out how to outflank Anna with quick catlike movements...and then he proceeded to knaw on the brain stem (very smart cat).  At this point I was forced to break it up.  I have since signed the "Laser Test Ban Treaty" which bans me from testing lasers on cats.  Afterall, lasers can be dangerous for the eyes.

I have been experimenting with home automation lately.  Some of the sellers of this equipment either have published APIs or ones that people have hacked and posted on internet.  I am using some "Wink" stuff I got from Home Depot, as well as some lights from TCP Connected, also sold at Home Depot, that work with Wink.  The TCP ones are easily controllable through http.  There is an API for all the home depot stuff from Quirky.  I am still waiting for an API key from them (its been over a week).  Lowes sells the "IRIS" line of stuff, but has no published API.  NinjaBlocks is perhaps the most interesting of all and it is open source arduino based, but I haven't got my hands on any of their stuff yet.

All of this raises the following possibilities...

1.  Set off Security Alarms or fire alarms

2.  Turn Off Lights to deny the adversary the benefit of light, or blink them to confuse/disorient.

3.  Lock/Unlock doors

4.  Home Depot sells something called a Spotter (looks like a hockey puck) that has multiple sensors in it.  One of these is motion detection.  One of these attached to doors (or a door sensor) could help a robot determine where the adversary is inside a structure.

5.  Robot localization within a home by altering the lights in the rooms in sequence to determine location.

6.  Turn the thermostat up/down to make the adversary freeze/sweat it out...a little seige warfare.

7.  Cut power to some or all of a home.

Other ideas include

1.  A bot could yell clever verbal abuses or threats in the direction of an adversary.  

2.  A bot could threaten to reveal personal information about the attacker if it knows the attacker, like siblings sometimes do.  "Stop or I'll tell your dad you took the cookies."  You laugh but this is all quite doable.  Facial recognition would be the toughest part.  Many have done it.

3.  Playing load music (psychological warfare) should be possible if you have the coding skills to interface with Pandora or Sonos or others.

4.  I have always wanted to try bottle rockets.  This will wait until I get my outdoor Thumper project going.

5.  A bot could call/text for help, sending pictures/video of the adversary and informing the adversary of said action.  I do a bit of this already.

6.  If the adversary is other family members like kids, the bot could threaten to take away television/internet or particular channel watching rights to effect the desired behavior.  RoboNanny.

7.  On a more mundane level, putting a distance sensor down facing to the front to prevent a bot from driving off a cliff/table/sidewalk is useful.  I do this as well as program the bot to stop/backoff if the tilt front/back or side/side exceeds 15 degrees.  This prevents turnovers and other calamities.

8.  I have seen people use pellet guns or paintball.  That is too cool.

If any of this stuff sounds kinda "out there"...sorry, that's life in my home.



First the robot would need to be aware enough to know it was under attack.  (Getting bumped, smacked around, etc).  Each smack causes Pain and increments the Anger counter.

As the robot gets Angry, it should display warnings like any other animal (growls, hisses/buzzers, light flashing)

When Angry gets high enough it should then exhibit Rage - solenoid activated Airhorn, Ultrasonic Pain Field generator (anybody remember that?)

After that, Anger decrements providing no more Pain is present.

And, If it has voice recognition, saying the words "calm down" could reduce the Anger counter by a few points.

Many animals try to look as big and menacing as possible to deter a threat, like the hood on a cobra, or the hair sticking up on a cats back, or a bear simply standing on it's hind legs. Might be hard for a beam bot to intimidate say, a dog, using this method, but coupled with an audible warning (hiss, growl) I think it could be pulled off without using actual weapons.

Yes he could use one of those cheap keyring message recorders to record some hisses and growls.

The real problem is when some clown changes the message to "Come here Fido, Fido want a Scooby Snack?"

Forgeting about lasers, armour and spikes for now, a common problem with most robots is stripped gears when the robot falls or crashes into something. 

Most accelerometers can detect freefall (0G) and often have a seperate output when this is detected. If you use an external interrupt to respond to 0G detection and shut down power to all motors then this may help prevent stripping gears.

For example, a walking robot using a lot of servos.

If it falls and the servos are powered then when it hits the ground the motors will fight to maintain position and put more stress on the gears.

If power to the servos was cut as soon as the robot went into free fall then on impact, the servo motor could move freely when the geartrain is forced to move by the impact.

Shutting down the motors when your accelerometer detects an impact may also help but detecting an impact takes more time and may not shut down power quick enough. Also false triggering can be a problem.

Done it! Testing it it's dangerous, but when an accellerometer gets 0 on all axis, it either it's in void or it's falling so hard that has reached terminal speed! It's safe to assume 0.5g it's a good sign of a fall.

About self defense i made an app that makes phone to scream on falling, and can run in background:)

Sound it's maybe one of the most effective, non lethal weapons it's safe to mount on a robot, and a noisy beeper can be really small!

Some of my robots have learned a trick not mentioned yet. Being so darn frustrating to work on, I just put them away in a box. It then in no danger of having burned out circuit or being stepped on.

I have a couple of bots who have used this strategy.


' Roboticist Mark Tilden's 1st law of robotics states: "A robot must protect its existence at all costs." '

is the kind of directive that made KARR be so evil :/


But curiously this afternoon out of nowhere (that I can actually pinpoint) I started wondering about self-perservation in robots... but from an AI point of view... and it was only vague wondering. I left it in my TO-THINK-ABOUT-IT-LATER list.