oss

OpenBikeSensor 记录回波序列,骑行者标记超车事件

11 条来源 9 条一手来源 已翻译 2026年8月9号

正文
一台蓝红相间的 OpenBikeSensor 安装在自行车鞍座下方,圆形超声波换能器朝向外侧,背景是乌尔姆市政厅。

一台 OpenBikeSensor 安装在德国乌尔姆一辆自行车的鞍座下方。朝外的超声波换能器测量横向间距,哪些读数来自超车车辆仍需骑行者确认。Norbert Schulz 摄于 2021 年;图片来自 Wikimedia Commons,采用 CC BY-SA 4.0 许可;由原图缩放而成。[9]

一次贴身超车只持续几秒。骑行者还来不及说清那辆汽车、道路宽度、路面上的车道标线,以及受挤压的感受,车辆已经驶到前方。OpenBikeSensor 为这个转瞬即逝的事件留下持久记录,其中的分工格外坦率:超声波传感器测量自行车侧方物体的距离,GPS 记录自行车的位置,固件让各项记录保持时间同步,骑行者按下按钮,表示“刚才发生了一次超车”。[1][3]

最后这个动作划出了一道分界,让整个开源项目变得易于理解;把它看作等待自动化替代的初级功能,便会错过这一点。汽车、墙壁、立柱、行人或另一辆自行车都会把回声送回测距传感器,这些距离读数只说明侧方存在反射体,交通事件仍由骑行者判断。OpenBikeSensor 因而广泛记录,只给骑行者确认的事件加上标签;机器观察与赋予观察以含义的人类判断都得到保留。[1]

这个项目公开的内容远超一件小设备。它的代码仓库包含固件、电路板、可打印外壳、文档,以及地理空间数据门户的代码。[2] 如今,这条完整链路尤为重要,因为研究人员对 OpenBikeSensor 数据的使用已经超出单次倡议骑行:近年的研究把观测记录与道路特征关联起来,制定正式的采集规程,并明确说明过滤、GPS 不确定性和事件定义方面的选择。[6][8] 它的吸引力来自一条可检查的路线,从街道上的一次经历一直通往研究主张;一个绝对可靠的数字从来不在项目的承诺之内。

图片说明:题图中的设备装在鞍座下方,正处于实际工作位置;实验台上孤立摆放的设备会失去这层位置关系。黑色超声波换能器朝向超车车辆经过的一侧,线缆通往骑行者使用的显示器和按钮。背景仍是乌尔姆市政厅,它把公民测量放回现实街道,抽象的物联网演示则缺少这份具体背景。[9]

一个点出现在地图上前,五类事实必须相遇

OpenBikeSensor Classic 以 ESP32 微控制器为核心,配有分别朝向左右两侧的超声波测距模块、GPS、microSD 卡,以及独立的显示器与按钮单元。项目零件清单列出了 ESP32、两个 JSN-SR04T 模块、GPS 和 SD 卡硬件;相关代码仓库还公开了复现设备所需的 PCB 与外壳设计。[2][10] 每个部分掌握着不同的事实:

层级 能够确认的事实 单独使用时无法确认的内容
超声波测距 回声在某个声波传播时间后返回 反射回声的物体是什么,以及是否发生了超车
骑行者按钮 骑行者把刚刚过去的某个时刻认定为超车 缺少对应传感器读数时的横向间距
GPS 自行车所处的大致地点和时间 车道的精确几何形态或超车车辆的行驶轨迹
轨迹文件 测量值、元数据与确认记录保存在一起 数据采集规程是否始终一致
门户 大量轨迹可以得到处理、查询和制图 地图上的热点是否反映因果关系、是否具有代表性,以及该处是否安全

设备手册把测量几何关系写得很具体。出发前,用户根据自行车与传感器的位置输入偏移量,再分别以开放空间和墙壁检查设备。墙壁位于约 2.5 米范围内时,应用已配置偏移量后的读数应当合理;面对开放空间时,预期结果为无距离读数。骑行期间,设备测量左右两侧,并连续保存轨迹。[1][11]

在最底层,距离始于时间。超声波脉冲离开换能器,经物体反射后以回声返回。轨迹格式保留以微秒计的左右两侧原始回声时长及换算系数,经过修正的 LeftRight 字段则保存以厘米计的最小距离。[3] 两种表示同时保留,是一项扎实的开放数据设计。未来的解析器仍能回看原始测量值,取整后的显示数值只是其中一种表示。

这样的设计也让累积的校准问题显露出来。偏移量错误,会让每一个名义横向间距发生偏移。传感器略微朝上时,收到的回声有时会来自另一处表面,与对准车身时不同。安装件松动,则会增加骑行途中角度变化的风险。源码让计算过程公开可查,实际安装状态仍决定哪些数据进入计算。

按钮写入事件含义,距离另有测量来源

无论车辆是否正在经过,超声波模块都会持续运行。手册提醒,传感器的有效范围内除了机动车,还会出现建筑物、立柱、其他骑行者和行人。骑行者识别出一次超车后,短按按钮便会记录事件。如果左侧存在可用的探测结果,固件会把这次确认与近期窗口内保留的左侧最小读数关联起来;文档留出了约五秒,骑行者因而可以避开最危险的瞬间再伸手按键。[1][3]

这项关联可以直接从 CSV 文件中核查。Confirmed 字段的内容是与骑行者确认动作相关联的原始测量索引,距离则保存在其他字段中。典型文件约为每秒一行;同一时间段内确认了多项测量时,行记录可以重复。每一行还可包含多组带时间戳的左右回声三元组,元数据会声明其最大组数与数据格式版本。[3]

这种设计带来一种容易被汇总地图遮住的人因失效模式:选择性按键。如果骑行者只标记令人害怕的贴身超车,忽略间距充足的超车,所得分布便无法代表全部超车事件。项目明确要求用户也标记横向间距充足的超车。[11] 项目同时强调个人安全优先;按键会分散对路况的注意力时,可以放弃这次测量。[1] 两条说明都成立。合在一起看,漏记事件属于方法的一部分,把它仅仅当作可以忽略的麻烦,会抹去这一事实。

2025 年的一项独立传感器项目把这项取舍呈现得格外清楚。SenseBike 保留超声波测距,同时加入朝向后方的探测系统,让超车事件可以自动触发;论文作者把这套安排与 OpenBikeSensor 的车把按钮作了对比。[7] 自动化减轻了骑行者的操作负担,同时引入一个新的分类器,随之而来的还有自身的探测几何与误报。OpenBikeSensor 选择了另一种取舍:由人标注事件,文件则保留足够的时间证据,供人检查标注的具体内容。

轨迹留下审计记录,结论仍需另行建立

OpenBikeSensor 的内部格式先写入 URL 编码的元数据,再接上以分号分隔的 CSV 表头和数据行。元数据记录固件与数据格式版本、车把偏移量、传感器类型、隐私模式、设备与轨迹标识符、最大有效回声时间等内容。解析器应忽略未知的元数据键;对于一套需要持续演进的格式,这是一项重要的兼容规则。[3]

数据行把多个观测尺度放在一起:日期和时间;纬度、经度、海拔、航向与速度;HDOP 和卫星数量等 GPS 质量字段;电池电量;左右两侧最小距离;确认索引;隐私状态;以及原始回声序列。[3] 它包含的信息比地图上的一个点更丰富,因为文件还保留着判断这个点是否可靠的线索。GPS 定位质量较差、电池电量耗尽、回声缺失或确认记录未能匹配,都可以在清理期间继续作为证据保留下来,避免被渲染后的符号遮蔽。

门户延续了同样的职责划分。它的 API 接收轨迹上传并保存原始轨迹文件,后台工作进程随后转换其中的观测记录并提取相关事件。PostgreSQL 与 PostGIS 保存地理空间记录,数据库函数生成矢量瓦片,React 前端再用 MapLibre 完成渲染。[5] 每一处分界都让运营人员能够提出准确的问题:骑行记录是否成功上传?原始文件是否得到解析?哪些事件经过处理后被保留下来?数据库查询是否正确汇总了事件?地图样式是否只是让某一类事件看起来更醒目?

隐私同样属于测量链。骑行手册建议在离家一段距离的位置开始和结束记录,或配置隐私区。[1] 固件配置支持带有半径和隐私行为的地理区域;同一份配置若包含 Wi-Fi 凭据和门户访问 token,这些内容会以纯文本保存,因此文档专门提醒用户谨慎分享备份。[4] 发布清理后的地图,与发布原始路线或设备配置,对应不同的数据层级。负责任的团队应判断协作者实际需要其中哪一层。

研究质量从传感器读数之后开始

两项独立研究表明,可检查性比数字表面的精确感更重要。2026 年的一项奥地利研究把带地理坐标的 OpenBikeSensor 事件与全国道路数据连接起来。作者为道路几何图形设置一米缓冲区,以容纳轻微的 GPS 偏差,并排除小于或等于 0.30 米的横向距离,理由是这些数值疑为误读或来自非标准情况。[6] 两项步骤都来自研究者的分析选择,超声波换能器只提供读数。论文记录了这些分析选择,以便其他研究人员质疑或复现。

2024 年的一项斯图加特研究采用了不同选择。一名骑行者始终使用同一套设备,遵循明确的骑行规程,完成约 790 公里的记录,标记了 4,081 次超车,覆盖 14 条路线。论文说明哪些超车情况计入、哪些排除,骑行者如何选择在道路上的骑行位置,以及如何安排观测时段。[8] 这些细节与最终的距离数据同样重要。传感器让数千起事件能够测量,规程则使比较经得起检验。

OpenBikeSensor 事件所能证明的内容也止于此处。它能够支持这样一项主张:骑行者标记了一次超车,设备在某个 GPS 位置附近记录到特定的横向回声。单凭这一事件,主张范围只到前一句为止;车辆身份、速度、完整道路横断面、驾驶者意图以及超车成因仍需另行取证。同一地点反复出现的事件可以促使人们继续调查,道路设计、交通流量和骑行者行为之间的因果区分仍要依靠更多证据。

更有帮助的理解,落在两种断言之外:一边把公民数据缩减为轶事,另一边认为地图足以结束争论。OpenBikeSensor 让一段经历进入系统性检验。良好的研究随后补上采集规程、排除标准、不确定性处理和背景信息,并让主张的范围与证据相称。

扩大设备规模前,试点应先统一参与者的操作方法

OpenBikeSensor 适合愿意共同承担实地工作与数据管理的骑行团体、交通研究人员和市政合作伙伴。个人制作者可以组装并测试一台设备;要开展可信的多人骑行试点,则需要有人维护各硬件修订版并负责校准,有人制定事件规程,也有人保护、清理并解读所得路线数据。这些职责可以由同一个小团队承担;源码公开以后,它们依然存在。

首次部署若要经得起检验,范围应当有意收窄:

  1. 记录每台设备的准确硬件修订版、固件版本、传感器类型、安装位置和偏移量。
  2. 采集前按照文档完成开放空间与墙壁检查,此后定期复查,并在设备受到撞击或重新安装后再次检查。[11]
  3. 用文字定义超车事件。训练骑行者同时标记普通超车与贴身超车,并明确对路况的注意始终高于数据完整性。
  4. 扩大范围前,先让多台设备或多名骑行者在同一条已知路线上重叠采集一次。比较缺失的确认记录、不合理数值、GPS 位置和设备之间的差异。
  5. 将原始文件与处理后的导出文件分开保存,并为每一条清理规则记录版本。每次删除都应依据有版本记录的清理规则;读数削弱预期说法,本身不构成删除理由。
  6. 配置隐私区,限制原始路线的访问权限,并从共享的配置备份中移除凭据。[4]
  7. 发表结果时一并公开方法:谁在骑行、骑行时间、事件定义、排除内容,以及地图无法呈现的内容。

需要碰撞预警设备的人,应当选择另一类产品。人工确认系统的职责止于记录确认动作,提醒骑行者、识别威胁和捕捉每一次超车都超出它的能力范围。市政证据服务也需要另行建设;运营门户需要地理空间数据库、身份服务、轨迹处理能力,以及管理公共数据的组织能力。[5]

OpenBikeSensor 的长处,正是把这些分界一一保留下来。回声时间经过换算才得到横向间距;间距与骑行者确认结合后才构成超车事件;事件汇集后才显出热点;热点还需结合背景分析才能形成解释。项目公开的硬件、固件、文件格式与门户,让每一步转换都有据可查。车把上的小按钮使这条链路保持诚实:机器记录街道的回声,证据中始终看得见人的存在。

来源

  1. OpenBikeSensor《Recording a measurement ride》——设备检查、连续测距、骑行者确认、近期事件窗口、安全关机与隐私指引(德语)。
  2. OpenBikeSensor 的 GitHub 组织页——固件、门户、PCB、可打印外壳、文档及相关开放组件的项目代码仓库。
  3. OpenBikeSensor《Format specification for the internal CSV format》——元数据、版本信息、修正后距离、确认索引、GPS 字段与原始回声时长。
  4. OpenBikeSensor《OpenBikeSensor configuration》——偏移量、确认窗口、隐私区域、门户凭据,以及关于备份所含机密信息的警告。
  5. OpenBikeSensor《Portal Architecture》——上传 API、保留的轨迹文件、后台工作进程处理、PostgreSQL/PostGIS 存储、矢量瓦片生成与前端制图。
  6. Tabea Fian、Georg Hauger、Aggelos Soteropoulos、Veronika Zuser 与 Maria Scheibmayr,《A Sensor-Based and GIS-Linked Analysis of Road Characteristics Influencing Lateral Passing Distance Between Motor Vehicles and Bicycles in Austria》,Sensors 26(2026)——独立使用 OpenBikeSensor 数据、GIS 匹配、过滤与不确定性处理。
  7. Andre Tenbeitel、Simone Arnold 与 Jens Rettkowski,《SenseBike: A New Low-Cost Mobile-Networked Sensor System for Cyclists to Monitor Air Quality and Automatically Measure Passing Distances in Urban Traffic》,Sensors 25(2025)——人工与自动事件探测的独立比较。
  8. Leo Casey、Lutz Gaspers 与 Harald Mandel,《Overtaking in Stuttgart—analysis of the lateral distances between motor vehicles and bicycle traffic with reference to traffic volume and cycling infrastructure》,Traffic Safety Research 7(2024)——规程、事件定义、路线设计与 4,081 次超车测量。
  9. Wikimedia Commons《Mounted OpenBikeSensor in Ulm, Germany》——文章缩放后的纪实照片之来源、作者、日期、原始尺寸与 CC BY-SA 4.0 许可。
  10. OpenBikeSensor《Parts》——OpenBikeSensor Classic 官方物料清单,包括 ESP32、超声波模块、GPS、SD 卡硬件、PCB 与打印外壳(德语)。
  11. OpenBikeSensor《Quickstart》——偏移量设置、开放空间与墙壁检查、安全操作,以及同时标记间距充足和贴身超车的指引(德语)。
Previous 开源天文台按四种时钟运转

Recommended In oss

Matched by subject and format