traj_tau_dot — FLYVISION trajectory op

• 数据种类:points × signal → table

• 调用: import fullseye as fs; fs.ledger.traj_tau_dot(points, t_s, target=(0.0, 0.0, 0.0), normal=None)(要直接调用实现,import flyvision; flyvision.traj_tau_dot(points, t_s, target=(0.0, 0.0, 0.0), normal=None);从台账取用则 opsflyvision.get("traj_tau_dot"))

用法

沿实测 3-D 轨迹的距离、接近速度、tau 与 tau 的导数。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

The quantity a looming detector is supposed to deliver, computed from the true path so that an eye's estimate can be scored against it. With d(t) the distance to *target* (a point, or — with *normal* — the signed distance to the plane through *target*), the approach speed is v = -dd/dt, the time-to-contact tau = d/v and its rate tau-dot = d tau/dt. Lee's (1976) sign convention: tau-dot = -1 at constant speed, tau-dot = -0.5 under the constant deceleration that stops exactly at the target (the braking law), and a value between them means the agent is braking enough to stop short.

points: (N, 3) positions, metres, N >= 3.

t_s: (N,) strictly increasing sample times, seconds.

target: the point approached (3,), metres.

normal: None for the Euclidean distance to *target*, or a (3,) plane

normal: the distance is then (p - target) . normal / |normal|.

Returns a dict {"t_s", "distance_m", "speed_m_s", "tau_s", "tau_dot", "closest_m", "t_closest_s", "n"}. Samples where the agent is not approaching (v <= 0) carry NaN in tau_s and tau_dot — a documented non-finite: a receding agent has no time-to-contact.

Ground truth (pinned in the tests): for d = v0 t toward the target at constant speed tau-dot == -1, and for d = v0 t - a t^2 / 2 with v0^2 = 2 a d0 (stops exactly at the target) tau-dot == -0.5 — both to 1e-9 on a uniform grid, where central differences are exact for a quadratic.

Raises ValueError: *points* not (N, 3) with N >= 3 (an empty *points* is refused), a *t_s* that is not (N,) strictly increasing, non-finite entries, a malformed *target* / *normal*, and a zero *normal*.

详细使用指南

• fly_vision 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_zebra_stripes_fly_eye — py -3.11 examples/poc_zebra_stripes_fly_eye.py

类型可衔接的下一个算子(可接受 table 作为输入)

fly_t4t5_field · fly_flow_from_directions · fly_matched_filter · fly_egomotion_from_flow · fly_eye_merge · fly_view_plane_texture · fly_hex_resample · fly_expansion_readout

同类别(trajectory)

—


*Provenance: flyvision.py — FLYVISION 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.