This commit is contained in:
backuppc
2026-01-07 17:33:17 +09:00
parent 90340f4a7d
commit 9776205364
17 changed files with 186 additions and 104 deletions

View File

@@ -131,12 +131,15 @@ namespace AGVNavigationCore.PathFinding.Planning
return AGVPathResult.CreateFailure("이동 가능한 노드가 아닙니다", 0, 0);
var tnode = targetNode as MapNode;
//시작노드와 종료노드가 동일위치이고 도킹방향도 맞다면 그대로 OK 한다
if (startNode.Id == targetNode.Id && tnode.DockDirection.MatchAGVDirection(prevDirection))
return AGVPathResult.CreateSuccess(new List<MapNode> { startNode, startNode }, new List<AgvDirection>(), 0, 0);
//반대방향값 지정
var ReverseDirection = (currentDirection == AgvDirection.Forward ? AgvDirection.Backward : AgvDirection.Forward);
//1.목적지까지의 최단거리 경로를 찾는다.
//1.목적지까지의 최단거리 경로를 찾는다.(AStar 방식)
var pathResult = _basicPathfinder.FindPathAStar(startNode.Id, targetNode.Id);
pathResult.PrevNode = prevNode;
pathResult.PrevDirection = prevDirection;
@@ -201,9 +204,7 @@ namespace AGVNavigationCore.PathFinding.Planning
}
if (nextNodeForward != null && pathResult.Path.Count > 1 &&
nextNodeForward.Id == pathResult.Path[1].Id &&
tnode.DockDirection == DockingDirection.Forward &&
currentDirection == AgvDirection.Forward) // ✅ 추가: 현재도 Forward여야 함
nextNodeForward.Id == pathResult.Path[1].Id) // ✅ 추가: 현재도 Forward여야 함
{
if (tnode.DockDirection == DockingDirection.Forward && currentDirection == AgvDirection.Forward ||
tnode.DockDirection == DockingDirection.Backward && currentDirection == AgvDirection.Backward)