Tuesday, October 12, 2010

Combination Lock Cracking Lego Robot

F1rst p0st l0l

I'm working on building a 100% Lego rotary combination lock cracking robot. It cracks using a brute force technique. Since pure brute-force of a 40-number combination lock yields 64,000 combinations, (40^3) it skips every other number, reducing the possible combinations to 8,000 (20^3). It also uses a technique to speed cracking, by checking every third number in one go.

Of course, all these things are just theoretical, as I haven't had time to load the software yet. I've been preoccupied building the hardware in the lab, and writing the code at home.

I decided to start this project when I came across a lock which did not conform to the lock-cracking algorithm for Masterlocks. As such, I've avoided using "patterns" of combinations, and instead left the robot to pure brute-force, so that it would recover a combination from any lock, including ones which don't conform to standard lock rules.

Videos and more after the break.



Version 1 Hardware:

Problems:

  • There's no audio in the video.
  • Wait that's not a problem with the robot.
  • The mechanism which is supposed to open the shackle is nowhere near strong enough.
  • The motor mount probably won't stand up to several thousand possible attempts.
  • The rotation sensor is mounted backwards, so the code doesn't work right.
  • The whole frame is wonky because I couldn't figure out how to secure the lock to the frame without putting the frame out of square.
Hence... Version 1.1! I rebuilt the base of the frame and made an entirely new shackle opener, and fixed the other problems to boot. I also replaced the touch sensor to detect when the shackle has opened, with a rotation sensor, so that I don't have to worry about where to mount it.



Version 1.1 still has some issues...

  • Still no software to crack a lock. It's just moving randomly. ;-)
  • The whole frame flexes when trying to open the shackle. It needs additional bracing to last a whole cracking cycle.
  • I'm still not totally confident in the motor mount's ability to hold up.
There's significant progress, in any case. V2 of the hardware may stand the lock vertically to reduce the space requirements of the hardware, and reduce the structural issues. I may also look into gearing the dial motor down less and increasing the sensitivity of its rotation sensor. In any case, this version is working well as a testbed.

No comments:

Post a Comment