Library and CLI tool to convert Denavit-Hartenberg parameters to an X3D model
Project description
dh2vrml
dh2vrml is a utility for converting Denavit–Hartenberg parameters into X3D models, with a particular focus on creating outputs suitable for use as a MATLAB Simulink VR Sink.
Installation
pip install dh2vrml
Usage
dh2vrml -f <file_name>
Parameters
type
: Joint type, eitherrevolute
orprismatic
- This refers to the joint at index
i - 1
, (i.e. the first joint is the base joint)
- This refers to the joint at index
d
,theta
,r
,alpha
: DH parameters as specified on Wikipedia- Angles are specified in radians, use
theta_deg
oralpha_deg
to specify values in degrees
- Angles are specified in radians, use
color
: Color of the joint and link at indexi
, in RGB format- Values are floats ranging from 0 to 1
- The end effector is always colored
(0, 1, 1)
, (cyan)
scale
: The relative size of joints and links- Links are scaled cross sectionally (position is not affected)
- Joints are scaled volumetrically
- The first value scales both the base joint and the joint after it
- If no value is provided, the last provided value is used
- Scale of the model can be set globally by only providing
scale
for the first set of parameters
- Scale of the model can be set globally by only providing
offset
: Location to render joint relative to coordinate system (X, Y, Z)- This value is NOT affected by
scale
- Defaults to
(0, 0, 0)
- Revolute joints can only have a Z offset
- This value is NOT affected by
Supported file types
YAML
- type: revolute
d: 1.5
theta: 0
r: 3
alpha: 0
color: [1, 0, 0]
- type: revolute
d: 2
theta: 0
r: 4
alpha: 3.14159265359
color: [0, 0, 1]
- type: prismatic
d: 3
theta: 0
r: 0
alpha: 0
color: [1, 0, 1]
CSV
d ,theta ,r ,alpha ,type , color
2 ,0 ,0 ,1.5707963268 ,revolute , 1 0 0
0 ,0 ,2 ,0 ,revolute , 0 1 0
Python
For the sake of making calculations involving pi
easier, Python files are supported.
Beware: dh2vrml will blindly import and run whatever code is provided, always inspect the contents of the file before importing
from math import pi
params = [
{
"type": "revolute",
"d": 2,
"theta": pi/2,
"r": 0,
"alpha": pi/2
},
{
"type": "revolute",
"d": 2,
"theta": pi/2,
"r": 0,
"alpha": -pi/2
},
{
"type": "revolute",
"d": 2,
"theta": pi/2,
"r": 2,
"alpha": 0
},
]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dh2vrml-0.1.12.tar.gz
(10.9 kB
view hashes)
Built Distribution
dh2vrml-0.1.12-py3-none-any.whl
(11.8 kB
view hashes)