SENSUS SDK

website·Indexed 32 days ago

https://docs.calyo.com

Calyo's software development kit for working with PULSE sensors. SENSUS enables the acquisition of live or recorded data, provides imaging algorithms, and supports integrations with ROS 2 and Foxglove. The ecosystem includes the sensus-sdk with a Python wrapper and a versioned configuration schema for pipeline setup.

Tokens
12.8K
Snippets
54
Records
110
Agent score
50%

What's inside SENSUS

  1. Overview of SENSUS SDK for PULSE sensors

    SENSUS is a software development kit (SDK) designed for working with PULSE sensors. It enables developers to acquire live or recorded acoustic data, execute configurable signal-processing and imaging pipelines, and export results to various destinations including files, application buffers, ROS 2, or Foxglove. It provides a Python API for direct application integration and supports the creation of robotics perception pipelines and real-time monitoring tools.
  2. Overview of Calyo PULSE and SENSUS SDK

    Calyo provides a software and hardware perception stack consisting of PULSE sensors and the SENSUS SDK. SENSUS is a collection of libraries, tools, and examples designed to reduce friction during the integration of PULSE sensors into applications.
  3. Integrate Calyo PULSE with third-party environments

    The SENSUS SDK uses a Docker-based architecture to support various open development environments. Available integrations include:

    • ROS2: Access PULSE data via ROS topics and services.
    • Docker: Run the SENSUS SDK within a container.
    • Foxglove: Access SENSUS SDK features within the Foxglove visualization tool.
    • C++: Integrate the SENSUS SDK directly into C++ codebases.
    • Python: Use Python wrappers to integrate the SENSUS SDK.
    • Matlab: Utilize the SENSUS SDK within the Matlab environment.
  4. SENSUS SDK Pipeline Configuration Overview

    SENSUS configurations are versioned YAML or JSON documents. Every configuration must declare the schema version matching the SENSUS release. A pipeline consists of three primary components: a Reader, a ProcessorPipeline (which contains multiple stages and units), and a Writer.

    Components are defined in two ways:

    1. Compact Form: Used for built-in plugins; arguments are placed alongside the type.
    2. Structured Form: Required for all non-built-in plugins (e.g., calyo_ros) and optional for built-in ones. It uses plugin, type, and a nested config object.
  5. Understand the SENSUS modular pipeline architecture

    SENSUS operates on a modular pipeline architecture consisting of four primary components:

    1. Reader: Defines the data source (live device, recorded dataset, or another pipeline).
    2. Processor: Executes processing stages (filtering, imaging, point-cloud generation, clustering).
    3. Writer: Directs the result to a destination (file, buffer, ROS 2, Foxglove).
    4. Configuration: A versioned YAML or JSON file that describes the pipeline and runtime parameters, allowing changes without modifying application code.

    Pipelines can be chained using a FrameBufferReader, enabling a single acquisition pipeline to feed multiple processing or output pipelines.

  6. Use SensusMT for asynchronous SENSUS SDK integration

    The SensusMT class provides a non-blocking, multi-threaded interface to the sensus-sdk. It allows the SDK to run in a separate thread, enabling streaming data acquisition where frames are queued internally. This is ideal for applications requiring concurrent processing, continuous data capture, or GUI integration. To retrieve data, use get_next() to check for availability and flush() to retrieve the latest packets.
  7. Calyo PULSE CP-STK Starter Kit contents

    The Calyo PULSE CP-STK is an evaluation kit for 3-D ultrasound sensing hardware. It includes the following components:

    • Calyo PULSE CP-STK 3-D ultrasound sensor
    • USB-C to USB-C cable
    • Quick Start Guide
  8. Acquire and capture data with SENSUS

    SENSUS provides capabilities to interface with one or more PULSE sensors via USB-C to acquire raw, timestamped acoustic data. Additionally, it supports playing back recorded datasets and generating simulated sensor data based on supported scene and acoustic-surface inputs.
  9. Safe operation of the Pulse Starter Kit (CP-STK) sensor

    The Pulse Starter Kit sensor uses ultrasonic waves. To ensure safe operation, maintain a distance of approximately 30 cm between your head and the sensor. Do not target the sensor directly at your ears or eyes, and do not place the device facedown on a surface while it is powered on.
  10. Retrieve the Calyo PULSE sensor serial number

    With the PULSE device plugged in, you can retrieve the sensor's serial number by querying the USB device list for the specific vendor and product IDs (0403:6014).
    lsusb -v -d 0403:6014 2>/dev/null | grep iSerial | awk '{ print "Calyo PULSE S/N: "$3 }'
    # Example Output -> Calyo PULSE S/N: CP66156A50003