18 #ifndef GZ_SIM_SYSTEMS_MULTICOPTER_CONTROL_LEEVELOCITYCONTROLLER_HH_
19 #define GZ_SIM_SYSTEMS_MULTICOPTER_CONTROL_LEEVELOCITYCONTROLLER_HH_
21 #include <Eigen/Geometry>
23 #include "gz/sim/config.hh"
33 inline namespace GZ_SIM_VERSION_NAMESPACE {
36 namespace multicopter_control
69 public:
void CalculateRotorVelocities(
72 Eigen::VectorXd &_rotorVelocities)
const;
80 private: Eigen::Vector3d ComputeDesiredAcceleration(
85 private: Eigen::Vector3d ComputeDesiredAngularAcc(
87 const Eigen::Vector3d &_acceleration)
const;
91 private:
bool InitializeParameters();
100 private: Eigen::Vector3d normalizedAttitudeGain;
103 private: Eigen::Vector3d normalizedAngularRateGain;
107 private: Eigen::MatrixX4d angularAccToRotorVelocities;