-
Notifications
You must be signed in to change notification settings - Fork 0
Ideas
본 문서는 Monkey 프로젝트의 향후 확장 가능성과 개선 제안을 정리한 문서입니다.
현재 구현 범위를 기준으로, 기술적 한계 및 추가 논의가 필요한 영역을 중심으로 서술합니다.
SVG 파싱 이전 단계에서 이미지 전처리를 통한 엣지 검출 기법에 대한 탐색을 진행하였으나, 현재는 개발이 중단된 상태입니다.
전통적인 컴퓨터 비전 기법부터 딥러닝 기반 알고리즘까지 검토하였으며, 현재까지 가장 유효한 접근은 pix2pix 계열의 딥러닝 모델로 판단됩니다.
기존 CV 기법은 이미지 내 필요한 엣지만을 선택적으로 추출하는 과정에서 노이즈 문제가 빈번히 발생하였으며,
실사 이미지를 캐리커처 형태로 왜곡·단순화하는 목적에는 딥러닝 기반 방식이 더 적합한 것으로 보입니다.
단, 딥러닝 적용 이전 단계에서 연산 비용 및 결과 안정성을 확보하기 위해 다음과 같은 전처리를 권장합니다.
- 색상 정보 제거 (Grayscale 변환)
- 블러링 및 필터링을 통한 디테일 축소
추후 실물 로봇을 확보할 경우, 블록 기반 명령과 스크립트 기반 컴포저 간의 호환성 확보가 필요합니다.
이를 위해 특정 블록 명령어에 대응하는 SW–HW 간 명확한 규약 정의가 요구됩니다.
프로젝트 확장 시 이미지 확보 단계에 대한 추가 논의가 필요합니다.
사용자가 직접 촬영한 이미지는 대부분 JPEG 또는 PNG 포맷이기 때문에,
현재 시스템은 SVG 기반 입력만을 전제로 설계되어 있습니다.
따라서 엣지 검출뿐만 아니라, 비트맵 이미지 → SVG Path 변환 로직의 구현이 요구됩니다.
현재 Plotto Path 데이터는 JSON 배열 구조를 사용하며,
펜 업/다운 제어 명령이 이미 예약된 상태입니다.
향후 다음 요소를 추가하고자 할 경우, 경로의 자료구조를 재정의하거나, 속성 확장이 가능한 구조로 개선할 필요가 있습니다.
- 펜 두께
- 색상
- 기타 스타일(필체 등)
현재 수동 모드는 좌표가 아닌 각도를 기준으로 동작하며,
이로 인해 로봇팔이 몸통부를 관통하는 문제가 여전히 식별됩니다.
프로젝트 초기에는 테이블 기반 제약 조건 방식을 채택하였으나,
로봇팔이 인코스(In-course) 영역을 이동할 때 탈선이 빈번히 발생하였습니다.
추후에는 로봇 구조를 고려한 제한 영역(Forbidden Zone) 설정 방식의 도입이 필요합니다.
SVG Path 중 점 형태로 정의된 도형에 대해서는 현재 처리 로직이 구현되어 있지 않습니다.
아이콘 데이터에서 이러한 Path는 단일 점 또는 매우 짧은 경로 형태로 빈번히 등장합니다.
향후 처리 시 다음 원칙을 고려해야 합니다.
- 길이가 매우 짧더라도 Path는 스킵하지 않고 반드시 처리
- 단일 점을 찍고 이동하는 동작으로 해석
- 스케일을 키우는 방식은 사용하지 않음
- 샘플링 단위 기준 재검토 필요
해당 항목은 SVG 파싱 로직 개선과 함께 재논의가 필요합니다.
추후 확장 시 개발자는 위 아이디어를 고려하여 기능을 추가하거나, 일정 부분을 수정할 수 있습니다.
감사합니다.