adam.model.std_factories.std_joint
==================================

.. py:module:: adam.model.std_factories.std_joint


Classes
-------

.. autoapisummary::

   adam.model.std_factories.std_joint.StdJoint


Module Contents
---------------

.. py:class:: StdJoint(joint: urdf_parser_py.urdf.Joint, math: adam.core.spatial_math.SpatialMath, idx: Union[int, None] = None)

   Bases: :py:obj:`adam.model.Joint`


   Standard Joint class


   .. py:attribute:: math


   .. py:attribute:: name


   .. py:attribute:: parent


   .. py:attribute:: child


   .. py:attribute:: type


   .. py:attribute:: axis
      :value: None



   .. py:attribute:: origin


   .. py:attribute:: limit


   .. py:attribute:: idx
      :value: None


      Abstract base class for all joints.


   .. py:method:: _set_axis(axis: numpy.typing.ArrayLike) -> numpy.typing.ArrayLike

      :param axis: axis
      :type axis: npt.ArrayLike

      :returns: set the axis
      :rtype: npt.ArrayLike



   .. py:method:: _set_origin(origin: adam.model.Pose) -> adam.model.Pose

      :param origin: origin
      :type origin: Pose

      :returns: set the origin
      :rtype: Pose



   .. py:method:: _set_limits(limit: adam.model.Limits) -> adam.model.Limits

      :param limit: limit
      :type limit: Limits

      :returns: set the limits
      :rtype: Limits



   .. py:method:: homogeneous(q: numpy.typing.ArrayLike) -> numpy.typing.ArrayLike

      :param q: joint value
      :type q: npt.ArrayLike

      :returns: the homogenous transform of a joint, given q
      :rtype: npt.ArrayLike



   .. py:method:: spatial_transform(q: numpy.typing.ArrayLike) -> numpy.typing.ArrayLike

      :param q: joint motion
      :type q: npt.ArrayLike

      :returns: spatial transform of the joint given q
      :rtype: npt.ArrayLike



   .. py:method:: motion_subspace() -> numpy.typing.ArrayLike

      :param joint: Joint
      :type joint: Joint

      :returns: motion subspace of the joint
      :rtype: npt.ArrayLike



