Real-time robotic arm control with Blender

robotic_arm

Last year, [Justin Dailey] was coming down the home stretch of his senior year as a Computer Engineering student and needed to build a final design project. He always wanted to construct a robotic arm, and figured that there was no better way to legitimize such a project, than to claim that it was “homework”.

While he originally wanted to control the arm with a joystick, he had been messing with Blender quite a bit leading up to his final project, and thought it would be pretty cool to let Blender do the work. He started out by testing his ability to control a single servo with Blender, then slowly increased the complexity of the project. He prototyped the arm using cardboard, and satisfied with his progress thus far, began constructing the arm out of aluminum.

Once he had all six of his servos attached to the arm’s joints and wired to his Roboduino, he got busy constructing a 3D model in Blender. Using a few Python scripts, the movements inside Blender are translated to serial data in real-time, which is relayed to the Roboduino in order to control the arm.

Check out his site if you get a chance – there’s plenty of code to be had, as well as several videos of the arm in various stages of construction and testing.

Comments

  1. EFH says:

    That is sweet. Nice project!

  2. jeicrash says:

    Now to design some type of tangible controller for blender (aside form kb and mouse)

  3. blue carbuncle says:

    I thought he made it FROM a blender when I read the title lol. I got all excited and started eyeing the wife’s beauty in the kitchen. Alas, congrats on getting the project done! I’d recommend Lirc or WinLirc with girder to do an IR remote interface with little hassle ;) as you just remap you current keystroke commands as IR macros.

  4. NoMoss269 says:

    These guys are pretty polished, but still super-open. All of the software is free.

    http://www.robothespian.com/technology/programming.html

  5. twopartepoxy says:

    I cannot find the words to express how excited this makes me!
    Blender, Python, Arduino, all open source and all beautiful. Together? Its basically the A-Team.
    Hats off Justin, really nice work.

  6. doubleup says:

    Nice to see this project. I like the construction of the arm, it is inspiring. I think I could get some strips of aluminium, some 1″ standoffs (not sure where to get THOSE), and then some nuts and bolts.

  7. Setatx says:

    Can’t wait to do something like this as a project eventually ^_^

  8. darkshadow6921 says:

    I read “Robotic Arm Control with Blender” and my first thoughts was, finally a robotic arm to mix drinks for me!

    so while this article is neat, I am still kinda disappointed.

    cocktail anyone?

  9. N0LKK says:

    Nice project, but it would have been great to see it perm a simple task, or did I over look a video? I seen the video putting the arm through it’s motions, but not picking up an object from on point, and moving it to another. The arm movements seem not to be the most smoothly controlled. Is that a function of the software, or of the mechanical construction and/or limitations that comes with the servos used? In the end it proves Justin’s ability to write software to control an electrical/mechanical machine, and to build that machine. Mission accomplished, surely it earned him a better grade.

  10. aegis3d says:

    WOW!

    Think of the possibilities, blender auto inverse kinetics IRL!

    This gets me very exited! :D

  11. Trav says:

    Cool! Wouldn’t mind seeing the reverse either. Using a robotic arm with pots instead of servos, translate the movement into actions in Blender. Just think, a “real-time” CGI puppet. Probably already done in Hollywood, but build-able by the average hacker -cool. I love open source too.

  12. Peter S. says:

    Awesome project. I’ve modeled a couple of robotic limbs in Blender at various points, and rigging them properly and then being able to play with them and see them move and follow IK targets in a natural way is always fun.

    Trav: Yep, already done by Hollywood. :)

    Back when they were making the first Jurassic Park movie, they switched from stop-motion to CG mid-way through production. The animators they had brought in from Phil Tippett studios for the stop motion were more experienced character animators than the CG people from ILM, so they were kept on the project.

    But because the animators weren’t used to computer animation, they came up with the “Dinosaur Input Device” — a small posable dinosaur skeleton hooked up to a computer, which could be used to manipulate the armature of the 3D model. There’s lots of info and photos on the net if you search.

  13. sunix says:

    what kind of plastic material should i use if i want to build a simple robot arm?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 94,439 other followers