gs.morphs.Morph#

class genesis.options.morphs.Morph(*, pos: tuple = (0.0, 0.0, 0.0), euler: tuple | None = None, quat: tuple | None = None, visualization: bool = True, collision: bool = True, requires_jac_and_IK: bool = False, is_free: bool | None = None)[source]#

This is the base class for all genesis morphs. A morph in genesis is a hybrid concept, encapsulating both the geometry and pose information of an entity. This includes shape primitives, meshes, URDF, MJCF, Terrain, and soft robot description files.

Note

This class should not be instantiated directly.

Parameters:
  • pos (tuple, shape (3,), optional) – The initial position of the entity in meters at creation time. Defaults to (0.0, 0.0, 0.0).

  • euler (tuple, shape (3,), optional) – The initial euler angle of the entity in degrees at creation time. This follows scipy’s extrinsic x-y-z rotation convention. Defaults to (0.0, 0.0, 0.0).

  • quat (tuple, shape (4,), optional) – The initial quaternion (w-x-y-z convention) of the entity at creation time. If specified, euler will be ignored. Defaults to None.

  • visualization (bool, optional) – Whether the entity needs to be visualized. Set it to False if you need a invisible object only for collision purposes. Defaults to True. visualization and collision cannot both be False. This is only used for RigidEntity.

  • collision (bool, optional) – Whether the entity needs to be considered for collision checking. Defaults to True. visualization and collision cannot both be False. This is only used for RigidEntity.

  • requires_jac_and_IK (bool, optional) – Whether this morph, if created as RigidEntity, requires jacobian and inverse kinematics. Defaults to False. This is only used for RigidEntity.

  • is_free (bool, optional) – This parameter is deprecated.