sequenceDiagram
    participant ACS
    participant AGV
    participant Buffer
    participant Loader
    participant Cleaner
    participant Unloader

    %% 1. Bring Empty Cart from Buffer to Loader
    Note over ACS, Buffer: *. 버퍼에서 빈 카트 가져오기

    ACS->>AGV: goto(Buffer1~6)
    AGV->>Buffer: 도착 (Arrive)
    ACS->>AGV: pickon enter (빈 카트 집기)
    Buffer->>AGV: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickon exit
    Note over ACS, Buffer: *. 버퍼에서 로더로 이동

    ACS->>AGV: goto(Loader)
    AGV->>Loader: 도착 (Arrive)
    ACS->>AGV: pickoff enter(카트 내려 놓기)        
    AGV->>Loader: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickoff exit(장비 퇴장)
    
    Note over Loader: 로더가 자재를 카트에 적재 (Loader puts Material into Cart)

    ACS->>AGV: goto(Loader)
    AGV->>Loader: 도착 (Arrive)
    ACS->>AGV: pickon enter(Loader)
    ACS->>AGV: pickon (적재된 카트 집기)
    Loader->>AGV: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickon exit(장비 퇴장)

    %% 2. Move Loaded Cart from Loader to Cleaner
    Note over ACS, Loader: *. 로더에서 클리너로 이동 (Move Loaded Cart to Cleaner)

    ACS->>AGV: goto(Cleaner)
    AGV->>Cleaner: 도착 (Arrive)
    ACS->>AGV: pickoff enter(Cleaner)
    AGV->>Cleaner: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickoff exit(Cleaner)

    Note over Cleaner: 클리닝 작업 (Cleaning Process)
    ACS->>AGV: pickon enter(Cleaner)
    Cleaner->>AGV: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickon exit(Cleaner)

    %% 3. Move Cleaned Cart from Cleaner to Unloader
    Note over ACS, Unloader: *. 클리너에서 언로더로 이동 (Move Cleaned Cart to Unloader)

    ACS->>AGV: goto(Unloader)
    AGV->>Unloader: 도착 (Arrive)
    ACS->>AGV: pickoff enter(Unloader)
    AGV->>Unloader: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickoff exit (클리닝된 카트 놓기)
    
    Note over Unloader: 언로딩 완료
    ACS->>AGV: pickon enter(Unloader)
    Unloader->>AGV: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickon exit (빈 카트 집기)

    %% 4. Move Empty Cart from Unloader to Buffer
    Note over ACS, Buffer: *. 언로더에서 버퍼로 빈 카트 회수

    ACS->>AGV: goto(Buffer1~6)
    AGV->>Buffer: 도착 (Arrive)
    ACS->>AGV: pickoff Enter(빈 카트 놓기)
    AGV->>Buffer: 카트 전달 (Transfer Cart)
    ACS->>AGV: pickoff Exit(장비 이탈)
    AGV-->>ACS: 사이클 완료 (Cycle Complete)