jetson-tello
Utility code for using the NVIDIA Jetson and tello-asyncio to interact with the Tello EDU drone.
The primary function so far is to pipe video frame data from the drone through to neural networks running on the Jetson, typically for object or face detection.
Created for my autonomous drone hobby project, drone-braain, which is very much in its infancy.
Package jetson-tello on PyPi.
Full documentation on Read the Docs.
Prerequisites
There are two prerequisites that require manual installation:
-
NVIDIA's jetson-inference project, following these instructions to build from source and install.
-
My fork of h264decoder. This is identical to the original repo apart from building with the slightly old version of CMake (3.10) available on the Jetson.
Example code
The flying_drone_face_and_object_detection.py example demonstrates feeding video frames to object and face detection neural nets
#!/usr/bin/env python3
import asyncio
import jetson.inference
from jetson_tello import run_jetson_tello_app
face_detector = jetson.inference.detectNet("facenet", threshold=0.5)
object_detector = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)
def detect_faces_and_objects(drone, frame, cuda):
face_detections = face_detector.Detect(cuda)
object_detections = object_detector.Detect(cuda)
print('faces:')
for d in face_detections:
print(d)
print('objects:')
for d in object_detections:
print(d)
async def fly(drone):
await drone.takeoff()
for i in range(4):
await drone.turn_clockwise(90)
await asyncio.sleep(3)
await drone.land()
run_jetson_tello_app(fly, process_frame=detect_faces_and_objects)
Which typically outputs a stream of results like this (along with a fair amount of spam from the h.264 decoder):
faces:
<detectNet.Detection object>
-- ClassID: 0
-- Confidence: 0.809878
-- Left: 434.667
-- Top: 0
-- Right: 702.267
-- Bottom: 302.5
-- Width: 267.6
-- Height: 302.5
-- Area: 80949
-- Center: (568.467, 151.25)
objects:
<detectNet.Detection object>
-- ClassID: 7
-- Confidence: 0.500977
-- Left: 0
-- Top: 7.30054
-- Right: 959
-- Bottom: 719.04
-- Width: 959
-- Height: 711.74
-- Area: 682559
-- Center: (479.5, 363.171)
Version history
1.0.0
- Decode h.264 video frame data from the drone and load into NumPy arrays and CUDA memory
- Face and object detection neural net examples
- Common Objects in Context (COCO) classes
1.1.0
- Fly drone and process CUDA frames app utility function
- Decoded frame data object
Metadata
Release files for jetson-tello 1.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jetson_tello-1.1.8.tar.gz | 13.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jetson_tello-1.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.4 kB
Release files / jetson_tello-1.1.8.tar.gz
| Download URL | jetson_tello-1.1.8.tar.gz |
|---|---|
| Size | 13.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7beaab3b4bd7e6ac04bf87149beb0cbc3916b0240cbea91536e992f3e80759f2
|
|
BLAKE2b-256 checksum How to use checksums |
e6336a862e4900d571721c95dcff9584b632dcc4bbfa9dbbb323b5265d16352e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
|
Release files / jetson_tello-1.1.8-py3-none-any.whl
| Download URL | jetson_tello-1.1.8-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97c80650f07ab986b8974488bfb9db0b84b5dbedcc946e6ac8d67c73a8739dc3
|
|
BLAKE2b-256 checksum How to use checksums |
76e83a6341d4bae92fbec3183b5c0f3b4838f3a5ae236c66025e1555b2510d1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5
|
Security for jetson-tello 1.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.