XenseSDK API 参考
Sensor.create
Sensor.create(
cam_id=0,
config_path=None,
use_gpu=True,
api=None,
infer_size=(144, 240),
check_serial=True,
rectify_size=None,
ip_address=None,
video_path=None,
raw_size=None,
mac_addr=None,
)
cam_id 可以是相机编号、序列号或视频源。config_path 可以指向目录(目录中按序列号保存标定配置);rectify_size 和 raw_size 分别控制校正图和原始图尺寸。远程连接优先使用 mac_addr,它会映射到远程算力板地址。
selectSensorInfo
rectify, depth, force = sensor.selectSensorInfo(
Sensor.OutputType.Rectify,
Sensor.OutputType.Depth,
Sensor.OutputType.Force,
)
返回值的数量和顺序与参数一致;某一数据尚未生成时返回 None。推荐一次请求多个输出,避免同一帧被重复采集。
| 输出类型 | 含义 |
|---|---|
Rectify | 校正后的 BGR 图像 |
Difference | 与参考图的差分图 |
Depth | 深度图,单位 mm |
Marker2D / Marker3D | Marker 的二维/三维位置 |
Marker3DFlow | 三维网格形变向量 |
Force / ForceNorm | 分布式三维力和法向力 |
ForceResultant | 六维合力向量 |
Mesh3D | 当前三维网格 |
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。