Ports

gps (out)

Data structure
  • struct ::or_pose_estimator::state gps

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]


state (out)

Data structure
  • struct ::or_pose_estimator::state state

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]


Services

set_motor (attribute)

Inputs
  • struct ::mrsim::ids::simparam_s::motor_s motor: Simulation parameters for the motors

    • double J (default "8e-05") Inertia (kg.m²)

    • double b (default "0.0005") Drag (N.m.s)

    • double K (default "0.01") Torque constant (N.m/A)

    • double R (default "0.2") Electric resistance (Ohm)

    • double L (default "0.0002") Electric inductance (H)

    • double V (default "16") Battery voltage (V)


get_motor (attribute)

Outputs
  • struct ::mrsim::ids::simparam_s::motor_s motor: Simulation parameters for the motors

    • double J

    • double b

    • double K

    • double R

    • double L

    • double V


set_geom (attribute)

Inputs
  • double G[48] Mapping from propellers velocity^2 to wrench

  • double J[9] Inertia matrix


get_geom (attribute)

Outputs
  • double G[48] Mapping from propellers velocity^2 to wrench

  • double J[9] Inertia matrix


set_mass (attribute)

Inputs
  • double m (default "1") Mass in kg


get_mass (attribute)

Outputs
  • double m Mass in kg


set_gps_period (attribute)

Inputs
  • double gpsp


get_gps_period (attribute)

Outputs
  • double gpsp


set_external_disturbance (attribute)

Inputs
  • struct ::mrsim::ids::disturb_s disturb

    • struct ::or::rb3d::force force

      • double x

      • double y

      • double z

    • struct ::or::rb3d::torque torque

      • double x

      • double y

      • double z

    • double zmin

    • double zmax

    • double noise

    • double period

Define artificial external disturbance

The disturbance is defined in term of a force and torque applied to the center of mass. The perturbation is only active inside a given altitude band between zmin and zmax and its amplitude follows a sinusoid between 0 and force or torque at the desired period (set it to zero for a constant amplitude). Finally, an additive gaussian noise of standard deviation noise is applied.


get_external_disturbance (attribute)

Outputs
  • struct ::mrsim::ids::disturb_s disturb

    • struct ::or::rb3d::force force

      • double x

      • double y

      • double z

    • struct ::or::rb3d::torque torque

      • double x

      • double y

      • double z

    • double zmin

    • double zmax

    • double noise

    • double period


set_rotors (function)

Inputs
  • unsigned short n (default "4") Numer of controller rotors

Throws
  • exception ::mrsim::e_sys

    • short code

    • string<128> what


get_rotors (function)

Outputs
  • unsigned short n Numer of controller rotors


set_pty (activity)

Inputs
  • string<64> device

Throws
  • exception ::mrsim::e_sys

    • short code

    • string<128> what

Context

Set pty path


set_state (activity)

Inputs
  • double x

  • double y

  • double z

  • double yaw

  • double pitch

  • double roll

  • double vx

  • double vy

  • double vz

  • double wx

  • double wy

  • double wz

Context

Set current state


Tasks

main

Context

read

Context
  • Free running