Files
ENIG/Cs_HMI/AGVLogic/TODO.md
backuppc dbaf647d4e refactor: Move AGV development projects to separate AGVLogic folder
- Reorganized AGVMapEditor, AGVNavigationCore, AGVSimulator into AGVLogic folder
- Removed deleted project files from root folder tracking
- Updated CLAUDE.md with AGVLogic-specific development guidelines
- Clean separation of independent project development from main codebase
- Projects now ready for independent development and future integration

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:00:40 +09:00

7.1 KiB

AGV 네비게이션 시스템 개발 현황

📊 프로젝트 개요

AGV 이동 시스템 설계 및 개발 - RFID 기반 네비게이션 시스템

최근 리팩토링을 통해 전문 라이브러리 AGVNavigationCore 중심의 현대적 아키텍처로 재구성됨.


완료된 핵심 시스템

🏗️ AGVNavigationCore 라이브러리 (완료)

전문 AGV 네비게이션 라이브러리 - 상업적 수준 완성도

Models 패키지

  • MapNode.cs: 고도화된 노드 모델
    • RFID 매핑 통합, 라벨/이미지 지원
    • 도킹 방향, 장비 타입, 회전 가능 여부
    • 이미지 자동 리사이즈, 투명도, 회전 지원
  • RfidMapping.cs: RFID ↔ NodeId 매핑 시스템
  • Enums.cs: 완전한 열거형 (NodeType, AgvDirection, DockingDirection, StationType)

PathFinding 패키지

  • AStarPathfinder.cs: 표준 A* 알고리즘 완전 구현
    • 양방향 연결 자동 생성
    • 휴리스틱 가중치, 최대 탐색 노드 제한
    • 다중 목표 최단 경로 탐색
  • AGVPathfinder.cs: AGV 특화 제약사항 완전 반영
    • 방향성 제약 (전진/후진만 가능)
    • 회전 제약 (특정 지점에서만 180도 회전)
    • 도킹 방향 강제 (충전기:전진, 장비:후진)
    • 실행 가능한 AGV 명령어 생성
  • RfidBasedPathfinder.cs: 현장 운영 완전 대응
    • RFID 기반 실시간 경로 계산
    • 물리적 RFID와 논리적 노드 분리
    • 현장 유지보수성 극대화
  • PathResult/AGVPathResult/RfidPathResult: 계층적 결과 시스템

Controls 패키지

  • UnifiedAGVCanvas.cs: 통합 캔버스 컨트롤
    • 맵 편집, 시뮬레이션, 모니터링 통합
    • ViewOnly/Edit 모드 분리
    • 그리드, 줌, 패닝 지원

🎯 개발 도구들 (리팩토링 완료)

AGVMapEditor (현대화됨)

  • UnifiedAGVCanvas 기반 리팩토링
  • RFID 매핑 분리 아키텍처 적용
  • 라벨/이미지 추가 기능 강화
  • JSON 파일 형식 개선

AGVSimulator (개선됨)

  • VirtualAGV 클래스 고도화
  • UnifiedAGVCanvas 통합
  • 실시간 상태 시뮬레이션

🚀 현재 개발 진척도

Phase 1: 기반 시스템 100% 완료

  1. 맵 에디터 완료 + 현대화

    • UnifiedAGVCanvas 기반 리팩토링
    • RFID 매핑 분리 아키텍처 적용
    • 라벨/이미지 고급 기능 (투명도, 회전, 스케일)
    • JSON 저장/로드 개선
  2. 경로 계산 엔진 100% 완료

    • A 알고리즘* - AStarPathfinder 완전 구현
    • 방향성 고려 라우팅 - AGVPathfinder 완전 구현
    • 도킹 방향 고려 - 충전기(전진), 장비(후진) 강제
    • 동적 경로 재계산 - 실시간 RFID 기반 검증

Phase 2: 이동 제어 시스템 90% 완료

  1. AGV 모션 컨트롤러 완료

    • 실행 가능한 명령어 생성 - [전진, 후진, 좌회전, 우회전, 정지]
    • 방향 전환 로직 - 회전 지점에서만 180도 회전
    • 도킹 시퀀스 제어 - 방향별 자동 접근 전략
  2. 위치 추적 시스템 80% 완료

    • RFID 기반 위치 인식 - RfidBasedPathfinder
    • 실시간 경로 검증 - ValidatePath 기능
    • 하드웨어 RFID 리더 연동 (메인 애플리케이션 통합 필요)

Phase 3: 통합 및 테스트 70% 완료

  1. 시뮬레이션 도구 완료
    • 가상 AGV 시뮬레이터 - VirtualAGV 클래스
    • 경로 시각화 - UnifiedAGVCanvas 통합
    • 실시간 디버깅 - 상태별 색상 표시

🏗️ 현재 시스템 아키텍처

📊 실제 구현된 컴포넌트 구조

AGVNavigationCore (전문 라이브러리)
├── PathFinding Engine
│   ├── AStarPathfinder ✅        // 표준 A* 알고리즘
│   ├── AGVPathfinder ✅         // AGV 제약사항 특화
│   └── RfidBasedPathfinder ✅   // 현장 운영 최적화
├── Data Models
│   ├── MapNode ✅               // 고도화된 노드 모델  
│   ├── RfidMapping ✅          // RFID 매핑 시스템
│   └── Result Classes ✅       // 계층적 결과 체계
└── UI Controls
    └── UnifiedAGVCanvas ✅     // 통합 캔버스

AGVMapEditor ✅                  // 맵 편집 도구
└── UnifiedAGVCanvas 기반 현대화

AGVSimulator ✅                  // AGV 시뮬레이터  
└── VirtualAGV + UnifiedAGVCanvas

메인 애플리케이션 (AGV4)
└── AGVNavigationCore 참조 (통합 예정)

🎯 AGV 동작 제약사항 (완전 반영됨)

물리적 제약사항

  • 전진: 모니터 방향으로만 이동 가능
  • 후진: 리프트 방향으로만 이동 가능
  • 회전: 특정 회전 지점에서만 180도 회전 가능
  • 좌우 이동: 불가능 (실제 AGV 한계 반영)

도킹 제약사항

장비별 도킹 방향 (강제 적용):
├── 로더, 클리너, 오프로더, 버퍼 (8대) → 후진 도킹
└── 충전기 1, 충전기 2 (2대) → 전진 도킹

RFID 매핑 시스템

// 실제 구현된 매핑 시스템
RFID: "1234567890"  NodeId: "LOADER1"  실제 의미: "1번 로더"
RFID: "9876543210"  NodeId: "CHARGE1"  실제 의미: "1번 충전기"

// 현장 작업자용 정보
RfidDescription: "로더1번 입구", "충전기2번 도킹 지점"
Status: "정상", "손상", "교체예정"

📋 다음 단계 (우선순위별)

🔥 우선순위 1: 메인 애플리케이션 통합

  • AGV4 프로젝트에 AGVNavigationCore 통합
  • 기존 AGV 컨트롤러와 인터페이스 연동
  • 실제 RFID 리더 하드웨어 연동

우선순위 2: 현장 검증

  • 실제 맵 데이터 생성 및 검증 (NewMap.agvmap 활용)
  • 실제 AGV로 경로 추적 테스트
  • RFID 태그 현장 설치 및 매핑

🛠️ 우선순위 3: 운영 최적화

  • 성능 최적화 (대규모 맵 대응)
  • 에러 처리 강화 (RFID 인식 실패, 경로 차단 등)
  • 로깅 및 모니터링 시스템

🌟 주요 성과 및 차별화 포인트

기술적 성과

  1. 3단계 API 아키텍처: Basic(A*) → AGV특화 → RFID기반
  2. 실행 가능한 명령어 생성: 경로가 아닌 AGV 제어 명령어 직접 출력
  3. 현장 친화적 설계: RFID 물리/논리 분리로 유지보수성 극대화
  4. 통합 캔버스: 편집/시뮬레이션/모니터링 단일 컨트롤

실용적 가치

  • 즉시 운영 가능: 상업적 수준의 완성된 네비게이션 엔진
  • 확장성: 새로운 AGV 타입이나 장비 쉽게 추가
  • 안정성: 실제 AGV 제약사항 완전 반영으로 안전한 경로 생성

📖 참고 문서

  • AGVNavigationCore/README.md: 상세 기능 설명 및 사용법
  • Data/NewMap.agvmap: 실제 맵 데이터 샘플
  • CLAUDE.md: 개발 환경 및 빌드 정보

최종 업데이트: 2024.09.12 - AGVNavigationCore 리팩토링 완료 기준