Blender Add-on for creating and loading AMBF yaml config files
This is a plugin to ease the creation of AF MultiBodies using Blender and load existing ambf config files in blender.
Adnan Munawar
Email: [email protected]
-
The blender plugin is to easy the creation of multi-body config files that are used in AMBF Framework. AMBF stands for (Asynchoronous Multi-Body Framework). AMBF is real-time dynamics engine based on Bullet and CHAI-3D with ROS Support on Linux. The source code is located at: "https://github.com/WPI-AIM/ambf" This plugin helps in generation of both high and low resolution files (for collision) and subsequently generate the ambf config file which is based on YAML.
-
AMBF Config files are akin to URDF or SDF but are written in YAML rather than XML. AMBF also supports soft bodies as well as multiple unconnected, semi-connected and fully connected dynamic bodies in simulation.
-
AMBF files allow multiple parents as well as cyclical interconnection which is not possible with URDF and SDF.
-
Joints are considered independent objects, similar to the bodies in the environment. Joints can easily be ignored, added and modified in the AMBF Yaml config files.
-
Because of the underlying philosophy of treating joints as independent objects, the AMBF yaml config files can seperate out joints from the bodies in differnet files. E.g. one config file can contain information about the bodies only and another config file can contain information about the joints. In addition to this features, the joints can be added at run-time for any dynamic ridig body in simulation.
- This plugin is only supported for Blender 2.79
- Simulation frame must be at 0 (box to the right of the start end frames)
The yaml modules is usually not installed alongside Blenders python compiler, therefore, while trying to load the plugin, you may encounter an issue saying No Module Names 'yaml'. This procedure seems to resolve this issue. The answers on these forums can be used to resolve this issue.
https://blender.stackexchange.com/questions/56011/how-to-install-pip-for-blenders-bundled-python
After install pip using the instructions above, one can simply install yaml
or pyyaml
for the blender specific python.