Message Packs
Overview
make87 message packs are an optional convenience feature that provides standardized Protocol Buffer message types for common use cases in physical AI applications. You are free to use any message format or protocol you prefer - make87 is completely protocol-agnostic.
When you might use make87 message packs:
- You want to quickly prototype with standardized message types
- You're building applications that need to interoperate with existing make87 applications
- You prefer using well-tested, documented message schemas
When you might use your own messages:
- You have existing message definitions from other systems (ROS2, custom protocols, etc.)
- You need specialized message formats for your specific use case
- You prefer complete control over your data schemas
Discovering Available Message Packs
You can browse all available message packs and their types in the Messages section of the web app. This is useful for understanding what standardized types are available if you choose to use them.
Browse available message types maintained by make87
Available Message Categories
make87 maintains message packs for common physical AI use cases:
- Sensor Data:
ImageJPEG
,ImagePNG
,FrameH264
,FrameH265
for camera feeds - Tensors:
Matrix44
,Vector3
for mathematical operations - Spatial Data:
Pose3D
,Translation2D
for robotics and positioning - Text:
PlainText
for simple string communication - Primitives:
Int32
,Float64
,String
for basic data types
These message types are designed following Protocol Buffers best practices to ensure efficiency and compatibility.
Using make87 Message Packs
If you choose to use make87 message packs, you can reference them in your MAKE87.yml
manifest:
interfaces:
- name: camera_feed
protocol: zenoh
publishers:
- name: raw_images
spec: "make87_messages.image.ImageRGB"
encoding: "proto"
The make87 SDKs provide convenience methods for serialization and deserialization when using these message types.
Maintenance and Support
make87 message packs are maintained by the make87 team. If you encounter issues or have questions about existing message types, you can:
- Submit issues on the make87 message pack repository
- Contact support through the make87 platform
- Discuss in the make87 community forums
Note: Users cannot create or modify make87 message packs directly. The message pack library is curated and maintained by make87 to ensure stability and compatibility across the platform.
Alternative Approaches
Remember that make87 message packs are entirely optional. You can use any message format that works for your application:
- Custom Protocol Buffers: Define your own
.proto
files - JSON: Use JSON with appropriate parsing in your applications
- ROS2 Messages: Reference existing ROS2 message types like
geometry_msgs.PointCloud2
- Binary Formats: Use MessagePack, CBOR, or custom binary protocols
- Plain Text: Send simple string data between applications
Simply specify your message type in the spec
field of your interface configuration, and make87 will treat it as a soft contract for compatibility checking between applications.