개요
총 4개의 웨이포인트를 거쳐 무인 비행을 수행하는 프로젝트이다.
이 프로젝트에서는 특히 WP2와 WP3를 지나가는 과정에서 필요한 물체 인식에 목표를 두고 있다.
목표
WP1에서 하강한 이후, 직선 거리에 있는 두 개의 그림 위 포인트를 지나야 한다.
이를 위해 필요한 핵심 조건은 다음과 같다.
- 물체를 실시간으로 인식할 수 있어야 한다.
- 인식 과정을 조종자 화면에서 실시간으로 확인할 수 있어야 한다.
과제
- 온디바이스 실시간 물체 인식
- 조종자 화면에서의 실시간 확인
세부 과제
1. 온디바이스 실시간 물체 인식
Docker + Ubuntu를 통해 서버에 프로그램 올리기Docker + Ubuntu환경에서 프로젝트 초기 진행
2. 조종자 화면에서의 실시간 확인
- 영상을 어떻게 송신받을 것인가?
- 비행 기기에 인터넷을 어떻게 연결할 것인가?
기술 선정 및 문제 해결 방향
문제 1. 온디바이스 실시간 물체 인식
현재 고려 사항
Docker + Ubuntu를 통해 서버에 프로그램 올리기Docker + Ubuntu환경에서 프로젝트 초기 진행
환경 구성
Jetson Nano는 작은 PC처럼 생각하면 된다. 세부 설정은 이 장치 내부에서 진행하게 된다.
물론 장치를 직접 연결한 상태에서 매번 수정하고 테스트할 수도 있다. 다만, 항상 동일한 환경을 가정하고 설정하려면 컨테이너 위에 OS를 올려 진행하는 방식이 가장 확실하다.
** 도커 관련 문제는 현 1순위 문제 아님 **
영상 데이터 테스트
현재는 Jetson Nano가 없는 상태에서도 개발을 진행해야 한다.
그러기 위해서는 연결된 영상 장치가 Ubuntu 환경에서 정상적으로 인식되는지 먼저 확인해야 한다.
(다만 예전 개발에서는 이 과정이 쉽지 않았던 경험이 있다.)
확인할 항목:
- 과제 1:
Ubuntu내에서 영상 장치 인식이 가능한가?
가능성 메모:
A1.OpenCV로는 가능하다는 이야기가 있음A2.Jetson Nano에 기본 카메라가 없다면 별도 캠을 구매해야 할 수 있음A3.그 경우IP Camera활용 가능성도 있음
예상 개발 환경
WindowsWSL2Ubuntuuv(가상환경 + 버전 관리)
메모:
Docker는 방향이 확정되면 나중에 한 번에 정리하는 편이 나을 수 있음
마일스톤
Ubuntu환경에서 장치가 인식되는가- 캡처가 되는가
- 실시간 모니터링이 가능한가
YOLO모델을 임의 적용해 물체 인식이 가능한가- --- 여기까지 1단계 ---
- 대회 측에서 제공한 탱크/자동차 예시 이미지를 확보
- 유사 이미지 수집 및
augment진행 train / valid / test셋 분리 후 훈련YOLO모델 커스텀 학습- 이미지 파일 기준으로 검증 성능 평가
- 종이 출력물 기준 실시간 카메라 성능 검증
- 운전 기능까지 통합
문제 2. 조종자 화면에서의 실시간 확인
핵심 질문
- 영상을 어떻게 송신받을 것인가?
- 비행 기기에 인터넷을 어떻게 가능하게 할 것인가?
현재 판단
영상 데이터를 이미지 형태로 전송받으려면, 동일한 인터넷망이 아닌 경우 보안 문제 때문에 지연 없는 실시간 데이터 통신이 쉽지 않다.
예를 들어 다음 같은 추가 구성이 필요할 수 있다.
STUN / TURN서버WebRTCRTSP
하지만 이렇게 가면 시스템이 과도하게 복잡해질 가능성이 있다.
추가 제약:
- 랜선을 꽂고 비행기를 유선으로 날릴 수는 없다.
- 모바일 핫스팟 기반 구성은 거리가 멀어지면 연결이 끊길 수 있다.
환경 구성 아이디어
동일망 구성을 위해 아래 조합을 고려해볼 수 있다.
4G LTE 유심 라우터알뜰폰 유심Tailscale
구상은 다음과 같다.
- 유심 라우터를 통해 셀룰러 데이터 사용 가능하게 구성
Tailscale을 통해 복잡한 서버 구축 없이 사실상 동일망처럼 연결- 그 결과,
HTTP만으로도 영상 데이터 통신이 가능하도록 단순화
추가로 정리할 그림/구성도
아래 항목은 텍스트보다 다이어그램으로 정리 예정
- 드론에
Jetson Nano+ 카메라 부착 - 카메라에서
Jetson Nano로 영상을 어떻게 보낼지 - 카메라 또는
Jetson Nano에서 모니터링 PC로 영상을 어떻게 보낼지
다음에 더 정리하면 좋은 것
WP2,WP3의 실제 요구 동작 정의- 카메라 입력 방식 후보 비교 (
USB 캠,CSI 카메라,IP Camera) - 영상 전송 방식 후보 비교 (
HTTP,RTSP,WebRTC) Jetson Nano에서 가능한 추론 성능 범위- 최종 현장 네트워크 구성도