by Luis Pacheco
Animaquina is a robot Integrated Development Environment (IDE) designed for controlling and simulating Robots within Blender. It leverages Blender's powerful 3D capabilities to provide a versatile platform for robot programming and visualization.
- Compatible with Blender 4.2
- Only compatible with Universal Robots (UR) models
- Requires a startup file for each robot model
- This is a pre-alpha version and may contain bugs or incomplete features.
- Use Blender Launcher: It is advised to use Blender Launcher to keep an isolated version of Blender and Python.
- Open Blender 4.2.
- Locate your Blender 4.2 Python lib folder. This is typically found in:
- Windows:
C:\Program Files\Blender Foundation\Blender 4.2\4.2\python\lib
- macOS:
/Applications/Blender.app/Contents/Resources/4.2/python/lib
- Linux:
/usr/share/blender/4.2/python/lib
- Windows:
- Copy both the URX folder and the math3d folder from the Animaquina download into the Blender Python lib folder.
- Go to Edit > Preferences in Blender.
- Click on the Add-ons tab.
- In the top-right corner of the Add-ons panel, click on Install.
- Navigate to and select the Animaquina v0.0.3 pre-alpha ZIP file.
- Click Install Add-on.
- Locate "Animaquina" in the add-ons list and enable it by checking the box next to its name.
-
Select the robot you have from the drop down list this is either ur16e, ur10e or ur5e
-
Set the IP address of your Universal Robot in the Animaquina panel.
-
Click the Connect button to establish a connection with the robot.
-
In the target selection dropdown, select
ur10e_target_twin
. -
Click the Update Pose button to synchronize the digital twin's TCP with the selected robot's TCP. This action updates the current joint rotation and TCP position of the digital twin robot.
-
On the info panel, you can view the current joint rotation and TCP position of the digital twin.
-
To move the robot via Blender: a. Manipulate the
ur10e_target_twin
object in the 3D viewport. b. Click the GoTarget button to send the command and move the physical robot to the new position. -
Enable the RealTime option to see the digital twin robot moving in sync with the physical robot.
-
To manually manipulate the physical robot: a. Click on Manual Mode to enable physical manipulation of the robot. b. If RealTime is enabled, you will see the robot's movements updated in real-time in the 3D viewport.
-
To digitize features in the cell: a. Move the robot's TCP to the desired position. b. Click the addMarker button to save the current TCP position as a marker.
-
To run a toolpath: a. Select a mesh object in the 3D viewport. b. Click the Path button to execute the toolpath.
Warning: The order of vertices in the mesh object matters for the toolpath execution. Ensure the vertices are in the correct order before using this function.
- IP-based robot connection
- Real-time robot manipulation via Blender's 3D viewport
- Digital twin synchronization with physical robot
- Real-time movement visualization
- Manual mode for physical robot manipulation
- Live update of digital twin in manual mode
- Marker placement for digitizing cell features
- Toolpath execution based on mesh object vertices
- Display of current joint rotation and TCP position in the info panel
The developer is not responsible for any damage to property, personal injury, or death resulting from the use of this software.
- No collision detection: The software does not detect or prevent collisions between the robot and its environment.
- No angle limits: Joint angle limits are not enforced, which could lead to unexpected or dangerous movements.
- Real-time mode bug: In real-time mode, you may need to wiggle the mouse to see the robot updating in the viewport.
- Limited safety features: Only speed and acceleration are capped. There are NO comprehensive safety measures programmed.
- Lack of comprehensive safety protocols: This pre-alpha version does not include industry-standard safety features typically found in production-ready robotic control software.
- Always maintain a safe distance from the robot during operation.
- Use physical safety barriers and emergency stop systems.
- Thoroughly test all movements in a controlled, safe environment before executing them on the actual robot.
- Ensure that all users are properly trained in robot safety and operation.
- Never use this software in production environments or near personnel without proper risk assessment and mitigation strategies.
- Blender version: 4.2
- Universal Robots models only
- tested on windows
GPL License
- Luis Pacheco
Contributions by:
- Alex Cortez
For support or to report bugs, please [contact our support team/create an issue on our GitHub repository].
Note: This is a pre-alpha version intended for development and testing purposes only. It contains significant limitations and safety risks. Do not use in production environments or without expert supervision.
This project builds on the ideas and inspirations from several similar tools, including KUKA//prc,tactum, Mimic for Maya, Oriole, VisoSE/Robots, and RobotexMachina. Their innovative approaches and solutions have influenced the development of this project.
Special thanks to the RDF Lab @ FIU for providing the necessary equipment to test. Your support and resources have been invaluable in bringing this project to fruition.
We also extend our gratitude to the developers of the urx and ur_rtde libraries for making it easy to communicate Robots using Python. Your contributions have greatly simplified the integration of robotic control in this project