스콜라/드론 매뉴얼 편집하기

통진고위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
''본 문서는 융합탐구동아리 [[스콜라]] 부원들을 위한 드론에 관한 전반적인 매뉴얼입니다. 스콜라 1기 멤버 [[안중원]]이 처음 작성했으며, 이후 추가 및 개선할 내용이 있다면 통진고 재학생 여러분이 지속적으로 반영해주시기 바랍니다.''
''본 문서는 융합탐구동아리 [[스콜라]] 부원들을 위한 드론에 관한 전반적인 매뉴얼입니다. 스콜라 1기 멤버 [[안중원]]이 처음 작성했으며, 이후 추가 및 개선할 내용이 있다면 통진고 재학생 여러분이 지속적으로 반영해주시기 바랍니다.''
스콜라 부원이 이 매뉴얼을 사용하고 있다면 소식을 들려주세요...
2020학년도에는 1학년들이 드론을 한번도 적하지 못한 상황에서 당시 2학년들의 설명에만 의존해서 활동을 조금만 할 수 있었지만 2021학년도에는 보다 구체화된 이 메뉴얼을 통하여 문제가 생겨도 잘 해결할 수 있을 듯하다.(by 스콜라 부원)


==개요==
==개요==
46번째 줄: 42번째 줄:
#Tello.js 파일이 저장된 폴더(일반적으로 압축해제된 폴더)를 열고 shift 키를 누른 채로 마우스 오른쪽 버튼을 누른다.
#Tello.js 파일이 저장된 폴더(일반적으로 압축해제된 폴더)를 열고 shift 키를 누른 채로 마우스 오른쪽 버튼을 누른다.
#메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 누르면 콘솔 창이 뜬다.
#메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 누르면 콘솔 창이 뜬다.
#콘솔에서 다음 명령어를 입력하고 엔터를 누르면 Tello 확장기능 서버가 실행된다.<syntaxhighlight lang="bat">
#콘솔에서 다음 명령어를 입력하고 엔터를 누르면 Tello 확장기능 서버가 실행된다.<syntaxhighlight line="1">
node Tello.js
node Tello.js
</syntaxhighlight>
</syntaxhighlight>
228번째 줄: 224번째 줄:


#Multi-Tello-Formation 폴더에서 Shift를 누른 채 마우스 오른쪽 버튼을 눌러서 나온 메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 눌러 콘솔창을 실행한다.
#Multi-Tello-Formation 폴더에서 Shift를 누른 채 마우스 오른쪽 버튼을 눌러서 나온 메뉴에서 "여기서 명령 창 열기" 또는 "여기서 PowerShell 창 열기"를 눌러 콘솔창을 실행한다.
#다음 명령어로 pip와 netifaces, netaddr 패키지를 설치한다.<syntaxhighlight lang="bat">
#다음 명령어로 pip와 netifaces, netaddr 패키지를 설치한다.<syntaxhighlight line="1">
C:\Python27\python get-pip.py
C:\Python27\python get-pip.py
C:\Python27\python -m pip install netifaces netaddr
C:\Python27\python -m pip install netifaces netaddr
236번째 줄: 232번째 줄:
다음 순서에 따라 드론을 군집비행에 맞게 준비한다. Multi-Tello-Formation 폴더에 콘솔은 미리 켜 놓는다.
다음 순서에 따라 드론을 군집비행에 맞게 준비한다. Multi-Tello-Formation 폴더에 콘솔은 미리 켜 놓는다.


#Multi-Tello-Formation 폴더의 formation_setup.py의 26번째 줄을 다음과 같이 수정한다. 이때 와이파이의 이름(SSID)과 비밀번호에는 공백문자(' ')나 언더바('_')가 있으면 안 된다. 과학실 및 학교 와이파이 이름에는 대부분 언더바가 들어가므로, 스마트폰 핫스팟을 켜고 핫스팟의 이름과 비밀번호를 입력하는 것이 좋다. 핫스팟은 군집 비행을 준비하고 실행하는 동안 계속 켜놓는다.<syntaxhighlight lang="python2" line="1" start="26">
#Multi-Tello-Formation 폴더의 formation_setup.py의 26번째 줄을 다음과 같이 수정한다. 이때 와이파이의 이름(SSID)과 비밀번호에는 공백문자(' ')나 언더바('_')가 있으면 안 된다. 과학실 및 학교 와이파이 이름에는 대부분 언더바가 들어가므로, 스마트폰 핫스팟을 켜고 핫스팟의 이름과 비밀번호를 입력하는 것이 좋다. 핫스팟은 군집 비행을 준비하고 실행하는 동안 계속 켜놓는다.<syntaxhighlight lang="python" line="1" start="26">
set_ap('Wifi이름', 'Wifi비밀번호')
set_ap('Wifi이름', 'Wifi비밀번호')
</syntaxhighlight>
</syntaxhighlight>
#노트북 와이파이를 코딩하려는 드론에 연결한다.
#노트북 와이파이를 코딩하려는 드론에 연결한다.
##전원 버튼을 눌러 드론을 켠다. 드론이 무지개빛으로 반짝이다가 노란불이 빠르게 깜빡이는 상태가 되면 와이파이를 연결할 수 있다.
##전원 버튼을 눌러 드론을 켠다. 드론이 무지개빛으로 반짝이다가 노란불이 빠르게 깜빡이는 상태가 되면 와이파이를 연결할 수 있다.
##노트북 와이파이를 드론에 연결한다. 와이파이 이름은 드론의 배터리 넣는 칸 안에 적혀있다. 현재 과학실의 Tello EDU 드론은 와이파이 이름(SSID)과 시리얼 ID가 라벨링되어있지 않은데, 라벨링하여 사용하길 추천한다.
##노트북 와이파이를 드론에 연결한다. 와이파이 이름은 드론의 배터리 넣는 칸 안에 적혀있다. 현재 과학실의 Tello EDU 드론은 와이파이 이름(SSID)과 시리얼 ID가 라벨링되어있지 않은데, 라벨링하여 사용하길 추천한다.
#다음 명령어를 통해 formation_setup.py를 실행한다.<syntaxhighlight lang="bat">
#다음 명령어를 통해 formation_setup.py를 실행한다.<syntaxhighlight>
C:\Python27\python formation_setup.py
C:\Python27\python formation_setup.py
</syntaxhighlight>성공적으로 실행됐다면 콘솔에 다음 메시지가 뜬다. 동시에 드론 3초 뒤 재부팅돼서 처음 켤 때처럼 노란불이 깜빡이는 상태가 된다.<syntaxhighlight lang="text">
</syntaxhighlight>성공적으로 실행됐다면 콘솔에 다음 메시지가 뜬다. 동시에 드론 3초 뒤 재부팅돼서 처음 켤 때처럼 노란불이 깜빡이는 상태가 된다.<syntaxhighlight>
sending command command
sending command command
from ('192.168.10.1', 8889): ok
from ('192.168.10.1', 8889): ok
252번째 줄: 249번째 줄:
#2~3번 과정을 모든 군집비행 드론에 대해 반복한다.
#2~3번 과정을 모든 군집비행 드론에 대해 반복한다.
#드론들을 연결시킨 와이파이(또는 스마트폰 핫스팟)에 노트북도 연결한다.
#드론들을 연결시킨 와이파이(또는 스마트폰 핫스팟)에 노트북도 연결한다.
#ip.txt의 내용을 다음과 같이 변경한다.<syntaxhighlight lang="text">
#ip.txt의 내용을 다음과 같이 변경한다.<syntaxhighlight>
scan [드론 개수]
scan [드론 개수]
</syntaxhighlight>
</syntaxhighlight>
#다음 명령어로 준비한 드론이 모두 연결되었는지 확인한다.<syntaxhighlight lang="bat">
#다음 명령어로 준비한 드론이 모두 연결되었는지 확인한다.<syntaxhighlight>
C:\Python27\python multi_tello_test.py ip.txt
C:\Python27\python multi_tello_test.py ip.txt
</syntaxhighlight>
</syntaxhighlight>


===실행===
===실행===
메모장으로 코딩을 완료한 뒤 Multi-Tello-Formation 폴더에 저장했다면 다음 명령어로 군집비행을 실행할 수 있다.<syntaxhighlight lang="bat">
메모장으로 코딩을 완료한 뒤 Multi-Tello-Formation 폴더에 저장했다면 다음 명령어로 군집비행을 실행할 수 있다.<syntaxhighlight>
C:\Python27\python multi_tello_test.py [코드파일이름]
C:\Python27\python multi_tello_test.py [코드파일이름]
</syntaxhighlight>
</syntaxhighlight>
321번째 줄: 318번째 줄:
|-
|-
|<code>[N]>Re [명령어]</code>
|<code>[N]>Re [명령어]</code>
|<code>[N]>[명령어]</code>와 동작은 같지만 패킷 손실을 방지하기 위한 내부 처리가 추가로 이루어진다.
|<code>[N]>[명령어]</code>와 동작은 같지만 패킷 손실을 위한 내부 처리가 추가로 이루어진다.
|<code>2>cw 180</code>
|<code>2>cw 180</code>
|-
|-
335번째 줄: 332번째 줄:


==Tello SDK==
==Tello SDK==
본 문단의 SDK 명령어 목록은 [https://www.ryzerobotics.com/kr/tello-edu/downloads Tello EDU 다운로드] 페이지의 '''SDK 2.0 User Guide'''를 참고했다. 아래의 일부 명령어는 Tello 드론에는 실행할 수 없다.
Tello 드론에 보낼 수 있는 SDK 명령어 목록은 다음과 같다:
{| class="wikitable mw-collapsible mw-collapsed"
{| class="wikitable mw-collapsible mw-collapsed"
!SDK 명령어
!SDK 명령어
361번째 줄: 358번째 줄:
|-
|-
|up/down/left/right/forward/backward [x]
|up/down/left/right/forward/backward [x]
|상/하/좌/우/앞/뒤로 [x]cm만큼 이동.
|상/하/좌/우/앞/뒤로 [x]cm만큼 이동.  
|20 ≤ [x] ≤ 100
|20 ≤ [x] ≤ 100
|-
|-
456번째 줄: 453번째 줄:
|
|
|}
|}
==Tello 와이파이 초기화==
드론의 전원을 켠 뒤, 전원 버튼을 5초간 누른다. 지시등이 꺼졌다가 다시 켜져 노란불이 깜빡이면 초기화된 것이다. 이때 드론의 와이파이와 비밀번호가 초기화되는 것은 물론, 군집비행이나 ap 명령어로 설정한 핫스팟 연결도 해제된다.
==Tello 지시등==
Tello 지시등의 색깔은 Tello의 다양한 상태를 나타낸다.
*알록달록하게 깜빡임: 전원을 켜고 자가진단 실행 중.
*녹색으로 두번씩 깜빡임: [[스콜라/드론 매뉴얼#VPS|VPS]] 작동중.
*노란색으로 천천히 깜빡임: VPS 사용 불가.
*노란색으로 빨리 깜빡임: 와이파이 연결 신호 끊어짐.
*빨간색으로 천천히 깜빡임: 배터리 부족.
*빨간색으로 빨리 깜빡임: 배터리 매우 부족.
*일정한 빨간색: 심각한 오류.
==VPS==
Vision Positioning System의 약자로, 카메라에 찍힌 영상을 통해 기체의 위치를 조정하는 모드이다. VPS 모드가 비활성화되는 조건 추가예정.

통진고위키에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은 통진고위키:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)