#include <quadrotor_propulsion.h>
Classes | |
struct | PropulsionModel |
Public Member Functions | |
void | addCommandToQueue (const hector_uav_msgs::MotorCommandConstPtr &command) |
void | addPWMToQueue (const hector_uav_msgs::MotorPWMConstPtr &pwm) |
bool | configure (const ros::NodeHandle ¶m=ros::NodeHandle("~")) |
void | engage () |
void | f (const double xin[4], const double uin[10], double dt, double y[14], double xpred[4]) const |
const hector_uav_msgs::MotorStatus & | getMotorStatus () const |
const hector_uav_msgs::Supply & | getSupply () const |
const geometry_msgs::Wrench & | getWrench () const |
bool | processQueue (const ros::Time ×tamp, const ros::Duration &tolerance=ros::Duration(), const ros::Duration &delay=ros::Duration(), const ros::WallDuration &wait=ros::WallDuration(), ros::CallbackQueue *callback_queue=0) |
QuadrotorPropulsion () | |
void | reset () |
void | setInitialSupplyVoltage (double voltage) |
void | setTwist (const geometry_msgs::Twist &twist) |
void | setVoltage (const hector_uav_msgs::MotorPWM &command) |
void | shutdown () |
void | update (double dt) |
~QuadrotorPropulsion () | |
Private Attributes | |
boost::condition | command_condition_ |
std::queue < hector_uav_msgs::MotorPWMConstPtr > | command_queue_ |
boost::mutex | command_queue_mutex_ |
double | initial_voltage_ |
ros::Time | last_command_time_ |
hector_uav_msgs::MotorStatus | motor_status_ |
boost::mutex | mutex_ |
PropulsionModel * | propulsion_model_ |
hector_uav_msgs::Supply | supply_ |
geometry_msgs::Wrench | wrench_ |
Definition at line 51 of file quadrotor_propulsion.h.
Definition at line 83 of file quadrotor_propulsion.cpp.
Definition at line 90 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::addCommandToQueue | ( | const hector_uav_msgs::MotorCommandConstPtr & | command | ) |
Definition at line 341 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::addPWMToQueue | ( | const hector_uav_msgs::MotorPWMConstPtr & | pwm | ) |
Definition at line 358 of file quadrotor_propulsion.cpp.
bool hector_quadrotor_model::QuadrotorPropulsion::configure | ( | const ros::NodeHandle & | param = ros::NodeHandle("~") | ) |
Definition at line 246 of file quadrotor_propulsion.cpp.
Definition at line 478 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::f | ( | const double | xin[4], |
const double | uin[10], | ||
double | dt, | ||
double | y[14], | ||
double | xpred[4] | ||
) | const [inline] |
Definition at line 241 of file quadrotor_propulsion.cpp.
const hector_uav_msgs::MotorStatus& hector_quadrotor_model::QuadrotorPropulsion::getMotorStatus | ( | ) | const [inline] |
Definition at line 69 of file quadrotor_propulsion.h.
const hector_uav_msgs::Supply& hector_quadrotor_model::QuadrotorPropulsion::getSupply | ( | ) | const [inline] |
Definition at line 68 of file quadrotor_propulsion.h.
const geometry_msgs::Wrench& hector_quadrotor_model::QuadrotorPropulsion::getWrench | ( | ) | const [inline] |
Definition at line 67 of file quadrotor_propulsion.h.
bool hector_quadrotor_model::QuadrotorPropulsion::processQueue | ( | const ros::Time & | timestamp, |
const ros::Duration & | tolerance = ros::Duration() , |
||
const ros::Duration & | delay = ros::Duration() , |
||
const ros::WallDuration & | wait = ros::WallDuration() , |
||
ros::CallbackQueue * | callback_queue = 0 |
||
) |
Definition at line 372 of file quadrotor_propulsion.cpp.
Definition at line 283 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::setInitialSupplyVoltage | ( | double | voltage | ) | [inline] |
Definition at line 77 of file quadrotor_propulsion.h.
void hector_quadrotor_model::QuadrotorPropulsion::setTwist | ( | const geometry_msgs::Twist & | twist | ) |
Definition at line 326 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::setVoltage | ( | const hector_uav_msgs::MotorPWM & | command | ) |
Definition at line 308 of file quadrotor_propulsion.cpp.
Definition at line 483 of file quadrotor_propulsion.cpp.
void hector_quadrotor_model::QuadrotorPropulsion::update | ( | double | dt | ) |
Definition at line 433 of file quadrotor_propulsion.cpp.
boost::condition hector_quadrotor_model::QuadrotorPropulsion::command_condition_ [private] |
Definition at line 89 of file quadrotor_propulsion.h.
std::queue<hector_uav_msgs::MotorPWMConstPtr> hector_quadrotor_model::QuadrotorPropulsion::command_queue_ [private] |
Definition at line 87 of file quadrotor_propulsion.h.
boost::mutex hector_quadrotor_model::QuadrotorPropulsion::command_queue_mutex_ [private] |
Definition at line 88 of file quadrotor_propulsion.h.
double hector_quadrotor_model::QuadrotorPropulsion::initial_voltage_ [private] |
Definition at line 85 of file quadrotor_propulsion.h.
Definition at line 83 of file quadrotor_propulsion.h.
hector_uav_msgs::MotorStatus hector_quadrotor_model::QuadrotorPropulsion::motor_status_ [private] |
Definition at line 82 of file quadrotor_propulsion.h.
boost::mutex hector_quadrotor_model::QuadrotorPropulsion::mutex_ [private] |
Definition at line 91 of file quadrotor_propulsion.h.
Definition at line 93 of file quadrotor_propulsion.h.
hector_uav_msgs::Supply hector_quadrotor_model::QuadrotorPropulsion::supply_ [private] |
Definition at line 81 of file quadrotor_propulsion.h.
geometry_msgs::Wrench hector_quadrotor_model::QuadrotorPropulsion::wrench_ [private] |
Definition at line 80 of file quadrotor_propulsion.h.