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 density) |
| 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.
◆ 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.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono_models/robot/copters/Copter.h