using System;
namespace AGVNavigationCore.Models
{
///
/// 노드 타입 열거형
///
public enum NodeType
{
/// 일반 경로 노드
Normal,
Label,
/// 이미지 (UI 요소)
Image,
///
/// 마크센서
///
Mark,
///
/// 마그넷라인
///
Magnet
}
///
/// 도킹 방향 열거형
///
public enum DockingDirection
{
/// 도킹 방향 상관없음 (일반 경로 노드)
DontCare,
/// 전진 도킹 (충전기)
Forward,
/// 후진 도킹 (로더, 클리너, 오프로더, 버퍼)
Backward
}
///
/// AGV 이동 방향 열거형
///
public enum AgvDirection
{
/// 전진 (모니터 방향)
Forward,
/// 후진 (리프트 방향)
Backward,
/// 좌회전
Left,
/// 우회전
Right,
/// 정지
Stop
}
///
/// 장비 타입 열거형
///
public enum StationType
{
///
/// 일반노드
///
Normal,
/// 로더
Loader,
/// 클리너
Clearner,
/// 오프로더
UnLoader,
/// 버퍼
Buffer,
/// 충전기1
Charger1,
/// 충전기2
Charger2,
///
/// 끝점(더이상 이동불가)
///
Limit,
}
///
/// AGV턴상태
///
public enum AGVTurn
{
None=0,
///
/// left turn 90"
///
L90,
///
/// right turn 90"
///
R90
}
///
/// 모터 명령 열거형 (실제 AGV 제어용)
///
public enum MotorCommand
{
/// 정지
Stop,
/// 전진 (Forward - 모니터 방향)
Forward,
/// 후진 (Backward - 리프트 방향)
Backward
}
///
/// 마그넷 위치 열거형 (실제 AGV 제어용)
///
public enum MagnetPosition
{
/// 직진 (Straight)
S,
/// 왼쪽 (Left)
L,
/// 오른쪽 (Right)
R
}
///
/// 속도 레벨 열거형 (실제 AGV 제어용)
///
public enum SpeedLevel
{
/// 저속 (Low)
L,
/// 중속 (Medium)
M,
/// 고속 (High)
H
}
public enum eAGVCommandReason
{
///
/// 초기 미지정
///
Normal,
///
/// 위치 미확정
///
UnknownPosition,
///
/// 대상경로없음
///
NoTarget,
///
/// 경로없음
///
NoPath,
///
/// 경로이탈
///
PathOut,
///
/// 마크스탑을 해야한다
///
MarkStop,
///
/// 완료
///
Complete,
}
}