예약 락 방식 + 데드락 타임아웃 처리 + 대기 vs 우회 판단 + 시뮬레이션 검증 경험
수업 프로젝트에서 다중 로봇이 같은 공간을 이동하는 시뮬레이션 관제 시스템을 만들면서 충돌 방지를 처음 구현해봤습니다. 충돌 방지의 핵심은 각 로봇이 이동 전에 경로가 겹치는지 미리 확인하는 예약 방식이었습니다. 처음엔 충돌이 일어난 후 처리하는 방식으로 구현했는데, 재충돌이 반복되는 루프가 생기는 문제가 발생했습니다. 이후에는 노드 기반 예약 락을 써서 어떤 로봇이 특정 구간을 점유 중인지 상태를 공유하는 방식으로 바꿨습니다. 경로 수정에서는 막힌 경로가 생기면 대기 또는 우회 중 어느 쪽이 전체 처리 시간을 줄이는지 상황마다 판단이 달라지는 걸 배웠습니다. 시뮬레이션에서는 여러 로봇이 동시에 같은 해결책을 시도하면 데드락이 생기는 경우도 있어서 타임아웃 후 재시도하는 방식을 추가했습니다.
로봇 관제에서는 개별 효율보다 전체 시스템의 흐름을 최적화하는 게 더 중요한 자리라는 걸 느꼈습니다.