Animating robots with Blender

I’ve played around lately with using Blender to animate robot movements. I wrote a short blog post about this topic, including some videos of the current state: https://machinekoder.com/animating-industrial-robots-with-blender/

The execution of the movement is done with ros_control. In general, I think there is potential in using Blender and things such as animation nodes as an alternative way to program robots.

I’ve also thought about integrating it with MoveIt to feature motion planning.

Simulation and debugging of recorded moves might be another application. The new render engine EEVEE looks very promising for this purpose. Too bad the Blender community plans to remove the game engine, which is also used by MORSE, it might have been a good alternative for Ogre in RViz.

6 Likes

Wow this is awesome! Thank you for posting this it is exactly what I am looking for! I’m actually building an Art robot for a permanent installation, and I already use Blender, but I am new to ROS.

I think another interesting flavor of this that I would like to explore is using IMU’s to basically do non-optical motion capture.

1 Like

Wow that sounds interesting. Is it also a robot arm or something else?

I think there is big potential for using to animate animatronics or to create natural movements for humanoid robots, to be used in more complex applications.

It’s more like an animatronic. So It won’t be picking up anything, but waving its arms around and gesticulating like C3PO (hopefully). :slight_smile:

I also found a couple other projects that also use blender, but not ROS:

and


https://docs.google.com/file/d/0B2k0QJ-y8y-6ak5WeGh3cVVDdEk/edit
https://drive.google.com/drive/u/0/folders/0B2k0QJ-y8y-6bWpRSGh0QzVjSlE

I got the hackaday project working with a couple hobby servos, but I I’m not good enough with python to be able to figure out how to get Blender to work with ROS.

also here is another project using IMUs to do motion capture in realtime in Blender:

the animation can be recorded, and then perhaps that can get translated to ROS?

Alexander can you assist me with getting this to work? I’d really like experiment with it. Do you have a code repository you can share?

Thanks