7 using namespace ROBOOP;
13 cout <<
"=====================================================\n";
14 cout <<
" Katana6M180 \n";
15 cout <<
" DEMO program \n";
16 cout <<
"=====================================================\n";
59 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60 0, 0, 0, 0,
M_PI/2.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
61 0, 0, 0, 0.19, 0, 0, 0, 0, 0.926,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
62 0, 0, 0, 0.139, 0, 0, 0, 0, 0.745,0.69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63 0, 0, 0.1473, 0, -
M_PI/2.0, 0, 0, 0, 0.366,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
64 0, 0, 0.166, 0, 0, 0, 0, 0,0.181,0, 0, 0.08, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
68 Matrix initrob(6,23), Tobj;
73 cout <<
"=====================================================\n";
74 cout <<
"Katana 6M180 kinematics\n";
75 cout <<
"=====================================================\n";
80 cout <<
"Robot D-H parameters\n";
81 cout <<
" type theta d a alpha\n";
82 cout << setw(7) << setprecision(3) << initrob.SubMatrix(1,dof,1,5);
85 cout <<
"DOF = " << dof;
88 cout <<
"Robot joints variables\n";
89 cout << setw(7) << setprecision(3) << robot.
get_q();
92 cout <<
"Robot position\n";
93 cout << setw(7) << setprecision(3) << robot.
kine();
103 cout <<
"Robot joints variables\n";
104 cout << setw(7) << setprecision(3) << robot.
get_q();
107 cout <<
"Robot Pose\n";
109 cout << setw(7) << setprecision(3) << Pos;
112 cout <<
"x,y,z coordinates\n";
113 cout << Pos(1,4) <<
"\n" << Pos(2,4) <<
"\n" << Pos(3,4) <<
"\n";
120 cout <<
"Robot inverse kinematics\n";
121 cout <<
" q start q final q real\n";
122 cout << setw(7) << setprecision(3) << (qs | robot.
inv_kin(Xobj) | qr);
int get_dof() const
Return dof.
const Real Katana180_data[]
Robots class definitions.
ReturnMatrix inv_kin(const Matrix &Tobj, const int mj=0)
Overload inv_kin function.
void set_q(const ColumnVector &q)
Set the joint position vector.
Modified DH notation robot class.
The usual rectangular matrix.
Header file for graphics definitions.
void kine(Matrix &Rot, ColumnVector &pos) const
Direct kinematics at end effector.
Real get_q(const int i) const