이 페이지의 내용은 이전 릴리스에 관한 것입니다. 해당 영문 페이지는 최신 릴리스에서 제거되었습니다.
MATLAB® Support Package for Ryze® Tello Drones를 사용하여 녹색 공 추적
이 예제에서는 MATLAB® Support Package for Ryze® Tello Drones를 사용하여 녹색 공을 추적하는 방법을 보여 줍니다.
소개
MATLAB® Support Package for Ryze® Tello Drones를 사용하면 Ryze 드론에서 이미지를 캡처하고 바로 MATLAB으로 가져와 처리할 수 있습니다.
필요한 하드웨어
이 예제를 실행하려면 다음이 필요합니다.
완전히 충전된 Ryze 드론
WiFi 연결이 있는 컴퓨터
작업 1 — 하드웨어 설정
Ryze 드론을 켭니다.
컴퓨터를 드론의 WiFi 네트워크에 연결합니다.
작업 2 — ryze 객체 만들기
ryze 객체를 만듭니다.
ryzeObj = ryze();
작업 3 — 드론의 카메라에 연결
Ryze Tello 드론의 FPV 카메라에 연결합니다.
cameraObj = camera(ryzeObj);
작업 4 — 드론 이륙
수평면에서 Ryze 드론을 이륙시킵니다.
MATLAB 명령 프롬프트에서 다음 명령을 실행하여 드론을 이륙시킵니다.
takeoff(ryzeObj);
작업 5 — 공 추적
드론에서 캡처한 이미지에 대해 루프에서 trackBall 함수를 호출합니다. trackBall 함수에는 다음과 같은 입력이 허용됩니다.
Ryze Tello 드론에 대한 연결
드론의 FPV 카메라에서 캡처한 이미지
녹색으로 처리할 픽셀의 녹색 성분 농도에 대한 최솟값. 비행 환경을 기반으로 이 값을 조정합니다.
이미지 가운데로부터 드론의 최소 오프셋. 오프셋이 이 값을 초과하면 드론 위치를 조정해야 합니다.
드론이 60초 동안 공을 추적합니다.
tim = tic; duration = 60; minGreenIntensity = 40; minOffset = 30; while(toc(tim) < duration) img = snapshot(cameraObj); trackBall(ryzeObj, img, minGreenIntensity, minOffset); pause(0.1); end

녹색 공이 범위를 벗어났습니다. 드론을 이동하여 공이 경계를 넘어가지 않도록 합니다.

이제 녹색 공이 경계 안에 있습니다.
작업 6 — 드론 착륙
드론을 착륙시킵니다.
land(ryzeObj);
작업 7 — 마무리
작업이 끝났으면 Ryze 드론에 대한 연결을 끊습니다.
clear ryzeObj;
trackBall 알고리즘
trackBall 알고리즘은 다음과 같은 경우에 사용됩니다.
FPV 카메라 이미지에서 RGB 색 성분 추출
이미지에서 녹색 픽셀의 인덱스 찾기
캡처된 이미지에서 녹색 공의 가운데 찾기
이미지의 가운데에서 녹색 공의 변위 찾기
공이 이미지 가운데에 오도록 드론을 이동할 방향 결정
trackBall 함수에 대한 자세한 내용을 알아보려면 TrackGreenBallExample을 열고 MATLAB 명령줄에서 다음 명령을 실행합니다.
open('trackBall.m')