Commit a435f225 authored by Mayank Mittal's avatar Mayank Mittal

fixes the backslash in docs

parent 88d4a341
......@@ -23,17 +23,17 @@ class NonHolonomicKinematicsGroup(ActuatorGroup):
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
:\\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:
.. math::
\\dot{q}_{0, des} &= v_{B,x} \\cos(\\theta) \\\\
\\dot{q}_{1, des} &= v_{B,x} \\sin(\\theta) \\\\
\\dot{q}_{2, des} &= \\omega_{B,z}
\dot{q}_{0, des} &= v_{B,x} \cos(\theta) \\
\dot{q}_{1, des} &= v_{B,x} \sin(\theta) \\
\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
the value of the revolute joint along z, i.e., :math:`q_2 = \\theta`.
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`.
Tip:
For velocity control of the base with dummy mechanism, we recommed setting high damping gains to the joints.
......
......@@ -26,22 +26,22 @@ class IdealActuator:
.. 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}`
are the current joint positions and velocities, :math:`q_{des}`, :math:`\\dot{q}_{des}` and :math:`\tau_{ff}`
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 desired joint positions, velocities and torques commands.
The clipping model is based on the maximum torque applied by the motor. It is implemented as:
.. math::
\\tau_{j, max} & = \\gamma \\times \\tau_{motor, max} \\\\
\\tau_{j, applied} & = clip(\\tau_{computed}, -\\tau_{j, max}, \\tau_{j, max})
\tau_{j, max} & = \gamma \times \tau_{motor, 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})`.
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
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
the configuration instance passed to the class.
"""
......@@ -185,22 +185,22 @@ class DCMotor(IdealActuator):
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-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.
* 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.
* 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:
.. math::
\\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) \\\\
\\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)
\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) \\
\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)
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} =
\\gamma \\times \\tau_{motor, max}` and :math:`\\tau_{j, peak} = \\gamma \\times \\tau_{motor, peak}`
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} =
\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 read from the configuration instance passed to the class.
......@@ -209,7 +209,7 @@ class DCMotor(IdealActuator):
.. 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):
.. 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.
"""
......
......@@ -22,7 +22,7 @@ class Se2Keyboard(DeviceBase):
It uses the Omniverse keyboard interface to listen to keyboard events and map them to robot's
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:
====================== ========================= ========================
......
......@@ -21,7 +21,7 @@ class Se2SpaceMouse(DeviceBase):
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.
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:
The interface finds and uses the first supported device connected to the computer.
......
......@@ -53,7 +53,7 @@ class CameraData:
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:
......@@ -75,8 +75,8 @@ class Camera(SensorBase):
- ``"fisheye_orthographic"``: Fisheye camera model using orthographic correction.
- ``"fisheye_equidistant"``: Fisheye camera model using equidistant correction.
- ``"fisheye_equisolid"``: Fisheye camera model using equisolid correction.
- ``"fisheye_polynomial"``: Fisheye camera model with :math:`360^\\circ` spherical projection.
- ``"fisheye_spherical"``: Fisheye camera model with :math:`360^\\circ` full-frame projection.
- ``"fisheye_polynomial"``: Fisheye camera model with :math:`360^{\circ}` spherical projection.
- ``"fisheye_spherical"``: Fisheye camera model with :math:`360^{\circ}` full-frame projection.
Typically, the sensor comprises of two prims:
......
......@@ -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.
.. 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.
......@@ -91,7 +91,7 @@ def create_pointcloud_from_depth(
computed using the following equation:
.. 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
:math:`d` is the depth value at the pixel.
......@@ -100,7 +100,7 @@ def create_pointcloud_from_depth(
the position ``t`` and orientation ``R`` of the camera in the target frame:
.. math::
p_{target} = R_{target} \\times p_{camera} + t_{target}
p_{target} = R_{target} \times p_{camera} + t_{target}
Args:
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(
) -> Tuple[torch.Tensor, torch.Tensor]:
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.
Args:
......@@ -384,7 +384,7 @@ def subtract_frame_transforms(
) -> Tuple[torch.Tensor, torch.Tensor]:
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.
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