之前写过一篇[《雷达工具:用于互动墙、地面互动等》https://blog.csdn.net/qq_23879197/article/details/108338667),当时开发工具,主要是为了工作中用起来方便,也做一个记录。
这次继续把这件事做下去,整理成了一个新的 Windows 桌面工具:**Pullet Lidar**。
它主要解决一件事:把雷达扫描到的空间数据,转换成互动程序能使用的触点坐标和区域人数,减少每次做项目时重复连接设备、标定范围、处理数据的工作。
目前提供 Windows x64 版本,适合互动墙、地面互动、展厅装置等项目的接入与测试。
一、连接雷达,直接查看点云与触点
添加设备后,可以在界面里查看原始点云和识别出的候选触点,并调整尺寸、聚类距离、最少采样点等识别参数。
独立雷达也可以调整连续跟踪距离和短暂丢点宽限,用来平衡目标 ID 的连续性与触点释放速度。每台雷达单独保存参数,不会因为调了另一台设备就一起改变。
*界面中的点云用于观察扫描情况;候选触点并不等同于物理接触检测。配图中的参数仅为测试值,不建议直接照抄。*
二、四点标定,输出给互动程序
和之前的工具一样,仍然保留了拖动四角设置映射范围的方式。
标定后,可以把有效范围内的目标转换为归一化坐标,再由互动程序映射到画面中。目前主要提供三种输出:
- Windows Touch**:映射到指定显示器,供支持系统触摸的程序使用。
- TUIO 1.1**:发送标准 `/tuio/2Dcur` 光标数据,供支持 TUIO 的接收端接入。
- OSC / UDP**:发送触点与区域状态,方便在 TouchDesigner 等支持 OSC 的环境中接收处理。
三种输出可以按来源分别配置,也可以同时使用,不要求接收端使用 Pullet 专用客户端。
*接收端需要支持相应协议,并正确配置地址和端口。启用系统触摸前,建议先通过“触摸映射测试”检查效果。*
三、不只是触点,也可以做区域触发
有些互动不需要精确到每一个触点坐标,只需要知道“这个区域有没有目标进入、现在有几个目标”。
软件支持绘制多个多边形互动区域,用于入口、展项或不同触发位置。每个区域可以单独命名、启用或关闭。
OSC 区域状态包含来源编号、来源名称、区域编号、区域名称、目标数和消息序号,方便接收端区分不同来源与区域。
比如,可以把某个区域的目标数作为动画开关、声音触发条件或内容切换条件。这里的“人数”实际是区域内识别到的目标数,不是经过人员分类后的真实人数。
区域边界和屏幕映射边框是两套设置,可以分别配置。示意画面含模拟数据,不代表真实现场的识别效果。
四、多台雷达,作为一个来源使用
需要覆盖更大范围时,可以把多台雷达加入融合组,调整位姿和对齐关系,再对联合点云进行识别与跟踪。
这里不是简单叠加每台雷达已经识别出的触点,而是先把原始点云对齐到同一坐标系,再联合聚类、筛选和跟踪,最后作为一个来源输出。
每个融合组拥有独立的识别参数、跟踪参数、映射范围和互动区域。组内雷达的独立配置仍然保留,退出融合组后可以继续独立使用。
不过,多雷达融合不是“连接上就一定准确”:扫描平面、安装位置、遮挡、时间差和聚类参数都会影响效果。目前仍需要双真机现场验证,不能承诺所有场景都没有重复、合并或漏检。
五、下载与使用文档
想先了解连接方式、四点映射、识别参数、跟踪参数,以及 TUIO / OSC 接入方法,可以直接看文档:
使用文档:
https://pulletlab.timecapsulepost.com/docs/pullet-lidar/
软件下载:
https://github.com/XMJGame/PulletLidar-Releases/releases/latest
下载 PulletLidar-v1-win-x64.zip,完整解压后运行 PulletLidar.exe。
联系与反馈
如果你也在做互动墙、地面互动或雷达装置,可以下载测试,也欢迎反馈使用中的问题。