DUNE: Uniform Navigational Environment  2.6.0-rc4
Maneuver::VehicleFormation::FormCollAvoid::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onUpdateParameters (void)
 
void onEntityResolution (void)
 
void onResourceAcquisition (void)
 
void onResourceRelease (void)
 
void consume (const IMC::LeaderState *msg)
 
void consume (const IMC::PlanControl *msg)
 
void consume (const IMC::IndicatedSpeed *msg)
 
void consume (const IMC::EstimatedStreamVelocity *msg)
 
void consume (const IMC::Acceleration *msg)
 
void consume (const IMC::DesiredRoll *msg)
 
void consume (const IMC::DesiredSpeed *msg)
 
void consume (const IMC::DesiredZ *msg)
 
void consume (const IMC::EstimatedState *msg)
 
void task (void)
 
void dispatchAlias (IMC::Message *msg)
 
void dispatchLeader (IMC::Message *msg)
 
void checkActivCtrlCond ()
 
void setLeaderState (const IMC::LeaderState *leader_state)
 
Matrix matrixRotRbody2gnd (float roll, float pitch)
 
template<typename Ta , typename Tb , typename Tc , typename Td , typename Te >
void positionReframing (const Ta lat1, const Ta lon1, const Tb hei1, const Tc lat2, const Tc lon2, const Td hei2, Te *n, Te *e, Te *d)
 
void teamPeriodicUpdate (const double &d_time)
 
void teamUnevenUpdate (const double &d_time)
 
void formationControl (const Matrix &md_uav_state, const Matrix &md_uav_accel, const unsigned int &ind_uav, const double &d_time_step, Matrix *vd_cmd, const bool b_debug, FormMonitor *form_monitor)
 
- Public Member Functions inherited from DUNE::Tasks::Periodic
 Periodic (const std::string &name, Context &ctx)
 
virtual ~Periodic (void)
 
void setFrequency (double freq)
 
double getFrequency (void) const
 
double getRunTime (void) const
 
unsigned getRunCount (void) const
 
- Public Member Functions inherited from DUNE::Tasks::Task
 Task (const std::string &name, Context &context)
 
virtual ~Task (void)
 
const char * getName (void) const
 
const char * getSystemName (void) const
 
unsigned int getSystemId (void) const
 
unsigned int getEntityId (void) const
 
unsigned int resolveEntity (const std::string &label) const
 
std::string resolveEntity (unsigned int id) const
 
uint16_t getActivationTime (void) const
 
uint16_t getDeactivationTime (void) const
 
unsigned int resolveSystemName (const std::string &name) const
 
const char * resolveSystemId (unsigned int id) const
 
void loadConfig (void)
 
void setPriority (unsigned int value)
 
unsigned int getPriority (void) const
 
void inf (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void war (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void err (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void void cri (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void void void debug (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void void void void trace (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void void void void void spew (const char *format,...) DUNE_PRINTF_FORMAT(2
 
void void void void void void
void void 
dispatch (IMC::Message *msg, unsigned int flags=0)
 
void dispatch (IMC::Message &msg, unsigned int flags=0)
 
void dispatchReply (const IMC::Message &original, IMC::Message &msg, unsigned int flags=0)
 
void receive (const IMC::Message *msg)
 
void reserveEntities (void)
 
void resolveEntities (void)
 
void acquireResources (void)
 
void releaseResources (void)
 
void initializeResources (void)
 
void updateParameters (bool act_deact=true)
 
void writeParamsXML (std::ostream &os) const
 
- Public Member Functions inherited from DUNE::Tasks::AbstractTask
 AbstractTask (void)
 
virtual ~AbstractTask (void)
 
- Public Member Functions inherited from DUNE::Concurrency::Thread
 Thread (void)
 
virtual ~Thread (void)
 
int getProcessorUsage (void)
 
- Public Member Functions inherited from DUNE::Concurrency::Runnable
 Runnable (void)
 
virtual ~Runnable (void)
 
void start (void)
 
void stop (void)
 
void join (void)
 
void stopAndJoin (void)
 
void setPriority (Scheduler::Policy policy, unsigned priority)
 
State getState (void)
 
bool isCreated (void)
 
bool isStopping (void)
 
bool isRunning (void)
 
bool isStarting (void)
 
bool isDead (void)
 

Public Attributes

Arguments m_args
 
std::vector< UAVSimulation * > m_models
 
UAVSimulationm_model
 
double m_llh_ref_pos [3]
 
Matrix m_position
 
Matrix m_velocity
 
IMC::EstimatedState m_estate_leader
 
double m_clock_diff
 
Matrix m_last_state_estim
 
Matrix m_last_simctrl_update
 
double m_last_time_debug
 
double m_last_time_trace
 
double m_last_time_spew
 
Matrix m_uav_state
 
Matrix m_uav_accel
 
double m_airspeed
 
Matrix m_wind
 
Math::MovingAverage< fp64_t > * m_wind_avg_x
 
Math::MovingAverage< fp64_t > * m_wind_avg_y
 
Math::MovingAverage< fp64_t > * m_wind_avg_z
 
double m_g
 
Matrix m_uav_ctrl
 
IMC::DesiredRoll m_bank_cmd
 
IMC::DesiredSpeed m_airspeed_cmd
 
IMC::DesiredZ m_altitude_cmd
 
double m_tas_cmd_leader
 
double m_alt_cmd_leader
 
double m_bank_lim
 
IMC::FormationControlParams m_formation_ctrl_params
 
bool m_param_init
 
double m_k_longitudinal
 
double m_k_lateral
 
double m_k_boundary
 
double m_k_leader
 
double m_k_deconfliction
 
double m_flow_accel_max
 
double m_safe_dist
 
double m_deconfliction_offset
 
double m_acc_safety_marg
 
double m_accel_lim_x
 
IMC::FormationEvaluation m_formation_eval
 
double m_dist_min_abs
 
double m_dist_min_mean
 
double m_err_mean
 
double m_mean_time
 
double m_mean_time_start
 
bool m_mean_first
 
unsigned int m_uav_n
 
unsigned int m_uav_ind
 
Matrix m_formation_pos
 
Systems m_uav_id
 
bool m_ctrl_active
 
bool m_team_plan_init
 
bool m_team_leader_init
 
bool m_team_state_init
 
bool m_valid_airspeed
 
double m_frequency
 
double m_timestep_sim
 
double m_timestep_ctrl
 
IMC::LeaderState m_init_leader
 
bool m_debug
 
FormMonitorm_form_monitor
 
std::map< uint32_t, Systemsm_filtered_sys
 
std::map< uint32_t, Entitiesm_filtered_ent
 
uint32_t m_alias_id
 
uint32_t m_leader_id
 

Additional Inherited Members

- Public Types inherited from DUNE::Concurrency::Runnable
enum  State {
  StateStarting, StateRunning, StateStopping, StateDead,
  StateUnknown
}
 
- Protected Member Functions inherited from DUNE::Tasks::Task
const char * getEntityLabel (void) const
 
void setEntityLabel (const std::string &label)
 
void setEntityState (IMC::EntityState::StateEnum state, Status::Code code)
 
void setEntityState (IMC::EntityState::StateEnum state, const std::string &description)
 
IMC::EntityState::StateEnum getEntityState (void) const
 
unsigned int reserveEntity (const std::string &label)
 
bool stopping (void)
 
bool isActive (void) const
 
bool isActivating (void) const
 
bool isDeactivating (void) const
 
void waitForMessages (double timeout)
 
void consumeMessages (void)
 
template<typename T >
Parameterparam (const std::string &name, T &var)
 
template<typename Y , typename T >
Parameterparam (const std::string &name, T &var)
 
template<typename T >
bool paramChanged (T &var)
 
void paramActive (Parameter::Scope def_scope, Parameter::Visibility def_visibility, bool def_value=false)
 
void setParamSectionEditor (const std::string &name)
 
template<typename M , typename T >
void bind (T *task_obj, void(T::*consumer)(const M *)=&T::consume)
 
template<typename T >
void bind (T *task_obj, const std::vector< uint32_t > &list)
 
template<typename T , typename M >
void bind (T *task_obj, const std::vector< uint32_t > &list, void(T::*consumer)(const M *)=&T::consume)
 
template<typename T >
void bind (T *task_obj, const std::vector< std::string > &list)
 
void requestActivation (void)
 
void requestDeactivation (void)
 
void activate (void)
 
void activationFailed (const std::string &reason)
 
void deactivate (void)
 
void deactivationFailed (const std::string &reason)
 
virtual void onEntityReservation (void)
 
virtual void onReportEntityState (void)
 
virtual void onResourceInitialization (void)
 
virtual void onRequestActivation (void)
 
virtual void onRequestDeactivation (void)
 
virtual void onActivation (void)
 
virtual void onDeactivation (void)
 
- Protected Member Functions inherited from DUNE::Concurrency::Thread
void startImpl (void)
 
void stopImpl (void)
 
void joinImpl (void)
 
void setPriorityImpl (Scheduler::Policy policy, unsigned priority)
 
- Protected Attributes inherited from DUNE::Tasks::Task
Contextm_ctx
 

Constructor & Destructor Documentation

Maneuver::VehicleFormation::FormCollAvoid::Task::Task ( const std::string &  name,
Tasks::Context &  ctx 
)
inline

References Maneuver::VehicleFormation::FormCollAvoid::Arguments::acc_safety_marg, Maneuver::VehicleFormation::FormCollAvoid::Arguments::alt_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::alt_min, Maneuver::VehicleFormation::FormCollAvoid::Arguments::bank_lim, Maneuver::VehicleFormation::FormCollAvoid::Arguments::c_alt, Maneuver::VehicleFormation::FormCollAvoid::Arguments::c_bank, Maneuver::VehicleFormation::FormCollAvoid::Arguments::c_speed, Maneuver::VehicleFormation::FormCollAvoid::Arguments::cmd_src, Maneuver::VehicleFormation::FormCollAvoid::Arguments::ctrl_frequency, Maneuver::VehicleFormation::FormCollAvoid::Arguments::debug, Maneuver::VehicleFormation::FormCollAvoid::Arguments::deconfliction_offset, Maneuver::VehicleFormation::FormCollAvoid::Arguments::default_alt, Maneuver::VehicleFormation::FormCollAvoid::Arguments::default_speed, DUNE::Tasks::Parameter::defaultValue(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::flow_accel_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_frame, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_pos, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_systems, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_boundary, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_deconfliction, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_lateral, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_leader, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_longitudinal, Maneuver::VehicleFormation::FormCollAvoid::Arguments::l_accel_x, Maneuver::VehicleFormation::FormCollAvoid::Arguments::l_bank_rate, Maneuver::VehicleFormation::FormCollAvoid::Arguments::l_vert_slope, Maneuver::VehicleFormation::FormCollAvoid::Arguments::leader_alias, m_args, DUNE::Math::min(), DUNE::Tasks::Task::param(), DUNE::Tasks::Task::paramActive(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::safe_dist, Maneuver::VehicleFormation::FormCollAvoid::Arguments::sim_frequency, Maneuver::VehicleFormation::FormCollAvoid::Arguments::sim_type, Maneuver::VehicleFormation::FormCollAvoid::Arguments::src_alias, Maneuver::VehicleFormation::FormCollAvoid::Arguments::tas_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::tas_min, and Maneuver::VehicleFormation::FormCollAvoid::Arguments::uav_n.

Member Function Documentation

void Maneuver::VehicleFormation::FormCollAvoid::Task::checkActivCtrlCond ( )
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::LeaderState *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::PlanControl *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::IndicatedSpeed *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::EstimatedStreamVelocity *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::Acceleration *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::consume ( const IMC::EstimatedState *  msg)
inline

References Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ax_cmd, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ax_des, checkActivCtrlCond(), Maneuver::VehicleFormation::FormCollAvoid::RelState::ctrl_imp, dispatchAlias(), Maneuver::VehicleFormation::FormCollAvoid::RelState::dist, Maneuver::VehicleFormation::FormCollAvoid::RelState::err, Maneuver::VehicleFormation::FormCollAvoid::RelState::err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::err_y, Maneuver::VehicleFormation::FormCollAvoid::RelState::err_z, formationControl(), DUNE::Math::Matrix::get(), DUNE::Tasks::Task::getSystemId(), m_airspeed_cmd, m_alias_id, m_altitude_cmd, m_bank_cmd, m_clock_diff, m_ctrl_active, m_debug, m_dist_min_abs, m_dist_min_mean, m_err_mean, m_form_monitor, m_last_simctrl_update, m_last_state_estim, m_llh_ref_pos, m_mean_first, m_mean_time, m_mean_time_start, m_models, m_team_state_init, m_timestep_ctrl, m_uav_accel, m_uav_ctrl, m_uav_id, m_uav_ind, m_uav_n, m_uav_state, m_valid_airspeed, positionReframing(), Maneuver::VehicleFormation::FormCollAvoid::RelState::rel_dir_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::rel_dir_y, Maneuver::VehicleFormation::FormCollAvoid::RelState::rel_dir_z, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::rel_state, DUNE::Tasks::Task::resolveSystemId(), Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_vx, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_vy, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_vz, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_y, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_z, Maneuver::VehicleFormation::FormCollAvoid::RelState::s_id, DUNE::Math::Matrix::set(), DUNE::Tasks::Task::spew(), Maneuver::VehicleFormation::FormCollAvoid::RelState::ss_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ss_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::ss_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ss_y, Maneuver::VehicleFormation::FormCollAvoid::RelState::ss_z, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_fdbk_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_fdbk_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_unkn_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_unkn_y, teamPeriodicUpdate(), teamUnevenUpdate(), DUNE::Tasks::Task::trace(), Maneuver::VehicleFormation::FormCollAvoid::RelState::virt_err_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::virt_err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::virt_err_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::virt_err_y, and Maneuver::VehicleFormation::FormCollAvoid::RelState::virt_err_z.

void Maneuver::VehicleFormation::FormCollAvoid::Task::dispatchAlias ( IMC::Message *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::dispatchLeader ( IMC::Message *  msg)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::formationControl ( const Matrix md_uav_state,
const Matrix md_uav_accel,
const unsigned int &  ind_uav,
const double &  d_time_step,
Matrix vd_cmd,
const bool  b_debug,
FormMonitor form_monitor 
)
inline

References Maneuver::VehicleFormation::FormCollAvoid::Arguments::alt_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::alt_min, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ax_cmd, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ax_des, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ay_cmd, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ay_des, DUNE::Math::Matrix::column(), Maneuver::VehicleFormation::FormCollAvoid::RelState::dist, Maneuver::VehicleFormation::FormCollAvoid::RelState::err, Maneuver::VehicleFormation::FormCollAvoid::RelState::err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::err_y, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_frame, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_systems, DUNE::Math::Matrix::get(), m_acc_safety_marg, m_accel_lim_x, m_args, m_bank_lim, m_deconfliction_offset, m_flow_accel_max, m_formation_pos, m_g, m_k_boundary, m_k_deconfliction, m_k_lateral, m_k_leader, m_k_longitudinal, m_safe_dist, m_tas_cmd_leader, m_uav_ind, m_uav_n, m_wind, DUNE::Math::Matrix::norm_2(), Maneuver::VehicleFormation::FormCollAvoid::RelState::rel_dir_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::rel_dir_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::rel_state, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_vx, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_vy, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::rf_err_y, DUNE::Math::Matrix::row(), Maneuver::VehicleFormation::FormCollAvoid::RelState::s_id, DUNE::Math::Matrix::set(), Maneuver::VehicleFormation::FormCollAvoid::RelState::ss_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ss_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::ss_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::ss_y, DUNE::Math::sum(), Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_fdbk_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_fdbk_y, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_unkn_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::surf_unkn_y, Maneuver::VehicleFormation::FormCollAvoid::Arguments::tas_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::tas_min, DUNE::Math::transpose(), DUNE::Math::trimValue(), Maneuver::VehicleFormation::FormCollAvoid::RelState::virt_err_x, Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::virt_err_x, Maneuver::VehicleFormation::FormCollAvoid::RelState::virt_err_y, and Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::virt_err_y.

Referenced by consume(), and teamPeriodicUpdate().

Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::matrixRotRbody2gnd ( float  roll,
float  pitch 
)
inline
void Maneuver::VehicleFormation::FormCollAvoid::Task::onResourceAcquisition ( void  )
inlinevirtual

Called when the task is instructed to acquire resources whose configuration is defined by run-time parameters.

Reimplemented from DUNE::Tasks::Task.

void Maneuver::VehicleFormation::FormCollAvoid::Task::onResourceRelease ( void  )
inlinevirtual

Called when the task is instructed to release resources.

Derived classes that override this function must not assume that any resource was previously acquired. This function must be implemented in such a way that it can be called at any time.

Reimplemented from DUNE::Tasks::Task.

void Maneuver::VehicleFormation::FormCollAvoid::Task::onUpdateParameters ( void  )
inlinevirtual

Called when the task is instructed to update its run-time parameters.

Derived classes that need to compute auxiliary values based on run-time parameters should override this function.

Reimplemented from DUNE::Tasks::Task.

References Maneuver::VehicleFormation::FormCollAvoid::Arguments::acc_safety_marg, Maneuver::VehicleFormation::FormCollAvoid::Arguments::bank_lim, Maneuver::VehicleFormation::FormCollAvoid::Arguments::c_bank, Maneuver::VehicleFormation::FormCollAvoid::Arguments::c_speed, DUNE::Math::Matrix::columns(), DUNE::Simulation::UAVSimulation::command(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::ctrl_frequency, Maneuver::VehicleFormation::FormCollAvoid::Arguments::debug, DUNE::Tasks::Task::debug(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::deconfliction_offset, dispatchAlias(), DUNE::Tasks::Task::err(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::flow_accel_max, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_pos, Maneuver::VehicleFormation::FormCollAvoid::Arguments::formation_systems, DUNE::Math::Matrix::get(), DUNE::Tasks::Periodic::getFrequency(), DUNE::Tasks::Task::getSystemId(), DUNE::Tasks::Task::isActive(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_boundary, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_deconfliction, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_lateral, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_leader, Maneuver::VehicleFormation::FormCollAvoid::Arguments::k_longitudinal, Maneuver::VehicleFormation::FormCollAvoid::Arguments::l_accel_x, Maneuver::VehicleFormation::FormCollAvoid::Arguments::l_bank_rate, Maneuver::VehicleFormation::FormCollAvoid::Arguments::leader_alias, m_acc_safety_marg, m_accel_lim_x, m_alias_id, m_alt_cmd_leader, m_args, m_bank_lim, m_debug, m_deconfliction_offset, m_dist_min_abs, m_dist_min_mean, m_err_mean, m_flow_accel_max, m_form_monitor, m_formation_ctrl_params, m_formation_eval, m_formation_pos, m_frequency, m_k_boundary, m_k_deconfliction, m_k_lateral, m_k_leader, m_k_longitudinal, m_last_simctrl_update, m_last_state_estim, m_leader_id, m_mean_first, m_mean_time, m_model, m_models, m_param_init, m_position, m_safe_dist, DUNE::Simulation::UAVSimulation::m_sim_type, m_tas_cmd_leader, m_team_state_init, m_timestep_ctrl, m_timestep_sim, m_uav_ctrl, m_uav_id, m_uav_ind, m_uav_n, m_uav_state, m_velocity, DUNE::Math::Matrix, DUNE::Math::Angles::radians(), Maneuver::VehicleFormation::FormCollAvoid::FormMonitor::rel_state, DUNE::Math::Matrix::resizeAndKeep(), DUNE::Tasks::Task::resolveSystemName(), DUNE::Math::Matrix::rows(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::safe_dist, DUNE::Simulation::UAVSimulation::setAccelLim(), DUNE::Simulation::UAVSimulation::setBankRateLim(), DUNE::Simulation::UAVSimulation::setCtrl(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::sim_frequency, Maneuver::VehicleFormation::FormCollAvoid::Arguments::sim_type, DUNE::Math::Matrix::size(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::src_alias, DUNE::Concurrency::Runnable::stop(), Maneuver::VehicleFormation::FormCollAvoid::Arguments::uav_n, DUNE::Simulation::UAVSimulation, DUNE::Math::Matrix::vertCat(), and DUNE::Tasks::Task::war().

Referenced by onEntityResolution().

template<typename Ta , typename Tb , typename Tc , typename Td , typename Te >
void Maneuver::VehicleFormation::FormCollAvoid::Task::positionReframing ( const Ta  lat1,
const Ta  lon1,
const Tb  hei1,
const Tc  lat2,
const Tc  lon2,
const Td  hei2,
Te *  n,
Te *  e,
Te *  d 
)
inline

Adjust offset position from a reference frame to a new reference frame.

Parameters
[in]lat1new reference latitude (rad).
[in]lon1new reference longitude (rad).
[in]hei1new reference height (m).
[in]lat2old reference latitude (rad).
[in]lon2old reference longitude (rad).
[in]hei2old reference height (m).
[in,out]nNorth offset (m).
[in,out]eEast offset (m).
[in,out]dDown offset (m).

Referenced by consume(), and setLeaderState().

void Maneuver::VehicleFormation::FormCollAvoid::Task::task ( void  )
inlinevirtual
void Maneuver::VehicleFormation::FormCollAvoid::Task::teamUnevenUpdate ( const double &  d_time)
inline

Member Data Documentation

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_acc_safety_marg
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_accel_lim_x
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_airspeed

Referenced by consume(), and onEntityResolution().

IMC::DesiredSpeed Maneuver::VehicleFormation::FormCollAvoid::Task::m_airspeed_cmd

Referenced by consume(), and onEntityResolution().

uint32_t Maneuver::VehicleFormation::FormCollAvoid::Task::m_alias_id
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_alt_cmd_leader

Leader commanded altitude.

Referenced by consume(), onEntityResolution(), and onUpdateParameters().

IMC::DesiredZ Maneuver::VehicleFormation::FormCollAvoid::Task::m_altitude_cmd

Referenced by consume(), and onEntityResolution().

Arguments Maneuver::VehicleFormation::FormCollAvoid::Task::m_args
IMC::DesiredRoll Maneuver::VehicleFormation::FormCollAvoid::Task::m_bank_cmd

Vehicle commands.

Referenced by consume().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_bank_lim

Command limits.

Referenced by consume(), formationControl(), onUpdateParameters(), and setLeaderState().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_clock_diff

Simulation and control time variables.

Referenced by consume(), and task().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_ctrl_active

Process logic control variables.

Referenced by checkActivCtrlCond(), and consume().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_debug
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_deconfliction_offset
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_dist_min_abs

Referenced by consume(), and onUpdateParameters().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_dist_min_mean

Referenced by consume(), and onUpdateParameters().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_err_mean

Referenced by consume(), and onUpdateParameters().

IMC::EstimatedState Maneuver::VehicleFormation::FormCollAvoid::Task::m_estate_leader

Leader's estimated state.

Referenced by setLeaderState(), and teamPeriodicUpdate().

std::map<uint32_t, Entities> Maneuver::VehicleFormation::FormCollAvoid::Task::m_filtered_ent

List of entities allowed to define a command.

Referenced by consume(), and onEntityResolution().

std::map<uint32_t, Systems> Maneuver::VehicleFormation::FormCollAvoid::Task::m_filtered_sys

List of systems allowed to define a command.

Referenced by consume(), and onEntityResolution().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_flow_accel_max
FormMonitor* Maneuver::VehicleFormation::FormCollAvoid::Task::m_form_monitor
IMC::FormationControlParams Maneuver::VehicleFormation::FormCollAvoid::Task::m_formation_ctrl_params

Controller parameters.

Referenced by onUpdateParameters().

IMC::FormationEvaluation Maneuver::VehicleFormation::FormCollAvoid::Task::m_formation_eval

Controller evaluation data.

Referenced by onUpdateParameters().

Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_formation_pos
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_frequency

Simulation process frequency.

Referenced by onUpdateParameters().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_g
IMC::LeaderState Maneuver::VehicleFormation::FormCollAvoid::Task::m_init_leader

Leader initial state.

Referenced by consume(), and setLeaderState().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_k_boundary
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_k_deconfliction
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_k_lateral
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_k_leader
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_k_longitudinal
Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_last_simctrl_update
Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_last_state_estim
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_last_time_debug

Last time debug information was shown.

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_last_time_spew
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_last_time_trace

Referenced by checkActivCtrlCond(), and task().

uint32_t Maneuver::VehicleFormation::FormCollAvoid::Task::m_leader_id
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_llh_ref_pos[3]

Vehicle's referential position (Latitude, Longitude, and height).

Referenced by consume(), onEntityResolution(), and setLeaderState().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_mean_first

Referenced by consume(), and onUpdateParameters().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_mean_time

Referenced by consume(), and onUpdateParameters().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_mean_time_start

Referenced by consume().

UAVSimulation* Maneuver::VehicleFormation::FormCollAvoid::Task::m_model
std::vector<UAVSimulation*> Maneuver::VehicleFormation::FormCollAvoid::Task::m_models

Simulated vehicles' models.

Referenced by consume(), onUpdateParameters(), teamPeriodicUpdate(), and teamUnevenUpdate().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_param_init

Referenced by onUpdateParameters().

Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_position

Leader's simulated position (X,Y,Z,phi,theta,psi).

Referenced by onEntityResolution(), onUpdateParameters(), and teamPeriodicUpdate().

double Maneuver::VehicleFormation::FormCollAvoid::Task::m_safe_dist
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_tas_cmd_leader

Leader commanded true airspeed.

Referenced by consume(), formationControl(), onEntityResolution(), and onUpdateParameters().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_team_leader_init
bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_team_plan_init

Referenced by checkActivCtrlCond(), and consume().

bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_team_state_init
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_timestep_ctrl
double Maneuver::VehicleFormation::FormCollAvoid::Task::m_timestep_sim
Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_accel
Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_ctrl

System command variables.

Referenced by consume(), onUpdateParameters(), and teamPeriodicUpdate().

Systems Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_id

Referenced by consume(), and onUpdateParameters().

unsigned int Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_ind
unsigned int Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_n
Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_uav_state
bool Maneuver::VehicleFormation::FormCollAvoid::Task::m_valid_airspeed

Referenced by checkActivCtrlCond(), and consume().

Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_velocity

Leader's simulated velocity (u,v,w,p,q,r).

Referenced by onEntityResolution(), onUpdateParameters(), and teamPeriodicUpdate().

Matrix Maneuver::VehicleFormation::FormCollAvoid::Task::m_wind

Environment variables.

Referenced by consume(), formationControl(), and teamPeriodicUpdate().

Math::MovingAverage<fp64_t>* Maneuver::VehicleFormation::FormCollAvoid::Task::m_wind_avg_x

Referenced by consume().

Math::MovingAverage<fp64_t>* Maneuver::VehicleFormation::FormCollAvoid::Task::m_wind_avg_y

Referenced by consume().

Math::MovingAverage<fp64_t>* Maneuver::VehicleFormation::FormCollAvoid::Task::m_wind_avg_z

Referenced by consume().

Collaboration diagram for Maneuver::VehicleFormation::FormCollAvoid::Task:
Collaboration graph