orocos_kdl
kukaLWR_DHnew.cpp
Go to the documentation of this file.
1 // Copyright (C) 2009 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
2 
3 // Version: 1.0
4 // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
5 // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
6 // URL: http://www.orocos.org/kdl
7 
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Lesser General Public
10 // License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 
22 #include <chain.hpp>
23 #include "models.hpp"
24 
25 namespace KDL{
27  Chain kukaLWR_DHnew;
28 
29  //joint 0
30  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::None),
31  Frame::DH_Craig1989(0.0, 0.0, 0.31, 0.0)
32  ));
33  //joint 1
34  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
35  Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0),
36  Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
37  Vector::Zero(),
38  RotationalInertia(0.0,0.0,0.0115343,0.0,0.0,0.0))));
39 
40  //joint 2
41  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
42  Frame::DH_Craig1989(0.0, -1.5707963, 0.4, 0.0),
43  Frame::DH_Craig1989(0.0, -1.5707963, 0.4, 0.0).Inverse()*RigidBodyInertia(2,
44  Vector(0.0,-0.3120511,-0.0038871),
45  RotationalInertia(-0.5471572,-0.0000302,-0.5423253,0.0,0.0,0.0018828))));
46 
47  //joint 3
48  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
49  Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0),
50  Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
51  Vector(0.0,-0.0015515,0.0),
52  RotationalInertia(0.0063507,0.0,0.0107804,0.0,0.0,-0.0005147))));
53 
54  //joint 4
55  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
56  Frame::DH_Craig1989(0.0, 1.5707963, 0.39, 0.0),
57  Frame::DH_Craig1989(0.0, 1.5707963, 0.39, 0.0).Inverse()*RigidBodyInertia(2,
58  Vector(0.0,0.5216809,0.0),
59  RotationalInertia(-1.0436952,0.0,-1.0392780,0.0,0.0,0.0005324))));
60 
61  //joint 5
62  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
63  Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0),
64  Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
65  Vector(0.0,0.0119891,0.0),
66  RotationalInertia(0.0036654,0.0,0.0060429,0.0,0.0,0.0004226))));
67 
68  //joint 6
69  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
70  Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0),
71  Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
72  Vector(0.0,0.0080787,0.0),
73  RotationalInertia(0.0010431,0.0,0.0036376,0.0,0.0,0.0000101))));
74  //joint 7
75  kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
78  Vector::Zero(),
79  RotationalInertia(0.000001,0.0,0.0001203,0.0,0.0,0.0))));
80  return kukaLWR_DHnew;
81  }
82 
83 }
chain.hpp
KDL::Frame::Identity
static Frame Identity()
Definition: frames.inl:700
KDL::Joint::RotZ
@ RotZ
Definition: joint.hpp:47
KDL::Vector::Zero
static Vector Zero()
Definition: frames.inl:138
KDL::RigidBodyInertia
6D Inertia of a rigid body
Definition: rigidbodyinertia.hpp:37
KDL
Definition: kukaLWR_DHnew.cpp:25
KDL::Vector
A concrete implementation of a 3 dimensional vector class.
Definition: frames.hpp:162
KDL::RotationalInertia
Definition: rotationalinertia.hpp:34
KDL::Joint::None
@ None
Definition: joint.hpp:47
KDL::Frame::DH_Craig1989
static Frame DH_Craig1989(double a, double alpha, double d, double theta)
Definition: frames.cpp:78
KDL::Segment
This class encapsulates a simple segment, that is a "rigid body" (i.e., a frame and a rigid body ine...
Definition: segment.hpp:46
KDL::KukaLWR_DHnew
Chain KukaLWR_DHnew()
Definition: kukaLWR_DHnew.cpp:26
KDL::Chain::addSegment
void addSegment(const Segment &segment)
Definition: chain.cpp:53
models.hpp
KDL::Joint
This class encapsulates a simple joint, that is with one parameterized degree of freedom and with sca...
Definition: joint.hpp:45
KDL::Chain
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
Definition: chain.hpp:35