Intelligent Drones with Techgirlz
The Skies the Limit
We are lucky in the Newtown Square office that our Business Women’s Network works with the local Techgirlz chapter to give middle school girls hands on experiences for future tech roles.
TechGirlz’ mission is to inspire middle school girls to explore the possibilities of technology to empower their future careers. Their vision is to create a world where girls have a lifelong passion and confidence in their use of technology throughout their careers.
At an earlier event we hosted 30+ eager students that wanted to learn about design and 3d printing. The girls discovered how to use Tinkercad to create designs, how 3d printers work and finally they got to print their designs.
We wanted to follow up that event with a new hands on experience for Q1 (Pre lockdown). What better way for students to learn about drones other than to write their own drone control software.
One of the guiding principles for these events is to make the experience as accessible as possible to all students. With this in mind we wanted to build a curriculum that anyone with access to a browser could get involved with, along with keeping getting started it as simple as possible.
Node-RED gave us the ability to be technical when needed but also allow a simple drag and drop interface for creating the code segments. The editor runs in the browser, so a simple choice.
For getting started, each attendee had the nodes for connecting to the drone and showing logs prebuilt. From there, the sky, or more importantly their imagination was the limit.
The drones we chose are Tello EDU drones, these are small drones with a camera, and more importantly an SDK we can use to control the drones.
The camera was used for waypoint detection using Machine Learning in the more advanced examples. This can also be extended to perform tasks such as object detection and avoidance which we prototyped calling SAP Machine Learning Platform.
We wanted to make sure we could scale for more students, each drone is around $120. We needed to have each attendee be able to use a drone to test their coding, it’s a lot more fun that way.
The drones would not be used 100% of the time by each coder, so we guessed that a drone could be shared by 5 students. This guess was close, perhaps 4 would have been a better number.
The drone SDK uses TCP for bidirectional communication, this again could become a limiting factor for scaling the drone access.
We also wanted a very simple setup procedure for the students.
The solution we identified was to have each drone assigned to a Raspberry Pi, each Pi ran Node-RED in 5 docker containers. Each container with its own port. This allowed each student to work independently if they chose to and only fly the drone when needed. This allows us to scale 4 drones to 20 students where they could code independently.
Scaling out to more students could now be achieved by adding one Pi and drone per 4/5 students.
It’s always heartwarming to get positive feedback:
|What I liked best about this Techshop was when we got to program the drones by ourselves|
|I liked how we could program our drones to dance and fly!|
|I liked the dancing drones|
|Making the robot dance and controlling it myself/ also swatting the drone|
|It challenged me to do new things|
|I learned more about drones|
and also learn where we can improve to make this better next time:
|Not enough food choices for lunch.|
|There was a fair amount of waiting.|
|What I liked this about this TechShop was when we had to program the drones step by step.|
|Waiting in the hall/elevator|
|It was a little confusing and it went fast|
|How short it was 🙁|
|I did not like that we had to share the drones|
A special thanks to Techgirlz, all the attendees and the awesome volunteers that willingly gave up their Saturday to help.
For more information on Techgirlz and how you can get involved head over to their home where you can find information on local events. Whether you want your budding engineers to get involved or you would like to help as a volunteer you will find a wealth of learning opportunities.
Github Repository for Exercises