Record the situation
Capture robot state, sensor summaries, site, zone, payload, human proximity, operator interventions, and incident markers as ordered time-series evidence.
Physical AI agents need a memory of the physical world, not only a memory of text. A robot decision depends on what the robot observed, which action was taken, whether a human intervened, which policy context applied, and what happened afterward.
ZeptoDB keeps high-frequency robot telemetry and agent memory on the same timeline. The product surface available today covers ROS 2 ingest, typed profile tables, rosbag2 import/replay, time-series SQL, ASOF JOIN, Window JOIN, zero-copy Python, and Agent Memory. The more specific context-gated Physical AI Action-Outcome Memory experiments are research-only; they are useful evidence for the product direction, not a claim that ZeptoDB is a production robot controller or certified safety system.
Record the situation
Capture robot state, sensor summaries, site, zone, payload, human proximity, operator interventions, and incident markers as ordered time-series evidence.
Remember the action
Store the retrieved context, policy note, proposed action, executed action, rollback path, outcome, and reflection as agent memory.
Gate the reuse
Let applications check whether a prior successful action still fits the current temporal, spatial, payload, and policy context.
Replay the decision
Reconstruct the chain from sensor window to retrieved memory, recommendation, suppression, intervention, outcome, and follow-up note.
robot state + sensor window -> retrieved prior episodes -> policy and context gate -> recommended or suppressed action -> observation window -> outcome and reflectionFor robots, a similar memory is not enough. The old outcome has to be checked against the current physical situation: zone, topology, payload, human proximity, environment, sensor motif, current policy, and whether a human approval path is required.
ZeptoDB provides the data substrate for that loop. It does not decide the action by itself. Your application, model, controller, or operator workflow remains responsible for policy and execution.
Use these as cautious product claims. ZeptoDB helps store and replay the evidence that robot applications need for guardrails; it is not a certified safety layer.
Risky-repeat suppression
Store why a prior action was suppressed when the current payload, zone, sensor motif, or policy context no longer matched the old successful episode.
Operator intervention memory
Keep human override, manual recovery, rollback, and inspection notes beside the telemetry that triggered the intervention.
Policy-aware recall
Attach allowed-action metadata, human-approval requirements, risk tier, geofence, and site policy context to each action-outcome episode.
Incident and near-miss replay
Ask what the robot saw, which memory was retrieved, whether an old action was reused or blocked, and what changed afterward.
| Status | Physical AI scope |
|---|---|
| Available today | ROS 2 scalar/profile ingest, typed profile tables, rosbag2 import/replay, time-series SQL, ASOF JOIN, Window JOIN, Agent Memory, exact/semantic cache, replay telemetry, zero-copy Python |
| Research-only | Context-gated Physical AI Action-Outcome Memory experiments, synthetic robot/fleet fixtures, SQL replay harnesses, edge/fleet replay shape |
| Not claimed | Fully autonomous robot control, certified robot safety, runtime edge-to-fleet replication, or a production control plane that executes robot actions |
Read the grounded overview: Physical AI Memory and Action-Outcome Memory.
522ns to tensor
Zero-copy path from column store to NumPy and PyTorch. Online inference and offline evaluation can share the same SQL and the same data.
Nanosecond ASOF JOIN
Time-align heterogeneous streams such as camera frames, IMU, tactile, proprioception, odometry, and LaserScan telemetry.
5.52M events/sec
Ingest high-frequency robot and edge telemetry with a lock-free MPMC ring buffer and zero allocation on the hot path.
Episodes on S3
Replay Parquet episodes for offline evaluation, imitation-learning datasets, regression tests, and incident review.
Action memory
Store retrieved context, operator interventions, policy notes, tool calls, action outcomes, and reflections beside the raw sensor stream.
ROS 2 bridge
Subscribe to scalar topics, standard ROS 2 profiles, or typed profile tables; import and replay the same profiles from rosbag2.
std_msgs, IMU, JointState, Odometry, TF, and LaserScan telemetryZeptoDB’s Physical AI research track now has concrete action/outcome evidence behind it:
15/15 hazardous proposals suppressed
Shadow supervisor tests blocked every hazardous baseline proposal and routed those decisions to manual review.
5/5 safe proposals allowed
Context-gated recovery proposals were allowed across the five robot incident families in the fixture.
52/52 edge/fleet ACK convergence
Bounded edge-to-fleet replay handled duplicate, late, outage, and restart cases while converging fleet audit rows.
Controlled pilot boundary
The SQL/HTTP adapter is admin-gated and pilot-scoped, with explicit non-goals and rollback requirements.
ZeptoDB includes an optional ROS 2 connector for Physical AI pipelines. Build with -DZEPTO_USE_ROS2=ON and provide rclcpp, std_msgs, standard ROS 2 message packages, and optionally rosbag2_cpp / rosbag2_storage.
std_msgs/msg/{Float64,Float32,Int64,Int32,UInt64,UInt32} topics using a single data field.Ros2IngestMode::StandardProfile supports IMU, JointState, Odometry, TFMessage, and LaserScan profiles by flattening configured numeric fields into scalar rows.Ros2IngestMode::TypedProfile writes schema-aware wide rows for the same standard profiles, including robot/session/topic/frame metadata and profile-specific numeric columns.Start with the ROS 2 Setup and Smoke Test, the ROS 2 Edge Deployment Guide, and the C++ ROS 2 connector reference.
The Action-Outcome Memory research line asks whether a robot should reuse a prior action only when the current temporal, spatial, payload, and policy context is compatible with the old outcome.
Current public evidence:
ST_Within check.These are research fixture results, not production safety guarantees.
-- Align LiDAR scans with the most recent IMU sample and camera frame.SELECT l.ts, l.point_cloud, i.accel_x, i.accel_y, i.accel_z, i.gyro_x, i.gyro_y, i.gyro_z, c.frame_idFROM lidar_scans lASOF JOIN imu_readings i ON l.robot_id = i.robot_id AND l.ts >= i.tsASOF JOIN camera_frames c ON l.robot_id = c.robot_id AND l.ts >= c.tsWHERE l.ts > now() - interval '10 seconds'import zeptodbimport torch
conn = zeptodb.connect("localhost:8123")
# Query -> NumPy -> Tensor in microseconds, no serialization.result = conn.query( "SELECT accel_x, accel_y, accel_z FROM imu_readings WHERE ts > now()-1s")tensor = torch.from_numpy(result.to_numpy()) # zero-copy view| System | Integration |
|---|---|
| ROS 2 scalar topics | Available — live std_msgs subscriptions, table-aware ingest, rosbag2 import/replay |
| ROS 2 standard profiles | Available — IMU, JointState, Odometry, TFMessage, LaserScan scalar mapping |
| ROS 2 typed profiles | Available — schema-aware wide tables with typed-row cluster forwarding |
| MQTT | Ingestion connector for lightweight robot telemetry |
| OPC-UA | Industrial connector for co-bot and fixed-robot cells |
| PyTorch / JAX | Zero-copy via NumPy bridge |
| Arrow Flight | Batch streaming for distributed training |
| Parquet on S3 | Immutable episode storage for dataset versioning |
Build from the public repo, or open an issue with your pipeline shape: GitHub → · Issues →