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

SDK responses

Neoflash

Member
Joined
Dec 28, 2018
Messages
24
Reaction score
0
So I've been playing around with sending commands using the SDK and am I understanding correctly that the Tello only sends an OK response once it has finished executing the command and not in acknowledgement that it has received it?

So in the case of commands that are relatively longer to execute such as 'takeoff' or longer distance translations it can take over 5 secs to receive an answer. Then you have set commands such as 'rc a b c d' that generally return a fast response but what if the packet was just lost on the way to or from the Tello. Should we just be frantically sending the same command at 10ms intervals until we get an 'ok' back and then move on to the next command? I'm having a hard time understanding how to work with this.

It would be interesting if experienced Tello dev could share the general flow of their application when it comes to sending commands, waiting on a response, sending the next command and/or retrying a command.
 
Since the protocol is over UDP, there's no guarantee that the packet is received or a response is given. You generally have to do smart things like send it a few times to add robustness and resiliency.
 
  • Like
Reactions: Neoflash
You can also monitor the drone state information which can confirm whether the action was taken. For example, takeoff should produce a change in time-of-flight
 
  • Like
Reactions: Neoflash
Since the protocol is over UDP, there's no guarantee that the packet is received or a response is given. You generally have to do smart things like send it a few times to add robustness and resiliency.
I like that. So basically sending out a burst of... say three to five... copies of the same command. That way you are almost sure that one gets thru and the duplicate ones will simply be ignored by Tello.
 
Are you seeing responses to "rc a b c d" commands? I'm not seeing those. I am seeing responses to commands like "takeoff", "battery?" and so forth.
 
What's the point of using the 'rc' commands rather than the given named ones?

1. rc commands set all 4 channels at once
2. rc commands set velocity, where as the named commands set target position.** Velocity is more useful for my application.

**The docs indicate that the named commands (left, up, etc.) set a target delta, though I haven't played around with these, and the docs aren't always accurate.

The docs don't say that the rc commands set velocity, but this seems to be the case. I'm working on a test environment where I can measure the actual response curves.
 
@clydemcqueen, awesome, I would be interested to know what units are being used for the rc commands. Like what 'yaw 100' would mean since it doesn't seem to be degrees.
 
Also, do you know how to start the motors without calling "liftoff"? In the Tello app, it is done by holding sticks at 5 o'clock and 7 o'clock. I tried "rc -50 50 50 -50" and other variants of that but I'm not able to get the motors to spin up without calling "liftoff"
 
  • Like
Reactions: Neoflash
ok, i've lots of questions after reading this thread.

A) When sending a burst of commands (to ensure atleast one of them is received), how does Tello know that they are all for the same command (i.e. how does it distinguish between a duplicate command vs a new command)?

B) My understanding was that if Tello receives a command BEFORE it had a chance to respond from a previous command, then it would simply respond with some kind of error. In other words, you have to send a command only after you've received some kind of response from the previous one. Is this correct, or not?

C) When using RC commands, is this a more preferred way of sending commands to Tello? IF you send an RC command to move forward w/ a certain velocity, do you need to send another RC command to tell it to stop?

D) When sending RC comamnds, is Tello still at the mercy of light conditions?
 

New Posts

Members online

No members online now.

Forum statistics

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

New Posts