pegsim oprgb × image2d × matrix → tableimport fullseye as fs; fs.ledger.hole_centre_from_rgbd(rgb, depth, K, peg_mask=None, radius: 'float | None' = None) -> 'dict' (実装を直接呼ぶなら import pegsim; pegsim.hole_centre_from_rgbd(rgb, depth, K, peg_mask=None, radius: 'float | None' = None) -> 'dict'、台帳から引くなら opsdrive.get("hole_centre_from_rgbd"))手首 RGB-D 1 枚から穴(暗い円盤)の中心を 3-D(カメラ座標)で: 板の平面を depth で当て、反エイリアスの縁を平面に持ち上げ、
平面内で円を当てる(:func:measure.fit_circle)。
画像面の楕円当てはめ(:func:measure.fit_ellipse)も参考に返すが、透視では楕円の中心 ≠ 円の中心の投影(試作で最大 1.9 px の
偏り)なので 3-D で当てる。radius に治具の図面の値(面取りの外径 R + W)を渡すと :func:circle_fit_known_radius で中心だけを
解く —— ペグが低く構えて縁の半分近くを隠す姿勢(ε = −3 mm、高さ 4 mm)では自由な当てはめの 0.18 px が既知半径で 0.05 px になる。
返り: centre_cam(3,)、radius、rms_circle、n_edge、edge_uv、plane_n・plane_c、
ellipse、uv(中心の投影)、peg(ペグのマスク)。depth は画素中心の +Z 距離 [m] (MSAA の深度は使わない)。
Raises RuntimeError: 縁が見つからない。
py -3.11 examples/gallery_drive_peg.pytable を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegsim)peg_params · whitney_clearance · two_point_depth · wedging_check · jamming_diagram · chamfer_capture · contact_state_predict · circle_fit_known_radius
Provenance: pegsim.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.