Public Member Functions | Private Member Functions | Private Attributes | List of all members
Uav_Dynamics Class Reference

UAV Dynamics class used for dynamics, IMU, and angular rate control simulation node. More...

#include <main.hpp>

Public Member Functions

int8_t init ()
 
 Uav_Dynamics (ros::NodeHandle nh)
 

Private Member Functions

void calibrationCallback (std_msgs::UInt8 msg)
 
int8_t getParamsFromRos ()
 
int8_t initCalibration ()
 
int8_t initDynamicsSimulator ()
 
int8_t initSensors ()
 
void performLogging (double period)
 
void proceedDynamics (double period)
 
void publishToRos (double period)
 
void simulationLoopTimerCallback (const ros::WallTimerEvent &event)
 Main Simulator loop. More...
 
int8_t startClockAndThreads ()
 

Private Attributes

Actuators _actuators
 
StateLogger _logger
 
ros::NodeHandle _node
 
RvizVisualizator _rviz_visualizator
 
ScenarioManager _scenarioManager
 
Sensors _sensors
 
std::vector< double > _wind_ned {3}
 
ros::Subscriber calibrationSub_
 
UavDynamicsSimBase::SimMode_t calibrationType_ {UavDynamicsSimBase::SimMode_t::NORMAL}
 
ros::Publisher clockPub_
 
double clockScale_ = 1.0
 
ros::Time currentTime_
 
std::thread diagnosticTask
 
double dt_secs_ = 1.0f/960.
 
uint64_t dynamicsCounter_
 
DynamicsInfo info
 
std::vector< double > initPose_ {7}
 
std::thread proceedDynamicsTask
 
std::thread publishToRosTask
 
const float ROS_PUB_PERIOD_SEC = 0.05f
 
uint64_t rosPubCounter_
 
ros::WallTimer simulationLoopTimer_
 
std::shared_ptr< UavDynamicsSimBaseuavDynamicsSim_
 
bool useSimTime_
 

Detailed Description

UAV Dynamics class used for dynamics, IMU, and angular rate control simulation node.

Definition at line 43 of file main.hpp.

Constructor & Destructor Documentation

◆ Uav_Dynamics()

Uav_Dynamics::Uav_Dynamics ( ros::NodeHandle  nh)
explicit

Definition at line 50 of file main.cpp.

Member Function Documentation

◆ calibrationCallback()

void Uav_Dynamics::calibrationCallback ( std_msgs::UInt8  msg)
private

Definition at line 278 of file main.cpp.

◆ getParamsFromRos()

int8_t Uav_Dynamics::getParamsFromRos ( )
private

Definition at line 80 of file main.cpp.

◆ init()

int8_t Uav_Dynamics::init ( )
Returns
-1 if error occured, else 0

Definition at line 62 of file main.cpp.

◆ initCalibration()

int8_t Uav_Dynamics::initCalibration ( )
private

Definition at line 143 of file main.cpp.

◆ initDynamicsSimulator()

int8_t Uav_Dynamics::initDynamicsSimulator ( )
private

Definition at line 93 of file main.cpp.

◆ initSensors()

int8_t Uav_Dynamics::initSensors ( )
private

Definition at line 136 of file main.cpp.

◆ performLogging()

void Uav_Dynamics::performLogging ( double  period)
private

Definition at line 195 of file main.cpp.

◆ proceedDynamics()

void Uav_Dynamics::proceedDynamics ( double  period)
private

< prevent big time jumping

Definition at line 224 of file main.cpp.

◆ publishToRos()

void Uav_Dynamics::publishToRos ( double  period)
private

Definition at line 257 of file main.cpp.

◆ simulationLoopTimerCallback()

void Uav_Dynamics::simulationLoopTimerCallback ( const ros::WallTimerEvent event)
private

Main Simulator loop.

Parameters
eventWall clock timer event

Definition at line 182 of file main.cpp.

◆ startClockAndThreads()

int8_t Uav_Dynamics::startClockAndThreads ( )
private

Definition at line 148 of file main.cpp.

Member Data Documentation

◆ _actuators

Actuators Uav_Dynamics::_actuators
private

Definition at line 70 of file main.hpp.

◆ _logger

StateLogger Uav_Dynamics::_logger
private

Definition at line 74 of file main.hpp.

◆ _node

ros::NodeHandle Uav_Dynamics::_node
private

Definition at line 56 of file main.hpp.

◆ _rviz_visualizator

RvizVisualizator Uav_Dynamics::_rviz_visualizator
private

Definition at line 72 of file main.hpp.

◆ _scenarioManager

ScenarioManager Uav_Dynamics::_scenarioManager
private

Definition at line 73 of file main.hpp.

◆ _sensors

Sensors Uav_Dynamics::_sensors
private

Definition at line 71 of file main.hpp.

◆ _wind_ned

std::vector<double> Uav_Dynamics::_wind_ned {3}
private

Definition at line 66 of file main.hpp.

◆ calibrationSub_

ros::Subscriber Uav_Dynamics::calibrationSub_
private

Definition at line 77 of file main.hpp.

◆ calibrationType_

UavDynamicsSimBase::SimMode_t Uav_Dynamics::calibrationType_ {UavDynamicsSimBase::SimMode_t::NORMAL}
private

Definition at line 78 of file main.hpp.

◆ clockPub_

ros::Publisher Uav_Dynamics::clockPub_
private

Definition at line 58 of file main.hpp.

◆ clockScale_

double Uav_Dynamics::clockScale_ = 1.0
private

Definition at line 62 of file main.hpp.

◆ currentTime_

ros::Time Uav_Dynamics::currentTime_
private

Definition at line 60 of file main.hpp.

◆ diagnosticTask

std::thread Uav_Dynamics::diagnosticTask
private

Definition at line 89 of file main.hpp.

◆ dt_secs_

double Uav_Dynamics::dt_secs_ = 1.0f/960.
private

Definition at line 61 of file main.hpp.

◆ dynamicsCounter_

uint64_t Uav_Dynamics::dynamicsCounter_
private

Definition at line 82 of file main.hpp.

◆ info

DynamicsInfo Uav_Dynamics::info
private

Definition at line 68 of file main.hpp.

◆ initPose_

std::vector<double> Uav_Dynamics::initPose_ {7}
private

Definition at line 65 of file main.hpp.

◆ proceedDynamicsTask

std::thread Uav_Dynamics::proceedDynamicsTask
private

Definition at line 87 of file main.hpp.

◆ publishToRosTask

std::thread Uav_Dynamics::publishToRosTask
private

Definition at line 88 of file main.hpp.

◆ ROS_PUB_PERIOD_SEC

const float Uav_Dynamics::ROS_PUB_PERIOD_SEC = 0.05f
private

Definition at line 96 of file main.hpp.

◆ rosPubCounter_

uint64_t Uav_Dynamics::rosPubCounter_
private

Definition at line 83 of file main.hpp.

◆ simulationLoopTimer_

ros::WallTimer Uav_Dynamics::simulationLoopTimer_
private

Definition at line 86 of file main.hpp.

◆ uavDynamicsSim_

std::shared_ptr<UavDynamicsSimBase> Uav_Dynamics::uavDynamicsSim_
private

Definition at line 57 of file main.hpp.

◆ useSimTime_

bool Uav_Dynamics::useSimTime_
private

Definition at line 63 of file main.hpp.


The documentation for this class was generated from the following files:


inno_vtol_dynamics
Author(s): Roman Fedorenko, Dmitry Ponomarev, Ezra Tal, Winter Guerra
autogenerated on Mon Dec 9 2024 03:13:35