Robotics Library  0.6.2
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 #ifdef WIN32
31 #include <unordered_set>
32 #else // WIN32
33 #include <tr1/unordered_set>
34 #endif // WIN32
35 
36 #include <rl/math/Unit.h>
37 
38 #include "Transform.h"
39 
40 namespace rl
41 {
42  namespace kin
43  {
44  class Joint : public Transform
45  {
46  public:
47  Joint();
48 
49  virtual ~Joint();
50 
52 
54 
56 
58 
59  virtual void setPosition(const ::rl::math::Real& q);
60 
62 
64 
66 
67  ::std::tr1::unordered_set< ::std::size_t > leaves;
68 
70 
72 
74 
76 
78 
79  bool wraparound;
80 
81  protected:
83 
84  private:
85 
86  };
87  }
88 }
89 
90 #endif // _RL_KIN_JOINT_H_
rl::kin::Joint::theta
::rl::math::Real theta
Definition: Joint.h:77
rl::kin::Joint::q
::rl::math::Real q
Definition: Joint.h:82
rl::kin::Joint::d
::rl::math::Real d
Definition: Joint.h:65
rl::kin::Joint::max
::rl::math::Real max
Definition: Joint.h:69
rl::kin::Joint::a
::rl::math::Real a
Definition: Joint.h:61
rl::kin::Joint::offset
::rl::math::Real offset
Definition: Joint.h:73
rl::kin::Joint
Definition: Joint.h:45
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:79
rl::kin::Joint::min
::rl::math::Real min
Definition: Joint.h:71
rl::math::MatrixBlock
::Eigen::Block< Matrix > MatrixBlock
Definition: Matrix.h:51
rl::kin::Joint::speed
::rl::math::Real speed
Definition: Joint.h:75
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::math::Transform
::Eigen::Transform< Real, 3, ::Eigen::Affine > Transform
Definition: Transform.h:42
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:34
rl::kin::Joint::leaves
::std::tr1::unordered_set< ::std::size_t > leaves
Definition: Joint.h:67
rl::kin::Joint::alpha
::rl::math::Real alpha
Definition: Joint.h:63
rl::kin::Transform
Definition: Transform.h:41
Unit.h
rl
Definition: Ati.cpp:35