지게차 주행과 장애물 처리

rnaster.woo·2021년 5월 14일
0

졸업작품

목록 보기
6/8

이번주 화요일 담당교수님과 주간 미팅이 있었다. 교수님은 저번주, 저저번주에서도 은연중 우리에게 바라는 것이 있었다. 바로 회피기동!
우리는 난간에 봉착했다.

🌳 지금까지는

우린 총 4명의 팀으로 구성돼 있다.

나는 프로젝트 전체 설계와 일부 디테일 설계 그리고 리액트로 인터페이스 개발을 하고 있다. 이건 프론트엔드! 라고 당당하게 이야기하고 싶지만 아주아주 부끄럽게도 다 만들어진 라이브러리를 사용하는걸 모자라서 누군가의 코드를 훔치고 있다. 어쩌면 개발이 아니라 루팡하고 있는걸지도 모른다.

같이 프론트엔드를 담당하는 팀원도, 다른 파트를 담당하고 있는 팀원도 사정은 비슷할 것이다. 기말 보고를 해야할 시기는 다가오는데 우리는 완성된 프론트엔드를 백엔드와 연결시켜야 한다는 엄청난 문제점에 다다랐다. 하지만 프로젝트를 평가하는 교수님 생각은 또 지게차를 구동하는 방식과 인터페이스는 아무래도 상관없으신듯 했고 긴급하게 임시회의를 하면서 다른 일정을 이대로 멈춘 후 회피를 비롯한 인식과 진행
openCV를 사용한 다른 기능을 개발하는데 총력을 기울이기로 했다.

🌳 앞으로는

이번 주 내가 맡은 파트는 실시간으로 들어오는 영상을 기반하여 색을 탐지하고 이 색의 크기를 판별하는 작업이다.

지게차 작업에서 발생하는 장애물을 두가지 케이스로 나눴다. 정적 장애물과 동적 장애물로, 먼저 장애물이란 작업장에 표시해둔 비동기 안전물, 지게차의 이동 경로를 바닥에 그은 전용 차선인데 이 차선 상의 진로를 방해하는 모든 객체를 말한다.

동적 장애물은 사람을 비롯한 작업장 내 움직이는 장애물이다. 이들은 자아를 가지고 있으며 각자의 목표가 있다. 목표에 따라 목적지로 이동하려는 성질이 있고 지게차가 이동중인 것을 인지할 가능성이 있다. (물론 인지하지 않을 가능성도 염두한다)
정적 장애물은 작업장에 표시해둔 지게차 차선에 걸쳐 이동에 방해가 되나 자아와 목적성을 잃은체 표류한 객체이며 주변 상황을 인지할 가능성이 없다.

동적 장애물

  1. 지게차의 진행경로를 중심으로 좌에서 우 또는 역 상황에 따라 잠재적인 장애물이 될 가능성이 높은 상황에서 장애물이 될 가능성이 낮은 상황은 지게차의 속도를 감속하며 전진하다가 가능성이 낮아짐에 따라 정상속도 주행한다.
  2. 좌에서 우 또는 역상황으로 이동하지 않고 진행경로와 행동 반경에 접촉할 가능성이 높은 정지된 동적 장애물은 작업장에서 발생한 사건 사고로 인한 멈춤 가능성이 높음으로 최고 경보를 관리자에게 발신하고 지게차의 운행을 멈춘다.

정적 장애물

  1. 정적 장애물이 진행경로 차선의 50%(임시적 수치) 이하를 점유하고 있는 경우 차선 주변의 다른 장애물과 위험요소가 없는지 판단 후 회피 이동 한다.
  2. 정적 장애물의 차선 점유가 50%를 넘어선다면 누군가의 의도가 담긴 목적성 행위로 판단하고 정지 후 관리자를 호출한다. 이때의 경고 수치는 동적 장애물 케이스2 보다 낮은 상태다.

🌳 그리하여

동적 장애물은 사람 형태의 긴 발간색 박스로 제작된다. 정적 장애물은 그보다 낮고 뭉둑한 파란색 박스로 제작된다. 이에따라 openCV는 실시간 영상에서 색을 통해 장애물을 분리하고 멈추거나 이동하는 장애물을 지게차의 이동을 통해 그 크기가 확대되거나 축소되는 상황 속에서 잠재적 위험성과 경고의 수위를 결정하게 된다.

약 3주가 남은 상황에서 구동만큼은 완벽한 졸작을 만들어 내고 이후의 시간을 리액트와 인터페이스 그리고 아주 간단한 백엔드를 위해 사용할 계획이다!

profile
누군가 만든 좋은 제품을 사용하면서 자랐습니다. 좋은 제품을 만드는 창작자를 언제나 응원합니다.

0개의 댓글