No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
kinetic

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
melodic

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

rdl_torch package from rdl repo

rdl rdl_dynamics rdl_model_parser rdl_torch

ROS Distro
jazzy

Package Summary

Version 0.0.0
License zlib
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://gitlab.com/jlack/rdl.git
VCS Type git
VCS Version master
Last Updated 2026-08-21
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

libtorch-backed batched kinematics and dynamics library.

Maintainers

  • jordan

Authors

No additional authors.

#rdl_torch

rdl_torch is intended to become a libtorch-backed sibling to rdl_dynamics for batched rigid-body kinematics and dynamics on CPU and GPU.

Phase one is deliberately narrower than full rdl_dynamics parity. The target is a stable tensor backend for one fixed robot topology evaluated over many states in parallel, with native support for both torch.float32 and torch.float64.

Current Package Surface

The package now builds as a C++ shared library and exports a small smoke-test API in rdl_torch/rdl_torch.hpp. Public symbols live in RobotDynamics::rdl_torch; the package owns Torch-specific schemas and kernels while rdl_model_parser remains free of any Torch/CUDA dependency.

Current public helpers:

  • RobotDynamics::rdl_torch::isSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::checkSupportedFloatingPointDtype(...)
  • RobotDynamics::rdl_torch::emptyBatchTensor(...)
  • RobotDynamics::rdl_torch::Model
  • RobotDynamics::rdl_torch::Model::bodyName(...)
  • RobotDynamics::rdl_torch::Model::findBody(...)
  • RobotDynamics::rdl_torch::Model::bodyId(...)
  • RobotDynamics::rdl_torch::Model::findFrame(...)
  • RobotDynamics::rdl_torch::Model::frameId(...)
  • RobotDynamics::rdl_torch::Model::frameName(...)
  • RobotDynamics::rdl_torch::exportModel(...)
  • RobotDynamics::rdl_torch::computeJointState(...)
  • RobotDynamics::rdl_torch::computeKinematics(...)
  • RobotDynamics::rdl_torch::splitState(...)
  • RobotDynamics::rdl_torch::bodyTransform(...)
  • RobotDynamics::rdl_torch::findFixedFrame(...)
  • RobotDynamics::rdl_torch::fixedFrameTransform(...)
  • RobotDynamics::rdl_torch::frameTransform(...)
  • RobotDynamics::rdl_torch::bodyLinearVelocity(...)
  • RobotDynamics::rdl_torch::worldLinearVelocity(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameLinearVelocityInWorld(...)
  • RobotDynamics::rdl_torch::bodyAngularVelocity(...)
  • RobotDynamics::rdl_torch::worldAngularVelocity(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInFrame(...)
  • RobotDynamics::rdl_torch::frameAngularVelocityInWorld(...)
  • RobotDynamics::rdl_torch::composeTransforms(...)
  • RobotDynamics::rdl_torch::applyMotionTransform(...)
  • RobotDynamics::rdl_torch::applyForceTransformTranspose(...)
  • RobotDynamics::rdl_torch::motionCross(...)
  • RobotDynamics::rdl_torch::forceCross(...)
  • RobotDynamics::rdl_torch::applyInertia(...)
  • RobotDynamics::rdl_torch::intrinsicZYXAngles(...)

Phase One Goals

  • Support batched execution on CPU and CUDA through libtorch tensors.
  • Support both float32 and float64 as first-class runtime dtypes.
  • Reuse rdl_model_parser and rdl_dynamics as the source of truth for model loading and numerical parity tests.
  • Cover the rigid-body core: forward kinematics, velocities, accelerations, Jacobians, inverse dynamics, joint-space inertia, and forward dynamics.
  • Keep frame-checking objects and ROS-specific runtime behavior out of the device kernels.

Phase One Non-Goals

  • Full API parity with frame-rich rdl_dynamics objects.
  • Custom joints on day one.
  • Contact solvers on day one.
  • Hydrodynamics on day one.
  • Mixed-topology batches in the first pass.

Phase One Chunks

Chunk 0: Package Skeleton

  • Keep rdl_torch as a standalone package under the rdl repo.
  • Add the package to the rdl meta-package.
  • Define the package as the future home for the torch backend, tests, and benchmarks.

Exit criteria:

  • Package exists, builds as an empty ament package once COLCON_IGNORE is removed, and has a working roadmap.

Chunk 1: Tensor Model Schema

  • Define a topology-only model representation that can be copied to CPU or CUDA.
  • Store parent indices, body indices, depth groups, joint type tags, q/qdot offsets, static joint transforms, inertias, centers of mass, and fixed-body mappings.
  • Keep this representation immutable after construction.

Exit criteria:

  • A single struct or small group of structs can fully describe one robot topology without ReferenceFramePtr, ROS nodes, or mutable scratch state.

Chunk 2: RDL-to-Torch Exporter

  • Build a converter from RobotDynamics::Model into the tensor model schema.
  • Reuse rdl_model_parser for URDF and MJCF ingestion.
  • Normalize naming and indexing so parity tests can compare CPU and torch outputs directly.

Exit criteria:

  • A parsed RobotDynamics::Model can be exported once and reused for repeated batched evaluations.

Chunk 3: Dtype and Device Policy

  • Make dtype explicit at construction and execution time.
  • Support torch.float32 and torch.float64 everywhere in the phase-one API.
  • Reject unsupported dtypes early with clear errors.
  • Keep device transfer rules explicit rather than implicit.

Exit criteria:

  • Every public entry point documents accepted dtypes and devices and behaves identically across CPU and CUDA for the same dtype within tolerance.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rdl_torch at Robotics Stack Exchange