Drag

File: drag.py
Author: Marcelo Jacinto (marcelo.jacinto@tecnico.ulisboa.pt)
Description: Base interface used to implement forces that should actuate on a rigidbody such as linear drag
License: BSD-3-Clause. Copyright (c) 2023, Marcelo Jacinto. All rights reserved.

Classes:

Drag

Class that serves as a template for the implementation of Drag forces that actuate on a rigid body

class pegasus.simulator.logic.dynamics.drag.Drag

Bases: object

Class that serves as a template for the implementation of Drag forces that actuate on a rigid body

Methods:

__init__()

Receives as input the drag coefficients of the vehicle as a 3x1 vector of constants

update(state, dt)

Method that should be implemented to update the drag force to be applied on the body frame of the vehicle

Attributes:

drag

The drag force to be applied on the body frame of the vehicle

__init__()

Receives as input the drag coefficients of the vehicle as a 3x1 vector of constants

update(state, dt)

Method that should be implemented to update the drag force to be applied on the body frame of the vehicle

Parameters:

state (State) – The current state of the vehicle. dt (float): The time elapsed between the previous and current function calls (s).

Returns:

A list with len==3 containing the drag force to be applied on the rigid body according to a FLU body reference

Return type:

list

property drag

The drag force to be applied on the body frame of the vehicle

Returns:

A list with len==3 containing the drag force to be applied on the rigid body according to a FLU body reference frame, expressed in Newton (N) [dx, dy, dz]

Return type:

list