robotmem_ros.node module

robotmem ROS 2 Node — SDK 薄包装.

7 Service + 1 Topic (perception stream) + Ready signal.

class robotmem_ros.node.PerceptionBuffer(mem: robotmem.sdk.RobotMemory, batch_size: int = 50, flush_interval: float = 1.0)

Bases: object

批量写入 + seq 丢失检测 + 背压告警(线程安全)

add(msg: robotmem_msgs.msg.PerceptionData)

L1: seq 丢失检测 + 入 buffer(共享状态全部在锁内)

flush()

外部调用 flush(Timer / shutdown)

get_stats() dict

线程安全的 stats 快照

log_stats()

周期 stats 日志(Node Timer 调用)

class robotmem_ros.node.RobotMemNode(*args: Any, **kwargs: Any)

Bases: Node

robotmem ROS 2 Node

destroy_node()

关闭顺序: ready=false → flush → close perception → close main → stats

robotmem_ros.node.main(args=None)
robotmem_ros.node.ros_error_boundary(func)

ROS Service 回调错误边界 — 对标 @mcp_error_boundary