AUV-Coop-Assembly
Master Thesis for Robotics Engineering. Cooperative peg-in-hole assembly with two underwater vehicles guided by vision
collisionPropagator.h
1 #ifndef COLLISIONPROPAGATOR_H
2 #define COLLISIONPROPAGATOR_H
3 
4 #include <Eigen/Core>
5 
6 #include "../../support/header/defines.h"
7 #include "../../support/header/conversions.h"
8 
9 
21 {
22 public:
23 
24  static std::vector<double> calculateCollisionDisturbArmVeh(
25  Eigen::Matrix<double, 6, TOT_DOF>world_J_tip,
26  Eigen::Matrix4d wTpegtip, Eigen::Vector3d forces, Eigen::Vector3d torques);
27 
28  static std::vector<double> calculateCollisionDisturb(
29  Eigen::Matrix<double, 6, ARM_DOF>world_J_veh_tip,
30  Eigen::Matrix4d wTpegtip, Eigen::Vector3d forces, Eigen::Vector3d torques);
31 
32  static std::vector<double> calculateCollisionDisturbVeh(
33  Eigen::Matrix<double, 6, VEHICLE_DOF>world_J_veh_tip,
34  Eigen::Matrix4d wTpegtip, Eigen::Vector3d forces, Eigen::Vector3d torques);
35 
36 
37 private:
38  // Disallow creating an instance of this object, it is useless since all functions are static
40 
41  static Eigen::Matrix<double, TOT_DOF, 1> fromPegTipToWholeRobot(
42  Eigen::Matrix<double, 6, TOT_DOF>world_J_tip, Eigen::Vector3d w_forces, Eigen::Vector3d w_torques);
43 
44 
45  static Eigen::Matrix<double, ARM_DOF, 1> fromPegTipToWholeArm(
46  Eigen::Matrix<double, 6, ARM_DOF>tip_J_veh_tip,
47  Eigen::Vector3d forces, Eigen::Vector3d torques);
48 
49  static Eigen::Matrix<double, VEHICLE_DOF, 1> fromPegTipToVehicle(
50  Eigen::Matrix<double, 6, VEHICLE_DOF>tip_J_veh_tip,
51  Eigen::Vector3d forces, Eigen::Vector3d torques);
52 
53 
54 };
55 
56 #endif // COLLISIONPROPAGATOR_H
The CollisionPropagator class It is used to propagate a force suffered by the tip (where the passed j...