AUV-Coop-Assembly
Master Thesis for Robotics Engineering. Cooperative peg-in-hole assembly with two underwater vehicles guided by vision
infos.h
1 #ifndef INFOS_H
2 #define INFOS_H
3 
4 #include "../../support/header/defines.h"
5 #include <Eigen/Core>
6 #include <vector>
7 
13 struct Transforms {
14 
15  Eigen::Matrix4d wTgoalVeh_eigen; //goal for vehicle
16  Eigen::Matrix4d wTgoalEE_eigen; //goal for EE (will be projected on veh inside task)
17  Eigen::Matrix4d wTgoalTool_eigen; //goal for tool (tool frame is in the center of pipe)
18 
19  Eigen::Matrix4d wTt_eigen; //tool in the world
20  Eigen::Matrix4d wTholeEstimated_eigen;
21 
22  //Eigen::Matrix4d otherEE_T_EE; //for firm grasp constrain
23  Eigen::Matrix4d wTotherPeg;
24 
25 };
26 
31 struct RobotState {
32 
34  Eigen::Matrix4d wTv_eigen; //world to vehicle
35  Eigen::Matrix4d link0Tee_eigen; //link0 to end effector
36  Eigen::Matrix4d vTee_eigen; //vehicle to end effector (redundant but useful)
37 
38  // ASK Is it necessary? or only vTEE is needed?
39  //Eigen::Matrix4d link0TEE_eigen; //from base joint to EE
40 
41  std::vector<Eigen::Matrix4d> wTjoints; // world to each joint
42  //Eigen::Matrix4d vTee_eigen; //vehicle to endEffector
43 
45  std::vector<double> vehicleVel;
46  std::vector<double> jState; //joint state (rad)
47 
49 
50  //geometric jacobian of the arm projected on link 0 with end effector as last frame
51  // (ie: ee is the controlled one)
52  Eigen::Matrix<double, 6, ARM_DOF> link0_Jee_man;
53 
54  //geometric jacobian of the arm projected on link 0 with tool as last frame
55  // (ie: tool is the controlled one)
56  //Eigen::Matrix<double, 6, ARM_DOF> link0_Jtool_man;
57  Eigen::Matrix<double, 6, ARM_DOF> v_Jtool_man;
58 
59 
60 
61  //geometric jacobian of the whole robot projected on the world
62  //with end effector as last frame (ie: ee is the controlled one)
63  //(J=[J_pos ; J_or] from Antonelly book
64  Eigen::Matrix<double, 6, TOT_DOF> w_Jee_robot;
65  //geometric jacobian of the whole robot projected on the world
66  //with tool as last frame (ie: tool is the controlled one)
67  //(J=[J_pos ; J_or] from Antonelly book
68  Eigen::Matrix<double, 6, TOT_DOF> w_Jtool_robot;
69  Eigen::Matrix<double, 6, TOT_DOF> w_JNoKdltool_robot;
70 
71 
72 
73 
74 };
75 
80 struct RobotStruct {
81 
82  //Necessary to compute each time the vTee in the control loop.
83  Eigen::Matrix4d vTlink0; //transformation between vehicle and link 0 (so, a fixed one)
84  //Eigen::Matrix4d eeTtool; // from end effector to peg, FIXED BECAUSE FIRM GRASP ASSUMPTION
85  Eigen::Matrix4d eeTtoolTip; // from end effector to insertion point of the peg, FIXED BECAUSE FIRM GRASP ASSUMPTION
86 
87 
88 
89 };
90 
99 struct ExchangedInfo {
100  //position in the world of the other twin robot. for now used only for obstacledistancetask
101  //(where the obstacle is the other vehicle)
102  Eigen::Vector3d otherRobPos;
103  Eigen::Matrix<double, VEHICLE_DOF, 1> coopCartVel;
104 };
105 
109 struct RobotSensor {
110 
111  // TODO usare info non from tip ma in vera posiz del force torque sensor...
112  Eigen::Vector3d forcePegTip;
113  Eigen::Vector3d torquePegTip;
114 
115 };
116 
117 struct Infos {
118  RobotStruct robotStruct;
119  RobotState robotState;
120  RobotSensor robotSensor;
121  Transforms transforms;
122  ExchangedInfo exchangedInfo;
123 };
124 
125 #endif // INFOS_H
std::vector< double > vehicleVel
vehicle and joint
Definition: infos.h:45
The Transforms struct VARIABLE AND CONSTANT infos necessary to the mission, but not related directly ...
Definition: infos.h:13
The RobotStruct struct CONSTANT info about the robot (e.g. fixed frame for vehicle to sensors) ...
Definition: infos.h:80
The RobotState struct VARIABLE info about the robot (e.g. position of vehicle respect world) ...
Definition: infos.h:31
The RobotSensor struct used to store info from robot sensors (eg force torque)
Definition: infos.h:109
Eigen::Matrix< double, 6, ARM_DOF > link0_Jee_man
Jacobians.
Definition: infos.h:52
Definition: infos.h:117
Eigen::Matrix4d wTv_eigen
Transforms.
Definition: infos.h:34
The ExchangedInfo struct VARIABLE infos about thing not physically internally in the robot (e...
Definition: infos.h:99