Commit Graph

117 Commits

Author SHA1 Message Date
backuppc
24a14fbd48 .. 2025-10-28 17:33:49 +09:00
backuppc
e8b9fceb88 fix: Prevent returning to previous node when direction is maintained
방향 유지 시 이전 노드로 되돌아가는 문제 수정

- 방향 유지(prevDirection == direction): 이전 노드 제외
- 방향 전환(prevDirection != direction): 모든 연결 노드 허용 (U-turn 가능)

수정 파일: DirectionalHelper.cs:61-73

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 17:32:59 +09:00
backuppc
859a84cd22 경로예측로직 수정 중 2025-10-28 11:46:17 +09:00
backuppc
4a50b4064d feat: Strengthen magnet direction weighting in path prediction
마그넷 방향(Straight/Left/Right) 가중치 강화:
- Straight 보너스: 0.3 → 0.5
- 올바른 회전 보너스: 0.25 → 1.0
- 잘못된 회전 페널티: 0.2 → 0.8

이를 통해 GetNextNodeByDirection에서 마그넷 방향이 주요 결정 요소로 작동.
실제 경로 예측 정확도 개선 (Left 마그넷 방향 테스트: 100% 일치).

## 발견된 이슈 (다음 세션)
- 기본 내적(dot product) 차이가 큰 경우 (>1.0) 마그넷 보너스(+1.0)로 극복 못함
- 경로 계산 결과는 올바르지만, 검증 단계에서 다르게 평가되는 경우 존재
- 예: N022→N004→N011 경로, 마그넷 Right일 때
  - 경로 생성: N011 선택 (내적 -0.1275, 마그넷 Right 일치)
  - 검증 예측: N031 선택 (내적 0.9646, 마그넷 Right 일치)
  - 원인: 내적 차이(1.0921) > 마그넷 보너스 효과(1.0)

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:36:29 +09:00
backuppc
177309c5c9 feat: Add comprehensive debug logging to path validation functions
- Added detailed debug output to GetNextNodeByDirection() with:
  - Initial node information (positions, movement vectors)
  - All candidate nodes evaluation with step-by-step scoring
  - Score calculations: base score → motor direction → magnet direction
  - Final selection with best score

- Added detailed debug output to ValidateDockingDirection() with:
  - Path validation stage information
  - Expected vs actual next node comparison
  - Movement vector analysis for mismatch debugging
  - Success/failure status for each path segment

Debug output includes:
- Node IDs, RFIDs, positions, and vectors
- Normalized vectors and dot products
- Score progression through each bonus/penalty application
- Direction consistency analysis
- Final scoring results with selection indicators

This enables detailed tracing of path prediction and validation issues.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:13:04 +09:00
backuppc
f4ec63330a feat: Add magnet direction support to GetNextNodeByDirection function
- Added MagnetDirection parameter to GetNextNodeByDirection() function in DirectionalHelper
- Implemented ApplyMagnetDirectionBonus() helper method using vector cross product for turn direction detection
- Straight magnet direction: +0.3f bonus for consistent forward direction
- Left/Right magnet direction: +0.25f bonus for correct turn, -0.2f penalty for wrong turn direction
- Updated DockingValidator to pass actual magnet direction from DetailedPath
- Updated AGVPathfinder calls to use MagnetDirection.Straight as default during path planning phase
- Includes debug output for scoring decisions with magnet direction analysis

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 16:55:13 +09:00
backuppc
735b7dccec refactor: Convert AGVPathResult.Path from List<string> to List<MapNode>
## Summary
- Changed Path property type from List<string> to List<MapNode> for better type safety
- Eliminated O(n) node lookups throughout pathfinding system
- Added DirectionalHelper with motor direction consistency bonus/penalty
- Updated all path processing to work with MapNode objects directly

## Files Modified
- AGVPathResult.cs: Path property and CreateSuccess() method signature
- AStarPathfinder.cs: Path generation and node lookup optimization
- AGVPathfinder.cs: Path processing with MapNode objects
- DirectionChangePlanner.cs: Direction change planning with MapNode paths
- DockingValidator.cs: Docking validation with direct node access
- UnifiedAGVCanvas.Events.cs: Path visualization with MapNode iteration
- UnifiedAGVCanvas.cs: Destination node access
- VirtualAGV.cs: Path conversion to string IDs for storage
- DirectionalHelper.cs: Enhanced with motor direction awareness
- NodeMotorInfo.cs: Updated for new path structure

## Benefits
- Performance: Eliminated O(n) lookup searches
- Type Safety: Compile-time checking for node properties
- Code Quality: Direct property access instead of repeated lookups
- Maintainability: Single source of truth for node data

## Build Status
 AGVNavigationCore: Build successful (0 errors, 2 warnings)

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 16:46:13 +09:00
backuppc
dbf81bfc60 .. 2025-10-27 12:00:59 +09:00
backuppc
1d65531b11 feat: Add next node direction detection and path visualization improvements
Path Direction Detection (AGVPathfinder.cs):
- Added GetNextNodeByDirection() method to determine next node based on Forward/Backward direction
- Implements vector-based angle calculation for intelligent node selection
- Forward: selects node in continuous direction
- Backward: selects node in opposite direction
- Validates if selected direction matches path requirements

Logic additions at line 150-167:
- Detects next node for Forward and Backward directions
- Checks if backward movement aligns with path's next node
- Returns path with appropriate motor direction (ReverseDirection when applicable)

Improved Path Visualization (UnifiedAGVCanvas.Events.cs):
- Refined equilateral triangle arrows (8 pixels, symmetric)
- 50% transparency for purple path lines with 2x thickness
- Bidirectional path detection (darker color for repeated segments)
- Better visual distinction for calculated paths

Technical Details:
- Added System.Drawing using statement for PointF operations
- Added DirectionalPathfinder initialization
- Vector normalization for angle-based decisions
- Dot product calculation for direction similarity scoring

Result: AGV can now intelligently select next node based on current movement direction and validate path feasibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 17:38:03 +09:00
backuppc
a6c4a967ad feat: Improve path preview visualization in UnifiedAGVCanvas
Enhanced path drawing with better visibility:

1. Arrow improvements:
   - Changed from line-based arrows to filled triangle shapes
   - Increased arrow size by 1.5x for better visibility
   - Added polygon fill with outline for clearer identification

2. Path line improvements:
   - Added 50% transparency to purple path color (Alpha: 128)
   - Increased line thickness by 2x (from 4 to 8 pixels)
   - Improved visual contrast and clarity

3. Bidirectional path detection:
   - Detect routes that traverse the same segment multiple times
   - Display bidirectional paths with higher opacity (darker color, Alpha: 200)
   - Visual distinction helps identify round-trip routes

Changes in UnifiedAGVCanvas.Events.cs:
- Modified DrawDirectionArrow() to use FillPolygon instead of DrawLine
- Enhanced DrawPath() with transparency, thickness, and bidirectional detection
- Added System.Collections.Generic using statement

Result: Much better visual identification of calculated paths in HMI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:56:49 +09:00
backuppc
402f155a99 refactor: Remove unused functions and fields from pathfinding and models
Removed from AGVPathfinder.cs:
- ConvertToDetailedPath() - unused private method
- CalculatePathDistance() - unused private method
- ValidatePath() - unused public method
- ValidatePhysicalConstraints() - only called by ValidatePath (now removed)
- OptimizePath() - unused public method (TODO placeholder only)
- GetPathSummary() - unused public method (debug helper)

Kept essential methods:
- FindNearestJunction() - used by FindPath_test
- FindNearestJunctionOnPath() - used by FindPath_test
- MakeDetailData() - used by FindPath_test
- MakeMagnetDirection() - used by FindPath_test

Removed from VirtualAGV.cs:
- _targetId field - never used
- _currentId field - never used
- _rotationSpeed field - never used (read-only, no references)

Removed from UnifiedAGVCanvas.cs:
- AGVSelected event - unused
- AGVStateChanged event - unused

Result: Cleaner codebase, reduced technical debt, easier maintenance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:49:34 +09:00
backuppc
d932b8d332 fix: Add motor direction parameter to magnet direction calculation in pathfinding
- Fixed critical issue in ConvertToDetailedPath where motor direction was not passed to GetRequiredMagnetDirection
- Motor direction is essential for backward movement as Left/Right directions must be inverted
- Modified AGVPathfinder.cs line 280 to pass currentDirection parameter
- Ensures backward motor direction properly inverts magnet sensor directions

feat: Add waypoint support to pathfinding system

- Added FindPath overload with params string[] waypointNodeIds in AStarPathfinder
- Supports sequential traversal through multiple intermediate nodes
- Validates waypoints and prevents duplicates in sequence
- Returns combined path result with aggregated metrics

feat: Implement path result merging with DetailedPath preservation

- Added CombineResults method in AStarPathfinder for intelligent path merging
- Automatically deduplicates nodes when last of previous path equals first of current
- Preserves DetailedPath information including motor and magnet directions
- Essential for multi-segment path operations

feat: Integrate magnet direction with motor direction awareness

- Modified JunctionAnalyzer.GetRequiredMagnetDirection to accept AgvDirection parameter
- Inverts Left/Right magnet directions when moving Backward
- Properly handles motor direction context throughout pathfinding

feat: Add automatic start node selection in simulator

- Added SetStartNodeToCombo method to SimulatorForm
- Automatically selects start node combo box when AGV position is set via RFID
- Improves UI usability and workflow efficiency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:46:16 +09:00
backuppc
3ddecf63ed fix: Correct background grid rendering at high zoom levels
- Fix grid line coordinate transformation (world to screen)
- Properly align grid with zoom and pan transformations
- Calculate grid start position at GRID_SIZE multiples
- Draw grid lines across entire visible canvas area
- Ensure grid lines render completely regardless of zoom level
- Grid now displays consistently at all zoom magnifications

Fixes: Grid no longer disappears or renders incompletely when zoomed in

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:12:04 +09:00
backuppc
8ecbd3cd74 feat: Add middle mouse button panning support
- Support middle mouse button (wheel) for map panning alongside left button
- Middle button drag always enables panning regardless of edit mode
- Change cursor to hand icon during middle button panning for clarity
- Left button panning remains unchanged (mode-dependent behavior preserved)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:10:51 +09:00
backuppc
fcf5a469c7 fix: Correct mouse-centered wheel zoom functionality
- Fix ScreenToWorld coordinate transformation bug in wheel event
- Implement proper mouse cursor-centered zoom calculation
- Calculate world coordinates before zoom and maintain them after zoom
- Adjust pan offset to keep mouse cursor pointing at same world position
- Remove matrix-based transformation that was causing coordinate issues

Fixes: Wheel zoom now correctly centers on mouse cursor position and no longer causes erratic panning

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:08:59 +09:00
backuppc
acdef44766 feat: Add AGVLogic solution file for unified project management
- Create AGVLogic.sln containing 3 projects:
  * AGVMapEditor (Map editor application)
  * AGVNavigationCore (Pathfinding library)
  * AGVSimulator (AGV simulator application)
- Project dependencies properly configured
- Support for Debug/Release and AnyCPU platform configurations

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 10:02:09 +09:00
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
backuppc
ce78752c2c feat: Improve mouse-centered zoom with smooth scaling
- UnifiedAGVCanvas 마우스 휠 줌 로직 개선
- 마우스 커서 위치를 기준점으로 하는 정확한 줌 구현
- 줌 비율 1.2배 → 1.15배로 조정 (더 부드러운 동작)
- 스크린 좌표와 월드 좌표 변환을 명시적으로 처리
- 마우스 위치가 줌 전후 동일한 월드 좌표를 가리키도록 보장

개선 효과:
 마우스 아래의 콘텐츠가 줌 중심
 더 자연스럽고 예측 가능한 줌 동작
 좌표 계산 로직 명확화

추가:
- PROJECT_SUMMARY.md: 3개 프로젝트 상세 요약
  - AGVMapEditor (맵 편집 도구)
  - AGVNavigationCore (경로 계산 엔진)
  - AGVSimulator (시뮬레이터)
  - UnifiedAGVCanvas 기능 설명
  - 현재 미완성 부분 정리

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 09:55:29 +09:00
backuppc
03760837ab cleanup: Remove duplicate and unused MapData classes
- AGVMapEditor/Models/MapData.cs 제거 (미사용)
- SubProject/AGVControl/Models/MapData.cs 제거 (레거시 코드)
- AGVMapEditor.csproj에서 MapData.cs 항목 제거
- AGVMapEditor/Forms/MainForm.cs에서 불필요한 using 제거

모든 맵 데이터 관리는 AGVNavigationCore.Models.MapLoader를 사용

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 09:51:08 +09:00
backuppc
2c7751d2b7 cleanup: Remove AGVPathTester and PathLogic projects
- 불필요한 AGVPathTester 프로젝트 제거
- 불필요한 PathLogic 프로젝트 제거
- AGVCSharp.sln에서 두 프로젝트 참조 제거
- 핵심 개발은 AGVNavigationCore에 집중

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 09:45:48 +09:00
ChiKyun Kim
3cffacc9a3 .. 2025-09-22 14:47:16 +09:00
ChiKyun Kim
b53cff02bc feat: AGV 경로 탐색 알고리즘 완성 및 검증 시스템 구축
- agv_path_planner.py: JSON 형식 맵 파일 지원 추가
  * parse_map_json() 함수로 MapData.json/NewMap.agvmap 파싱
  * RFID 정규화 및 별칭 지원 (007/7 등)
  * TP(터닝포인트) 기반 방향전환 알고리즘 검증 완료

- universal_pathfinder.py: 범용 패턴 기반 경로 탐색
  * Q1-1, Q1-2, Q2-1, Q2-2 모든 시나리오 패턴 구현
  * UniversalPathFormatter 방향전환 표기 수정
  * 28개 테스트 케이스 중 20개 성공 (71.4%)

- test_all_scenarios.py: 전체 테스트 케이스 검증 스크립트
  * 4개 시나리오 × 7개 목표 = 28개 케이스 자동 검증
  * 사용자 제공 정답과 비교 분석

- show_map_info.py: 맵 구조 분석 도구
  * RFID 목록, 연결 정보, 갈림길 분석
  * 노드 타입별 분류 및 통계

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 08:41:57 +09:00
ChiKyun Kim
9a9ca4cf32 copilot file backup 2025-09-18 17:25:14 +09:00
ChiKyun Kim
c5f2dbc477 fix: AGV 방향 전환 시스템 대폭 개선
- DirectionChangePlanner에 간단한 방향 전환 로직 추가
- 직접 경로에 갈림길이 포함된 경우 해당 갈림길에서 방향 전환
- PathTester 테스트 케이스를 실제 맵 파일 노드 ID와 일치하도록 수정
- 갈림길 정보 분석 기능 추가

테스트 결과:
- 기본 경로: 6/11 → 8/11 통과 (+2)
- 방향 전환: 0/11 → 10/11 통과 (+10)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 10:49:06 +09:00
ChiKyun Kim
cacd7fab1b feat: 방향전환 경로 검증 시스템 구현
- PathValidationResult 클래스를 Validation 폴더에 적절히 배치
- BacktrackingPattern 클래스로 A→B→A 패턴 상세 검출
- DirectionChangePlanner에서 되돌아가기 패턴 자동 검증
- CLAUDE.md에 AGVNavigationCore 프로젝트 구조 가이드 추가
- 빌드 시스템 오류 모두 해결

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 09:24:45 +09:00
ChiKyun Kim
8d5ddbe008 fix: 좌표 변환 시스템 수정 - Matrix 역변환 적용
ScreenToWorld 함수를 Matrix 역변환 방식으로 변경하여
줌/팬 상태에서도 정확한 마우스 좌표 변환 구현.
좌측 영역 객체 선택 문제 해결.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 15:55:28 +09:00
ChiKyun Kim
ef72b77f1c refactor: PathFinding 폴더 구조 개선 및 도킹 에러 기능 추가
- PathFinding 폴더를 Core, Validation, Planning, Analysis로 세분화
- 네임스페이스 정리 및 using 문 업데이트
- UnifiedAGVCanvas에 SetDockingError 메서드 추가
- 도킹 검증 시스템 인프라 구축
- DockingValidator 유틸리티 클래스 추가
- 빌드 오류 수정 및 안정성 개선

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 14:46:53 +09:00
ChiKyun Kim
debbf712d4 add files 2025-09-15 17:36:46 +09:00
ChiKyun Kim
25f28b26b0 docs: E2ETEST.md 파일 복원
- 종단간 테스트 시나리오 문서
- 목적지 선택 기능 테스트 케이스 추가

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 17:35:21 +09:00
ChiKyun Kim
4b8b0e4b86 cleanup: 테스트 파일들 정리
- 임시 테스트 파일들 삭제 (*.cs, *.exe, *.js, *.ps1)
- E2ETEST.md는 유지
- TODO.md 업데이트

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 17:34:55 +09:00
ChiKyun Kim
06deda2956 feat: 시뮬레이터에 목적지 선택 기능 추가
- 목적지 선택 버튼을 경로 계산 그룹에 추가
- 목적지 선택 모드 상태 관리 구현 (버튼 색상 변경)
- UnifiedAGVCanvas에 SelectTarget EditMode 및 TargetNodeSelected 이벤트 추가
- 노드 클릭 시 목적지 자동 설정 및 경로 계산 기능
- 시뮬레이션 중 빠른 목적지 변경 및 테스트 지원

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 17:33:16 +09:00
ChiKyun Kim
073ced8690 feat: 방향 전환 노드 로그에 RFID 표시 형식 적용
- SimulatorForm에 GetDisplayName 헬퍼 메서드 추가
- 방향 전환 노드 로그에서 RFID 값 우선 표시
- RFID 없으면 (NodeID) 형태로 표시

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:49:21 +09:00
ChiKyun Kim
ba1a530dd5 feat: RFID 값 기반 콘솔 로그 표시 개선
- DirectionChangePlanner에 GetDisplayName 헬퍼 메서드 추가
- RFID 값이 있으면 표시, 없으면 (NodeID) 형태로 표시
- 갈림길 정보 출력 시 사용자 친화적 형식 적용

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:45:45 +09:00
ChiKyun Kim
7f48253770 fix: RFID duplicate validation and correct magnet direction calculation
- Add real-time RFID duplicate validation in map editor with automatic rollback
- Remove RFID auto-assignment to maintain data consistency between editor and simulator
- Fix magnet direction calculation to use actual forward direction angles instead of arbitrary assignment
- Add node names to simulator combo boxes for better identification
- Improve UI layout by drawing connection lines before text for better visibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 16:31:40 +09:00
ChiKyun Kim
1add9ed59a enhance: Display RFID values in path UI and improve AGV lift direction visualization
- Replace NodeID with RFID values in path display for better field mapping
- Add ComboBoxItem<T> class for {rfid} - [{node}] format in combo boxes
- Implement GetRfidByNodeId helper method for NodeID to RFID conversion
- Enhanced UpdatePathDebugInfo to show both RFID and NodeID information
- Improved path visualization with RFID-based route display
- Users can now easily match displayed paths with physical RFID tags

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-12 15:36:01 +09:00
ChiKyun Kim
de0e39e030 refactor: Consolidate RFID mapping and add bidirectional pathfinding
Major improvements to AGV navigation system:

• Consolidated RFID management into MapNode, removing duplicate RfidMapping class
• Enhanced MapNode with RFID metadata fields (RfidStatus, RfidDescription)
• Added automatic bidirectional connection generation in pathfinding algorithms
• Updated all components to use unified MapNode-based RFID system
• Added command line argument support for AGVMapEditor auto-loading files
• Fixed pathfinding failures by ensuring proper node connectivity

Technical changes:
- Removed RfidMapping class and dependencies across all projects
- Updated AStarPathfinder with EnsureBidirectionalConnections() method
- Modified MapLoader to use AssignAutoRfidIds() for RFID automation
- Enhanced UnifiedAGVCanvas, SimulatorForm, and MainForm for MapNode integration
- Improved data consistency and reduced memory footprint

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 16:41:52 +09:00
ChiKyun Kim
7567602479 feat: Add AGV Map Editor and Simulator tools
- Add AGVMapEditor: Visual map editing with drag-and-drop node placement
  * RFID mapping separation (physical ID ↔ logical node mapping)
  * A* pathfinding algorithm with AGV directional constraints
  * JSON map data persistence with structured format
  * Interactive map canvas with zoom/pan functionality

- Add AGVSimulator: Real-time AGV movement simulation
  * Virtual AGV with state machine (Idle, Moving, Rotating, Docking, Charging, Error)
  * Path execution and visualization from calculated routes
  * Real-time position tracking and battery simulation
  * Integration with map editor data format

- Update solution structure and build configuration
- Add comprehensive documentation in CLAUDE.md
- Implement AGV-specific constraints (forward/backward docking, rotation limits)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-10 17:39:23 +09:00
ChiKyun Kim
27dcc6befa .. 2025-09-10 15:07:17 +09:00
backuppc
4a45ae15d6 .. 2025-07-14 16:32:56 +09:00
backuppc
fb8c488890 cleaning 2025-07-08 15:05:21 +09:00
chi
af316e72d0 .. 2025-07-01 10:29:56 +09:00
chi
00ab716ff3 fmain 화면 버튼 이베늩 연결 끊기는 현상 수정 (파일을 다시 생성하고 링크작업 다시 시작 2025-06-30 14:05:50 +09:00
chi
00dd50192b .. 2025-06-30 13:48:19 +09:00
chi
02e71d7446 경로역방향 발생시 프로그램 통신 죽는 현상 수정 2025-06-26 15:34:46 +09:00
chi
f1aeeeba12 .. 2025-06-25 17:55:37 +09:00
chi
ba18564719 .. 2025-06-23 17:38:24 +09:00
chi
3fcbbfe354 .. 2025-06-20 16:37:22 +09:00
chi
f7615396d5 add temp1, temp2 2025-06-20 11:56:34 +09:00
chi
0ae0faf050 2025-06-20일 이전 업데이트사항 백업 2025-06-20 08:29:46 +09:00
chi
461a083a06 .. 2025-06-17 17:34:26 +09:00