Instructional Material: Auto Land & Keep Alive

This demo will explore a safety feature of the Tello drone. When in command mode, if the drone does not recieve a new command within 15 seconds, the drone will automatically land. This is handy if your program fails and leaves the drone flying. This feature works most of the time but there are instances where it does not. If the drone is flying but not under control and does not auto land, assuming it is just hovering, you can grab it's body from below between your thumb and fore finger and then twist the drone upside down. This will  automatically shut off the motors.

The Demo4 example demonstrates this feature by going into a 20 second wait after take off. You can run the program and observe the auto land feature in action.

Now there may be cases where you want the drone to hold position for more than 15 seconds. The Tello-SDK includes a keep alive function that will prevent the auto land from happening. Calling the TelloControl.startKeepAlive() method will start a background thread that pings the drone every 5 seconds to restart the auto land timer. This keeps the drone flying. In the demo, you can uncomment the call to startKeepAlive() to see that the drone continues to fly through the 20 second wait and then goes on with the program.

Modify the Main class by commenting out the code that runs Demo3 and uncommenting the lines that run Demo4. Take a look at the Demo4 code and then run it with the green arrow button.

 

Material Type: 
Lab Activity
Education Level: 
Middle School
High School
Focus Subject: 
Computing / Computer Science
Robotics Software
HW Platform: 
DJI Tello
SW Platform: 
Java
Interactivity Style: 
Mixed
Audience: 
Learner