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

Tello EDU Mission Pad Accuracy / Vision

swarmer

New member
Joined
Mar 7, 2019
Messages
4
Reaction score
2
My Tello EDU finally arrived. I'm super excited that Tello EDU allows for swarming, hoping to design some great drone choreography.

The big breakthrough is the mission pads. I need to be able to say go to X Y Z and have it actually go there.
The result, so far, is ... underwhelming. Most of the time it doesn't see the mission pads, and if it does, it's not particularly accurate in where it goes. And if it doesn't see the pad already, it just gives up with an error message.

Who here has had luck with getting mission pads to work consistently? Any tricks?

From searching, it looks like there's no way to get the downward camera stream, so I can't see what information Tello EDU is getting. Is that correct?

Also, is there a way to point the App (either Tello or Tello EDU) at an IP address? I'd like to leave Tello EDU set up to automatically connect to my AP and still be able to control it and see video through the App.

Thanks for your help!
 
Last edited:

ph2t

Well-known member
Joined
Sep 17, 2018
Messages
158
Reaction score
224
Location
Melbourne, Australia
Also, is there a way to point the App (either Tello or Tello EDU) at an IP address? I'd like to leave Tello EDU set up to automatically connect to my AP and still be able to control it and see video through the App.

Thanks for your help!

I'm interested in this too. I have thought about it. One way to try would be as follows:

  1. Setup a wifi network, BSSID name is not important, lets call it tello-dev
  2. IP address subnet of this wifi network would need to be 192.168.10.0 with a mask of 255.255.255.0
  3. Wifi router (or anything else) can't have the IP Address of 192.168.10.1, this must be reserved for the tello EDU
  4. Connect laptop to tello EDU network, using SDK commands get tello to connect to tello-dev wifi network
  5. Confirm tello has the ip address 192.168.10.1
  6. Connect phone(running official tello/tello EDU apps) to tello-dev wifi network
  7. Assign IP address of phone(running official tello/tello EDU apps) to 192.168.10.2 with a mask of 255.255.25.0
  8. Run tello/tello EDU apps on phone to see if it will connect to tello

One thing to note, you can have the tello EDU connected to a wifi network and not have it in SDK/command mode. ie: the tello boots up and connects to a wifi network, the yellow light is flashing quickly to indicate ready to receive mode. Only after issuing the SDK mode command to the tello does the light turn green. I think because of this, as long as one can replicate the tello peer-to-peer wifi network with a regular wifi network then it should allow the app to connect and fly the tello as usual...

I will try this soon myself. Let us know how you go!

Cheers,
ph2t,
 

swarmer

New member
Joined
Mar 7, 2019
Messages
4
Reaction score
2
Oh this is absolutely fantastic!!! @Marcochan would you be willing to share some of how you made this? I have soooo many questions!

How did the drones keep track of the mission pads? I didn't see any failures in the video.
How did you lay out the mission pads? What pattern worked?
Are you calling specific Mission Pad numbers, or just whichever one is closest? (-2)
Were you using "curve?" - if so, how? I have yet to get it to execute without error-ing out?
Were you controlling the LED? The blinking looked good.
Would it be possible to share some of the code, or at least the commands you used to get such great motions?
Thank you so much for your great work!!
 

neolu

Well-known member
Joined
Aug 23, 2018
Messages
58
Reaction score
49
Oh this is absolutely fantastic!!! @Marcochan would you be willing to share some of how you made this? I have soooo many questions!

How did the drones keep track of the mission pads? I didn't see any failures in the video.
How did you lay out the mission pads? What pattern worked?
Are you calling specific Mission Pad numbers, or just whichever one is closest? (-2)
Were you using "curve?" - if so, how? I have yet to get it to execute without error-ing out?
Were you controlling the LED? The blinking looked good.
Would it be possible to share some of the code, or at least the commands you used to get such great motions?
Thank you so much for your great work!!

 
  • Like
Reactions: patrakbienbon

tello-ajd

Member
Joined
Jun 19, 2020
Messages
8
Reaction score
0
Hello, I am trying to get mission pads to work with my Tello Edu drones. My goal is to have the drone go to a position on the first mission pad and then jump to every other mission pad in the square. I keep getting the 'no valid marker' error even though I think my drones are within the mission pad detection range. Does anyone have any experience with this error? Does it definitely mean that the drone is not in the mission pad detection range? Here is the python code I'm using. Any help would be much appreciated!

# Import the necessary modules
import socket
import threading
import time

# IP and port of Tello
tello1_address = ('192.168.0.102', 8889)

# IP and port of local computer
local1_address = ('', 8400)

# Create a UDP connection that we'll send the command to
sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# Bind to the local address and port
sock1.bind(local1_address)

# Send the message to Tello and allow for a delay in seconds
def send(message, delay):
try: # Try to send the message otherwise print the exception
sock1.sendto(message.encode('utf-8'), tello1_address)
print("Sending message: " + message)

except Exception as e:
print("Error sending: " + str(e))

time.sleep(delay) # Delay for a user-defined period of time

def receive(): # Receive the message from Tello
while True: # Continuously loop and listen for incoming messages
try: # Try to receive the message otherwise print the exception
response1, ip_address = sock1.recvfrom(128)
print("Received message: from Tello EDU #1: " + response1.decode(encoding='utf-8'))

except Exception as e:
# If there's an error close the socket and break out of the loop
sock1.close()
print("Error receiving: " + str(e))
break

# Create and start a listening thread that runs in the background
# This utilizes our receive functions and will continuously monitor for incoming messages
receiveThread = threading.Thread(target=receive)
receiveThread.daemon = True
receiveThread.start()

# Put Tello into command mode
send("command", 3)

# enable mission pad detection
send("mon", 5)

# enable forward and downward detection
send("mdirection 2", 5)

# Send the takeoff command
send("takeoff", 8)

# fly to each mission pad
send("go 0 0 21 10 m4", 5)
send("jump 0 0 21 10 90 m4 m1", 8)
send("jump 0 0 21 10 90 m1 m2", 8)
send("jump 0 0 21 10 90 m2 m3", 8)
send("jump 0 0 21 10 90 m3 m4", 8)

# check battery
send("battery?", 8)

# Land
send("land", 4)

# Print message
print("Mission completed successfully!")

# Close the socket
sock1.close()
 

New Threads

Members online

No members online now.

Forum statistics

Threads
5,121
Messages
37,031
Members
13,854
Latest member
bugzapper