API
===

Python API
----------

.. Summary

.. currentmodule:: isaacsim.robot_motion.experimental.motion_generation

.. rubric:: *Controllers*
.. autosummary::
    :nosignatures:

    BaseController
    ControllerContainer
    ParallelController
    SequentialController
    TrajectoryFollower

.. rubric:: *State Types*
.. autosummary::
    :nosignatures:

    RobotState
    JointState
    RootState
    SpatialState
    combine_robot_states

.. rubric:: *Trajectory and Path*
.. autosummary::
    :nosignatures:

    Trajectory
    Path

.. rubric:: *World Interface*
.. autosummary::
    :nosignatures:

    WorldInterface
    WorldBinding

.. rubric:: *Obstacle Handling*
.. autosummary::
    :nosignatures:

    ObstacleConfiguration
    ObstacleRepresentation
    ObstacleStrategy

.. rubric:: *Scene Query*
.. autosummary::
    :nosignatures:

    SceneQuery
    TrackableApi

|

.. API

Controllers
^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.BaseController
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.ControllerContainer
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.ParallelController
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.SequentialController
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.TrajectoryFollower
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

|

State Types
^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.RobotState
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.JointState
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.RootState
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.SpatialState
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autofunction:: isaacsim.robot_motion.experimental.motion_generation.combine_robot_states

|

Trajectory and Path
^^^^^^^^^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.Trajectory
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.Path
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

|

World Interface
^^^^^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.WorldInterface
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.WorldBinding
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

|

Obstacle Handling
^^^^^^^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.ObstacleConfiguration
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.ObstacleRepresentation
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.ObstacleStrategy
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

|

Scene Query
^^^^^^^^^^^

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.SceneQuery
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:

.. autoclass:: isaacsim.robot_motion.experimental.motion_generation.TrackableApi
    :members:
    :undoc-members:
    :inherited-members:
    :show-inheritance:
