NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
pmc::PMCConstants Class Reference

#include <shared.h>

Static Public Attributes

static constexpr float DT = 1.0 / 62.5
 
static constexpr float units_inches_to_meters = 0.0254
 
static const Eigen::Matrix< float, 6, 1 > discharge_coeff1
 
static const Eigen::Matrix< float, 6, 1 > discharge_coeff2
 
static const Eigen::Matrix< float, 6, 3 > nozzle_offsets1
 
static const Eigen::Matrix< float, 6, 3 > nozzle_offsets2
 
static const Eigen::Matrix< float, 6, 3 > nozzle_orientations1
 
static const Eigen::Matrix< float, 6, 3 > nozzle_orientations2
 
static const Eigen::Vector3f impeller_orientation1 = (Eigen::Vector3f() << 0, 1, 0).finished()
 
static const Eigen::Vector3f impeller_orientation2 = (Eigen::Vector3f() << 0, -1, 0).finished()
 
static const Eigen::Matrix< float, 6, 1 > nozzle_widths
 
static constexpr float zero_thrust_area [2] = {0.0044667, 0.0042273}
 
static constexpr float abp_nozzle_max_open_angle = 79.91 * M_PI / 180.0
 
static constexpr float abp_nozzle_min_open_angle = 15.68 * M_PI / 180.0
 
static constexpr float abp_nozzle_flap_length = 0.5353 * units_inches_to_meters
 
static constexpr float abp_nozzle_intake_height = 0.5154 * units_inches_to_meters
 
static constexpr float abp_nozzle_gear_ratio = 0.5
 
static constexpr float servo_motor_k = 0.2893 * 0.01 / 1.5
 
static constexpr float servo_motor_r = 6.0 / 1.5
 
static constexpr float servo_motor_friction = 3e-7
 
static constexpr float servo_motor_gearbox_inertia = .000000025
 
static constexpr float servo_motor_gear_ratio = 1.0 / 100.0
 
static constexpr float imp_motor_speed_k = 374*2*M_PI/60
 
static constexpr float imp_motor_r = 1.2
 
static constexpr float imp_motor_torque_k = 0.0255
 
static constexpr float imp_motor_friction_coeff = 0.144 * imp_motor_torque_k / (4380*2*M_PI/60.0)
 
static constexpr float backlash_half_width = 1.0 * M_PI / 180.0 / 2
 
static constexpr float impeller_speed2pwm = 0.792095
 
static constexpr float impeller_diameter = 5.5 * units_inches_to_meters
 
static constexpr float air_density
 
static constexpr float impeller_inertia = 0.001
 
static const float AREA_LOOKUP_INPUT []
 
static const float CDP_LOOKUP_OUTPUT []
 
static const int AREA_LOOKUP_TABLE_SIZE = 334
 

Member Data Documentation

◆ abp_nozzle_flap_length

constexpr float pmc::PMCConstants::abp_nozzle_flap_length = 0.5353 * units_inches_to_meters
staticconstexpr

◆ abp_nozzle_gear_ratio

constexpr float pmc::PMCConstants::abp_nozzle_gear_ratio = 0.5
staticconstexpr

◆ abp_nozzle_intake_height

constexpr float pmc::PMCConstants::abp_nozzle_intake_height = 0.5154 * units_inches_to_meters
staticconstexpr

◆ abp_nozzle_max_open_angle

constexpr float pmc::PMCConstants::abp_nozzle_max_open_angle = 79.91 * M_PI / 180.0
staticconstexpr

◆ abp_nozzle_min_open_angle

constexpr float pmc::PMCConstants::abp_nozzle_min_open_angle = 15.68 * M_PI / 180.0
staticconstexpr

◆ air_density

constexpr float pmc::PMCConstants::air_density
staticconstexpr
Initial value:
=
1.2

◆ AREA_LOOKUP_INPUT

const float pmc::PMCConstants::AREA_LOOKUP_INPUT
static

◆ AREA_LOOKUP_TABLE_SIZE

const int pmc::PMCConstants::AREA_LOOKUP_TABLE_SIZE = 334
static

◆ backlash_half_width

constexpr float pmc::PMCConstants::backlash_half_width = 1.0 * M_PI / 180.0 / 2
staticconstexpr

◆ CDP_LOOKUP_OUTPUT

const float pmc::PMCConstants::CDP_LOOKUP_OUTPUT
static

◆ discharge_coeff1

const Eigen::Matrix< float, 6, 1 > pmc::PMCConstants::discharge_coeff1
static
Initial value:
= (Eigen::Matrix<float, 6, 1>() <<
0.914971062, 0.755778254, 0.940762925, 0.792109779, 0.92401881, 0.930319765).finished()

◆ discharge_coeff2

const Eigen::Matrix< float, 6, 1 > pmc::PMCConstants::discharge_coeff2
static
Initial value:
= (Eigen::Matrix<float, 6, 1>() <<
0.947114008, 0.764468916, 1.000000000, 0.90480943, 0.936555627, 0.893794766).finished()

◆ DT

constexpr float pmc::PMCConstants::DT = 1.0 / 62.5
staticconstexpr

◆ imp_motor_friction_coeff

constexpr float pmc::PMCConstants::imp_motor_friction_coeff = 0.144 * imp_motor_torque_k / (4380*2*M_PI/60.0)
staticconstexpr

◆ imp_motor_r

constexpr float pmc::PMCConstants::imp_motor_r = 1.2
staticconstexpr

◆ imp_motor_speed_k

constexpr float pmc::PMCConstants::imp_motor_speed_k = 374*2*M_PI/60
staticconstexpr

◆ imp_motor_torque_k

constexpr float pmc::PMCConstants::imp_motor_torque_k = 0.0255
staticconstexpr

◆ impeller_diameter

constexpr float pmc::PMCConstants::impeller_diameter = 5.5 * units_inches_to_meters
staticconstexpr

◆ impeller_inertia

constexpr float pmc::PMCConstants::impeller_inertia = 0.001
staticconstexpr

◆ impeller_orientation1

const Eigen::Vector3f pmc::PMCConstants::impeller_orientation1 = (Eigen::Vector3f() << 0, 1, 0).finished()
static

◆ impeller_orientation2

const Eigen::Vector3f pmc::PMCConstants::impeller_orientation2 = (Eigen::Vector3f() << 0, -1, 0).finished()
static

◆ impeller_speed2pwm

constexpr float pmc::PMCConstants::impeller_speed2pwm = 0.792095
staticconstexpr

◆ nozzle_offsets1

const Eigen::Matrix< float, 6, 3 > pmc::PMCConstants::nozzle_offsets1
static
Initial value:
(Eigen::Matrix<float, 6, 3>() <<
6.00, 4.01, -1.56,
-6.00, 4.01, 1.56,
2.83, 6.00, 2.83,
-2.83, 6.00, -2.83,
-2.66, 4.01, 6.00,
2.66, 4.01, -6.00).finished()

◆ nozzle_offsets2

const Eigen::Matrix< float, 6, 3 > pmc::PMCConstants::nozzle_offsets2
static
Initial value:
(Eigen::Matrix<float, 6, 3>() <<
-6.00, -4.01, -1.56,
6.00, -4.01, 1.56,
-2.83, -6.00, 2.83,
2.83, -6.00, -2.83,
2.66, -4.01, 6.00,
-2.66, -4.01, -6.00).finished()

◆ nozzle_orientations1

const Eigen::Matrix< float, 6, 3 > pmc::PMCConstants::nozzle_orientations1
static
Initial value:
= (Eigen::Matrix<float, 6, 3>() <<
1, 0, 0,
-1, 0, 0,
0, 1, 0,
0, 1, 0,
0, 0, 1,
0, 0, -1).finished()

◆ nozzle_orientations2

const Eigen::Matrix< float, 6, 3 > pmc::PMCConstants::nozzle_orientations2
static
Initial value:
= (Eigen::Matrix<float, 6, 3>() <<
-1, 0, 0,
1, 0, 0,
0, -1, 0,
0, -1, 0,
0, 0, 1,
0, 0, -1).finished()

◆ nozzle_widths

const Eigen::Matrix< float, 6, 1 > pmc::PMCConstants::nozzle_widths
static
Initial value:
=
PMCConstants::units_inches_to_meters * (Eigen::Matrix<float, 6, 1>() << 5.0, 5.0, 2.8, 2.8, 2.8, 2.8).finished()

◆ servo_motor_friction

constexpr float pmc::PMCConstants::servo_motor_friction = 3e-7
staticconstexpr

◆ servo_motor_gear_ratio

constexpr float pmc::PMCConstants::servo_motor_gear_ratio = 1.0 / 100.0
staticconstexpr

◆ servo_motor_gearbox_inertia

constexpr float pmc::PMCConstants::servo_motor_gearbox_inertia = .000000025
staticconstexpr

◆ servo_motor_k

constexpr float pmc::PMCConstants::servo_motor_k = 0.2893 * 0.01 / 1.5
staticconstexpr

◆ servo_motor_r

constexpr float pmc::PMCConstants::servo_motor_r = 6.0 / 1.5
staticconstexpr

◆ units_inches_to_meters

constexpr float pmc::PMCConstants::units_inches_to_meters = 0.0254
staticconstexpr

◆ zero_thrust_area

constexpr float pmc::PMCConstants::zero_thrust_area[2] = {0.0044667, 0.0042273}
staticconstexpr

The documentation for this class was generated from the following files:
pmc::PMCConstants::units_inches_to_meters
static constexpr float units_inches_to_meters
Definition: shared.h:31