Contents

조회 수 8398 댓글 43
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

# DJI Tello

tello.jpg



# 프로그래밍 가능한 드론


최근 프로그래밍 교육 열풍이 시작되면서 사용자 레벨에서 직접 프로그래밍을 통해 제어할 수 있는 드론(Drone)들이 이미 판매되고 있다. 말이 거창해 코딩에 프로그래밍이지.. 사실 드론에서 제공하는 외부 API(명령)을 리모컨 대신 호출하는 것이 전부이다.

그 중 유명했던 것(과거형)이 한국 회사에서 만든 코드론(CoDrone)인데 최근에 드론계의 애플이라 불리는 DJI에서도 프로그래밍이 가능한 Ryzerobotics Tello Drone을 새로 출시했다.

(코드론은 아두이노 기반으로 제작된 키트를 직접 조립해서 만들어야 하고 Tello는 예쁜 완성품으로 바로 사용할 수 있는데 왜 코드론이 더 비싸지? ㅠㅠ 코드론 Lite $120 / Pro $180 vs. 텔로 $99)


# CoDrone vs. Tello

codronetello.jpg


어쨌든..

이런 종류의 드론을 제어하기 위한 프로그래밍 언어와 환경은 다양하다.

심지어 프로그래밍에 익숙하지 않은 아이들이나 초급자라도 간편하게 시작할 수 있다.

예를 들어, 초급자의 경우 드론블럭(Droneblocks), 스크래치(Scratch) 2.0 등의 GUI 툴을 이용하여 미리 정해진 명령 블럭들을 조립해서 실행하면 된다.


# DronBlocks application for iOS

droneblocks.jpg


# Scratch 2.0

scratch.jpg



조금 더 고급진(?) 방법은 현업에서 실제로 사용하는 프로그래밍 언어로 구현하는 것이다. 드론이 제공하는 네트워크에 접속하고 명령어 스펙을 구현하는 것이다.


다른 드론도 비슷하겠지만 Tello의 경우,

Tello가 제공하는 WiFi 네트워크에 접속해서 소켓을 열고 UDP 패킷에 명령어를 전송하는 방식이다.


howto.jpg



# Demo Video that I made to control using python.

직접 명령을 입력해서 Tello에게 전달하는 데모 프로그램



우선 Wi-Fi를 지원하는 디바이스가 필요하다.

그리고 UDP 소켓 통신이 가능한 프로그래밍 언어라면 모두 가능하다.

중요한 것은 Tello Drone의 명령어셋이다.


명령어셋은 Tello SDK 문서에 명세되어 있고 RYZE 홈페이지에서 다운로드 할 수 있다.

https://www.ryzerobotics.com/tello/downloads


Command

Description

Possible Response

 command

 Enter command mode

 OK / FALSE

 takeoff

 Auto takeoff

 OK / FALSE

 land

 Auto landing

 OK / FALSE

 up xx

 Fly upward xx cm (20-500)

 OK / FALSE

 down xx

 Fly downward xx cm (20-500)

 OK / FALSE

 left xx

 Fly left xx cm (20-500)

 OK / FALSE

 right xx

 Fly right xx cm (20-500)

 OK / FALSE

 forward xx

 Fly forward xx cm (20-500)

 OK / FALSE

 back xx

 Fly backward xx cm (20-500)

 OK / FALSE

 cw xx

 Rotate clockwise xx degree (1-3600)

 OK / FALSE

 ccw xx

 Rotate counter-clockwise xx degree (1-3600)

 OK / FALSE

 flip x

 Flip x (l, r, f, b, bl, rb, fl, fr)

 OK / FALSE

 speed xx

 Set current speed as xx cm/s (1-100)

 OK / FALSE

 speed?

 Get current speed

 xx (0-100)

 battery?

 Get current battery percentage

 xx (0-100)

 time?

 Get current flight time

 xx (second)



첨부된 예제는 Python 언어로(2.7) 작성된 것이다.



# Sample - drone_auto.py

해당 명령어들이 실행되면서 자동으로 비행한다.

import time
import tello

def main():
	drone = None

	try:
		drone = tello.Tello()
		print 'Battery : %d%%' % drone.battery()	
	except RuntimeError:
		print 'Failed to initialize the drone.\n'
		print 'Please, check your Wi-Fi SSID.\n'
		return

	drone.takeoff()
	time.sleep(3)

	drone.forward(50)
	time.sleep(3)

	drone.cw(90)
	time.sleep(3)
drone.flip('f') time.sleep(3) drone.land() time.sleep(3)

print 'Battery : %d%%' % drone.battery() print 'Flight time: %s' % drone.flight_time() if __name__ == '__main__': main()



?
  • ?
    몽쉘 2018.08.07 18:01
    후니님 화이팅! 가즈아~ lfd.uci.edu/~gohlke/pythonlibs/#opencv
  • profile
    hooni 2018.12.27 19:36
    감사합니다^_____^;
  • ?
    오이지 2018.11.19 01:05
    자료 잘 보았습니다! 자료가 급히 필요해서 가입을 했는데 로그인이 안되네요.. 혹시 자료 다운받을 수 있는 다른 방법이 있을까요?
  • profile
    hooni 2018.12.27 19:36
    메일로 보내드립니다.
  • ?
    휴리스틱 2018.12.27 11:48
    텔로 파이썬 코딩에 관심이 있어서 웹 검색으로 가입하게 되었습니다. 가입처리가 완료가 안되었는지 다운로드가 안되네요.
  • profile
    hooni 2018.12.27 19:37
    회원 가입과 무관하게 모두 열람하실 수 있습니다.
    다운로드를 원하시면 메일 주소 남겨주시면 보내드립니다.
  • ?
    휴리스틱 2019.01.02 04:20
    1.텔로가 와이파이로만 연결이 가능한가요?<br>웹검색으로 찾아봤는데 충전단자인 micro 5p 단자로 파이썬 코드 (이미지) 다운로드하는 내용을 찾기 어렵네요. ㅠㅠ;<br>(현재 노트북이 없이 데스크탑으로만 개발하려니 와이파이 동글이 필요할 것 같네요.)<br>(안드로이드 상에서 드론 블럭스 앱과 텔로 앱으로 연결 조종은 해 보았습니다.)<br><br>Ryze 직원도 아닌데 귀찮은 질문 죄송합니다. ^^;<br><br>superusr2003@지메일 (휴리스틱) 입니다.<br>첨부파일 메일 부탁 드립니다.<br>감사합니다
  • profile
    hooni 2019.01.09 04:42
    안드로이드, iOS 앱들도 결국 텔로와 wifi로 연결된 상태에서 통신을 하는 것입니다.
    클라이언트가 무슨 플랫폼이든 상관 없이 저 규격으로 패킷을 보내면 동작합니다.
  • ?
    ceci4 2019.01.14 15:55 SECRET

    "비밀글입니다."

  • ?
    wins 2019.02.11 12:11
    드론 프로그램을 공부 중입니다. 자료 부탁 드립니다.
    감사합니다.
  • ?
    테무진 2019.02.18 13:44 SECRET

    "비밀글입니다."

  • ?
    ㅇㅅㅅ 2019.02.20 19:22
    안녕하세요 tello 드론에 대한 정보가 많이 부족한데 이런 자료 보여주셔서 감사합니다.
    저는 Tello 드론을 활용한 졸업작품을하는 대학생입니다.
    자료 보내주시면 제 졸업작품에 너무도 큰 도움이 될 것 같습니다.
    혹시 제가 자료를 메일로 받을 수 있을까요?
  • ?
    문갓 2019.02.27 09:36

    안녕하세요!! 드론 코딩에 대한 자료들을 찾다가 후니님의 자료를 보았습니다. 너무 유익한 자료라 공부하는데에굉장한 도움이 될거 같습니다. 번거롭게 해드려 죄송합니다. 혹시 자료를 메일로 받아볼 수 있을까요!? 제 메일은 h5435sh@gmail닷컴 입니다!
    감사합니다!!

  • ?
    월세계 2019.03.06 13:14
    안녕하세요. 텔로를 파이썬을 사용하여 코딩해보고 싶은데 제가 모르는게 너무 많네요. ㅠㅠ
    자료 보내주시면 정말 감사드리겠습니다. chnexpert@지메일닷컴 입니다. 감사합니다.
  • ?
    수원화성 2019.03.26 22:38
    제가 파이썬 공부중인데 앞으로 드론이 어떻게 동작하는지 알고 싶은데 파일 좀 보내주실수있나요?
    제 이메일은 tnr8284148@naver입니다
  • ?
    성악 2019.04.22 13:24 SECRET

    "비밀글입니다."

  • ?
    성오 2019.04.25 12:24
    텔로 에듀 초등학생들에게 가르치고 있는 교사입니다.
    에듀 앱으로는 명령어까지는 했는데... 이제 학생들에게 군집비행 시범을 보여줄려고 하다가 글을 발견하게 되었습니다.
    홈피에 영어로 되어있어. 대략 살펴보니 와이파이로 드론 여러대 연결하고 파이썬 프로그램 깔아서.
    예제 파일 실해하면 되지 않을가 싶습니다.
    sungo55@naver
    이 메일로 부탁드립니다. 실례가 되지 않는다면 연락처 메일에 남겨주시면 제가 잘 모르는 사항은
    연락드려도 가능할까요.
  • ?
    작은믿음 2019.05.10 09:32
    인터넷 검색하다 여기까지 왔습니다. 저는 고등학교 교사로 텔로에듀를 구입했고, 학생들에게 가르치려고 준비중입니다. 선생님과 연락하고 싶습니다. 제 메일은 ryu0314@naver입니다.
  • ?
    볶음밥 2019.04.26 16:39 SECRET

    "비밀글입니다."

  • ?
    JOY 2019.05.13 06:04 SECRET

    "비밀글입니다."

  • ?
    Dahri 2019.05.16 13:44 SECRET

    "비밀글입니다."

  • ?
    김선봉 2019.05.23 12:57 SECRET

    "비밀글입니다."

  • ?
    Boxster 2019.05.24 01:02
    안녕하세요. 텔로를 파이썬을 사용하여 코딩해보고 싶습니다.
    자료 보내주시면 많은 도움이 될 것 같습니다. saba9543@naver 입니다.
    감사합니다.
  • ?
    중2맘 2019.05.27 08:55 SECRET

    "비밀글입니다."

  • ?
    파란아빠 2019.06.05 09:55
    안녕하세요~ 저는 유정훈이라고 합니다. 좋은 자료 공유해 주셔서 감사합니다. 회원가입을 했는데 로그인이 아직 안되네요. 이메일로 첨부자료를 보내주시면 정말 감사하겠습니다. 수고하세요~!!!
  • ?
    박티 2019.06.11 12:14 SECRET

    "비밀글입니다."

  • ?
    윈스 2019.06.13 01:52 SECRET

    "비밀글입니다."

  • ?
    스마일 2019.06.22 16:28
    파이썬에서 텔로 날려보고 싶습니다
    자료 부탁드립니다 ^^
    감사합니다
  • ?
    fly 2019.06.28 16:04
    python 자료부탁드립니다.
  • ?
    sam 2019.06.29 06:15 SECRET

    "비밀글입니다."

  • ?
    주만지 2019.07.03 12:13
    파이써자료 부탁드립니다. 아이들과 파이썬으로 텔로 컨트롤 하려합니다.
  • ?
    드론사랑 2019.07.03 14:17
    파이썬으로 드론을 비행하고 있는 중인데요,
    현재 데모 cmd로 기존 명령어를 입력하면 단순명령은 동작은 잘 됩니다.
    그런데 조건문을 줘서 (만약 v를 입력하면, forward 50 후 back 30) 이러한 명령을
    실행시키려고 하는데 명령어 입력하는 법을 잘 모르겠네요 ㅠ
  • ?
    드론사랑 2019.07.03 14:19 SECRET

    "비밀글입니다."

  • ?
    파이쏜 2019.07.10 11:13 SECRET

    "비밀글입니다."

  • ?
    보통인 2019.07.17 08:00
    저도 파이썬으로 텔로를 작동하고자 합니다. 귀한 자료 부탁드려도 되나요...
    mansword@naver
    감사합니다.
  • ?
    초이 2019.07.21 13:13
    안녕하세요.
    텔로 파이썬 자료를 메일로 보내 주실 수 있는지요~..
    메일 주소는 bjchoi0239@지메일입니다..
    부탁 좀 드리겠습니다
  • ?
    참쉐 2019.07.23 11:11 SECRET

    "비밀글입니다."

  • ?
    2019.08.14 21:59
    텔로 에듀를 파이썬을 이용해 코딩을 해보고 싶어요ㅠㅠ 자료보내주시면 감사하겠습니다.
    kim46825@naver
  • ?
    리틀트리 2019.08.15 18:00
    안녕하세요!!! 좋은 정보 감사합니다. 혹시 군집비행 관련해서는 글쓰신 건 없으신가요??? 지금 축제 준비로 인해 군집 비행에 도전해 보려고 하는데,,, 잘 되지 않아서 도움을 구하려고 합니다.
  • ?
    키쌤 2019.08.19 23:26 SECRET

    "비밀글입니다."

  • ?
    나이스맘 2019.09.02 18:21 SECRET

    "비밀글입니다."

  • ?
    김인호 2019.09.06 11:00 SECRET

    "비밀글입니다."

  • ?
    드론배우기 2019.09.25 12:59 SECRET

    "비밀글입니다."


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1117 Develop [api] 인스타그램 API Access_Token 발급 방법 (Instagram API) 2 file hooni 2018.04.05 4077
1116 Develop [api] 인스타그램에서 최신 이미지 가져오기 (Using Instagram API) 20 file hooni 2018.04.05 6692
1115 Develop [js] Click button copy to clipboard hooni 2018.04.05 373
1114 Develop [php] Laravel 4. twitter bootstrap 적용하기 hooni 2018.04.05 495
1113 System/OS How to Setup an Email Server on CentOS 7 hooni 2018.04.05 474
1112 Develop How to Test SMTP AUTH using Telnet hooni 2018.04.05 282
» Develop [python] DJI Tello 드론 코딩 (프로그래밍) 43 file hooni 2018.03.04 8398
1110 System/OS [mac] 맥에서 기본 실행 앱 변경하기 file hooni 2018.03.02 321
1109 System/OS 콘솔에서 패스워드 걸린 zip 압축하는 명령 hooni 2018.03.02 222
1108 Develop What is difference between Get, Post, Put and Delete? hooni 2018.02.28 216
1107 Develop [php] Laravel Route에서 PC/Mobile 분기 hooni 2018.01.24 526
1106 Develop Laravel 5 Failed opening required bootstrap/../vendor/autoload.php hooni 2018.01.24 254
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 95 Next
/ 95