diff --git a/protos/mocap/mocap.proto b/protos/mocap/mocap.proto index 5b721f1dd..94d7a5115 100644 --- a/protos/mocap/mocap.proto +++ b/protos/mocap/mocap.proto @@ -15,6 +15,8 @@ option java_outer_classname = "MocapProto"; service MocapService { // Send Global position/attitude estimate from a vision source. rpc SetVisionPositionEstimate(SetVisionPositionEstimateRequest) returns(SetVisionPositionEstimateResponse) { option (mavsdk.options.async_type) = SYNC; } + // Send Global speed estimate from a vision source. + rpc SetVisionSpeedEstimate(SetVisionSpeedEstimateRequest) returns(SetVisionSpeedEstimateResponse) { option (mavsdk.options.async_type) = SYNC; } // Send motion capture attitude and position. rpc SetAttitudePositionMocap(SetAttitudePositionMocapRequest) returns(SetAttitudePositionMocapResponse) { option (mavsdk.options.async_type) = SYNC; } // Send odometry information with an external interface. @@ -28,6 +30,13 @@ message SetVisionPositionEstimateResponse { MocapResult mocap_result = 1; } +message SetVisionSpeedEstimateRequest { + VisionSpeedEstimate vision_speed_estimate = 1; // The vision speed estimate +} +message SetVisionSpeedEstimateResponse { + MocapResult mocap_result = 1; +} + message SetAttitudePositionMocapRequest { AttitudePositionMocap attitude_position_mocap = 1; // The attitude and position data } @@ -105,6 +114,13 @@ message VisionPositionEstimate { Covariance pose_covariance = 4; // Pose cross-covariance matrix. } +// Global speed estimate from a vision source. +message VisionSpeedEstimate { + uint64 time_usec = 1; // PositionBody frame timestamp UNIX Epoch time (0 to use Backend timestamp) + SpeedBody speed_body = 2; // Global speed (m/s) + Covariance speed_covariance = 3; // Linear velocity cross-covariance matrix. +} + // Motion capture attitude and position message AttitudePositionMocap { uint64 time_usec = 1; // PositionBody frame timestamp UNIX Epoch time (0 to use Backend timestamp)