Commit a435f225 authored by Mayank Mittal's avatar Mayank Mittal

fixes the backslash in docs

parent 88d4a341
...@@ -23,17 +23,17 @@ class NonHolonomicKinematicsGroup(ActuatorGroup): ...@@ -23,17 +23,17 @@ class NonHolonomicKinematicsGroup(ActuatorGroup):
translating the input velocity command into joint velocity commands. translating the input velocity command into joint velocity commands.
A skid-steering base is under-actuated, i.e. the commands are forward velocity :math:`v_{B,x}` and the turning rate A skid-steering base is under-actuated, i.e. the commands are forward velocity :math:`v_{B,x}` and the turning rate
:\\omega_{B,z}: in the base frame. Using the current base orientation, the commands are transformed into dummy :\omega_{B,z}: in the base frame. Using the current base orientation, the commands are transformed into dummy
joint velocity targets as: joint velocity targets as:
.. math:: .. math::
\\dot{q}_{0, des} &= v_{B,x} \\cos(\\theta) \\\\ \dot{q}_{0, des} &= v_{B,x} \cos(\theta) \\
\\dot{q}_{1, des} &= v_{B,x} \\sin(\\theta) \\\\ \dot{q}_{1, des} &= v_{B,x} \sin(\theta) \\
\\dot{q}_{2, des} &= \\omega_{B,z} \dot{q}_{2, des} &= \omega_{B,z}
where :math:`\\theta` is the yaw of the 2-D base. Since the base is simulated as a dummy joint, the yaw is directly where :math:`\theta` is the yaw of the 2-D base. Since the base is simulated as a dummy joint, the yaw is directly
the value of the revolute joint along z, i.e., :math:`q_2 = \\theta`. the value of the revolute joint along z, i.e., :math:`q_2 = \theta`.
Tip: Tip:
For velocity control of the base with dummy mechanism, we recommed setting high damping gains to the joints. For velocity control of the base with dummy mechanism, we recommed setting high damping gains to the joints.
......
...@@ -26,22 +26,22 @@ class IdealActuator: ...@@ -26,22 +26,22 @@ class IdealActuator:
.. math:: .. math::
\\tau_{j, computed} = k_p * (q - q_{des}) + k_d * (\\dot{q} - \\dot{q}_{des}) + \\tau_{ff} \tau_{j, computed} = k_p * (q - q_{des}) + k_d * (\dot{q} - \dot{q}_{des}) + \tau_{ff}
where, :math:`k_p` and :math:`k_d` are joint stiffness and damping gains, :math:`q` and :math:`\\dot{q}` where, :math:`k_p` and :math:`k_d` are joint stiffness and damping gains, :math:`q` and :math:`\dot{q}`
are the current joint positions and velocities, :math:`q_{des}`, :math:`\\dot{q}_{des}` and :math:`\tau_{ff}` are the current joint positions and velocities, :math:`q_{des}`, :math:`\dot{q}_{des}` and :math:`\tau_{ff}`
are the desired joint positions, velocities and torques commands. are the desired joint positions, velocities and torques commands.
The clipping model is based on the maximum torque applied by the motor. It is implemented as: The clipping model is based on the maximum torque applied by the motor. It is implemented as:
.. math:: .. math::
\\tau_{j, max} & = \\gamma \\times \\tau_{motor, max} \\\\ \tau_{j, max} & = \gamma \times \tau_{motor, max} \\
\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, max}) \tau_{j, applied} & = clip(\tau_{computed}, -\tau_{j, max}, \tau_{j, max})
where the clipping function is defined as :math:`clip(x, x_{min}, x_{max}) = min(max(x, x_{min}), x_{max})`. where the clipping function is defined as :math:`clip(x, x_{min}, x_{max}) = min(max(x, x_{min}), x_{max})`.
The parameters :math:`\\gamma` is the gear ratio of the gear box connecting the motor and the actuated joint ends, The parameters :math:`\gamma` is the gear ratio of the gear box connecting the motor and the actuated joint ends,
and :math:`\\tau_{motor, max}` is the maximum motor effort possible. These parameters are read from and :math:`\tau_{motor, max}` is the maximum motor effort possible. These parameters are read from
the configuration instance passed to the class. the configuration instance passed to the class.
""" """
...@@ -185,22 +185,22 @@ class DCMotor(IdealActuator): ...@@ -185,22 +185,22 @@ class DCMotor(IdealActuator):
A DC motor characteristics are defined by the following parameters: A DC motor characteristics are defined by the following parameters:
* Continuous-rated speed (:math:`\\dot{q}_{motor, max}`) : The maximum-rated speed of the motor. * Continuous-rated speed (:math:`\dot{q}_{motor, max}`) : The maximum-rated speed of the motor.
* Continuous-stall torque (:math:`\\tau_{motor, max}`): The maximum-rated torque produced at 0 speed. * Continuous-stall torque (:math:`\tau_{motor, max}`): The maximum-rated torque produced at 0 speed.
* Peak torque (:math:`\\tau_{motor, peak}`): The maximum torque that can be outputted for a short period. * Peak torque (:math:`\tau_{motor, peak}`): The maximum torque that can be outputted for a short period.
Based on these parameters, the instantaneous minimum and maximum torques are defined as follows: Based on these parameters, the instantaneous minimum and maximum torques are defined as follows:
.. math:: .. math::
\\tau_{j, max}(\\dot{q}) & = clip \\left (\\tau_{j, peak} \\times \\left(1 - \tau_{j, max}(\dot{q}) & = clip \left (\tau_{j, peak} \times \left(1 -
\\frac{\\dot{q}}{\\dot{q}_{j, max}}\\right), 0.0, \\tau_{j, max} \\right) \\\\ \frac{\dot{q}}{\dot{q}_{j, max}}\right), 0.0, \tau_{j, max} \right) \\
\\tau_{j, min}(\\dot{q}) & = clip \\left (\\tau_{j, peak} \\times \\left( -1 - \tau_{j, min}(\dot{q}) & = clip \left (\tau_{j, peak} \times \left( -1 -
\\frac{\\dot{q}}{\\dot{q}_{j, max}}\\right), - \\tau_{j, max}, 0.0 \\right) \frac{\dot{q}}{\dot{q}_{j, max}}\right), - \tau_{j, max}, 0.0 \right)
where :math:`\\gamma` is the gear ratio of the gear box connecting the motor and the actuated joint ends, where :math:`\gamma` is the gear ratio of the gear box connecting the motor and the actuated joint ends,
:math:`\\dot{q}_{j, max} = \\gamma^{-1} \\times \\dot{q}_{motor, max}`, :math:`\\tau_{j, max} = :math:`\dot{q}_{j, max} = \gamma^{-1} \times \dot{q}_{motor, max}`, :math:`\tau_{j, max} =
\\gamma \\times \\tau_{motor, max}` and :math:`\\tau_{j, peak} = \\gamma \\times \\tau_{motor, peak}` \gamma \times \tau_{motor, max}` and :math:`\tau_{j, peak} = \gamma \times \tau_{motor, peak}`
are the maximum joint velocity, maximum joint torque and peak torque, respectively. These parameters are the maximum joint velocity, maximum joint torque and peak torque, respectively. These parameters
are read from the configuration instance passed to the class. are read from the configuration instance passed to the class.
...@@ -209,7 +209,7 @@ class DCMotor(IdealActuator): ...@@ -209,7 +209,7 @@ class DCMotor(IdealActuator):
.. math:: .. math::
\\tau_{j, applied} = clip(\\tau_{computed}, \\tau_{j, min}(\\dot{q}), \\tau_{j, max}(\\dot{q})) \tau_{j, applied} = clip(\tau_{computed}, \tau_{j, min}(\dot{q}), \tau_{j, max}(\dot{q}))
""" """
...@@ -261,9 +261,9 @@ class VariableGearRatioDCMotor(DCMotor): ...@@ -261,9 +261,9 @@ class VariableGearRatioDCMotor(DCMotor):
.. math:: .. math::
\\gamma = \\gamma(q) \gamma = \gamma(q)
where :math:`\\gamma(\\cdot)` is read from the configuration instance passed to the class. The gear-ratio function is evaluated at where :math:`\gamma(\cdot)` is read from the configuration instance passed to the class. The gear-ratio function is evaluated at
every time step and the motor parameters are computed accordingly. every time step and the motor parameters are computed accordingly.
""" """
......
...@@ -22,7 +22,7 @@ class Se2Keyboard(DeviceBase): ...@@ -22,7 +22,7 @@ class Se2Keyboard(DeviceBase):
It uses the Omniverse keyboard interface to listen to keyboard events and map them to robot's It uses the Omniverse keyboard interface to listen to keyboard events and map them to robot's
task-space commands. task-space commands.
The command comprises of the base linear and angular velocity: :math:`(v_x, v_y, \\omega_z)`. The command comprises of the base linear and angular velocity: :math:`(v_x, v_y, \omega_z)`.
Key bindings: Key bindings:
====================== ========================= ======================== ====================== ========================= ========================
......
...@@ -21,7 +21,7 @@ class Se2SpaceMouse(DeviceBase): ...@@ -21,7 +21,7 @@ class Se2SpaceMouse(DeviceBase):
This class implements a space-mouse controller to provide commands to mobile base. This class implements a space-mouse controller to provide commands to mobile base.
It uses the `HID-API`_ which interfaces with USD and Bluetooth HID-class devices across multiple platforms. It uses the `HID-API`_ which interfaces with USD and Bluetooth HID-class devices across multiple platforms.
The command comprises of the base linear and angular velocity: :math:`(v_x, v_y, \\omega_z)`. The command comprises of the base linear and angular velocity: :math:`(v_x, v_y, \omega_z)`.
Note: Note:
The interface finds and uses the first supported device connected to the computer. The interface finds and uses the first supported device connected to the computer.
......
...@@ -53,7 +53,7 @@ class CameraData: ...@@ -53,7 +53,7 @@ class CameraData:
class Camera(SensorBase): class Camera(SensorBase):
"""The camera sensor for acquiring visual data. r"""The camera sensor for acquiring visual data.
Summarizing from the `replicator extension`_, the following sensor types are supported: Summarizing from the `replicator extension`_, the following sensor types are supported:
...@@ -75,8 +75,8 @@ class Camera(SensorBase): ...@@ -75,8 +75,8 @@ class Camera(SensorBase):
- ``"fisheye_orthographic"``: Fisheye camera model using orthographic correction. - ``"fisheye_orthographic"``: Fisheye camera model using orthographic correction.
- ``"fisheye_equidistant"``: Fisheye camera model using equidistant correction. - ``"fisheye_equidistant"``: Fisheye camera model using equidistant correction.
- ``"fisheye_equisolid"``: Fisheye camera model using equisolid correction. - ``"fisheye_equisolid"``: Fisheye camera model using equisolid correction.
- ``"fisheye_polynomial"``: Fisheye camera model with :math:`360^\\circ` spherical projection. - ``"fisheye_polynomial"``: Fisheye camera model with :math:`360^{\circ}` spherical projection.
- ``"fisheye_spherical"``: Fisheye camera model with :math:`360^\\circ` full-frame projection. - ``"fisheye_spherical"``: Fisheye camera model with :math:`360^{\circ}` full-frame projection.
Typically, the sensor comprises of two prims: Typically, the sensor comprises of two prims:
......
...@@ -34,7 +34,7 @@ def transform_points( ...@@ -34,7 +34,7 @@ def transform_points(
transformation is defined by the position ``t`` and orientation ``R`` of the target frame in the source frame. transformation is defined by the position ``t`` and orientation ``R`` of the target frame in the source frame.
.. math:: .. math::
p_{target} = R_{target} \\times p_{source} + t_{target} p_{target} = R_{target} \times p_{source} + t_{target}
If either the inputs `position` and `orientation` are :obj:`None`, the corresponding transformation is not applied. If either the inputs `position` and `orientation` are :obj:`None`, the corresponding transformation is not applied.
...@@ -91,7 +91,7 @@ def create_pointcloud_from_depth( ...@@ -91,7 +91,7 @@ def create_pointcloud_from_depth(
computed using the following equation: computed using the following equation:
.. math:: .. math::
p_{camera} = K^{-1} \\times [u, v, 1]^T \\times d p_{camera} = K^{-1} \times [u, v, 1]^T \times d
where :math:`K` is the camera intrinsic matrix, :math:`u` and :math:`v` are the pixel coordinates and where :math:`K` is the camera intrinsic matrix, :math:`u` and :math:`v` are the pixel coordinates and
:math:`d` is the depth value at the pixel. :math:`d` is the depth value at the pixel.
...@@ -100,7 +100,7 @@ def create_pointcloud_from_depth( ...@@ -100,7 +100,7 @@ def create_pointcloud_from_depth(
the position ``t`` and orientation ``R`` of the camera in the target frame: the position ``t`` and orientation ``R`` of the camera in the target frame:
.. math:: .. math::
p_{target} = R_{target} \\times p_{camera} + t_{target} p_{target} = R_{target} \times p_{camera} + t_{target}
Args: Args:
intrinsic_matrix (Union[np.ndarray, torch.Tensor, wp.array]): A (3, 3) array providing camera's calibration intrinsic_matrix (Union[np.ndarray, torch.Tensor, wp.array]): A (3, 3) array providing camera's calibration
......
...@@ -351,7 +351,7 @@ def combine_frame_transforms( ...@@ -351,7 +351,7 @@ def combine_frame_transforms(
) -> Tuple[torch.Tensor, torch.Tensor]: ) -> Tuple[torch.Tensor, torch.Tensor]:
r"""Combine transformations between two reference frames into a stationary frame. r"""Combine transformations between two reference frames into a stationary frame.
It performs the following transformation operation: :math:`T_{02} = T_{01} \\times T_{12}`, It performs the following transformation operation: :math:`T_{02} = T_{01} \times T_{12}`,
where :math:`T_{AB}` is the homogenous transformation matrix from frame A to B. where :math:`T_{AB}` is the homogenous transformation matrix from frame A to B.
Args: Args:
...@@ -384,7 +384,7 @@ def subtract_frame_transforms( ...@@ -384,7 +384,7 @@ def subtract_frame_transforms(
) -> Tuple[torch.Tensor, torch.Tensor]: ) -> Tuple[torch.Tensor, torch.Tensor]:
r"""Subtract transformations between two reference frames into a stationary frame. r"""Subtract transformations between two reference frames into a stationary frame.
It performs the following transformation operation: :math:`T_{12} = T_{01}^{-1} \\times T_{02}`, It performs the following transformation operation: :math:`T_{12} = T_{01}^{-1} \times T_{02}`,
where :math:`T_{AB}` is the homogenous transformation matrix from frame A to B. where :math:`T_{AB}` is the homogenous transformation matrix from frame A to B.
Args: Args:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment