Skip to content

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.

Animation of a user searching and reviewing message types

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.