This commit is contained in:
backuppc
2026-01-09 17:25:53 +09:00
parent efab3d042c
commit 880dc526da
9 changed files with 749 additions and 206 deletions

View File

@@ -6,8 +6,9 @@
0011 06 역방향 : 0006(BS) 0011(BS), 정방향(회전필요) : [ 0006(BL) 0007(FS) 00013(BL) 0006(BS) ] - 동일
버퍼 06 역방향 : 0006(BL) 0005(BS) ~ 나머지 0031까지는 BS상태로 계속 이동, 정방향(회전필요) : [ 0006(BL) 0007(FS) 0013(BL) 0006(BL) ] - 동일
0008 13 역방향 : 0013(BS) 0019(BS) 0008(BS), 정방향(회전필요) : [ 0013(BL) 0006(FL) 0007(BS) 0013(BS) ] - 동일
0019 13 역방향 : 0013(BS) 0019(BS), 정방향(회전필요) : [ 0013(BL) 0006(FL) 0007(BS) 0013(BS) ] - 동일
나머지모든 경유는 각 경유지로 해당 방향으로 그대로 길을 찾는다
나머지 모든 경유는 각 경유지로 해당 방향으로 그대로 길을 찾는다
목적지를 보고 목적지의 경유지까지 경로로를 계산한다 (A*)
동일노드가 목적지 일때에는
@@ -15,5 +16,15 @@
도킹방향이 맞고 마크센서가 OFF되어있다면 반대방향으로 한번 이동하고, 다시 역방향 이동하면서 MARK STOP 처리한다.
도킹방향이 맞지 않는 경우 일반 노드 검색처럼 경유지 처리한다
버퍼에서 버퍼로 이동할때에만 추가 코드를 적용한다
버퍼에서 버퍼로 이동하는 경우에는 별도 로직으로 처리한다
모니터가 좌측에 있는 경우라면 도킹방향이 맞지 않으므로 0006까지 이동을 완료 한 후 기존 로직을 적용
모니터가 우측에 있는 방향이라면 도킹방향이 맞는 경우이다
목표가 현재 기준 좌측이라면?
BACK으로 이동하면 좌측이동이므로 목적지 노드까지 A*로 계산하여 이동 후 MARK STOP 한다
목표가 현재 기준 우측이라면?
위치 정밀도를 높이기 위해서 목표 지점을 벗어난 후 다시 좌측으로 마크스탑한다
A* -> Back -> MARKSTOP
* 인식된 위치가 전체 경로상에 존재하지 않는 노드라면 모든 경로계산을 다시 계산 한다
* 경로상 노드에 포함되어있다 해도 진입방향등을 고려하여 일치하지 않으면 경로 이탈로 간주하고 다시 계산 한다