Ben Katz
/
Hobbyking_Cheetah_V1
FOC Implementation for putting multirotor motors in robots
Embed:
(wiki syntax)
Show/hide line numbers
ImpedanceController.cpp
00001 #include "TorqueController.h" 00002 #include "ImpedanceController.h" 00003 #include "CurrentRegulator.h" 00004 #include "PositionSensor.h" 00005 00006 00007 ImpedanceController::ImpedanceController(TorqueController *torqueController, PositionSensor *sensor_pos, PositionSensor *sensor_vel){ 00008 _torqueController = torqueController; 00009 _sensor_pos = sensor_pos; 00010 _sensor_vel = sensor_vel; 00011 } 00012 00013 void ImpedanceController::SetImpedance(float K, float B, float ref){ 00014 float position = _sensor_pos->GetMechPosition(); 00015 float velocity = _sensor_vel->GetMechVelocity(); 00016 float error = ref-position; 00017 float output = K*error + B*velocity; 00018 00019 _torqueController->SetTorque(output); 00020 00021 } 00022
Generated on Wed Jul 13 2022 02:31:45 by 1.7.2