adam.parametric.model.parametric_factories.parametric_joint
===========================================================

.. py:module:: adam.parametric.model.parametric_factories.parametric_joint


Classes
-------

.. autoapisummary::

   adam.parametric.model.parametric_factories.parametric_joint.ParametricJoint


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

.. py:class:: ParametricJoint(joint: urdf_parser_py.urdf.Joint, math: adam.core.spatial_math.SpatialMath, parent_link: adam.parametric.model.parametric_factories.parametric_link.ParametricLink, idx: Union[int, None] = None)

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


   Parametric Joint class


   .. py:attribute:: math


   .. py:attribute:: name


   .. py:attribute:: parent


   .. py:attribute:: parent_parametric


   .. py:attribute:: child


   .. py:attribute:: type


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



   .. py:attribute:: limit


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


      Abstract base class for all joints.


   .. py:attribute:: joint


   .. py:attribute:: offset


   .. py:attribute:: origin


   .. 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:: modify(parent_joint_offset: numpy.typing.ArrayLike)

      :param parent_joint_offset: offset of the parent joint
      :type parent_joint_offset: npt.ArrayLike

      :returns: the origin of the joint, parametric with respect to the parent link dimensions
      :rtype: npt.ArrayLike



   .. 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



