본문 바로가기

카테고리 없음

Matlab Mini drone Competition 2021

Our Rise to the Moon Team has won 6th in Matlab Mini Drone Competition 2021

Goal is to make the Line Following Algorithm using Parrot Mambo simulink program

 

https://kr.mathworks.com/academia/student-competitions/minidrones/emea.html

 

MathWorks Minidrone Competition – EMEA 2021

MathWorks Minidrone Competition MathWorks Minidrone Competition – EMEA 2021

kr.mathworks.com

 

아래 그림과 같이 길을 따라서 드론이 비행을 합니다. 코너에서 회전을 해야하며 빨강 원에 착륙하는것이 목표 입니다.

 

Drone Scene in Simulation

 

Image Detection Algorithm 

이미지는 아래 그림과 같이 downfacing 카메라에서 찍은 이미지에서 윗부분의 파랑 부분을 측정하여 어떤 방향으로 회전을 해야하는지를 감지 합니다. 

아래 그림과 같이 탐지 부분에서의 왼쪽과 오른쪽의 영역을 탐지하여, dominant 한 부분의 방향으로 회전을 하여 드론의 heading 과 라인을 맞춥니다

아래는 이동 예시 입니다.

 

heading 을 회전하는 input 이 들어오면 yaw 값을 0.001씩 더하거나 빼서 heading을 조절 합니다.

또한 직진할때는 current yaw 값을 사용하고, step_size = 0.1로 설정하여 알고리즘이 한번 돌아갈때 마다 0.1m 씩 이동 합니다.

 

 

Testing

아래는 저희가 만든 맵 입니다. 길이는 2m 로 설정 하였고 각도를 다양하게 하여 실험을 하였습니다.

아래는 저희의 실험 결과 입니다. 각도가 30도 부터 330도 까지 드론이 목표지점에 도달하는것을 알 수 있습니다.

Landing Detection

아래와 같이 라인이 끝나면 downfacing 카메라를 사용하여 인식하고 목표지점에 도달 하여야 합니다.

이걸 가능하게 하기 위해서 아래 그림과 같이 outer line 을 검출합니다.

라인이 연속된다면 outerline 과 라인이 2가지 지점에서 만나게 딥니다. 만약 한곳만 만나게 된다면 라인이 끝난지점 즉 landing 을 해야하는 지점 입니다.

landing 을 하게 되면 z 값을 0.01씩 더하여 천천히 착륙하게 됩니다.

BenchMark

저희 알고리즘의 benchmark 입니다. image process 가 조금더 무겁고 path planning 알고리즘이 더 가볍습니다. 드론에 이미지 알고리즘은 30Hz 정도로 돌아가고, path planning 알고리즘은 100Hz 로 돌아갑니다. 따라서 image process 과정이 더 가벼운것이 적합합니다.

추후 제어 알고리즘과 라인이 측정이 안되더라도 다시 돌아오는 알고리즘을 개발하여 적용할 예정 입니다.

 

code:

https://github.com/rladntjd/Matlab_parrot_mambo.git