Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef ROTORS_GAZEBO_PLUGIN_MOTOR_CONTROLLER_H
00023 #define ROTORS_GAZEBO_PLUGIN_MOTOR_CONTROLLER_H
00024
00025 #include <Eigen/Eigen>
00026
00027 class MotorController
00028 {
00029 public:
00030 MotorController(int amount_motors) :
00031 ref_rotor_rot_vels_(Eigen::VectorXd::Zero(amount_motors)){};
00032 virtual ~MotorController();
00033 void getMotorVelocities() {
00034 calculateRefMotorVelocities();
00035 return ref_rotor_rot_vels_;
00036 }
00037
00038 virtual void calculateRefMotorVelocities() = 0;
00039 virtual void initializeParams() = 0;
00040 virtual void publish() = 0;
00041
00042 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00043 protected:
00044
00045
00046
00047 Eigen::Vector3d position_;
00048 Eigen::Vector3d velocity_;
00049 Eigen::Quaternion attitude_;
00050 Eigen::VectorXd ref_rotor_rot_vels_;
00051 };
00052
00053 #endif // ROTORS_GAZEBO_PLUGIN_MOTOR_CONTROLLER_H
rotors_gazebo_plugins
Author(s): Fadri Furrer, Michael Burri, Mina Kamel, Janosch Nikolic, Markus Achtelik
autogenerated on Thu Apr 18 2019 02:43:43