spoon_tilt_critical — DRIVE granular op

• 資料種類:scalar × scalar × scalar → scalar

• 呼叫: import fullseye as fs; fs.ledger.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float'(要直接呼叫實作,import granular; granular.spoon_tilt_critical(phi_deg: 'float', L: 'float', h0: 'float', lip: 'str' = 'wall') -> 'float';從台帳取用則 opsdrive.get("spoon_tilt_critical"))

用法

粉體開始從湯匙灑出的傾角 θ_c [度] (2 維截面、準靜態、無壁面摩擦 —— 自行推導)。

模型:底面長度 L(從唇口到後壁,後壁垂直於底面),水平時平鋪到深度 h0 的粉末。壓低唇口使底面傾斜 θ。粉末的自由表面相對水平最多只能立到 φ(安息角),因此通過唇口的斜面從底面看為 φ − θ。

• lip="wall"(預設:口部有邊沿,初始平鋪滿至口部,初始面積 L h0):可保持的截面為 A(θ) = ½ L² tan(φ − θ)(底面與表面構成的楔)。不再能保持超過 L h0 的傾角為 θ_c = φ − atan(2 h0 / L)(以 atan2 計算)。裝得越多越早灑出,h0 → 0 時 θ_c → φ,θ = φ 時全部倒出。若 2 h0 / L ≥ tan φ,則水平時已無法保持(回傳 0)。

• lip="open"(口部無壁的容器):前面一開始就是安息角的斜面,因此從 θ = 0⁺ 起就會灑出 —— 始終回傳 0。

★直到 2026-10-05,wall 的楔斜率曾寫作 tan φ − tan θ(小角近似,θ_c = atan(tan φ − 2 h0 / L))。θ = 10 度、φ = 30 度時楔斜率大了 10 %,在 L 50 mm、h0 5 mm 時 θ_c 算得 20.67 度(精確為 18.69 度)。Raises ValueError:φ 在 (0, 90) 之外、L / h0 ≤ 0、lip 不是 wall / open。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

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

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py

型別可銜接的下一個運算子(可接受 scalar 作為輸入)

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

同類別(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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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