chrono::copter::Copter< nop > Class Template Reference
Description
template<int nop>
class chrono::copter::Copter< nop >
Base class for any copter, template parameter nop is the number of propellers.
Propellers position, data, rotation verse, vertical axis and all mass porperties are settable.
#include <Copter.h>
Collaboration diagram for chrono::copter::Copter< nop >:
Public Member Functions | |
Copter (ChSystem &sys, const ChVector3d &cpos, std::vector< ChVector3d > ppos, const bool clockwise[], bool are_prop_pos_rel=true, bool z_up=false) | |
std::shared_ptr< ChBody > | GetChassis () const |
Get the chassis body. | |
void | SetPropellerData (double mass, const ChVector3d &inerXX, double diam, double thrust_coeff, double power_coeff, double max_rpm) |
Set the propeller properties. More... | |
void | SetLinearDragCoeff (double ldc) |
Set the drag coefficient. | |
double | GetLinearDragCoeff () const |
Get the drag coefficient. | |
void | SetLinearDragSurf (double dsurf) |
Set the area used in evaluation of drag force. | |
double | GetLinearDragSurf () const |
Get the area used in evaluation of drag force. | |
void | AddVisualizationAssets (const std::string &chassismesh, const std::string &propellermesh, const ChFrame<> &cor_m1, const ChFrame<> &cor_m2) |
Add generic triangular meshes to the chassis and the propellers. | |
void | ControlIncremental (double inputs[nop]) |
Increment propeller angular velocity. | |
void | ControlAbsolute (double inputs[nop]) |
Set Propellers angular velocity. | |
void | Update (double timestep) |
Update the copter internal physics. | |
void | SetGroundAirDensity (double rho) |
Set initial (h = 0) air density. | |
double | GetAirPressure () const |
Get the air pressure at copter height. | |
double | GetGroundAirPressure () const |
Get the air pressure at 0 height. | |
void | SetGroundPressure (double p0) |
Set the air pressure at copter height. | |
double | GetGroundAirDensity () const |
Get the air density at copter height. | |
double | GetAirDensity () const |
Get the air density at copter height. | |
double | GetAltitude () const |
Get the copter altitude. | |
double | GetInitAltitude () const |
Get the initial copter altitude. | |
void | SetInitAltitude (double alt) |
Set the initial copter altitude. | |
double | GetTemperature () const |
Get air temperature. | |
void | SetTemperature (double temp) |
Set air temperature. | |
double | GetGroundTemperature () const |
Get ground air temperature. | |
void | SetGroundTemperature (double temp) |
Set ground air temperature. | |
int | GetNumProps () const |
Get the number of propellers. | |
std::vector< std::shared_ptr< ChBody > > | GetProps () const |
Get the propellers bodies. | |
virtual const std::string & | GetChassisMeshFilename () const |
Get the name of the Wavefront file with chassis visualization mesh. More... | |
virtual const std::string & | GetPropellerMeshFilename () const |
Get the name of the Wavefront file with propeller visualization mesh. More... | |
void | RotateCopter (ChMatrix33<> &A) |
Rotates the whole copter given a 3x3 rotation matrix. | |
Protected Attributes | |
std::shared_ptr< ChBody > | chassis |
Chassis body. | |
std::string | chassis_mesh_path |
Visualization meshes. | |
std::string | propeller_mesh_path |
Visualization meshes. | |
std::vector< std::shared_ptr< ChBody > > | props |
Propeller bodies. | |
double | rps_max |
Max propeller angular speed [rot/s]. | |
double | Dp |
Propeller diameter [m]. | |
double | Ct |
Thrust coefficient. | |
double | Cp |
Power coefficient. | |
double | u_p [nop] |
Propeller rotation as fraction of max rpm (in [0,1]) | |
double | rho = 1.225 |
Air density [kg/m^3]. | |
double | rho0 = 1.225 |
Ground Air density [kg/m^3]. | |
double | pressure = 101325 |
Air pressure [Pa]. | |
double | pressure0 = 101325 |
Ground Air pressure [Pa]. | |
double | Altitude |
Altitude [m]. | |
double | Temp0 = 298 |
Ground Air Temperature [K]. | |
double | Temp = 298 |
Air Temperature [K]. | |
double | Altitude0 = 0 |
Initial Altitude [m]. | |
double | h0 = 0 |
Initial Altitude in simulation [m]. | |
ChVector3d | up |
Vertical axis. | |
std::vector< std::shared_ptr< ChForce > > | thrusts |
Thrust Forces. | |
std::vector< std::shared_ptr< ChForce > > | backtorques |
Propeller Resistance torques. | |
std::vector< std::shared_ptr< ChLinkMotorRotationSpeed > > | motors |
Propeller Motors. | |
std::vector< std::shared_ptr< ChFunctionConst > > | speeds |
Propeller Motors Speed Functions. | |
double | Cd = 0 |
Drag coefficient. | |
std::shared_ptr< ChForce > | lin_drag |
Linear drag. | |
double | Surf = 0 |
Drag Surface. | |
Member Function Documentation
◆ GetChassisMeshFilename()
template<int nop>
|
inlinevirtual |
Get the name of the Wavefront file with chassis visualization mesh.
An empty string is returned if no mesh was specified.
Reimplemented in chrono::copter::Little_Hexy.
◆ GetPropellerMeshFilename()
template<int nop>
|
inlinevirtual |
Get the name of the Wavefront file with propeller visualization mesh.
An empty string is returned if no mesh was specified.
Reimplemented in chrono::copter::Little_Hexy.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono_models/robot/copters/Copter.h