cisst-saw
Loading...
Searching...
No Matches
robKinematics.h
Go to the documentation of this file.
1
2
3#ifndef _robKinematics_h
4#define _robKinematics_h
5
6#include <iostream>
7
10#include <cisstRobot/robJoint.h>
11
12#if CISST_HAS_JSON
13#include <json/json.h>
14#endif
15
17
19
20 public:
21
23
33
34 private:
35
38
39 protected:
40
42 virtual void ReadParameters( std::istream& is ) = 0;
43#if CISST_HAS_JSON
44 virtual void ReadParameters(const Json::Value &config) = 0;
45#endif
46
48 virtual void WriteParameters( std::ostream& os ) const = 0;
49
50 public:
51
54
56 robKinematics( const robJoint& joint , robKinematics::Convention convention );
57
58 virtual ~robKinematics() {}
59
61
64 robKinematics::Convention GetConvention() const { return convention; }
65
67 robKinematics::Errno Read( std::istream& is );
68#if CISST_HAS_JSON
69 robKinematics::Errno Read(const Json::Value &config);
70#endif
71
73 robKinematics::Errno Write( std::ostream& os ) const;
74
76
82 virtual vctFrame4x4<double> ForwardKinematics( double q ) const = 0;
83
85
91 virtual vctMatrixRotation3<double> Orientation( double q ) const = 0;
92
94
103
105
107 virtual robKinematics* Clone() const = 0;
108
110
112 static robKinematics* Instantiate( const std::string& type );
113
114};
115
116#endif // _robKinematics_h
robJoint()
Default constructor.
Errno
Definition robJoint.h:55
virtual void ReadParameters(std::istream &is)=0
Read the parameters of the kinematics convention.
robKinematics(robKinematics::Convention convention)
Default constructor.
Convention
Kinematics convention.
Definition robKinematics.h:26
@ HAYATI
Definition robKinematics.h:30
@ MODIFIED_DH
Definition robKinematics.h:29
@ MODIFIED_HAYATI
Definition robKinematics.h:31
@ UNDEFINED
Definition robKinematics.h:27
@ STANDARD_DH
Definition robKinematics.h:28
virtual vctMatrixRotation3< double > Orientation(double q) const =0
Get the orientation of the link.
robKinematics::Errno Write(std::ostream &os) const
Write the kinematics parameters and joints parameters.
static robKinematics * Instantiate(const std::string &type)
Instantiate a kinematic convention by name.
robKinematics::Errno Read(std::istream &is)
Read the kinematics parameters and joints parameters.
robKinematics(const robJoint &joint, robKinematics::Convention convention)
Overloaded constructor.
virtual robKinematics * Clone() const =0
Kinematics objects must be able to clone themselves.
virtual vctFrame4x4< double > ForwardKinematics(double q) const =0
Get the position and orientation of the link.
virtual vctFixedSizeVector< double, 3 > PStar() const =0
Return the position of the next (distal) link coordinate frame.
robKinematics::Convention GetConvention() const
Return the kinematics convention.
Definition robKinematics.h:64
virtual ~robKinematics()
Definition robKinematics.h:58
virtual void WriteParameters(std::ostream &os) const =0
Write the parameters of the kinematics convention.
Implementation of a fixed-size vector using template metaprogramming.
Definition vctFixedSizeVector.h:54
Template base class for a 4x4 frame.
Definition vctFrame4x4.h:51
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3.h:51
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Declaration of vctFrame4x4.
Declaration of vctMatrixRotation3.