Quadrotor References

class Quadrotor
Quadrotor(const std::string& cfg_path)

Construct quadrotor.

Parameters:

cfg_path (const std::string&) – path to configuration yaml file

Return type:

Quadrotor

Quadrotor(const QuadrotorDynamics& dynamics = QuadrotorDynamics(1.0, 0.25))

Construct quadrotor.

Parameters:

dynamics (const QuadrotorDynamics& Default=(1.0, 0.25)) – quadrotor dynamics parameters

Return type:

Quadrotor

~Quadrotor();

Deconstruct quadrotor.

Return type:

None

reset();

Reset quadrotor’s quadstate.

Return type:

bool

reset(const QuadState& state)

Reset quadrotor’s quadstate to given quadstate.

Parameters:

state (const QuadrotorDynamics&) – quadrotor new QuadState

Return type:

bool

init();

Initialize quadrotor’s quadstate to default.

Return type:

None

run(const Scalar dt)

Simulate dynamics for dt.

Parameters:

dt (const Scalar) – delta time

Return type:

bool

run(const Command& cmd, const Scalar dt)

Simulate dynamics with command for dt.

Parameters:
  • cmd (const Command&) – quadrotor command

  • dt (const Scalar) – delta time

Return type:

bool

getState(QuadState* const state)

Get the current state of the quadrotor.

Parameters:

state (QuadState* const) – quadrotor state

Return type:

bool

getMotorThrusts(Ref<Vector<4>> motor_thrusts)

Get the current motor thrust of the quadrotor.

Parameters:

motor_thrusts (Ref<Vector<4>>) – Motor thrusts

Return type:

bool

getMotorOmega(Ref<Vector<4>> motor_omega)

Get the current motor omega of the quadrotor.

Parameters:

motor_omega (Ref<Vector<4>>) – Motor omega

Return type:

bool

getDynamics(QuadrotorDynamics* const dynamics)

Get the quadrotor dynamics.

Parameters:

dynamics (QuadrotorDynamics* const) – quadrotor dynamics

Return type:

bool

getDynamics()

Get the quadrotor dynamics.

Return type:

const QuadrotorDynamics&

getSize()

Get the quadrotor size.

Return type:

Vector<3>

getPosition()

Get the quadrotor position.

Return type:

Vector<3>

getQuaternion()

Get the quadrotor orientation.

Return type:

Quaternion

getCameras()

Get all cameras assigned to the quadrotor.

Return type:

std::vector<std::shared_ptr<RGBCamera>>

getCamera(const size_t cam_id, std::shared_ptr<RGBCamera> camera)

Get the camera with the given id which is assigned to the quadrotor.

Parameters:
  • cam_id (size_t) – camera ID

  • camera (std::shared_ptr<RGBCamera>) – pointer on camera object

Return type:

bool

setState(const QuadState& state)

Set quadrotor state.

Parameters:

state (const QuadState&) – quadrotor state

Return type:

bool

setCommand(const Command& cmd)

Set quadrotor command.

Parameters:

cmd (const Command&) – quadrotor command

Return type:

bool

updateDynamics(const QuadrotorDynamics& dynamics)

Update quadrotor dynamics.

param dynamics:

quadrotor dynamics

type dynamics:

const QuadrotorDynamics&

rtype:

bool

addRGBCamera(std::shared_ptr<RGBCamera> camera)

Add RGBCamera to quadrotor.

Parameters:

camera (std::shared_ptr<RGBCamera>) – pointer on camera

Return type:

bool

runFlightCtl(const Scalar sim_dt, const Vector<3>& omega, const Command& cmd)

Run low-level controller.

Parameters:
  • sim_dt (const Scalar) – simulation delta time

  • omega (const Vector<3>&) – omega

  • cmd (const Command&) – quadrotor command

Return type:

Vector<4>

runMotors(const Scalar sim_dt, const Vector<4>& motor_thrust_des)

Simulate motor.

Parameters:
  • sim_dt (const Scalar) – simulation delta time

  • motor_thrust_des (const Vector<4>&) – desired motor thrust

Return type:

None

setWorldBox(const Ref<Matrix<3, 2>> box)

Set constraints for world.

Parameters:

box (const Ref<Matrix<3, 2>>) – boundary box

Return type:

bool

constrainInWorldBox(const QuadState& old_state)

Check if quadstate is within the constraints of the world.

Parameters:

box (const QuadState&) – old_state

Return type:

bool

getMass()

Get quadrotor mass.

Return type:

Scalar

setSize(const Ref<Vector<3>> size)

Set quadrotor size.

Parameters:

size (const Ref<Vector<3>>) – quadrotor size

Return type:

None

setCollision(const bool collision)

Set information about quadrotor collision.

Parameters:

collision (const bool) – if collided

Return type:

None

Note

Need to implement getCollision

getCollision()

Get information about quadrotor collision.

Return type:

bool