jackal_msgs

Summary

jackal_msgs
Version:

0.5.1

Description:

Messages exclusive to Jackal, especially for representing low-level motor commands and sensors.

Maintainers:
  • Mike Purvis <mpurvis AT clearpathrobotics DOT com>
Licenses:
  • BSD
Urls:
Authors:
  • Mike Purvis <mpurvis AT clearpathrobotics DOT com>
BuildDepends:
BuildtoolDepends:
 
BuildExportDepends:
 
ExecDepends:

Types

Message types

jackal_msgs/Status
Field:
  • header (std_msgs/Header) –
  • hardware_id (string) –
  • mcu_uptime (duration) –
  • connection_uptime (duration) –
  • drivers_active (bool) –
  • driver_external_stop_present (bool) –
  • driver_external_stop_stopped (bool) –
  • measured_battery (float32) –
  • measured_12v (float32) –
  • measured_5v (float32) –
  • drive_current (float32) –
  • user_current (float32) –
  • computer_current (float32) –
  • total_current (float32) –
  • total_current_peak (float32) –
  • total_power_consumed (float64) –

This message represents Jackal’s lower-frequency status updates Default publish frequency is 1Hz.

# This message represents Jackal's lower-frequency status updates
# Default publish frequency is 1Hz.

Header header

# Commit of firmware source.
string hardware_id

# Times since MCU power-on and MCU rosserial connection, respectively.
duration mcu_uptime
duration connection_uptime

# Monitoring the run/stop loop. Changes in these values trigger an immediate
# publish, outside the ordinarily-scheduled 1Hz updates.
bool drivers_active
bool driver_external_stop_present
bool driver_external_stop_stopped

# Voltage rails, in volts
# Averaged over the message period
float32 measured_battery
float32 measured_12v
float32 measured_5v

# Current senses available on platform, in amps.
# Averaged over the message period
float32 drive_current
float32 user_current
float32 computer_current
float32 total_current

# Highest total system current peak as measured in a 1ms window.
float32 total_current_peak

# Integration of all power consumption since MCU power-on, in watt-hours.
float64 total_power_consumed 
jackal_msgs/Feedback
Field:

This message represents high-frequency feedback from the MCU, as necessary to support closed-loop control and thermal monitoring. Default publish frequency is 50Hz.

# This message represents high-frequency feedback from the MCU,
# as necessary to support closed-loop control and thermal monitoring.
# Default publish frequency is 50Hz.

Header header

DriveFeedback[2] drivers

# Temperatures 
float32 pcb_temperature
float32 mcu_temperature

# Commanded control mode, use the TYPE_ constants from jackal_msgs/Drive.
int8 commanded_mode

# Actual control mode. This may differ from the commanded in cases where
# the motor enable is off, the motors are in over-current, etc.
int8 actual_mode
jackal_msgs/DriveFeedback
Field:
  • current (float32) –
  • duty_cycle (float32) –
  • bridge_temperature (float32) –
  • motor_temperature (float32) –
  • measured_velocity (float32) –
  • measured_travel (float32) –
  • driver_fault (bool) –

This message represents feedback data from a single drive unit (driver + motor).

Current flowing from battery into the MOSFET bridge.

# This message represents feedback data from a single drive unit (driver + motor).

# Current flowing from battery into the MOSFET bridge.
float32 current

# Instantaneous duty cycle of MOSFET bridge.
float32 duty_cycle

# Temperatures measured in the MOSFET bridge and on the motor casing, in deg C.
float32 bridge_temperature
float32 motor_temperature

# Encoder data
float32 measured_velocity   # rad/s
float32 measured_travel     # rad

# True if the underlying driver chip reports a fault condition.
bool driver_fault
jackal_msgs/Drive
Constant:
  • MODE_VELOCITY (int8):0
  • MODE_PWM (int8):1
  • MODE_EFFORT (int8):2
  • MODE_NONE (int8):-1
  • LEFT (int8):0
  • RIGHT (int8):1
Field:
  • mode (int8) –
  • drivers[2] (float32) –

This message represents a low-level motor command to Jackal.

Command units dependent on the value of this field

# This message represents a low-level motor command to Jackal.

# Command units dependent on the value of this field
int8 MODE_VELOCITY=0   # velocity command (rad/s of wheels)
int8 MODE_PWM=1        # proportion of full voltage command [-1.0..1.0]
int8 MODE_EFFORT=2     # torque command (Nm)
int8 MODE_NONE=-1      # no control, commanded values ignored.
int8 mode

# Units as above, +ve direction propels chassis forward.
int8 LEFT=0
int8 RIGHT=1
float32[2] drivers