diff --git a/robots/twin_hammer/config/control/TwinHammerControl.yaml b/robots/twin_hammer/config/control/TwinHammerControl.yaml index ed403a597..20c7beade 100644 --- a/robots/twin_hammer/config/control/TwinHammerControl.yaml +++ b/robots/twin_hammer/config/control/TwinHammerControl.yaml @@ -3,7 +3,7 @@ aerial_robot_control_name: aerial_robot_control/twin_hammer_controller controller: use_haptics: true - use_polynominal: true + use_polynominal: false use_gaussian: false gimbal_roll_delta_angle: 0.1 gimbal_pitch_delta_angle: 0.1 diff --git a/robots/twin_hammer/src/control/twin_hammer_controller.cpp b/robots/twin_hammer/src/control/twin_hammer_controller.cpp index 03b814aa0..ad2139a95 100644 --- a/robots/twin_hammer/src/control/twin_hammer_controller.cpp +++ b/robots/twin_hammer/src/control/twin_hammer_controller.cpp @@ -252,7 +252,10 @@ void TwinHammerController::controlCore() if(i==0){virtual_thrust_1 = f_i.norm();} if(i==1){virtual_thrust_2 = f_i.norm();} double gimbal_i_roll = atan2(-f_i.y(), f_i.z()); + if(gimbal_i_roll > 3.1 || gimbal_i_roll < -3.1){gimbal_i_roll = 0.0;} double gimbal_i_pitch = atan2(f_i.x(), -f_i.y() * sin(gimbal_i_roll) + f_i.z() * cos(gimbal_i_roll)); + // if(gimbal_i_roll > 3.09 || gimbal_i_roll < -3.09){gimbal_i_roll = 3.14159265;} + // if(i==0){std::cout << gimbal_i_roll << std::endl;} // if(gimbal_i_roll > prev_gimbal_angles_.at(2*i) + gimbal_roll_delta_angle_){ // gimbal_i_roll = prev_gimbal_angles_.at(2*i) + gimbal_roll_delta_angle_; // } @@ -310,8 +313,6 @@ void TwinHammerController::controlCore() // target_gimbal_angles_.at(2*i) = gimbal_i_roll; target_gimbal_angles_.at(2*i+1) = gimbal_i_pitch; - // std::cout << "gimbal" << i << "roll is " << gimbal_i_roll << std::endl; - // std::cout << "gimbal" << i << "pitch is " << gimbal_i_pitch << std::endl; last_col += 3; } for(int i=0; i