Robotics Library  0.7.0
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 
47 
49 
51 
53 
54  virtual void setPosition(const ::rl::math::Real& q);
55 
57 
59 
61 
62  ::std::unordered_set< ::std::size_t> leaves;
63 
65 
67 
69 
71 
73 
74  bool wraparound;
75 
76  protected:
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