Project

General

Profile

rmp440 component

Ports

cmd_vel (in)

Data structure
  • struct ::or_rigid_body::state cmd_vel

    • 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::jerk > jerk

      • double jx

      • double jy

      • double jz

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

      • double sx

      • double sy

      • double sz

The speed command to track (linear.x and angular.z).


Joystick (in)

Data structure
  • struct ::or_joystick::state Joystick

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

      • long sec

      • 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

      • 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]


Status (out)

Data structure
  • struct ::rmp440::status_str Status

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

    • struct ::rmp440::feedback_genom rs_data

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

        • long sec

        • long nsec

      • unsigned long fault_status[4]

      • unsigned long mcu_fault_status[4]

      • float frame_count

      • unsigned long operational_state

      • unsigned long dynamic_response

      • float min_propulsion_batt_soc

      • float aux_batt_soc

      • float inertial_x_acc

      • float inertial_y_acc

      • float inertial_x_rate

      • float inertial_y_rate

      • float inertial_z_rate

      • float pse_pitch

      • float pse_pitch_rate

      • float pse_roll

      • float pse_roll_rate

      • float pse_yaw_rate

      • unsigned long pse_data_is_valid

      • float yaw_rate_limit

      • float vel_limit

      • float linear_accel

      • float linear_vel

      • float differential_wheel_vel

      • 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 linear_pos

      • float right_front_current

      • float left_front_current

      • float right_rear_current

      • float left_rear_current

      • float max_motor_current

      • float right_front_current_limit

      • float left_front_current_limit

      • float right_rear_current_limit

      • float left_rear_current_limit

      • float min_motor_current_limit

      • float front_base_batt_1_soc

      • float front_base_batt_2_soc

      • float rear_base_batt_1_soc

      • float rear_base_batt_2_soc

      • float front_base_batt_1_temp

      • float front_base_batt_2_temp

      • float rear_base_batt_1_temp

      • float rear_base_batt_2_temp

      • float vel_target

      • float yaw_rate_target

      • float angle_target

      • float aux_batt_voltage

      • float aux_batt_current

      • float aux_batt_temp

      • unsigned long abb_system_status

      • unsigned long abb_batt_status

      • unsigned long aux_batt_faults

      • float ccu_7p2_battery_voltage

      • unsigned long sp_sw_build_id

      • unsigned long uip_sw_build_id

      • float mcu_inst_power[4]

      • float mcu_total_energy[4]

      • float fram_vel_limit

      • float fram_accel_limit

      • float fram_decel_limit

      • float fram_dtz_decel_limit

      • float fram_coastdown_decel

      • float fram_yaw_rate_limit

      • float fram_yaw_accel_limit

      • float fram_tire_diameter

      • float fram_wheel_base_length

      • float fram_wheel_track_width

      • float fram_transmission_ratio

      • unsigned long fram_config_bitmap

      • unsigned long fram_eth_ip_address

      • unsigned short fram_eth_port_number

      • unsigned long fram_eth_subnet_mask

      • unsigned long fram_eth_gateway

      • unsigned long user_feedback_bitmap[4]


StatusGeneric (out)

Data structure
  • struct ::rmp::status_str StatusGeneric

    • double receive_date

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

    • enum ::rmp440::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 ::rmp440::var_params var_params

    • double coeffLin

    • double coeffAng

    • double coeffLinAng


set_soft_accel_decel_limit (attribute)

Inputs
  • double soft_accel_decel_limit


Init (activity)

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

Throws
  • exception ::rmp440::emergency_stop

  • exception ::rmp440::already_initialized

  • exception ::rmp440::malloc_error

  • exception ::rmp440::rmplib_error

Context

Connect to RMP440 robot


Reconnect (activity)

Throws
  • exception ::rmp440::emergency_stop

  • exception ::rmp440::not_connected

  • exception ::rmp440::rmplib_error

Context

Reconnect to RMP440 robot


JoystickOn (activity)

Throws
  • exception ::rmp440::emergency_stop

  • exception ::rmp440::bad_ref

  • exception ::rmp440::rmplib_error

  • exception ::rmp440::joystick_error

  • exception ::rmp440::motors_off

  • exception ::rmp440::power_cord_connected

Context

Activate joystick motion mode


Track (activity)

Throws
  • exception ::rmp440::not_connected

  • exception ::rmp440::port_not_found

  • exception ::rmp440::bad_ref

  • exception ::rmp440::cmd_stop_track

  • exception ::rmp440::motors_off

  • exception ::rmp440::emergency_stop

  • exception ::rmp440::power_cord_connected

Context

Start tracking a reference port


Stop (function)

Context

Stop current Tracking


Gyro (activity)

Inputs
  • struct ::rmp440::gyro_params params

    • enum ::rmp440::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 ::rmp440::emergency_stop

  • exception ::rmp440::gyro_error

Context

Gyro configuration


SetRobotYaw (activity)

Inputs
  • double yaw (default "0") The yaw of the robot.

Throws
  • exception ::rmp440::emergency_stop

  • exception ::rmp440::gyro_error

Context

Set the yaw of the robot to an absolute value.


log (function)

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

Throws
  • exception ::rmp440::sys_error

Log RMP440 internal data


log_stop (function)

Stop logging


Tasks

MotionTask

Context
Throws
  • exception ::rmp440::emergency_stop


TrackTask

Context
  • Frequency 20.0 Hz