mrs_msgs
This package included essential custom messages used by different parts of the mrs-uav-system.
- Message Definitions
- BoolStamped
- ConstraintManagerDiagnostics
- ControlError
- ControlManagerDiagnostics
- ControllerDiagnostics
- ControllerStatus
- CustomTopic
- DynamicsConstraints
- ErrorgraphElement
- ErrorgraphElementArray
- ErrorgraphError
- ErrorgraphNodeID
- EstimationDiagnostics
- EstimatorCorrection
- EstimatorDiagnostics
- EstimatorInput
- EstimatorOutput
- EulerAngles
- Float64
- Float64ArrayStamped
- Float64MultiArrayStamped
- Float64Stamped
- FuturePoint
- FutureTrajectory
- GainManagerDiagnostics
- GazeboSpawnerDiagnostics
- GimbalState
- GpsData
- GpsInfo
- GripperDiagnostics
- Histogram
- HwApiAccelerationHdgCmd
- HwApiAccelerationHdgRateCmd
- HwApiActuatorCmd
- HwApiAltitude
- HwApiAttitudeCmd
- HwApiAttitudeRateCmd
- HwApiCapabilities
- HwApiControlGroupCmd
- HwApiPositionCmd
- HwApiRcChannels
- HwApiStatus
- HwApiVelocityHdgCmd
- HwApiVelocityHdgRateCmd
- ImageLabeled
- ImageLabeledArray
- LandoffDiagnostics
- MpcPredictionFullState
- MpcTrackerDiagnostics
- NodeCpuLoad
- ObstacleSectors
- Path
- PathReference
- PathWithVelocity
- Point2D
- PoseWithCovarianceArrayStamped
- PoseWithCovarianceIdentified
- Prism
- ProfilerUpdate
- RangeWithCovarianceArrayStamped
- RangeWithCovarianceIdentified
- Reference
- ReferenceArray
- ReferenceStamped
- ReferenceWithVelocity
- RtkFixType
- RtkGps
- SafetyAreaManagerDiagnostics
- SafetyBorder
- Se3Gains
- SpeedTrackerCommand
- Sphere
- StringStamped
- Track
- TrackArrayStamped
- TrackStamped
- TrackerCommand
- TrackerStatus
- TrajectoryReference
- UInt16Stamped
- UavDiagnostics
- UavManagerDiagnostics
- UavState
- UavStatus
- UavStatusShort
- VelocityReference
- VelocityReferenceStamped
- WorldOrigin
- Service Definitions
- ConstraintsOverride
- DynamicsConstraintsSrv
- Float64Srv
- Float64StampedSrv
- GetBoolSrv
- GetFloat64
- GetPathSrv
- GetReferenceStampedSrv
- Kill
- PathSrv
- ReferenceSrv
- ReferenceStampedSrv
- SetInt
- SetObstacleSrv
- SetSafetyBorderSrv
- Spawn
- String
- TrajectoryReferenceSrv
- TransformPoseSrv
- TransformReferenceArraySrv
- TransformReferenceSrv
- TransformVector3Srv
- ValidatePathToPointSrv
- ValidateReference
- ValidateReferenceArray
- Vec1
- Vec4
- VelocityReferenceSrv
- VelocityReferenceStampedSrv
- Standard Documents
README
MRS ROS messages
|————–|———————————————————————————————————————————|——————————————————————————————————————————|
Documentation
General Points
Centralized Interface Hub: This package serves as the single source of truth for all custom message, service, and action definitions within the MRS system.
Strict Single-Package Policy: To maintain system integrity, individual packages within the MRS ecosystem must not define their own custom interfaces. This architecture is enforced for several critical reasons:
Dependency Decoupling: Centralization prevents a “spaghetti” dependency graph. By ensuring all nodes depend on
mrs_msgsrather than on each other for interfaces, we maintain a clean and linear build hierarchy.Data Portability (Rosbags): When replaying legacy data,
mrs_msgsis the only package required to decode the streams. Since it has no dependencies other than generic ROS message packages, it remains easy to compile across different distributions.Long-term Maintainability: If interfaces were scattered, replaying an old bag would require compiling the specific versions of every package that originally defined those messages—a task that often fails as downstream dependencies break over time.
Developer notes
Message structure
The nested folder structure within msg/, srv/, and action/ (e.g., msg/general/, msg/errorgraph/) is for organizational clarity only.
In the compiled code, these structures are flattened. There are no extra namespaces based on the folder names.
Source:
msg/general/Float64.msgIn Code:
mrs_msgs/msg/Float64
How to generate docs
The project includes a CI-ready script that handles the documentation build (requires rosdoc2) and can be used for local builds as well:
./.ci/ci_generate_docs.sh