MRPT
2.14.8

Get it

  • Download MRPT
  • Compiling
  • License
  • Change Log
  • Authors

Learn it

  • Tutorials
  • Applications
  • C++ examples
  • Python examples
  • Wrappers
  • Supported sensors
  • Unit testing in MRPT
  • Children projects

Advanced

  • MRPT modules
    • [mrpt-apps]
    • [mrpt-core]
    • [mrpt-bayes]
    • [mrpt-comms]
    • [mrpt-config]
    • [mrpt-containers]
    • [mrpt-expr]
    • [mrpt-graphs]
    • [mrpt-graphslam]
    • [mrpt-gui]
    • [mrpt-hwdrivers]
    • [mrpt-img]
    • [mrpt-io]
    • [mrpt-kinematics]
      • struct mrpt::kinematics::TKinematicLink
        • Overview
      • class mrpt::kinematics::CKinematicChain
      • class mrpt::kinematics::CVehicleSimulVirtualBase
      • class mrpt::kinematics::CVehicleSimul_DiffDriven
      • class mrpt::kinematics::CVehicleSimul_Holo
      • class mrpt::kinematics::CVehicleVelCmd
      • class mrpt::kinematics::CVehicleVelCmd_DiffDriven
      • class mrpt::kinematics::CVehicleVelCmd_Holo
      • Overview
      • Library mrpt-kinematics
      • Library contents
    • [mrpt-maps]
    • [mrpt-math]
    • [mrpt-nav]
    • [mrpt-obs]
    • [mrpt-opengl]
    • [mrpt-poses]
    • [mrpt-random]
    • [mrpt-ros1bridge]
    • [mrpt-ros2bridge]
    • Round functions (in #include <mrpt/core/round.h>)
    • [mrpt-rtti]
    • [mrpt-serialization]
    • [mrpt-slam]
    • [mrpt-system]
    • [mrpt-tfest]
    • [mrpt-topography]
    • [mrpt-typemeta]
    • [mrpt-vision]
  • Contributing
  • Bibliography
  • C++ API
  • Docs for other versions
MRPT
  • MRPT modules
  • [mrpt-kinematics]
  • struct mrpt::kinematics::TKinematicLink
  • Edit on GitHub

struct mrpt::kinematics::TKinematicLink

Overview

An individual kinematic chain element (one link) which builds up a CKinematicChain.

The parameterization of the SE(3) transformation from the starting point to the end point follows a Denavit-Hartenberg standard parameterization: [theta, d, a, alpha].

#include <mrpt/kinematics/CKinematicChain.h>

struct TKinematicLink
{
    // fields

    double theta {0};
    double d {0};
    double a {0};
    double alpha {0};
    bool is_prismatic {false};

    // construction

    TKinematicLink(
        double _theta,
        double _d,
        double _a,
        double _alpha,
        bool _is_prismatic
        );

    TKinematicLink();
};

Fields

double theta {0}

Rotation from X_i to X_{i+1} (radians)

double d {0}

Distance along Z_i to the common normal between Z_i and Z_{i+1}.

double a {0}

Distance along the common normal (in the same direction than the new X_{i+1})

double alpha {0}

Rotation along X_{i+1} to transform Z_i into Z_{i+1}.

bool is_prismatic {false}

“false”: Is revolute (“q_i” is “theta”), “true”: is prismatic (“q_i” is “d”)

Previous Next

© Copyright 2025 MRPT authors. Last updated on 10:40, Apr 25, 2025.

Built with Sphinx using a theme provided by Read the Docs.