granular opsignal × signal × scalar → tableimport fullseye as fs; fs.ledger.hopper_discharge_rate(mass_below, times, mass_total: 'float', *, lo: 'float' = 0.2, hi: 'float' = 0.8) -> 'dict' (実装を直接呼ぶなら import granular; granular.hopper_discharge_rate(mass_below, times, mass_total: 'float', *, lo: 'float' = 0.2, hi: 'float' = 0.8) -> 'dict'、台帳から引くなら opsdrive.get("hopper_discharge_rate"))底板より下の質量の列 m(t) から排出率 [kg/s] —— 全質量の lo〜hi の帯だけを直線で当てる(立ち上がりと
止まり際を除く; Beverloo の定常流の仮定)。返り: rate, n_frames(帯のコマ数), t_range, rms [kg]。
Raises ValueError: 帯に 3 コマ未満(排出が速すぎてコマが無い —— 黙って 2 点の傾きを返さない)/ 時刻が単調でない。
py -3.11 examples/poc_granular_heap_repose.pytable を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
granular)heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · dispense_mass_from_video · spoon_tilt_critical
Provenance: granular.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.