MRPT
v2.1.5

Get it

  • Download MRPT
  • Compiling
  • License
  • Change Log

Learn it

  • Tutorials
  • Applications
  • Supported sensors

Advanced

  • MRPT modules
  • Contributing
  • C++ API
    • [mrpt-apps]
    • [mrpt-base]
    • [mrpt-bayes]
    • [mrpt-comms]
    • [mrpt-config]
    • [mrpt-containers]
    • [mrpt-core]
    • [mrpt-detectors]
    • [mrpt-expr]
    • [mrpt-graphs]
    • [mrpt-graphslam]
    • [mrpt-gui]
    • [mrpt-hmtslam]
    • [mrpt-hwdrivers]
    • [mrpt-img]
    • [mrpt-io]
    • [mrpt-kinematics]
    • [mrpt-maps]
    • [mrpt-math]
    • [mrpt-nanoflann]
    • [mrpt-nav]
    • [mrpt-obs]
    • [mrpt-opengl]
    • [mrpt-poses]
    • [mrpt-random]
    • [mrpt-ros1bridge]
    • [mrpt-rtti]
    • [mrpt-serialization]
    • [mrpt-slam]
    • [mrpt-system]
    • [mrpt-tfest]
    • [mrpt-topography]
    • [mrpt-typemeta]
    • [mrpt-vision-lgpl]
    • [mrpt-vision]
    • nanoflann C++ library for ANN
    • Bibliography
    • Change Log
    • Deprecated List
    • External library dependencies and build options
    • Maps and observations compatibility matrix
    • Porting code from MRPT 1.{3,4,5} to MRPT 2.*
    • Todo List
    • lib_mrpt_apps
    • lib_mrpt_base
    • lib_mrpt_bayes
    • lib_mrpt_comms
    • lib_mrpt_config
    • lib_mrpt_config_INI_file_format
    • lib_mrpt_containers
    • lib_mrpt_core
    • lib_mrpt_core_exceptions
    • lib_mrpt_detectors
    • lib_mrpt_expr
    • lib_mrpt_graphs
    • lib_mrpt_graphslam
    • lib_mrpt_gui
    • lib_mrpt_hmtslam
    • lib_mrpt_hwdrivers
    • lib_mrpt_img
    • lib_mrpt_io
    • lib_mrpt_kinematics
    • lib_mrpt_maps
    • lib_mrpt_math
    • lib_mrpt_math_lwgeom
    • lib_mrpt_math_matrices
    • lib_mrpt_nanoflann
    • lib_mrpt_nav
    • lib_mrpt_obs
    • lib_mrpt_opengl
    • lib_mrpt_poses
    • lib_mrpt_random
    • lib_mrpt_ros1bridge
    • lib_mrpt_rtti
    • lib_mrpt_serialization
    • lib_mrpt_slam
    • lib_mrpt_system
    • lib_mrpt_tfest
    • lib_mrpt_topography
    • lib_mrpt_typemeta
    • lib_mrpt_vision
    • lib_mrpt_vision_lgpl
    • Global Namespace
      • namespace mrpt
        • namespace mrpt::apps
        • namespace mrpt::comms
        • namespace mrpt::config
        • namespace mrpt::containers
        • namespace mrpt::cpu
        • namespace mrpt::expr
        • namespace mrpt::global_settings
        • namespace mrpt::gui
        • namespace mrpt::img
        • namespace mrpt::internal
        • namespace mrpt::io
        • namespace mrpt::kinematics
        • namespace mrpt::nav
        • namespace mrpt::obs
        • namespace mrpt::rtti
        • namespace mrpt::serialization
        • namespace mrpt::system
        • namespace mrpt::typemeta
        • namespace mrpt::vision
        • template struct mrpt::ExceptionWithCallBack
        • struct mrpt::ExceptionWithCallBackBase
        • template struct mrpt::is_defined<T, std::enable_if_t<(sizeof(T)> 0)>
        • template struct mrpt::is_defined
        • template struct mrpt::is_shared_ptr
        • template struct mrpt::is_shared_ptr<std::shared_ptr<T>>
        • template class mrpt::aligned_allocator_cpp11
        • Global Functions
      • namespace nanoflann
      • namespace octomap
      • namespace ros
      • namespace sensor_msgs
      • namespace std
      • namespace string_literals
      • enum Directions
      • enum J_COLOR_SPACE
      • enum J_DCT_METHOD
      • enum J_DITHER_MODE
      • enum JohnsonBodyPart
      • enum TestColors
      • struct Bar1
      • struct Bar2
      • struct CAngularObservationMesh_fnctr
      • struct CObject
      • struct CObservation3DRangeScan_Points_MemPoolData
      • struct CObservation3DRangeScan_Points_MemPoolParams
      • struct CObservation3DRangeScan_Ranges_MemPoolData
      • struct CObservation3DRangeScan_Ranges_MemPoolParams
      • struct CRenderizableShaderTexturedTriangles_MemPoolData
      • struct CvCBCorner
      • struct CvCBQuad
      • struct CvContourEx
      • struct FontData
      • template struct Foo
      • struct JHUFF_TBL
      • struct JQUANT_TBL
      • struct LUT_info
      • struct LoadedModuleInfo
      • struct MapAuxPFCleanup
      • struct MapCanComputeLikelihood
      • struct MapExecutor
      • struct MapIsEmpty
      • struct MatchingVertex
      • struct ModulesRegistry
      • struct MyFooClass
      • struct MyGlobalProfiler
      • struct PlyElement
      • struct PlyFile
      • struct PlyProperty
      • struct SegmentVector
      • struct T2ListsOfSegments
      • struct TAuxLoadFunctor
      • struct TAuxRangeMeasInfo
      • struct TCommonRegion
      • struct TDUOParams
      • struct TDistance
      • struct TFace
      • struct TFunctorLaserSimulData
      • struct TGap
      • struct TInterpQuery
      • struct TLocalPoint
      • struct TObs
      • struct TOldCellTypeInVersion1
      • struct TParsersRegistry
      • struct TPrevious
      • struct TSegmentWithLine
      • struct TTempIntersection
      • struct TVertex
      • struct XPMColorMapData
      • struct jpeg_common_struct
      • struct jpeg_component_info
      • struct jpeg_compress_struct
      • struct jpeg_decompress_struct
      • struct jpeg_destination_mgr
      • struct jpeg_error_mgr
      • struct jpeg_marker_struct
      • struct jpeg_memory_mgr
      • struct jpeg_progress_mgr
      • struct jpeg_scan_info
      • struct jpeg_source_mgr
      • template struct kfslam_traits<CRangeBearingKFSLAM>
      • template struct kfslam_traits
      • template struct kfslam_traits<CRangeBearingKFSLAM2D>
      • struct mrpt_destination_mgr
      • struct my_source_mgr
      • template struct pf2gauss_t<mrpt::slam::CMonteCarloLocalization2D>
      • template struct pf2gauss_t<CMonteCarloLocalization3D>
      • template struct pf2gauss_t
      • struct rgbRecord
      • struct sort_pred
      • class CAboutBox
      • class CAboutBoxBase
      • class CAboutBoxQt
      • class CDialogAskUserForCamera
      • class CDisplayWindow_WXAPP
      • template class CGraphSlamHandler
      • class CMyRedirector
      • class FAddUntracedLines
      • class FCreatePolygon
      • template class FCreatePolygonFromFace
      • class FSetColor
      • class FUnprojectPolygon2D
      • template class GraphSlamLevMarqTest
      • template class GraphTester
      • class ICPTests
      • class KmTree
      • class MD5
      • class Pose3DPDFGaussTests
      • class Pose3DQuatPDFGaussTests
      • class Pose3DQuatTests
      • class Pose3DTests
      • class PosePDFGaussTests
      • class QuaternionTests
      • template class SE_traits_tests
      • Typedefs
      • Global Variables
      • Global Functions
      • Macros
MRPT
  • »
  • C++ API »
  • Global Namespace »
  • namespace mrpt »
  • namespace mrpt::kinematics »
  • struct mrpt::kinematics::TKinematicLink
  • Edit on GitHub

struct mrpt::kinematics::TKinematicLink¶

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”)

Next Previous

© Copyright 2020 MRPT authors. Last updated on 14:24, Dec 07, 2020.

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