Real-time Robotic Arm Control With Blender


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.

13 thoughts on “Real-time Robotic Arm Control With Blender

  1. 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.

  2. 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.

  3. 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.

  4. 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?

  5. 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.

  6. 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.

  7. 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.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.