Class in Zendir.Classes
| Inherits from PhysicalObject
Declaration
class Gimbal;
Description
The Gimbal class provides a single 1-axial gimbal that allows for a component attached to be rotated about a fixed axis. The gimbal will rotate about its local Up-vector, which is a yaw rotation. The gimbal does not move horizontally and does not perform any physical calculations. This means that it will not contribute to the changes in the mass properties of the spacecraft or any torques applied to the spacecraft’s overall orientation. Objects attached to the gimbal will be rotated at the pivot point (the local origin) and gimbals can be stacked for multidimensional rotations. Physics-based estimates, such as forces and moment of inertia calculations are not calculated. As such, the gimbal should be used as a proof of concept design before moving to a more advanced and accurate system, such as the Hinged Rigid Body (HRB) component.
Properties
Declared | Description |
---|---|
Angle | The angle at which the gimbal is currently rotated. Thisis set by the gimbal and cannot be set by external classes. |
DesiredVelocity | The desired angular velocity of the motor that should spin thegimbal. This velocity will only be met provided the torque does notexceed the limit. |
In_CommandGimbalMsg | An optional gimbal command message that will update the target angleand desired velocity based on the message, which can be calculated froma software module or external source. |
Inertia | The rotational inertia of the gimbal and all objects attached.By default, if the inertia value is left to be zero,then the rotational inertia of the gimbal is calculated by usinga Cylinder model of I = 0.5 m r^2, where m is the total mass andr is the distance the furthest child is from the cylinder. |
IsLimited | A flag whether the gimbal has reached its limits of theangle at which it is able to rotate. This does not necessarilymean it is stuck, but that one direction is restricted. |
IsLocked | A flag whether the gimbal is able to move. If the gimbal islocked, the gimbal angle will not be changed. |
MaxAngle | The maximum angle at which the gimbal can reach. If thegimbal attempts to reach an angle passed this point, the gimbalwill be locked. |
MaxTorque | The maximum torque that can be applied to the gimbalmotor when attempting to change the angle of the gimbal. This is avalue that does not change and the gimbal will only rotate withthe amount of torque. |
MinAngle | The minimum angle at which the gimbal can reach. If thegimbal attempts to reach an angle below this point, the gimbalwill be locked. |
Out_GimbalStatusMsg | The gimbal message that includes the information about the currentgimbal position and the torque of the gimbal. |
OverrideInertia | A flag whether to override the default rotational inertia valuefor determining the torques of the gimbal. |
StepAngle | The minimum step angle between each of the steps on thegimbal that it can rotate between. |
TargetAngle | The target angle that should be rotated towards. If thetarget angle changes, the gimbal will attempt to rotate towardsthe targeted angle. |
Torque | The current torque of the gimbal motor when attemptingto change the angle of the gimbal. |
Velocity | The current angular velocity of the gimbal while it is moving.If the gimbal is not moving, then the velocity will not change overtime. |
Inherited | Description |
---|---|
Behaviours | A collection of behaviours attached to this object. |
CenterOfMassB_B | The center of mass of the component in respect to the bodyframe (B) of the component. This is isolated from any childrenand exists in isolation. |
CenterOfMassDot_LB_B | The center of mass time-derivative of the component within itsown local coordinates. This does not include any of the sub-componentsand exists in isolation. |
CenterOfMassDotB_B | The center of mass time-derivative of the component relative tothe body frame (B). This does not include any of the sub-componentsand exists in isolation. |
CenterOfMassL_L | The center of mass of the component within its own localcoordinates. This does not include any of the sub-components andexists in isolation. |
CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within itsown local coordinates. This does not include any of the sub-componentsand exists in isolation. |
CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relativeto the body frame (B). This does not include any of the sub-componentsand exists in isolation. |
Children | A collection of children attached to this object. |
DCM_BN | The rotational DCM matrix between the body frame (B) at the topof this component chain and the inertial frame (N). |
DCM_LB | The rotational DCM matrix between the component frame of thisobject (L) relative to the body frame (B). |
DCM_LN | The DCM rotational matrix of the component relative to theinertial origin (N) of the world. |
DCM_LP | The DCM matrix of the component in the parent’s frame (P), takenfrom the Component Transform (PL). |
IsEnabled | Is true if the object is currently enabled. |
LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
Mass | The component mass defined in the object. This is independentof any parent or children objects and exists in isolation. |
MassDot | The component mass time-derivative defined in the object. Thisis independent of any parent or children objects and exists in isolation. |
Models | A collection of models attached to this object. |
MomentOfInertia_LB | The moment of inertia of the component, measured at thelocal center of mass, represented with its own local coordinates.This does not include any of the sub-components and exists inisolation. |
MomentOfInertiaB_B | The moment of inertia of this component, measured inthe body frame relative to the parented body. This is independentof any children and exists in isolation. |
MomentOfInertiaPrime_LB | The derivative of the moment of inertia of the component,measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components andexists in isolation. |
MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component,represented in the body frame (B). This is independent and exists inisolation. |
Name | The display name or tag of this object. |
Out_ComponentMassMsg | The component mass message defines the set of mass properties andstates of the system within this component locally. This is independentof any parent or children properties or objects. |
Out_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
Parent | The currently attached parent object (if any). |
Position | [m] The position of the object relative to the parent or to world origin, if no parent exists. |
Position_BN_N | The position of the body (the root parent B) in theinertial frame relative to the inertial point (N). |
Position_LB_B | The position of the component relative to the rootobject of this hierarchy. This is in the inertial frameand if the component is the root object, then there willbe no position. |
Position_LN_N | The position of the inertial world space. This position isderived from the world’s transform (N). |
Position_LP_P | The position of the object relative to the parented object (P).If there is no parent object, then this will be in the inertialframe. |
Root | The root object in the parent chain. |
Rotation | [-] The rotation of the object relative to the parent or to the world origin, if no parent exists. |
Thermal | A reference to the thermal model that is attached to this object.This will allow the object to have thermal properties and be ableto be used in thermal simulations. |
Methods
Inherited | Description |
---|---|
AddObject | Returns a new simulation object with the specified type. |
Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
Destroy | Removes the current object from the simulation. |
Detach | This is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation. |
FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
FindChildrenWithType | Returns all attached children that satisfies the specified type. |
FindChildWithID | Returns an attached child that satisfies the specified ID. |
FindChildWithType | Returns an attached child that satisfies the specified type. |
FindModelsWithType | Returns all attached models that satisfies the specified type. |
FindModelWithID | Returns an attached model that satisfies the specified ID. |
FindModelWithType | Returns an attached model that satisfies the specified type. |
FindParentWithID | Returns an attached parent that satisfies the specified ID. |
FindParentWithType | Returns an attached parent that satisfies the specified type. |
FindRootWithID | Returns a root object that satisfies the specified ID. |
FindRootWithType | Returns a root object that satisfies the specified type. |
GetModel | Returns a valid assigned model with the specified type. |
GetWorldTransform | Returns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space. |
ReadBodyTransform | This method will reset the dirty flag on the mass so thatit has been read successfully and is valid. |
UpdateMassProperties | Updates the mass properties of the current physical object ata particular time. |