Transformation Manager#

In this example, we will use the TransformManager to infer a transformation automatically.

plot transform manager
/home/afabisch/Data/Projects/pytransform3d/pytransform3d/examples/plots/plot_transform_manager.py:26: DeprecationWarning: function is deprecated, use matrix_from_euler
  pr.active_matrix_from_intrinsic_euler_xyz(np.array([0.0, 0.0, -0.5])),

import matplotlib.pyplot as plt
import numpy as np

from pytransform3d import rotations as pr
from pytransform3d import transformations as pt
from pytransform3d.transform_manager import TransformManager

rng = np.random.default_rng(1)

ee2robot = pt.transform_from_pq(
    np.hstack((np.array([0.4, -0.3, 0.5]), pr.random_quaternion(rng)))
)
cam2robot = pt.transform_from_pq(
    np.hstack((np.array([0.0, 0.0, 0.8]), pr.q_id))
)
object2cam = pt.transform_from(
    pr.active_matrix_from_intrinsic_euler_xyz(np.array([0.0, 0.0, -0.5])),
    np.array([0.5, 0.1, 0.1]),
)

tm = TransformManager()
tm.add_transform("end-effector", "robot", ee2robot)
tm.add_transform("camera", "robot", cam2robot)
tm.add_transform("object", "camera", object2cam)

ee2object = tm.get_transform("end-effector", "object")

ax = tm.plot_frames_in("robot", s=0.1)
ax.set_xlim((-0.25, 0.75))
ax.set_ylim((-0.5, 0.5))
ax.set_zlim((0.0, 1.0))
plt.show()

Total running time of the script: (0 minutes 0.068 seconds)

Gallery generated by Sphinx-Gallery