REPOSITORY
metafarmers/visual-servo-manipulation Private
[참조 MVP] 비주얼 서보 매니퓰레이션 — 선택한 작업대상의 위치 오차를 로봇팔 정렬 명령으로 변환하는 참조 MVP입니다.
https://git.agrithing.ai/metafarmers/visual-servo-manipulation.git 1df47d4 feat: 비주얼 서보 매니퓰레이션 구체 MVP 구현
ab79649 ci: add static dynamic and evidence gates
b9c473b feat: add executable institution reference MVP
8e07b3f docs: define product role and interface contract
1 items · feat/concrete-mvp-v2
·/ tests/test_component.py
python · 1.2 KB · b0b9f16 Download
from __future__ import annotationsimport jsonimport unittestfrom pathlib import Pathfrom asw_component import executeROOT = Path(__file__).resolve().parents[1]class ComponentTest(unittest.TestCase): def test_reference_scenario(self): payload = json.loads((ROOT / "examples/input.json").read_text(encoding="utf-8")) result = execute(payload) self.assertTrue(result["accepted"]) self.assertEqual(result["component"], "metafarmers/visual-servo-manipulation") self.assertEqual(result["target"], "acu") self.assertEqual(result["status"], "ALIGNING") self.assertEqual(result["stepMm"], [6.0, -5.0, 6.0]) self.assertAlmostEqual(result["residualMm"], 6.325, places=3) def test_safety_or_failure_path(self): payload = json.loads((ROOT / "examples/failure-input.json").read_text(encoding="utf-8")) result = execute(payload) self.assertEqual(result["component"], "metafarmers/visual-servo-manipulation") self.assertTrue(result["accepted"]) self.assertTrue(result["converged"]) self.assertEqual(result["stepMm"], [0.0, 0.0, 0.0])if __name__ == "__main__": unittest.main()