Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

Unity Controller for Tello 3.0 - Quest Control w/ Passthrough

Beginner here!

Hi, i am developing an AR based project using DJI SPARK and not TELLO. The purpose is to fly through virtual rings. I need your assistance in connecting my DJI with this project.

There are 62 errors appearing and mostly linked to internet, and while the project was compiling it warned about outdated version of Unity.

Ill be really thankful if we can get in touch, its a critical project for me to be delivered to client. Thanks a lot for your hard work.
 
So I just bought my Tello Drone and starting on some development projects.

I have been playing around with the Unity plugins, and looking through the code for about a week now.

The camera does not seem to render anything in the unity Game window when starting up. Flying around with the keyboard works perfectly, can just for the life of me not figure out why the camera is not rendering anything in Unity?

Has anyone else perhaps experienced this issue, or know of a solution?
 
  • Like
Reactions: Muhammad Shoaib
So I just bought my Tello Drone and starting on some development projects.

I have been playing around with the Unity plugins, and looking through the code for about a week now.

The camera does not seem to render anything in the unity Game window when starting up. Flying around with the keyboard works perfectly, can just for the life of me not figure out why the camera is not rendering anything in Unity?

Has anyone else perhaps experienced this issue, or know of a solution?

That's great to hear from you Bernhard, can we get in touch on this? My email is [email protected]. I am actually working with DIJ Spark
 
  • Like
Reactions: Bernhard007
So I just bought my Tello Drone and starting on some development projects.

I have been playing around with the Unity plugins, and looking through the code for about a week now.

The camera does not seem to render anything in the unity Game window when starting up. Flying around with the keyboard works perfectly, can just for the life of me not figure out why the camera is not rendering anything in Unity?

Has anyone else perhaps experienced this issue, or know of a solution?

I'n the instructions my man. "Allow Unity through firewall via inbound rules Image Example ". Video wont work til you do
 
  • Like
Reactions: Bernhard007
Hello, I'm doing research on auto pilot using Tello drone and Python, and I was wondering if this unity controller can be used with python programming?
For example, the python program predicts commands based on tello's received images, and it gives commands to tello using unity controller, while tracking is used in unity
 
THIS IS ALPHA SOFTWARE. IT HAS NOT BEEN WELL TESTED, AND THE INPUTS HAVE NOT BEEN FINE TUNED. I TAKE NO RESPONSIBILITY FOR ANY DAMAGE THAT OCCURS TO YOUR TELLO WHILE USING THIS SOFTWARE. MAKE SURE TO VALIDATE INPUT VALUES IN FLIGHT CONTROLLER COMPONENT BEFORE TAKEOFF

This project would not be possible without the hard work put into these two libraries.

Krag's TelloLib : A c# library that allows the tello to be controlled via windows. It also exposes the underlying API which contains the positioning data.
comoc's TelloForUnity : Modifies TelloLib to work in Unity, including the video feed.


So I completely reworked this project from the ground up. I optimized and simplified everything, added tracking from takeoff, re-added rift support, and completely reworked the autopilot system. Instead of giving the tello a target point to fly to, the tello's only job is to try and match a target tello's position(Blue quad in the video). It's my theory that this will be easier for the PIDs to handle because there is a smaller range of inputs to deal with.

With the tello flying itself you are free to move the target with either the gizmos, my fly-to-target system, or via a custom script. The simulator has also been updated so you can test complex autopilot features without destroying your tello or waking the neighbors.

I have spent little time tuning the autopilot PIDs, so there is a lot of room for improvement there. The autopilot loads a PID profile which can be found in the hierarchy. You can update those values or create your own PIDProfile component. You can also swap PID profiles in flight for different situations. The tellos performance in the simulator will not match the real thing, so don't use the simulator to tune the pids.

What you see in the video above is the same project in the github repo. 'T' and 'L' to takeoff and land, 'P' to toggle autopilot on and off. (Any input to the flight controls will also deactivate the autopilot). With the autopilot active you can either move the target with the editor gizmo, or drag a point into the Autopilot component. Autopilot will also automatically deactivate when tracking is lost. YOU MUST BE FOCUSED ON A GAME WINDOW FOR INPUT TO WORK

3D TRACKING



VR SUPPORT
FPV supported for the Rift and VIve. Rift can use touch controllers but Vive will need joystick or keyboard inupt. To use VR, you need to enable it in the project settings.

INPUT MANAGER (TUNING & JOYSTICK SUPPORT)
All inputs go through the input manager. This is where you can fine tune your selected input. This provides a way to tune your keyboard input, or set up a flight stick. Sensitivity and Deadzone are self explanitory. Gravity is only for the keyboard, and determines how quickly the value returns to 0. Feel free to suggest input values you find. Input manager can be found at Edit - Project Settings - Input. Right now the only flightstick supported is the thrustmaster 1600m and throttle. If you have a joystick you would like to use, I can let you know how to set it up.

INSTALLATION
Download Unity Editor 2018.3
Download UnityControllerForTello HERE
Open Unity and select open project. Navigate to folder you just downloaded.
Allow Unity through firewall via inbound rules Image Example

TAKEOFF
Connect to tello wifi
Press play in editor
Perform pre-flight checks
Wait for video feed
Flight instructions located top left corner
Hi im new here, so i trying to run an tello edu using your software and having abit of problems connecting the drone. Wish you can get to me back soon thanks
 
THIS IS ALPHA SOFTWARE. IT HAS NOT BEEN WELL TESTED, AND THE INPUTS HAVE NOT BEEN FINE TUNED. I TAKE NO RESPONSIBILITY FOR ANY DAMAGE THAT OCCURS TO YOUR TELLO WHILE USING THIS SOFTWARE. MAKE SURE TO VALIDATE INPUT VALUES IN FLIGHT CONTROLLER COMPONENT BEFORE TAKEOFF

This project would not be possible without the hard work put into these two libraries.

Krag's TelloLib : A c# library that allows the tello to be controlled via windows. It also exposes the underlying API which contains the positioning data.
comoc's TelloForUnity : Modifies TelloLib to work in Unity, including the video feed.


So I completely reworked this project from the ground up. I optimized and simplified everything, added tracking from takeoff, re-added rift support, and completely reworked the autopilot system. Instead of giving the tello a target point to fly to, the tello's only job is to try and match a target tello's position(Blue quad in the video). It's my theory that this will be easier for the PIDs to handle because there is a smaller range of inputs to deal with.

With the tello flying itself you are free to move the target with either the gizmos, my fly-to-target system, or via a custom script. The simulator has also been updated so you can test complex autopilot features without destroying your tello or waking the neighbors.

I have spent little time tuning the autopilot PIDs, so there is a lot of room for improvement there. The autopilot loads a PID profile which can be found in the hierarchy. You can update those values or create your own PIDProfile component. You can also swap PID profiles in flight for different situations. The tellos performance in the simulator will not match the real thing, so don't use the simulator to tune the pids.

What you see in the video above is the same project in the github repo. 'T' and 'L' to takeoff and land, 'P' to toggle autopilot on and off. (Any input to the flight controls will also deactivate the autopilot). With the autopilot active you can either move the target with the editor gizmo, or drag a point into the Autopilot component. Autopilot will also automatically deactivate when tracking is lost. YOU MUST BE FOCUSED ON A GAME WINDOW FOR INPUT TO WORK

3D TRACKING



VR SUPPORT
FPV supported for the Rift and VIve. Rift can use touch controllers but Vive will need joystick or keyboard inupt. To use VR, you need to enable it in the project settings.

INPUT MANAGER (TUNING & JOYSTICK SUPPORT)
All inputs go through the input manager. This is where you can fine tune your selected input. This provides a way to tune your keyboard input, or set up a flight stick. Sensitivity and Deadzone are self explanitory. Gravity is only for the keyboard, and determines how quickly the value returns to 0. Feel free to suggest input values you find. Input manager can be found at Edit - Project Settings - Input. Right now the only flightstick supported is the thrustmaster 1600m and throttle. If you have a joystick you would like to use, I can let you know how to set it up.

INSTALLATION
Download Unity Editor 2018.3
Download UnityControllerForTello HERE
Open Unity and select open project. Navigate to folder you just downloaded.
Allow Unity through firewall via inbound rules Image Example

TAKEOFF
Connect to tello wifi
Press play in editor
Perform pre-flight checks
Wait for video feed
Flight instructions located top left corner
Can i use it in swarm mode?
 
 


Working on some pretty cool stuff. Needed to show a project as an example of my work so I totally redid it as 3.0. Totally new architecture and autopilot. Also completely commented so its easier to follow. Since I've worked on this last the tello got a firmware update which seems to have dramatically improved position tracking. That was the reason I stopped working on this.

Its almost done but I really need help with the issue i posted in the comment above. The height I'm getting from tello lib isnt accurate enough as you can see in the quest passthrough.

Also I want to add my terrain mapping to the tello but I need to get the raw value of the downward facing ir sensor. If anyone has more in depth knowledge of TelloLib, packet sniffing, the Tello binary log file, any help would be appreciated. Or another tello binary level library with pos xyz, barro, height, and tof that would be valuable to know too.
 
Last edited:
Thank you very much for that really impressive project!
We are using it as a basis for a AI Crop inspection demo. The only problem we have, is that we do not get any tracking data form the Tello back. The firmware of our drone is 2.0 is that maybe the error? Where did you find 3.0? What are we doing wrong?
Thank you very much
Fax
 
Thank you very much for that really impressive project!
We are using it as a basis for a AI Crop inspection demo. The only problem we have, is that we do not get any tracking data form the Tello back. The firmware of our drone is 2.0 is that maybe the error? Where did you find 3.0? What are we doing wrong?
Thank you very much
Fax
Sorry for incredibly late reply, moved onto a different unity based project. Did you figure this out? Have anything I can see?

Making robots now.
 
Hello, I'm having troubles using Tello camera, inputs are working fine but the rendering camera doesn't work it stays grey. Anyone can help me? please
 

New Posts

Members online

No members online now.

Forum statistics

Threads
5,690
Messages
39,934
Members
17,023
Latest member
Repiv

New Posts