diff --git a/buoy_interfaces/CMakeLists.txt b/buoy_interfaces/CMakeLists.txt index efa0be2..9c3dd69 100644 --- a/buoy_interfaces/CMakeLists.txt +++ b/buoy_interfaces/CMakeLists.txt @@ -13,7 +13,9 @@ find_package(sensor_msgs REQUIRED) find_package(std_msgs REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} + "msg/AirSpring.msg" "msg/BCRecord.msg" + "msg/ElectroHydraulic.msg" "msg/IncWaveHeight.msg" "msg/LatentData.msg" "msg/PBCommandResponse.msg" @@ -22,6 +24,7 @@ rosidl_generate_interfaces(${PROJECT_NAME} "msg/PCRecord.msg" "msg/SCRecord.msg" "msg/TFRecord.msg" + "msg/WaveBodyInteractions.msg" "msg/XBRecord.msg" "srv/BCResetCommand.srv" "srv/BenderCommand.srv" diff --git a/buoy_interfaces/msg/AirSpring.msg b/buoy_interfaces/msg/AirSpring.msg new file mode 100644 index 0000000..d9ef217 --- /dev/null +++ b/buoy_interfaces/msg/AirSpring.msg @@ -0,0 +1,6 @@ +float64 force # Newtons +float64 temperature # K +float64 heat_loss # dQ/dt in Watts +float64 piston_position # meters +float64 piston_velocity # m/s +float64 mass # kg diff --git a/buoy_interfaces/msg/ElectroHydraulic.msg b/buoy_interfaces/msg/ElectroHydraulic.msg new file mode 100644 index 0000000..89c581b --- /dev/null +++ b/buoy_interfaces/msg/ElectroHydraulic.msg @@ -0,0 +1,17 @@ +float64 rpm +float64 upper_hydraulic_pressure # Pa +float64 lower_hydraulic_pressure # Pa +float64 force # Newtons + +float64 supplied_hydraulic_power # Watts + +float64 hydraulic_motor_loss +float64 relief_valve_loss +float64 shaft_mech_power # Watts + +float64 motor_drive_i2r_loss +float64 motor_drive_switching_loss +float64 motor_drive_friction_loss +float64 load_dump_power +float64 battery_i2r_loss +float64 battery_storage_power diff --git a/buoy_interfaces/msg/LatentData.msg b/buoy_interfaces/msg/LatentData.msg index 0512f65..bea0a85 100644 --- a/buoy_interfaces/msg/LatentData.msg +++ b/buoy_interfaces/msg/LatentData.msg @@ -2,4 +2,13 @@ std_msgs/Header header IncWaveHeight[] inc_wave_heights +AirSpring upper_spring +AirSpring lower_spring + +ElectroHydraulic electro_hydraulic + +WaveBodyInteractions wave_body + +float64 piston_friction_force # Newtons + # TODO(andermi) fill in other stuff diff --git a/buoy_interfaces/msg/WaveBodyInteractions.msg b/buoy_interfaces/msg/WaveBodyInteractions.msg new file mode 100644 index 0000000..178afaf --- /dev/null +++ b/buoy_interfaces/msg/WaveBodyInteractions.msg @@ -0,0 +1,14 @@ + +# Motion +geometry_msgs/Pose pose # position/orientation +geometry_msgs/Twist twist # linear/angular rates + +# Forces/Torques +geometry_msgs/Wrench buoyancy +geometry_msgs/Wrench radiation +geometry_msgs/Wrench excitation + +# Total power = dot(force, velocity) + dot(torque, omega) +float64 buoyancy_total_power # Watts +float64 radiation_total_power # Watts +float64 excitation_total_power # Watts