Main Page
Namespaces
Classes
Files
File List
File Members
include
rosflight_sim
fixedwing_forces_and_moments.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017 Daniel Koch, James Jackson and Gary Ellingson, BYU MAGICC Lab.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright notice, this
9
* list of conditions and the following disclaimer.
10
*
11
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* * Neither the name of the copyright holder nor the names of its
16
* contributors may be used to endorse or promote products derived from
17
* this software without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
* POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#ifndef ROSFLIGHT_SIM_FIXEDWING_FORCES_AND_MOMENTS_H
33
#define ROSFLIGHT_SIM_FIXEDWING_FORCES_AND_MOMENTS_H
34
35
36
#include <
rosflight_sim/mav_forces_and_moments.h
>
37
#include <eigen3/Eigen/Dense>
38
#include <
ros/ros.h
>
39
40
namespace
rosflight_sim
41
{
42
43
class
Fixedwing
:
public
MAVForcesAndMoments
44
{
45
private
:
46
ros::NodeHandle
*
nh_
;
47
48
// physical parameters
49
double
mass_
;
50
double
Jx_
;
51
double
Jy_
;
52
double
Jz_
;
53
double
Jxz_
;
54
double
rho_
;
55
56
// aerodynamic coefficients
57
struct
WingCoeff
{
58
double
S
;
59
double
b
;
60
double
c
;
61
double
M
;
62
double
epsilon
;
63
double
alpha0
;
64
}
wing_
;
65
66
// Propeller Coefficients
67
struct
PropCoeff
{
68
double
k_motor
;
69
double
k_T_P
;
70
double
k_Omega
;
71
double
e
;
72
double
S
;
73
double
C
;
74
}
prop_
;
75
76
// Lift Coefficients
77
struct
LiftCoeff
{
78
double
O
;
79
double
alpha
;
80
double
beta
;
81
double
p
;
82
double
q
;
83
double
r
;
84
double
delta_a
;
85
double
delta_e
;
86
double
delta_r
;
87
};
88
89
LiftCoeff
CL_
;
90
LiftCoeff
CD_
;
91
LiftCoeff
Cm_
;
92
LiftCoeff
CY_
;
93
LiftCoeff
Cell_
;
94
LiftCoeff
Cn_
;
95
96
// not constants
97
// actuators
98
struct
Actuators
{
99
double
e
;
100
double
a
;
101
double
r
;
102
double
t
;
103
}
delta_
;
104
105
// wind
106
Eigen::Vector3d
wind_
;
107
108
public
:
109
Fixedwing
(
ros::NodeHandle
* nh);
110
~Fixedwing
();
111
112
Eigen::Matrix<double, 6, 1>
updateForcesAndTorques
(
Current_State
x,
const
int
act_cmds[]);
113
void
set_wind
(Eigen::Vector3d wind);
114
};
115
116
}
// namespace rosflight_sim
117
118
#endif // ROSFLIGHT_SIM_FIXEDWING_FORCES_AND_MOMENTS_H
rosflight_sim::Fixedwing::PropCoeff::e
double e
Definition:
fixedwing_forces_and_moments.h:71
mav_forces_and_moments.h
rosflight_sim::Fixedwing::Jxz_
double Jxz_
Definition:
fixedwing_forces_and_moments.h:53
rosflight_sim::Fixedwing::LiftCoeff::O
double O
Definition:
fixedwing_forces_and_moments.h:78
rosflight_sim::Fixedwing::LiftCoeff::r
double r
Definition:
fixedwing_forces_and_moments.h:83
ros::NodeHandle
rosflight_sim::Fixedwing::PropCoeff::k_T_P
double k_T_P
Definition:
fixedwing_forces_and_moments.h:69
rosflight_sim::Fixedwing::LiftCoeff
Definition:
fixedwing_forces_and_moments.h:77
rosflight_sim::Fixedwing::CD_
LiftCoeff CD_
Definition:
fixedwing_forces_and_moments.h:90
rosflight_sim::Fixedwing
Definition:
fixedwing_forces_and_moments.h:43
rosflight_sim::MAVForcesAndMoments
Definition:
mav_forces_and_moments.h:40
rosflight_sim::Fixedwing::Jx_
double Jx_
Definition:
fixedwing_forces_and_moments.h:50
rosflight_sim::MAVForcesAndMoments::Current_State
Definition:
mav_forces_and_moments.h:59
rosflight_sim::Fixedwing::updateForcesAndTorques
Eigen::Matrix< double, 6, 1 > updateForcesAndTorques(Current_State x, const int act_cmds[])
Definition:
fixedwing_forces_and_moments.cpp:134
rosflight_sim::Fixedwing::Actuators::t
double t
Definition:
fixedwing_forces_and_moments.h:102
rosflight_sim::Fixedwing::LiftCoeff::beta
double beta
Definition:
fixedwing_forces_and_moments.h:80
rosflight_sim::Fixedwing::PropCoeff
Definition:
fixedwing_forces_and_moments.h:67
rosflight_sim::Fixedwing::LiftCoeff::alpha
double alpha
Definition:
fixedwing_forces_and_moments.h:79
rosflight_sim::Fixedwing::Jz_
double Jz_
Definition:
fixedwing_forces_and_moments.h:52
rosflight_sim::Fixedwing::Actuators::a
double a
Definition:
fixedwing_forces_and_moments.h:100
rosflight_sim::Fixedwing::WingCoeff
Definition:
fixedwing_forces_and_moments.h:57
rosflight_sim::Fixedwing::LiftCoeff::delta_e
double delta_e
Definition:
fixedwing_forces_and_moments.h:85
rosflight_sim::Fixedwing::WingCoeff::S
double S
Definition:
fixedwing_forces_and_moments.h:58
rosflight_sim::Fixedwing::set_wind
void set_wind(Eigen::Vector3d wind)
Definition:
fixedwing_forces_and_moments.cpp:205
rosflight_sim::Fixedwing::Cn_
LiftCoeff Cn_
Definition:
fixedwing_forces_and_moments.h:94
rosflight_sim::Fixedwing::Actuators
Definition:
fixedwing_forces_and_moments.h:98
rosflight_sim::Fixedwing::WingCoeff::epsilon
double epsilon
Definition:
fixedwing_forces_and_moments.h:62
rosflight_sim::Fixedwing::Fixedwing
Fixedwing(ros::NodeHandle *nh)
Definition:
fixedwing_forces_and_moments.cpp:37
rosflight_sim::Fixedwing::prop_
struct rosflight_sim::Fixedwing::PropCoeff prop_
rosflight_sim::Fixedwing::Cell_
LiftCoeff Cell_
Definition:
fixedwing_forces_and_moments.h:93
rosflight_sim::Fixedwing::WingCoeff::c
double c
Definition:
fixedwing_forces_and_moments.h:60
rosflight_sim::Fixedwing::LiftCoeff::q
double q
Definition:
fixedwing_forces_and_moments.h:82
rosflight_sim::Fixedwing::CL_
LiftCoeff CL_
Definition:
fixedwing_forces_and_moments.h:89
rosflight_sim::Fixedwing::Jy_
double Jy_
Definition:
fixedwing_forces_and_moments.h:51
rosflight_sim
Definition:
fixedwing_forces_and_moments.h:40
ros.h
rosflight_sim::Fixedwing::wind_
Eigen::Vector3d wind_
Definition:
fixedwing_forces_and_moments.h:106
rosflight_sim::Fixedwing::delta_
struct rosflight_sim::Fixedwing::Actuators delta_
rosflight_sim::Fixedwing::PropCoeff::k_Omega
double k_Omega
Definition:
fixedwing_forces_and_moments.h:70
rosflight_sim::Fixedwing::WingCoeff::b
double b
Definition:
fixedwing_forces_and_moments.h:59
rosflight_sim::Fixedwing::LiftCoeff::delta_a
double delta_a
Definition:
fixedwing_forces_and_moments.h:84
rosflight_sim::Fixedwing::LiftCoeff::delta_r
double delta_r
Definition:
fixedwing_forces_and_moments.h:86
rosflight_sim::Fixedwing::Cm_
LiftCoeff Cm_
Definition:
fixedwing_forces_and_moments.h:91
rosflight_sim::Fixedwing::mass_
double mass_
Definition:
fixedwing_forces_and_moments.h:49
rosflight_sim::Fixedwing::PropCoeff::k_motor
double k_motor
Definition:
fixedwing_forces_and_moments.h:68
rosflight_sim::Fixedwing::nh_
ros::NodeHandle * nh_
Definition:
fixedwing_forces_and_moments.h:46
rosflight_sim::Fixedwing::CY_
LiftCoeff CY_
Definition:
fixedwing_forces_and_moments.h:92
rosflight_sim::Fixedwing::WingCoeff::M
double M
Definition:
fixedwing_forces_and_moments.h:61
rosflight_sim::Fixedwing::Actuators::e
double e
Definition:
fixedwing_forces_and_moments.h:99
rosflight_sim::Fixedwing::PropCoeff::S
double S
Definition:
fixedwing_forces_and_moments.h:72
rosflight_sim::Fixedwing::wing_
struct rosflight_sim::Fixedwing::WingCoeff wing_
rosflight_sim::Fixedwing::WingCoeff::alpha0
double alpha0
Definition:
fixedwing_forces_and_moments.h:63
rosflight_sim::Fixedwing::~Fixedwing
~Fixedwing()
rosflight_sim::Fixedwing::rho_
double rho_
Definition:
fixedwing_forces_and_moments.h:54
rosflight_sim::Fixedwing::PropCoeff::C
double C
Definition:
fixedwing_forces_and_moments.h:73
rosflight_sim::Fixedwing::Actuators::r
double r
Definition:
fixedwing_forces_and_moments.h:101
rosflight_sim::Fixedwing::LiftCoeff::p
double p
Definition:
fixedwing_forces_and_moments.h:81
rosflight_sim
Author(s): James Jackson, Gary Ellingson, Daniel Koch
autogenerated on Wed Jul 3 2019 20:00:29