roverslip opimage2d × scalar × any → tableimport fullseye as fs; fs.ledger.cvar_cost_map(dtm, cell: 'float', model, alpha: 'float' = 0.9, speed: 'float' = 0.05, s_max: 'float' = 0.9, soil_map=None, extrapolate: 'bool' = False) -> 'dict' (実装を直接呼ぶなら import roverslip; roverslip.cvar_cost_map(dtm, cell: 'float', model, alpha: 'float' = 0.9, speed: 'float' = 0.05, s_max: 'float' = 0.9, soil_map=None, extrapolate: 'bool' = False) -> 'dict'、台帳から引くなら opsdrive.get("cvar_cost_map"))数値標高(DTM)から、8 近傍の辺ごとの所要時間 [s] を、辺の傾き(進む向きの符号つき)の滑りの CVaR_α で割り引いて作る。
dtm (H, W) [m]、cell [m]。辺 (i, j) → 近傍 k の傾き θ = atan2(Δz, 水平距離)、悲観的な滑り
ρ = CVaR_α(s(θ))(θ ≥ 0)/ CVaR_α(−s(θ))(θ < 0)、所要時間 L / (v (1 − ρ))、L は 3-D の辺の長さ。
ρ ≥ s_max と範囲外は inf。extrapolate = False(既定)では、模型を当てはめたデータの角の範囲
(x_range)の外の傾きの辺も inf(分からない斜面は通らない)—— ガウス過程はデータの外で事前の平均に戻るので、
外挿させると急斜面ほど「滑らない」と答える(門の罠)。alpha = 0 なら平均の滑り(リスクに中立)。model は 1 個か、soil_map
(H, W の整数 0..K−1)と組で K 個の list。返り値 {"cost": (8, H, W), "risk_slip": (8, H, W), "pitch": (8, H, W) [deg],
"offsets": (8, 2), "worst_slip": (H, W) 8 方向の ρ の最大, "alpha", "cell"}。横方向の傾き(横転・横滑り)は入れない。
py -3.11 examples/poc_rover_slip_risk_path.pytable を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
roverslip)bekker_pressure · bekker_wheel_sinkage · wheel_forces · wheel_sinkage · wheel_traction_curve · slope_slip_curve · ground_shift_track · odometry_slip
Provenance: roverslip.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.