I started this week by trying to connect my drone using a USB wireless network adapter so that I could use my laptop’s internet connection to get the google speech to text API working. The process was easier than I expected, and we got it working pretty soon. After that, my task was to combine the speech recognition code with the code that connects to the drone and have the drone follow the commands using my voice. I was able to have the drone takeoff using my voice command. After that, I created a loop that continuously took voice input from the user until the drone landed. Then, I tried running the code to pass different commands after taking off. It didn’t quite work. The drone would take off, wait for a response for a couple of seconds and make an emergency landing. I thought it might be due to the time lag between the completion of the take-off command and the execution of the command after that. So, I increased the response timeout so that it wouldn’t throw an error even if it took a long time for my voice to convert into text commands. It didn’t work. After then, to figure out where the problem was I executed a code that controls the drone using the keyboard. It worked well and I was able to control my drone using keyboard controls without any time lag. So, then I thought the problem might be somewhere in the process of converting my voice into text commands while the drone command is in execution. I did some digging on the internet to see if any other people have had some errors but I could find nothing.
Then, after learning more about drone programming and watching a bunch of YouTube videos on people working on drone projects, I realized that the drone performed the emergency landing because it didn’t know what to do after the first command was executed. It takes a while for the program to take my voice input and change it to text commands so by the time my second command is processed, the drone is confused because it doesn’t have any command to execute. So, I tried manipulating the Tello library to keep the drone stable on the air if no response is given. It didn’t work and I got new errors after that. I am still investigating how to solve this issue.