API 参考
Sensor.create
Sensor.create(
cam_id=0,
config_path=None,
mac_addr=None,
infer_mode=None,
rectify_size=None,
raw_size=None,
disable_infer=None,
seeds=None,
overrides=None,
check_serial=True,
hook_modules=None,
disable_cache=None,
)
| 参数 | 说明 |
|---|---|
cam_id | 本地相机编号或传感器序列号 |
config_path | 本地配置文件或配置目录 |
mac_addr | 用于连接算力板上的远程传感器 |
infer_mode | 推理模式 |
rectify_size | 覆盖校正图尺寸 |
raw_size | 覆盖原始图尺寸 |
disable_infer | 是否关闭推理链路 |
seeds | 在构建上下文前合入的配置 |
overrides | 在配置加载后应用的最终参数覆盖 |
check_serial | 是否启用传感器序列号检查 |
hook_modules | 需要预加载的扩展 hook 模块 |
disable_cache | 是否禁用设备配置缓存 |
selectSensorInfo
rectify, depth, force = sensor.selectSensorInfo(
Sensor.OutputType.Rectify,
Sensor.OutputType.Depth,
Sensor.OutputType.Force,
)
调用会同步获取或计算所请求的数据。仅请求一个输出时,直接返回对应结果;请求多个输出时,按参数顺序返回元组。数据获取或计算失败时会抛出异常。建议在一次调用中请求同一帧所需的多个输出,避免重复采集。
| 输出类型 | 含义 |
|---|---|
Rectify | 校正后的 BGR 图像 |
Difference | 与参考图的差分图 |
Depth | 深度图,单位 mm |
Marker2D / Marker3D | Marker 的二维/三维位置 |
Marker3DFlow | Marker 的三维位移 |
Force / ForceNorm | 分布式三维力和法向力 |
ForceResultant | 六维合力向量 |
Mesh3D | 当前三维网格 |
Mesh3DFlow | 三维网格形变 |
Mesh3DInit | 初始三维网格 |
TimeStamp | 传感器时间戳(秒) |
生命周期与辅助方法
| 方法 | 说明 |
|---|---|
Sensor.scanSerialNumber() | 扫描序列号到相机 ID 的映射 |
sensor.getCameraID() | 获取当前相机编号 |
sensor.calibrateSensor() | 无接触时刷新参考图 |
sensor.exportRuntimeConfig(save_dir, binary=False) | 导出 runtime_<serial>;binary=True 时直接返回字节 |
Sensor.createSolver(runtime_path) | 从 runtime 创建离线求解器 |
sensor.release() | 关闭设备并释放资源 |
call_service(service, action, *args, **kwargs) | 调用算力板服务 |
远程调用
call_service 的底层服务名和 action 由算力板固件提供。请先用 EzROS 查询设备和服务,再调用具体 action。