GCOP
1.0
|
#include <heli.h>
Public Member Functions | |
Heli () | |
Public Attributes | |
double | rt |
distance from center of mass to main rotor (top) | |
double | rb |
distance from center of mass to rear rotor (back) |
Idealized small helicopter modelled as a rigid body with 6 degrees of freedom and 6 velocities and 4 control variables. The heli position is denoted , orientation parametrized using roll , pitch , and yaw . The linear velocity is denoted , and the angular velocity . The whole state of the helicopter is denoted by the 12-tuple .
The controls consist of the angles that control the main rotor by pitching it forward (pitch ) and tilting it sideways (roll ) 2 remaining inputs are the collective and (yaw)rudder forces so that .
It is assumed that the center of mass (COM) lies directly below the main rotor, i.e. that the main rotor axis is aligned with the body fixed z-axis (with origin at the COM). Similar assumption is made about the rear rotor application point with respect to the negative body-fixed x-axis. The rear rotor produces rudder force in the y-axis direction. The default heli parameters are distance b/n COM and top rotor and distance b/n COM and rear rotor , mass . Moments of inertia can be taken from a comparable small RC helicopter but here we assume that the helicopter mass is concentrated in a sphere of radius rt/2 and mass mb fixed at the COM. Rotational moments of inertia are computed using the sphere as well as a a virtual disk or radius rb and weight mr representing the spinning top rotor fixed at distance rt above the COM perpendicular to the body-fixed z-axis.
Denote the whole configuration by , the whole velocity by , defined by
Denote the transformation corresponding to roll and pitch only by . Denote a rotation corresponding to roll , and pitch by .
Denoting the vectors and .
The control forces acting on the system in its body frame are
Now let's check what conditions are necessary for motion invariant to translations and rotations around the -axis, i.e. to transformations. This means that there is a velocity , that can be expressed as , for which is a relative equilibria for the whole system on , i.e. and .
This velocity is obtained by satisfying the invariance conditions
using the -invariant external force with the scalar denoting acceleration due to gravity (e.g. on Earth ).
These conditions can be simplified if one assumes that the moments of rotational inertia around the and axis are identical In this case the invariance requires that:
Author: Marin Kobilarov -- Copyright (C) 2006
Heli::Heli | ( | ) |
References gcop::Body3d< 4 >::Bu, gcop::Body3d< 4 >::fp, and gcop::Body3d< 4 >::m.
double gcop::Heli::rb |
distance from center of mass to rear rotor (back)
Referenced by gcop::HeliView::Render().
double gcop::Heli::rt |
distance from center of mass to main rotor (top)
Referenced by gcop::HeliView::Render().