datum_tilt_check — DRIVE granular op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.datum_tilt_check(result, warn_deg: 'float' = 1.0) -> 'dict' (to call the implementation directly, import granular; granular.datum_tilt_check(result, warn_deg: 'float' = 1.0) -> 'dict'; from the registry, opsdrive.get("datum_tilt_check"))

Usage

Judges from the return value of repose_angle_silhouette (left/right slope angles and ground tilt) whether the reference plane is tilted.

> The detailed description below is the original text — the summary and the headings are translated.

平らでない地面(datum)の傾き β は安息角に足し算される(既存の体積 PoC と同じ罠)。せん断型(z' = z + x tan β) なら左右の斜面は atan(tan φ ± tan β)、カメラのロール(回転型)なら φ ± β —— どちらも左右差 ≈ 2β なので、左右差が warn_deg を超えたら警報。2 つの模型は 1 次で違う(β = 5 度・φ = 30 度で左の斜面が 33.62 対 35.00 度、実測)ので、両方の補正値を返し、どちらを使うかは地面の由来(高さ図の datum か、カメラの傾きか)で決める:

phi_shear_deg(tan の引き算、ground_deg を使う)、phi_roll_deg(角の引き算 = 左右の平均そのもの)、beta_shear_deg(左右の tan 差から読んだ β = atan((tan L − tan R)/2))、beta_roll_deg(= 左右差 / 2)。Raises ValueError: 欄が無い / 角が範囲外 / warn_deg ≤ 0。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py

• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py

Ops the type connects to (they accept table as input)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Same category (granular)

heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · dispense_mass_from_video · hopper_discharge_rate


*Provenance: granular.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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