20 #ifndef UAV_DYNAMICS_SIM_BASE_HPP 21 #define UAV_DYNAMICS_SIM_BASE_HPP 23 #include <Eigen/Geometry> 26 #include <geometry_msgs/TransformStamped.h> 39 virtual int8_t
init() = 0;
41 const Eigen::Quaterniond& attitude) = 0;
46 virtual void process(
double dt_secs,
47 const std::vector<double> & motorSpeedCommandIn,
48 bool isCmdPercent) = 0;
54 virtual void getIMUMeasurement(Eigen::Vector3d & accOutput, Eigen::Vector3d & gyroOutput) = 0;
55 virtual bool getMotorsRpm(std::vector<double>& motorsRpm);
83 #endif // UAV_DYNAMICS_SIM_BASE_HPP virtual void process(double dt_secs, const std::vector< double > &motorSpeedCommandIn, bool isCmdPercent)=0
virtual Eigen::Vector3d getVehicleAngularVelocity(void) const =0
virtual Eigen::Quaterniond getVehicleAttitude() const =0
UavDynamicsSimBase()=default
virtual Eigen::Vector3d getVehiclePosition() const =0
virtual ~UavDynamicsSimBase()=default
virtual int8_t init()=0
Use rosparam here to initialize sim.
virtual void getIMUMeasurement(Eigen::Vector3d &accOutput, Eigen::Vector3d &gyroOutput)=0
virtual bool getMotorsRpm(std::vector< double > &motorsRpm)
virtual void setInitialPosition(const Eigen::Vector3d &position, const Eigen::Quaterniond &attitude)=0
virtual Eigen::Vector3d getVehicleVelocity(void) const =0
virtual int8_t calibrate(SimMode_t calibrationType)