Ports

cmd_vel (in)

Data structure
  • struct ::or::genpos::cart_speed cmd_vel

    • long numRef

    • long updatePeriod

    • double v

    • double vt

    • double w

    • double vmax

    • double wmax

    • double linAccelMax

    • double angAccelMax


Joystick (in)

Data structure
  • struct ::or_joystick::state Joystick

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

      • unsigned long sec

      • unsigned long nsec

    • sequence< boolean, 16 > buttons

    • sequence< short, 16 > axes


Pose (out)

Data structure
  • struct ::or_pose_estimator::state Pose

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

      • unsigned long sec

      • unsigned long nsec

    • boolean intrinsic

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

      • double x

      • double y

      • double z

      • double qw

      • double qx

      • double qy

      • double qz

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

      • double cov[28]

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

      • double vx

      • double vy

      • double vz

      • double wx

      • double wy

      • double wz

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

      • double cov[21]

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

      • double ax

      • double ay

      • double az

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

      • double cov[6]


Status (out)

Data structure
  • struct ::rmp400::status_str Status

    • enum ::rmp400::mode rs_mode ∈ { mode_idle, mode_motors_off, mode_manual, mode_track, mode_emergency, mode_power_coord }

    • struct ::rmp400::data_str rs_data[2]

      • double pitch_angle

      • double pitch_rate

      • double roll_angle

      • double roll_rate

      • double lw_velocity

      • double rw_velocity

      • double yaw_rate

      • short servo_frames

      • double integrated_left_wheel

      • double integrated_right_wheel

      • double integrated_fore_aft

      • double integrated_yaw

      • double left_torque

      • double right_torque

      • short operational_mode

      • short controller_gain_schedule

      • double ui_voltage

      • double powerbase_voltage

      • double battery_charge

      • double velocity_command

      • double turn_command


StatusGeneric (out)

Data structure
  • struct ::rmp::status_str StatusGeneric

    • double receive_date

    • enum ::rmp::model robot_model ∈ { model_400, model_440 }

    • enum ::rmp400::mode rs_mode ∈ { mode_idle, mode_motors_off, mode_manual, mode_track, mode_emergency, mode_power_coord }

    • double propulsion_battery_level

    • double aux_battery_level

    • double pitch

    • double roll

    • double yaw_rate

    • double v

    • double w

    • double v_target

    • double w_target

    • float right_front_vel

    • float left_front_vel

    • float right_rear_vel

    • float left_rear_vel

    • float right_front_pos

    • float left_front_pos

    • float right_rear_pos

    • float left_rear_pos

    • float right_front_torque

    • float left_front_torque

    • float right_rear_torque

    • float left_rear_torque


Services

set_var_params (attribute)

Inputs
  • struct ::rmp400::var_params var_params

    • double coeffLin

    • double coeffAng

    • double coeffLinAng


set_kinematics (attribute)

Inputs
  • struct ::rmp400::kinematics_str kinematics

    • double leftWheelRadius

    • double rightWheelRadius

    • double axisWidth


Init (activity)

Inputs
  • string<32> device (default "10.40.40.40:8080") robot device specification

Throws
  • exception ::rmp400::emergency_stop

  • exception ::rmp400::already_initialized

  • exception ::rmp400::malloc_error

  • exception ::rmp400::felib_error

  • exception ::rmp400::rmplib_error

Context

Connect to RMP400 robot


JoystickOn (activity)

Throws
  • exception ::rmp400::emergency_stop

  • exception ::rmp400::bad_ref

  • exception ::rmp400::rmplib_error

  • exception ::rmp400::joystick_error

  • exception ::rmp400::motors_off

  • exception ::rmp400::power_cord_connected

Context

Activate joystick motion mode


Track (activity)

Throws
  • exception ::rmp400::not_connected

  • exception ::rmp400::port_not_found

  • exception ::rmp400::bad_ref

  • exception ::rmp400::cmd_stop_track

  • exception ::rmp400::motors_off

  • exception ::rmp400::emergency_stop

  • exception ::rmp400::power_cord_connected

Context

Start tracking a reference port


Stop (function)

Context

Stop current Tracking


Gyro (activity)

Inputs
  • struct ::rmp400::gyro_params params

    • enum ::rmp400::gyro_mode mode ∈ { gyro_off, gyro_on_if_motion, gyro_on }

    • string port

    • enum ::GYRO_TYPE type ∈ { GYRO_UNKNOWN, GYRO_KVH_ECORE_1000, GYRO_KVH_DSP_5000, GYRO_KVH_DSP_3000 }

    • double latitude

    • double woffset

Throws
  • exception ::rmp400::emergency_stop

  • exception ::rmp400::gyro_error

Context

Gyro configuration


log (function)

Inputs
  • string<64> path (default "/tmp/rmp400.log") Log file name

Throws
  • exception ::rmp400::sys_error

Log RMP400 internal data


log_stop (function)

Stop logging


Tasks

MotionTask

Context
Throws
  • exception ::rmp400::emergency_stop


TrackTask

Context
  • Frequency 20.0 Hz