00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #include <chain.hpp>
00023 #include "models.hpp"
00024 
00025 namespace KDL{
00026     Chain KukaLWR_DHnew(){
00027         Chain kukaLWR_DHnew;
00028         
00029         
00030         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::None),
00031                                   Frame::DH_Craig1989(0.0, 0.0, 0.31, 0.0)
00032                                   ));
00033         
00034         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00035                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0),
00036                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
00037                                                                                                  Vector::Zero(),
00038                                                                                                  RotationalInertia(0.0,0.0,0.0115343,0.0,0.0,0.0))));
00039                                    
00040         
00041         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00042                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.4, 0.0),
00043                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.4, 0.0).Inverse()*RigidBodyInertia(2,
00044                                                                                                    Vector(0.0,-0.3120511,-0.0038871),
00045                                                                                                    RotationalInertia(-0.5471572,-0.0000302,-0.5423253,0.0,0.0,0.0018828))));
00046                                   
00047         
00048         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00049                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0),
00050                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
00051                                                                                                    Vector(0.0,-0.0015515,0.0),
00052                                                                                                    RotationalInertia(0.0063507,0.0,0.0107804,0.0,0.0,-0.0005147))));
00053                                   
00054         
00055         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00056                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.39, 0.0),
00057                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.39, 0.0).Inverse()*RigidBodyInertia(2,
00058                                                                                                    Vector(0.0,0.5216809,0.0),
00059                                                                                                    RotationalInertia(-1.0436952,0.0,-1.0392780,0.0,0.0,0.0005324))));
00060                                   
00061         
00062         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00063                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0),
00064                                   Frame::DH_Craig1989(0.0, 1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
00065                                                                                                    Vector(0.0,0.0119891,0.0),
00066                                                                                                    RotationalInertia(0.0036654,0.0,0.0060429,0.0,0.0,0.0004226))));
00067                                   
00068         
00069         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00070                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0),
00071                                   Frame::DH_Craig1989(0.0, -1.5707963, 0.0, 0.0).Inverse()*RigidBodyInertia(2,
00072                                                                                                    Vector(0.0,0.0080787,0.0),
00073                                                                                                    RotationalInertia(0.0010431,0.0,0.0036376,0.0,0.0,0.0000101))));
00074         
00075         kukaLWR_DHnew.addSegment(Segment(Joint(Joint::RotZ),
00076                                    Frame::Identity(),
00077                                    RigidBodyInertia(2,
00078                                                                                                    Vector::Zero(),
00079                                                                                                    RotationalInertia(0.000001,0.0,0.0001203,0.0,0.0,0.0))));
00080         return kukaLWR_DHnew;
00081     }
00082     
00083 }