728x90
🟢 1편: 센서 기반 물체 감지 시뮬레이터 만들기
🎯 목표
Unity에서 광센서와 정전용량 센서를 구현하고, 머신러닝을 통해 물체 감지 이상을 AI로 판단
🖼️ 시뮬레이션 화면 예시
설명: 다양한 물체가 이송되고, 센서가 감지 여부를 판단. AI가 센서 이상을 탐지하면 화면에 알림 표시됨.
🔧 Unity 구현 과정
1️⃣ 씬 구성
- 물체(GameObject) 프리팹: Cube, Sphere, MetalObject
- 센서 오브젝트 2개 생성: CapacitiveSensor, LightSensor
- Conveyor Belt 시뮬레이션: Scroll script로 이동 구현
2️⃣ 센서 감지 스크립트 (C#)
public class SensorTrigger : MonoBehaviour
{
public bool isDetected = false;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Item"))
{
isDetected = true;
}
}
void OnTriggerExit(Collider other)
{
if (other.CompareTag("Item"))
{
isDetected = false;
}
}
}
🧠 AI 모델 학습용 데이터 생성
3️⃣ 센서 로그 기록 스크립트
public class SensorLogger : MonoBehaviour
{
public SensorTrigger capacitiveSensor;
public SensorTrigger lightSensor;
void Update()
{
string log = Time.time + "," +
(capacitiveSensor.isDetected ? 1 : 0) + "," +
(lightSensor.isDetected ? 1 : 0);
Debug.Log(log);
// 파일 저장 가능 (StreamWriter 등 사용)
}
}
예시 데이터 포맷 (CSV):
Time,Capacitive,Light,Label
0.5,1,1,Normal
0.6,0,1,Abnormal
📊 AI 모델 학습 (Python 예시)
from sklearn.ensemble import IsolationForest
import pandas as pd
df = pd.read_csv("sensor_log.csv")
model = IsolationForest()
model.fit(df[['Capacitive', 'Light']])
df['anomaly'] = model.predict(df[['Capacitive', 'Light']])
📣 Unity 내 이상 감지 표
void Update()
{
if (sensorA.isDetected && !sensorB.isDetected)
{
// 이상 상태 시 UI 알람
warningText.SetActive(true);
}
}
🎁 완성 화면 구성
- UI Text로 상태 출력 (정상, 이상)
- 물체 통과 시 센서 동작 애니메이션
- 이상 감지 시 경고음 또는 빨간 LED 점등 시뮬레이션
📌 요약
- Unity에서 센서를 구현하고 데이터 수집
- AI 모델로 이상 감지 학습
- Unity에서 AI 결과 반영 (알람 출력)
🔁 다음 편 예고:
2편. 실린더 외란 감지 시뮬레이션 만들기 (Autoencoder 활용)
Unity에서 실린더 이동 데이터를 수집하고, 외란 상태를 감지해보자!
728x90
'인공지능 & 데이터 사이언스 > 연구 및 테스트' 카테고리의 다른 글
🧪 스마트팩토리 AI 시리즈 – 5편 (2) | 2025.06.02 |
---|---|
🤖 스마트팩토리 AI 시리즈 – 4편 (6) | 2025.06.01 |
⚙️ 스마트팩토리 AI 시리즈 – 3편 (2) | 2025.05.31 |
🔧 스마트팩토리 AI 시리즈 – 2편 (1) | 2025.05.30 |
AI로 설비 이상을 사전에 감지하는 방법! – 스마트팩토리 데이터 분석 실전 (0) | 2025.05.29 |