added motion simulator feature

This commit is contained in:
ykcheungab
2026-09-21 16:11:45 +08:00
parent ccedb9ddd9
commit f1bec62ca4
21 changed files with 5025 additions and 12 deletions
@@ -32,6 +32,21 @@ POINT_ORDERS = ("row", "serpentine", "distance")
#: selectable for a dim room.
DEFAULT_THEME = "light"
#: The sensor-design export the finger debug screen loads by default. The bench
#: confirmed this revision, and it carries the mesh, housing, intrinsics and the
#: pose the unit scale is derived from.
DEFAULT_FINGER_BUNDLE = (
r"D:\orisys_ws\orisys-sensor-design\build\export\finger\r01\compute"
)
#: The UV-space artwork for that revision. Resolved from the bundle when it can
#: be, so the two cannot be pointed at different revisions; this preference is
#: the override for a checkout that keeps its textures elsewhere.
DEFAULT_FINGER_TEXTURE = (
r"D:\orisys_ws\orisys-sensor-design\build\textures\finger\r01"
r"\patch_texture_compute.png"
)
def _default_sequence_profile() -> dict[str, Any]:
"""The point-generation and run parameters of workflow P5.
@@ -157,6 +172,23 @@ def default_preferences() -> dict[str, Any]:
"sensor_setup": _default_sensor_setup(),
#: P5: grid generation and run parameters.
"sequence_profile": _default_sequence_profile(),
# --- finger debug screen ---------------------------------------------
#: The export bundle the debug screen loads. Empty means "ask", and the
#: default below points at the revision the bench confirmed.
"finger_bundle_path": DEFAULT_FINGER_BUNDLE,
#: The UV-space texture for the flat picker. Preferred over the derived
#: path when it exists; empty falls back to the layout map.
"finger_texture_path": DEFAULT_FINGER_TEXTURE,
#: The mounting plate lifts the sensor along the platform's tool axis, so
#: a fixture thickness is one number rather than a transform.
"finger_plate_thickness_mm": 0.0,
#: Tool tip offset from the platform reference, mm.
"finger_tool_offset_mm": [0.0, 0.0, 0.0],
#: Stage travel, degrees. The bench's figures: pitch turns continuously,
#: yaw is limited — and that limit is what decides how much of the patch
#: can be aligned at all.
"finger_yaw_limit_deg": 90.0,
"finger_pitch_limit_deg": 360.0,
}