Grid Sensor는 에이전트가 주변 환경을 격자 셀(cell) 단위로 나누어 구조화된 방식으로 인식할 수 있도록 도와주는 센서입니다.
공간 자체를 데이터로 보는 방식으로, 지도 기반 추론, 미로 탐색, 영역별 상태 추적 등에 유용합니다.
한마디로, 에이전트의 ‘미니맵’ 감각을 만들어주는 도구입니다.
언제 사용하나요?
- 미로, 방 구조, 넓은 영역의 상태를 추적해야 할 때
- 리소스 수집, 영역 통제, 지역 기반 의사결정이 필요할 때
- 물체의 정확한 위치보다 ‘존재 여부’만 알면 되는 경우
예: 청소 영역을 격자로 나눠 ‘청소 완료 여부’를 학습시키기
주요 설정 항목
설정 항목 | 설명 |
Grid Size (X, Y, Z) | 격자 셀 수 (3D 공간 내 몇 칸씩 나눌 것인지) |
Cell Scale | 각 셀의 실제 크기 |
Detectable Tags | 어떤 태그의 객체를 감지할지 |
Collider Mask | 감지 대상이 될 Unity Layer |
Rotate With Agent | 에이전트 기준으로 격자가 회전할지 여부 |
예: Grid Size = (5, 1, 5), Cell Scale = (1, 1, 1)
→ 5x5 셀 격자 형태로 평면 인식
구성 방법 (에디터 기준)
- Agent에 GridSensorComponent 추가
- 셀 수, 크기, Detectable Tags 설정
- Behavior Parameters에서 자동으로 관찰 공간 생성
// GridSensor는 자동으로 관찰 데이터를 수집하므로 따로 코딩할 필요 없음
실전 예시: 로봇 청소기 청소 상태 추적
학습 목표 | Grid Sensor 활용 방식 |
방 구조 인식 | 일정 크기의 셀로 분할해 공간 인식 |
청소된 영역 추적 | 셀에 객체 존재 여부를 기준으로 상태 기록 |
장애물 감지 | 태그 기반으로 감지하여 해당 셀 값 부여 |
로봇은 “어디를 청소했는지” 기억하고, 남은 셀을 찾아가도록 학습할 수 있습니다.
주의할 점
- Grid Size가 커질수록 관찰 데이터 크기 증가 (훈련 비용 증가)
- 감지할 객체에는 반드시 감지 가능한 태그/레이어 지정 필요
- Rotate With Agent를 켜면 격자가 에이전트를 따라 움직임
- 격자가 너무 작으면 데이터 희소화, 너무 크면 정확도 저하
훈련 최적화를 위한 전략
전략 | 목적 |
적절한 Cell Scale | 너무 세분화되지 않도록 균형 조정 |
태그 필터 사용 | 학습에 필요한 정보만 선별적으로 감지 |
Rotate With Agent 활용 | 방향성 기반 탐색에 적합 |
2D vs 3D 구분 | 대부분의 경우 Z(높이)는 1이면 충분함 |
요약
- Grid Sensor는 공간 기반의 추론이 필요한 시나리오에 최적화된 센서입니다.
- 방 구조, 자원 위치, 지역 상태 등을 격자화하여 정형적인 인식 방식 제공
- 간단한 설정만으로 복잡한 공간 정보도 깔끔하게 요약 가능
'Unity' 카테고리의 다른 글
[ML-Agents] Buffer Sensor – 동적으로 변하는 객체를 추적하는 센서 (0) | 2025.05.14 |
---|---|
[ML-Agents] Audio Sensor – 소리를 듣는 에이전트 만들기 (0) | 2025.05.14 |
[ML-Agents] Ray Perception Sensor – 공간을 인식하는 센서 (0) | 2025.05.14 |
[ML-Agents] Camera Sensor – 에이전트의 '눈'을 만들어주는 센서 (0) | 2025.05.14 |
[ML-Agents] VectorSensor - 숫자로 보는 세상 (0) | 2025.05.14 |