AGV 기반 지능형 창고 물류 시스템
물류 산업의 급속한 발전, 토지 부족, 인건비 상승으로 인해 창고는 중요한 물류 허브로서 큰 도전에 직면하고 있습니다. 창고가 커짐에 따라 운영 빈도가 증가하고 정보 복잡성이 증가하며 주문 선택 작업이 더 요구되면서 오류율을 낮추고 노동 비용을 줄이며 전체 저장 효율성을 향상시키는 것이 창고 분야의 주요 목표가 되었습니다. 이를 통해 기업들은 지능형 자동화로 나아가고 있습니다.
이 논문은 AGV(자동 유도 차량) 기반의 지능형 창고 물류 시스템에 초점을 맞춥니다. 이 시스템은 AGV를 운송 수단으로 사용하여 외부 정보 시스템과 인터페이스를 통해 주문을 받고, 지능형 계획 알고리즘을 사용하여 AGV 경로를 최적화합니다. 이를 통해 AGV는 수령, 운송, 보관, 출고 등의 작업을 자동으로 수행하여 물류 시스템의 효율성과 정확성을 향상시키며 운영 비용을 줄입니다.
1. 시스템 분석
지능형 창고 시스템의 핵심은 관리와 스케줄링에 있습니다. 여기서 설명하는 시스템은 계층 구조를 채택하여 데이터가 입력에서 보관 용기, 그리고 AGV로 순차적으로 흐릅니다. 기능 요구 사항과 보관 작업 분석을 바탕으로 시스템은 주요 모듈인 창고 관리, 스테이션 관리, 차량 관리, 주문 관리, 사용자 관리로 나뉩니다.
창고 관리: 이 모듈은 창고 맵 모델링 및 정보 관리를 담당합니다. 창고는 20개 행과 12개 열로 구성되며 3개의 레벨(상, 중, 하)로 나뉩니다. 각 용기는 고유한 ID를 갖습니다. 맵에는 벽, 문, 두 개의 임시 플랫폼, 충전소가 포함되어 있으며, 항목 정보는 용기 위치에 따라 저장되며, 데이터는 용기의 ID를 통해 데이터베이스와 연결됩니다.
스테이션 관리: 창고 입구, 통로 입구, 열 위치, 충전소, 적재/하역 지점, 주차 장소 등 주요 위치는 AGV의 시작 또는 목표 지점으로 미리 정의됩니다.
경로 관리: 경로는 스테이션을 연결합니다. AGV는 예정된 경로를 따르며, 이 경로는 일방향 또는 양방향, 선형 또는 곡선일 수 있습니다.
랙 관리: 랙은 지정된 랙 위치에만 배치됩니다. 랙 관리는 AGV가 적재 지점, 하역 지점, 랙 위치 간에 랙을 이동하는 작업을 지원합니다. 랙은 초기, 검색 대기, 이송 중, 반환 상태의 네 가지 상태를 가집니다.
차량 관리: 단순한 창고 설정으로 인해 하나의 AGV만 사용되며, 한 작업당 하나의 용기를 처리합니다. AGV 상태는 대기(충분한 충전 상태로 입구에서 유휴 상태), 충전(전력이 부족할 때 충전기에 이동), 작업 실행(용기를 활성적으로 운송)이 있습니다.
충전 관리: 배터리 수준이 낮을 때 AGV는 자동으로 충전을 요청합니다. 시스템은 충전 경로를 할당하고 충전소를 잠그며 AGV를 충전 모드로 전환합니다. 이때 배터리 수준이 특정 수준에 도달할 때까지 새로운 작업이 할당되지 않습니다.
예외 관리: 가능한 AGV 이상 현상에는 예정된 경로에서 벗어나는 것, 전력이 부족할 때 충전을 요청하지 않는 것, 제어를 잃는 것 등이 포함됩니다. 모든 예외는 기록되며, 이상 현상 횟수가 미리 설정된 임계값을 초과하면 알림이 발생하여 유지보수가 필요함을 나타냅니다.
작업 관리: 새로운 작업은 미리 정의된 경로 계획 알고리즘을 사용하여 할당됩니다. 작업이 시작되면 시스템은 AGV를 할당하고 전체 경로를 전송합니다. 작업은 확인, 취소, 일시 중지, 수정할 수 있습니다. 작업은 출고, 입고, 재배치 세 가지 유형으로 나뉩니다.
사용자 관리: 이 모듈은 사용자 계정과 권한을 관리합니다. 사용자는 게스트, 운영자, 관리자, 슈퍼 관리자의 네 가지 레벨로 분류되며, 각각 다른 접근 권한을 가집니다.
2. 시스템 설계 개요
2.1 설계 원칙
가시성: 직관적인 데이터 접근 및 관리를 위한 사용자 친화적인 인터페이스 설계.
실시간 성능: 창고 맵은 AGV 위치, 상태, 랙 정보를 최소 지연으로 실시간으로 반영하여 신뢰성 있는 통신을 보장해야 합니다.
안정성: 시스템은 높은 데이터 부하와 장시간 작동에서도 안정적이어야 합니다.
확장성: 모듈식 설계로 향후 확장 및 새로운 기능 통합이 가능합니다.
2.2 시스템 아키텍처
시스템은 다음의 세 계층으로 구성됩니다:
실행 계층(AGV 운송): 물리적인 AGV 작업.
서비스 계층: 애플리케이션 계층과 실행 계층 사이의 다리 역할을 하는 중앙 관리 시스템과 접근 시스템을 포함합니다. AGV와 통신하여 상태 데이터를 수집하고, 작업 할당 및 제어를 위한 API를 제공합니다.
애플리케이션 계층: Unity3D 기반 인터페이스를 통해 사용자와 직접 상호작용하는 최상위 계층입니다. 사용자가 요청을 보내고, 백엔드 처리 후 결과가 표시됩니다.
2.3 데이터베이스 설계
주요 데이터는 다음과 같습니다:
사용자 데이터: 기본 정보 및 접근 권한.
차량 데이터: AGV 상태, 충전/방전 로그, 이상 기록.
작업 데이터: 작업 세부 사항 및 실행 상태.
창고 데이터: 레이아웃, 랙, 스테이션, 충전 지점 등으로 구성된 창고 맵.
주요 관계: 사용자가 작업을 생성하고, AGV가 작업을 수행하며, AGV가 창고 내에서 작동하며, 사용자가 창고를 관리합니다.
2.4 세부 시스템 설계 및 구현
2.4.1 기본 프레임워크 구현
새로운 Unity3D 프로젝트를 생성하고, 3D 모델을 가져와 창고 환경을 시뮬레이션합니다. C#을 사용하여 로직을 구현합니다.
사용자 로그인:
사용자는 시스템에 접근하기 전에 인증을 받아 역할 기반 권한을 획득해야 합니다.
창고 관리 구현:
핵심 기능은 창고 모델링으로, 사용자가 용기 레이아웃, 차량 위치, 랙 분포를 확인 및 편집할 수 있게 합니다. 시스템은 경로 및 스테이션 목록을 포함하며, 차량 관리는 충전 및 이상 처리를 포함합니다.
2.4.2 맵 설계 방법론
일반적인 로봇 맵핑 방법은 다음과 같습니다:
메트릭 맵: 실제 공간의 2D/3D 재구성.
직접 표현: 이산화 없이 원시 센서 데이터를 사용합니다.
그리드 맵: 공간을 균일한 셀로 나누어 위상 그래프로 쉽게 변환할 수 있습니다.
위상 맵: 주요 위치를 노드로, 노드는 엣지로 연결합니다.
좌표 시스템:
레이아웃 좌표: Unity의 가상 인터페이스 위치.
모델 좌표: 실제 (x, y, z) 위치입니다. 레이아웃 좌표가 자동 생성되므로, 실제 시뮬레이션을 위해 모델 좌표는 명시적으로 정의해야 합니다.
점 유형 및 작업:
점은 AGV 위치(기본: 0,0,0)를 나타냅니다. 유형에는 일반, 적재/하역, 입/출입, 랙, 충전 포인트가 포함됩니다. 일반 점은 랙을 보관하거나 AGV가 장기간 정지할 수 없습니다.
3. 결론
스마트 물류와 IoT 기술의 급속한 발전으로 인해 창고는 "수동 기계화"에서 "물품-대-인간" 자동화 작업으로 전환되고 있습니다. 운영자는 이제 실시간으로 재고를 모니터링하여 스캔 정확성, 동적 보관, 운영 효율성을 향상시키고 낭비와 인건비를 줄일 수 있습니다.
그러나 지능형 시스템의 규모가 커지고 AGV 함대가 증가함에 따라 작업 할당과 함대 제어에 대한 도전이 계속되고 있습니다. 이 논문은 실용적인 AGV 기반 지능형 창고 스케줄링 시스템을 제시하며, 창고 관리를 전통적인 재고 추적에서 실시간 운영 제어로 전환합니다. 완전 자동화 기술을 활용하여 시스템은 자동 입고 및 출고 작업을 가능하게 하여 자동화에서 지능형 물류로의 전환을 촉진합니다.