- 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>
100 lines
7.9 KiB
Markdown
100 lines
7.9 KiB
Markdown
## 경로시뮬레이션 설명
|
|
## AGV는 같은경로상에서 방향을 전환할 수 없음
|
|
## 경로계산을 위해서는 반드시 AGV는 2개 이상의 RFID를 읽어야 한다. (최소 2개를 읽어야 모터방향과 RFID의 읽히는 순서를 가지고 현재 AGV의 방향을 결정지을 수 있다)
|
|
## 하기 케이스의 경우 케이스 설명전에 AGV가 어떻게 이동했는지 최소 2개의 RFID정보를 제공한다.
|
|
## AGV의 RFID로 위치이동하는 것은 시뮬레이터폼의 SetAGVPositionByRfid 함수를 참고하면 됨
|
|
## 방향전환이 필요할 때에 갈림길은 AGV와 가장 가까운 갈림길을 사용한다.
|
|
|
|
## case 1 (AGV가 전진방향으로 이동하는 경우)
|
|
## AGV는 모터전진방향으로 008 -> 007 로 이동 (최종위치는 007)
|
|
|
|
Q1.목적지 : 015 (충전기 이므로 전진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 동일하므로 방향전환이 필요없다. 목적지 까지의 최단거리를 계산한 후 그대로 이동하면됨
|
|
007 - 006 - 005 - 004 - 012 - 013 - 014 - 015
|
|
|
|
Q2.목적지 : 019 (충전기 이므로 전진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 동일하므로 방향전환이 필요없다. 목적지 까지의 최단거리를 계산한 후 그대로 이동하면됨
|
|
007 - 006 - 005 - 004 - 012 - 016 - 017 - 018 - 019
|
|
|
|
Q3.목적지 : 001 (장비 이므로 후진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 007 - 006 - 005 - 004 - 003 - 002 - 001
|
|
갈림길은 005 , 004 총 2개가 있으나 AGV 이동 방향상 가장 가까운 갈림길은 005이다. 전환은 005에서 하기로 한다.
|
|
005갈림길은 내경로상의 006 과 037이 있다. 내 경로상에서 방향전환은 할 수 없으니 005 갈림길에서는 037로 방향을 틀어서 (Magnet Left) 전진이동을 한후
|
|
037이 발견되면 방향을 후진으로 전환하면서 005를 거쳐 004방향으로 가도록 (Magnet Right) 로 유도해서 진행한다.
|
|
그렇게하면 005를 지나 004를 갈때에는 후진방향으로 이동하게 된다. 후진시에는 전진과 magtnet 방향전환이 반대로 필요하다,
|
|
037 -> 005 -> 004 의 경우 후진이동으로 좌회전을 해야하는데. 후진이기때문에 magnet 은 right 로 유도한다.
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
007(F) - 006(F) - 005(F) - 037(B) - 005(B) - 004(B) - 003(B) - 002(B) - 001(B)
|
|
|
|
Q4.목적지 : 011 (장비 이므로 후진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 007 - 006 - 005 - 004 - 030 - 009 - 010 - 011
|
|
갈림길은 005 , 004 총 2개가 있으나 AGV 이동 방향상 가장 가까운 갈림길은 005이다. 전환은 005에서 하기로 한다.
|
|
005갈림길은 내 경로상의 006 과 037이 있다. 내 경로상에서 방향전환은 할 수 없으니 005 갈림길에서는 037로 방향을 틀어서 (Magnet Left) 전진이동을 한후
|
|
037이 발견되면 방향을 후진으로 전환하면서 005를 거쳐 004방향으로 가도록 (Magnet Right) 로 유도해서 진행한다.
|
|
그렇게하면 005를 지나 004를 갈때에는 후진방향으로 이동하게 된다. 후진시에는 전진과 magtnet 방향전환이 반대로 필요하다,
|
|
037 -> 005 -> 004 의 경우 후진이동으로 좌회전을 해야하는데. 후진이기때문에 magnet 은 right 로 유도한다.
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
007(F) - 006(F) - 005(F) - 037(B) - 005(B) - 004(B) - 030(B) - 009(B) - 010(B) - 011(B)
|
|
|
|
Q.목적지 : 041 (장비 이므로 후진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 007 - 006 - 005 - 037 - 036 - 035 - 034 - 033 - 032 - 031 - 041
|
|
경로상 갈림길은 005 총 1개가 있으므로 전환은 005에서 하기로 한다.
|
|
005갈림길은 내 경로상의 006 과 037(이 경우엔 037도 내 경로는 맞다)
|
|
이 경우에는 006도 037도 내 경로이므로 005에 연결된 004포인트로 이동하면서 방향전환이 필요하다
|
|
005 갈림길에서는 004까지 전진으로 진행하고 004도착시 후진을 하고 005에서 037로 방향을 틀도록 마그넷을(left)로 유도한다
|
|
그렇게하면 005를 지나 037를 갈때에는 후진방향으로 이동하게 된다.
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
007(F) - 006(F) - 005(F) - 004(F) - 005(B) - 037(B) - 036(B) - 035(B) - 034(B) - 033(B) - 032(B) - 031(B) - 041(B)
|
|
|
|
Q5.8 (장비 이므로 후진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 007 - 006 - 005 - 037 - 036 - 035 - 034 - 038
|
|
경로상 갈림길은 005 총 1개가 있으므로 전환은 005에서 하기로 한다.
|
|
005갈림길은 내 경로상의 006 과 037(이 경우엔 037도 내 경로는 맞다)
|
|
이 경우에는 006도 037도 내 경로이므로 005에 연결된 004포인트로 이동하면서 방향전환이 필요하다
|
|
005 갈림길에서는 004까지 전진으로 진행하고 004도착시 후진을 하고 005에서 037로 방향을 틀도록 마그넷을(left)로 유도한다
|
|
그렇게하면 005를 지나 037를 갈때에는 후진방향으로 이동하게 된다.
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
007(F) - 006(F) - 005(F) - 004(F) - 005(B) - 037(B) - 036(B) - 035(B) - 034(B) - 038(B)
|
|
|
|
|
|
## AGV는 모터전진방향으로 037 -> 036 로 이동 (최종위치는 036)
|
|
Q6.목적지 : 038 (장비 이므로 후진 방향 도킹해야하는 곳)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 036 - 035 - 034 - 038
|
|
경로상 갈림길이 없다, 가장 가까운 갈림길은 005이므로 전환은 005에서 하기로 한다.
|
|
005갈림길은 내 경로상 포인트가 없으니 전환은 004 혹은 006 어떤쪽이던 상관없다.
|
|
다만 이러한 경우 일관성을 위해 Magnet 유도를 Left를 사용한다
|
|
036에서 후진으로 이동을 시작하면 037 -> 005 순으로 후진 이동을 한다. 여기서 방향전환을 해야하고 마그넷이 left로 유도가 되면
|
|
AGV는 006방향으로 틀게된다. 이제 이러면 바로위의 Q5와 동일한 조건이 완성된다. 위치 006에서는 005 037 모두 목적지까지 포함되므로 004로
|
|
이동해서 전환을 해야한다. 005(f), 004(f) 까지 이동을 한 후 이제 방향전환을 해서 후진으로 005까지 이동이 필요하다. 후진이므로
|
|
magnet을 left유도하여 037로 이동할 수 있게한다
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
036(B) - 037(B) - 005(B) - 006(B) - 005(F) - 004(F) - 005(F) - 037(B) - 036(B) - 035(B) - 034(B) - 038(B)
|
|
|
|
|
|
## case 2 (AGV가 후진방향으로 이동하는 경우)
|
|
AGV는 모터후진방향으로 008 -> 007 로 이동 (최종위치는 007)
|
|
Q7.목적지 : 015 (충전기는 전진 도킹해야합니다.)
|
|
A. 목적지 도킹방향과 현재 AGV도킹 방향이 일치하지 않으니 방향전환이 필요하다,
|
|
목적지까의 RFID목록은 007 - 006 - 005 - 004 - 012 - 013 -014 -015
|
|
경로상 갈림길은 005, 004, 012 총 3개가 있다, 가장 가까운 갈림길은 005이므로 전환은 005에서 하기로 한다.
|
|
005 갈림길은 내 경로상 포인트 (006,004)가 있으니 037 포인트를 이용하여 전환을 하면 된다.
|
|
006(B) -> 005(B - 마그넷유도 RIGHT) -> 037(F) -> 그런후 방향전화을 해서 005까지 전진으로 이동을 하고 004로 방향을 틀면된다.
|
|
|
|
최종 경로는 아래와 같다
|
|
|
|
007(B) - 006(B) - 005(B-maget right) - 037(에 B로 도착하면 F로 전환한다) - 005(F) - 004(F) - 012(F) - 013(F) - 014(F) - 015(F) |