【Tello】 토이 드론으로 놀아 보았다 ♪

16316 단어 Scratch텔로Node.js
어쨌든 최근 여러 장면에서 다루는 드론. . Tello라면 프로그래밍 할 수 있을 것이라고 하는 것으로, 해 보았다.

일단 목표



①어쨌든 비행
② GamePad로 날아간다
③PC로 날린다
④Python으로 비행
⑤ 이미지 입력
⑥물체 검출 탑재
⑦ 추적하기
⑧물체를 찾아서 찾기
⑨...

이번에 한 일



①어쨌든 비행
② GamePad로 날아간다
③PC로 날린다

①어쨌든 비행



이 설명서가 있지만 우완에는 보이지 않는 레벨. . .
즉, 인터넷에서 봐라는 것 같다.
스마트 폰 (안드로이드)도 Google Play에서 Tello로 검색하여 안전한 앱을 설치하고 뛰었습니다.
매우 안정적이고 좁은 방에서도 컨트롤 할 수있었습니다.

② GamePad로 날아간다



이것 안드로이드 때문에 굉장히 고생했습니다.
그래도 정말. . .
구구라고 해도 아무래도 미대응의 이야기가 많다. . 날아간다는 것은 한 건 밖에 보이지 않는다.
그러나 아마존의 평가 사이트에 유력한 정보 「위치 정보를 온으로 하면 할 수 있게 된다」
이것이 정답이었습니다.
절차는 다음과 같습니다.
⓪ 스마트폰 위치정보 온, WiFi 온, Bluetooth 온
①Tello의 앱을 시작
② 본체 전원 켜고 Wifi로 연결 (Tello 앱이 연결을 표시)
③GamePad 온
④Tello 앱의 「설정→Bluetooth의..
※여기서 중요한 것은 사전에 위치 정보 온과 GamePad는 Tello로부터 접속한다고 하는 것

그러나 카메라 이미지 전송이 느려서 VR 모드를 사용할 수 없었습니다. . 불행

③PC로 날린다



우선, 간단할 것 같기 때문에 Scratch로 날렸습니다.
거의 참고대로 움직였습니다.
한 곳, Tello.js는 다음과 같이,
※경고 나오고 있습니다만,. .
scratch0907\scratch>node Tello.js
---------------------------------------
Tello Scratch Ext running at http://127.0.0.1:8001/
---------------------------------------
(node:9300) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
server listening 0.0.0.0:8890

【참고】
· 【드론 Tello 프로그래밍】미경험자가 첫 프로그래밍에 도전 【Scratch 사용법】
· TELLO 다운로드

그래서 이륙 ⇒ 50cm 하강 ⇒ 착륙 할 수있었습니다.
여기서 여러 번 실패한 원인
①WiFi가 끊어져 있었다
②Tello.js가 에러한 후 재실행이 필요



요약



・위치 정보 온으로, Android+GamePad(GameSir T1d)로 날렸다
· Scratch로 PC에서 날렸다.

・카메라 화상을 거의 사용할 수 없지만, 기체 고유의 버그일지도 모른다? ?
· 파이썬도 조금 시도했지만 Getch에서 더 이상 진행되지 않았습니다.
· Scratch에는 카메라 이미지 처리가 없을 것 같습니다.



Scratch의 Tello 부분도 일본어화했습니다.
※번역이 불명한 것은 적당


TelloJaps.js
{   "extensionName": "Tello",
    "extensionPort": 8001,
    "blockSpecs": [
// SDK 版本 >= 1.0.0.0
        [" ", "離陸", "takeoff"],
        [" ", "着陸", "land"],
        [" ", "上昇 %n cm", "up", 50],
        [" ", "下降 %n cm", "down", 50],
        [" ", "左旋回 %n cm", "left", 50],
        [" ", "右旋回 %n cm", "right", 50],
        [" ", "前方 %n cm", "forward", 50],
        [" ", "後方 %n cm", "back", 50],
        [" ", "時計回り %n 度", "cw", 90],
        [" ", "反時計回り %n 度", "ccw", 90],
        [" ", "フリップ %m.flip", "flip", "f"],
        [" ", "速度 %n cm/s", "speed", 50],
        [" ", "ゴー x %n y %n z %n 速度 %n", "go", 50, 50, 0, 100],
// SDK 版本 >= 1.3.0.0
        [" ", "曲線飛行 x1 %n y1 %n z1 %n 和 x2 %n y2 %n z2 %n 速度 %n %", "curve", 20, 20, 0, 40, 60, 0, 60],
        [" ", "緊急", "emergency"],
        ["r", "相対高度(cm)", "h"],
        ["r", "気圧計高度(cm)", "baro"],
        ["r", "TOF高度(cm)", "tof"],
        ["r", "最低温度(°C)", "templ"],
        ["r", "最高温度(°C)", "temph"],
        ["r", "アッチチュード角(°)", "pitch"],
        ["r", "横アッチチュード角(°)", "roll"],
        ["r", "偏揺れ角(°)", "yaw"],
        ["r", "X加速度(0.001g)", "agx"],
        ["r", "Y加速度(0.001g)", "agy"],
        ["r", "Z加速度(0.001g)", "agz"],
        ["r", "X速度(cm/s)", "vgx"],
        ["r", "Y速度(cm/s)", "vgy"],
        ["r", "Z速度(cm/s)", "vgz"],
        ["r", "電池容量(%)", "bat"],
    ],
    "menus": {
        "flip": ["f", "b", "l", "r"]
    },
}

좋은 웹페이지 즐겨찾기