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 ChVector<> &cpos, std::vector< ChVector<>> 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 ChVector<> &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]. | |
| ChVector | 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< ChFunction_Const > > | 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