@@ -16,28 +16,27 @@ namespace massripple{
1616 double delta = 0.0 ;
1717 size_t critical_index = 0 ;
1818
19- Eigen::Matrix<double ,n_joints,n_joints > B;
20- Eigen::Matrix<double ,n_joints,n_joints > K;
21- Eigen::Matrix<double ,n_joints,n_joints > D;
22- Eigen::Matrix<double ,n_joints,n_joints > Kt;
23- Eigen::Matrix<double ,n_joints,n_joints > R;
19+ Eigen::Matrix<double ,n_joints,1 > B;
20+ Eigen::Matrix<double ,n_joints,1 > K;
21+ Eigen::Matrix<double ,n_joints,1 > D;
22+ Eigen::Matrix<double ,n_joints,1 > Kt;
23+ Eigen::Matrix<double ,n_joints,1 > R;
2424
25- Damper (const Eigen::Matrix<double ,n_joints,n_joints >& in_B,
26- const Eigen::Matrix<double ,n_joints,n_joints >& in_K,
27- const Eigen::Matrix<double ,n_joints,n_joints >& in_D,
28- const Eigen::Matrix<double ,n_joints,n_joints >& in_Kt,
29- const Eigen::Matrix<double ,n_joints,n_joints >& in_R) : B{in_B}, K{in_K}, D{in_D}, Kt{in_Kt}, R{in_R}
25+ Damper (const Eigen::Matrix<double ,n_joints,1 >& in_B,
26+ const Eigen::Matrix<double ,n_joints,1 >& in_K,
27+ const Eigen::Matrix<double ,n_joints,1 >& in_D,
28+ const Eigen::Matrix<double ,n_joints,1 >& in_Kt,
29+ const Eigen::Matrix<double ,n_joints,1 >& in_R) : B{in_B}, K{in_K}, D{in_D}, Kt{in_Kt}, R{in_R}
3030 {
3131 }
3232
3333
3434 void compute (const Eigen::Matrix<double ,n_joints,n_joints>& M,const Eigen::Matrix<double ,n_joints,1 >& dq,double sample_time){
3535 Eigen::Matrix<double ,n_joints,1 > w = 2 *R (dq.array ().abs ().matrix ());
3636 Eigen::Matrix<double ,n_joints,1 > G = Eigen::Matrix<double ,n_joints,1 >::Zero ();
37- for (double & g : G.rowwise ()){
38-
39- }
40- double amplitude = G.array ().abs ().maxCoeff (critical_index);
37+ for (size_t j = 0 ; j < n_joints; ++j)
38+ G[j] = Kt[j]/std::sqrt (std::pow (1 +Kt[j]+B[j]/M (j,j)-w[j]*w[j]/(K[j]*B[j]),2 )+std::pow (w[j]*D[j]/K[j]+w[j]*B[j]*D[j]/(K[j]*M (j,j)),2 ));
39+ G.array ().abs ().maxCoeff (critical_index);
4140 value = std::min ((dq[critical_index]*dq[critical_index])/(0.1 *0.1 ),1.0 );
4241 delta = std::abs (dq[critical_index]*sample_time);
4342 };
0 commit comments