Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
KincoActuatorIsaacLab
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kevin
KincoActuatorIsaacLab
Commits
a435f225
Commit
a435f225
authored
Jan 28, 2023
by
Mayank Mittal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixes the backslash in docs
parent
88d4a341
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
36 additions
and
36 deletions
+36
-36
non_holonomic_group.py
...t/omni/isaac/orbit/actuators/group/non_holonomic_group.py
+6
-6
actuator_physics.py
...rbit/omni/isaac/orbit/actuators/model/actuator_physics.py
+20
-20
se2_keyboard.py
...c.orbit/omni/isaac/orbit/devices/keyboard/se2_keyboard.py
+1
-1
se2_spacemouse.py
...bit/omni/isaac/orbit/devices/spacemouse/se2_spacemouse.py
+1
-1
camera.py
...mni.isaac.orbit/omni/isaac/orbit/sensors/camera/camera.py
+3
-3
utils.py
...omni.isaac.orbit/omni/isaac/orbit/sensors/camera/utils.py
+3
-3
math.py
...xtensions/omni.isaac.orbit/omni/isaac/orbit/utils/math.py
+2
-2
No files found.
source/extensions/omni.isaac.orbit/omni/isaac/orbit/actuators/group/non_holonomic_group.py
View file @
a435f225
...
@@ -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.
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/actuators/model/actuator_physics.py
View file @
a435f225
...
@@ -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.
"""
"""
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/devices/keyboard/se2_keyboard.py
View file @
a435f225
...
@@ -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:
====================== ========================= ========================
====================== ========================= ========================
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/devices/spacemouse/se2_spacemouse.py
View file @
a435f225
...
@@ -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.
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/sensors/camera/camera.py
View file @
a435f225
...
@@ -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:
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/sensors/camera/utils.py
View file @
a435f225
...
@@ -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
...
...
source/extensions/omni.isaac.orbit/omni/isaac/orbit/utils/math.py
View file @
a435f225
...
@@ -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:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment