Blender 2.8 industrial robot

Animating Industrial Robots with Blender

3 minutes read

In this article, you will learn about the opportunities of using Blender to animate industrial robots.

Blender is an open source 3D animations software, which is used by 3D artists all over the world to create 3D art and cinematics scene, including blockbuster movies.

A couple of weeks ago, someone mentioned to me that Blender 2.8 will be a revolutionary release, fixing one of the most significant problems the OSS software had, the user interface. Moreover, everything should move to a node-based workflow (everything nodes), and the new render engine EEVEE renders photorealistic scenes in real-time.

Since I had some spare time, I took the opportunity to learn the basics of Blender and to test-drive its applicability for animating industrial robots.

Rigging and Inverse Kinematics

The process of adding bones to an object or model is called rigging. Regarding of 3D animation software, a bone is essentially what we call link in robotics.

Unfortunately, there aren't any good tutorials on rigging robot arms in Blender yet. However, I managed to rig my 6-DOF Borunte robot arm after understanding the basics of rigging.

After rigging, we have two options to animate a robot arm:

  • We can use forward kinematics (FK) move the bone / joint positions.
  • We can use inverse kinematics (IK) to let the IK solver figure out the bone / joint positions.

For animating robots, we usually want to use an IK with the tool center point as a target.

Blender 2.8 comes with two IK solvers:

  • Standard IK Solver
  • iTaSC IK Solver

For our application, the iTaSC IK solver is the better choice, as it is designed for robotic applications.

Unfortunately, I haven't found a solution for limiting the joint velocity and acceleration. But I'm very sure that it is possible to solve this problem with better understanding of iTaSC.

Robot armature in Blender

Robot armature in Blender

Animation

Blender offers multiple ways to animate objects.

  • Animation via keyframes and properties.
  • Animation along a path.
  • Programmatic animation via Animation Nodes.

I've tested all three options, and I couldn't find any of them more useful than the other for animating a robot arm.

For some applications, it's easier to create a path or spline to be followed, for others it might be more useful to drag the robot arm by hand to the target positions. In some cases, it might be helpful to program the movement via Animation Nodes.

Blender Animation Nodes

Blender Animation Nodes

Applications

In my opinion, programming robots via animation are most useful for the entertainment industry. This includes for example film making, animatronics, and show lighting. Autodesk is currently working on a similar project, MIMIC.

The extendable 3D environment is the biggest advantage of Blender compared to alternatives based on game engines or 3D frameworks. For example, ROS Rviz or RoboDK are great for visualizing robots, but not so good for a complete simulation of the environment, due to missing design tools.

However, I can see how Blender could be useful for simulation of machines, robots or even complete factories. Blender also has a VR extension which would enable to design, program and simulation full industrial machines before assembly.

ROS and Machinekit Integration

Of course, animating industrial robots is only useful when we can use the generated trajectories. For this purpose, I created an interface package, which executes the trajectory using ros_control and the hal_ros_control on the Machinekit based open source robotics controller.

For other robots, which come with a closed controller, we could use a post-processor to generate native robot code such as KRL.

Conclusion

Blender could prove useful for animating industrial robots.

Besides animation, I see huge potential to use Blender for robotics simulation.

For programming industrial robots, I could see how graph-based programming could be used as an alternative to writing robot source code.

I'm going to continue to work on this project to find out how it could be applied for applications beyond animation.

Feel free to contact me if you are interested in learning more.

Your
Machine Koder

Spread the love
  • 5
    Shares

Comments 7

  1. Pingback: RDP 040: Animating Industrial Robots with Blender with Alexander Rossler | The Construct

  2. This is interesting read! I've done something similar almost at the same time!:

    https://vimeo.com/300088897

    The inspiration was my friend who use similar robot for sandblasting and I came out with production planning tool. It ended up as 3D printed movable model due to difficulties with learning Blender for personel, but then I did this animation to show novel 3D printing concept.

    I have similar thoughts as yours. It start to be seen even (or especially) major companies like Autodesk, ArcelorMittal, all automotive did a shift towards "digital twin". The possibilities are in personel training and production planning.

    1. Post
      Author

      Hi Bart,

      Thank you for sharing the video. I really like the idea of robots building up their own rails on construction sites.

      Autodesk's efforts really seem to get some traction in the movie industry. How well this approach applies to industrial applications still has to be proven.

      Alex

    1. Post
      Author

Leave a Reply

Your email address will not be published. Required fields are marked *

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