Robotics Library
0.7.0
rl
kin
Joint.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2009, Markus Rickert
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are met:
7
//
8
// * Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
// POSSIBILITY OF SUCH DAMAGE.
25
//
26
27
#ifndef RL_KIN_JOINT_H
28
#define RL_KIN_JOINT_H
29
30
#include <unordered_set>
31
#include <
rl/math/Unit.h
>
32
33
#include "
Transform.h
"
34
35
namespace
rl
36
{
37
namespace
kin
38
{
39
class
Joint
:
public
Transform
40
{
41
public
:
42
Joint
();
43
44
virtual
~Joint
();
45
46
::rl::math::Real
getPosition
()
const
;
47
48
virtual ::rl::math::Unit
getPositionUnit
()
const
= 0;
49
50
virtual ::rl::math::Unit
getSpeedUnit
()
const
= 0;
51
52
virtual
void
jacobian
(
const ::rl::math::Transform
& tcp, ::
rl::math::MatrixBlock
& j) = 0;
53
54
virtual
void
setPosition
(
const ::rl::math::Real
&
q
);
55
56
::rl::math::Real
a
;
57
58
::rl::math::Real
alpha
;
59
60
::rl::math::Real
d
;
61
62
::std::unordered_set< ::std::size_t>
leaves
;
63
64
::rl::math::Real
max
;
65
66
::rl::math::Real
min
;
67
68
::rl::math::Real
offset
;
69
70
::rl::math::Real
speed
;
71
72
::rl::math::Real
theta
;
73
74
bool
wraparound
;
75
76
protected
:
77
::rl::math::Real
q
;
78
79
private
:
80
81
};
82
}
83
}
84
85
#endif // RL_KIN_JOINT_H
rl::kin::Joint::theta
::rl::math::Real theta
Definition:
Joint.h:72
rl::kin::Joint::q
::rl::math::Real q
Definition:
Joint.h:77
rl::kin::Joint::d
::rl::math::Real d
Definition:
Joint.h:60
rl::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Rigid transformation in 3D.
Definition:
Transform.h:46
rl::kin::Joint::max
::rl::math::Real max
Definition:
Joint.h:64
rl::kin::Joint::a
::rl::math::Real a
Definition:
Joint.h:56
rl::kin::Joint::offset
::rl::math::Real offset
Definition:
Joint.h:68
rl::kin::Joint
Definition:
Joint.h:40
Transform.h
rl::kin::Joint::Joint
Joint()
Definition:
Joint.cpp:33
rl::kin::Joint::getPosition
::rl::math::Real getPosition() const
Definition:
Joint.cpp:54
rl::kin::Joint::wraparound
bool wraparound
Definition:
Joint.h:74
rl::math::MatrixBlock
::Eigen::Block< Matrix > MatrixBlock
Definition:
Matrix.h:52
rl::kin::Joint::min
::rl::math::Real min
Definition:
Joint.h:66
rl::kin::Joint::speed
::rl::math::Real speed
Definition:
Joint.h:70
rl::kin::Joint::getSpeedUnit
virtual ::rl::math::Unit getSpeedUnit() const =0
rl::kin::Joint::~Joint
virtual ~Joint()
Definition:
Joint.cpp:49
rl::math::Unit
Unit
Definition:
Unit.h:162
rl::kin::Joint::jacobian
virtual void jacobian(const ::rl::math::Transform &tcp, ::rl::math::MatrixBlock &j)=0
rl::kin::Joint::leaves
::std::unordered_set< ::std::size_t > leaves
Definition:
Joint.h:62
rl::kin::Joint::getPositionUnit
virtual ::rl::math::Unit getPositionUnit() const =0
rl::kin::Joint::setPosition
virtual void setPosition(const ::rl::math::Real &q)
Definition:
Joint.cpp:60
rl::math::Real
double Real
Definition:
Real.h:42
rl::kin::Joint::alpha
::rl::math::Real alpha
Definition:
Joint.h:58
rl::kin::Transform
Definition:
Transform.h:41
Unit.h
rl
Robotics Library.
Definition:
AnalogInput.cpp:30
Generated by
1.8.20