It must be known that due to the Extended Lock Down experienced by Victorians (Australia), much of the schooling year was interrupted. Face-to-Face Learning transitioned to Remote-and-Flexible Learning for a large portion of the later half of the school year. Students worked on what they could during this time. Due to shipping delays, an alternative was needed to introduce students to the concept of 3D Movement and Python programming.
Seven Students participated aged between 13 and 16 years old, with each contributing in their own way that was realistic considering the circumstance. Students have been anonymised, no identifying information is, and will be, included.
IntentWe must prepare our students for what lies ahead. By bringing them up to speed with the development and application of current technology, they will have the foundation to build solutions to solve unknown problems, now and into their future. Solutions will be driven by students.
New groups of students will continue to engage in the use of these technologies and this drone will allow new students to solve new and yet unidentified problems in the years to come. The Drone Club continues into 2021, with new and old members picking up from what was left over in 2020.
Although the fire-centric games occurred last year, as we are in Australia this is a continuous threat to our flora and fauna and is a consistent problem that needs new and innovative solutions.
Students are eager to continue into the third drone games in 2021, building on lessons learned.
CollaborationStudents will be challenged to engage in an ‘emergency project’, researching current technology and the ethics surrounding the use of that technology. Students will engage in areas of Computer Assisted Vision, Artificial Intelligent Systems, cyber-security and the communication and securing of sensitive data for contact tracing etc. With this foundation, they will plan and prototype several solutions to work toward solutions to ‘eradicate’ Covid 19 now, and emerging viruses into the future. The use of the drone platform offered by NXP will ‘hook’ the students interest, and sustain that interest over the course of the project. It provides real-world context in programming, electronics design, societal expectations and ethics, rules and regulations of flight and the fair use of hardware. The possibilities are endless. The problem becomes the focal point for the student, the technology motivates students to *want* to solve these problems. Ultimately, the students solution need not work. It is the process of sinking their teeth into an unfamiliar problem, using their existing and new skills to move toward a solution. We must prepare our students for what lies ahead. By bringing them up to speed with the development and application of current technology, they will have the foundation to build solutions to solve unknown problems, now and into their future.
Solutions will be driven by students. The mechanism to engage students in this method of learning is supported with research.
We have successfully leveraged Project-Based Teaching as the vehicle to engage students in this type of problem-solving.
My role as teacher is to facilitate and nudge them in the right direction.
Anonymised TestimonialsStudent A: Drone club was very enjoyable last year, it was a very interesting and exciting experience as it was the perfect opportunity to learn new skills in the field of coding as well as to develop my problem solving and teamwork skills.
Drone club provided me with many new learning opportunities including an introduction to basic python coding and how to use this to direct the flight path of a drone, I also learnt about 3D geometry and how to incorporate this in our coding.
This year I hope to continue applying my knowledge and problem solving skills to find solutions and overcome hurdles we are faced with as we continue learning and developing our skills in coding. I also look forward to testing my skills on a larger drone.
When we first formed drone club we brainstormed several ideas surrounding the use of drones to assist with COVID related issues. Several such ideas included:
- A form of drone delivery service to deliver and retrieve Covid Testing kits,
- A remotely controlled drone which followed a nature or hiking path filming it so that a person could experience this walk without having to leave their lockdown zone, and
- A drone or robot type construction which could carry a facetime compatible device allowing people to speak with and see their family and friends whilst in lock down that were outside the Covid Bubble.
Student B: I enjoyed Drone Club last year as a way of connecting with other like-minded people and improving my skills in coding, problem solving and teamwork. I also really enjoyed the Club as it was a great space to code and fly drones, which is something I would not otherwise have had the opportunity to experience. As a member of the Drone Club, I had an introduction to coding in python and using 3D geometrical planes. These were new skills that I developed almost solely through the Club. This year I would love to further develop my coding skills and work with the group to develop an operational program for a full sized drone, so that I can conclude the engineering and design process to form a functional solution. Drones could have been used during the pandemic as a means of filming paths and walks outdoors for people trapped in lockdown to enjoy, and also as a way of achieving a telepresence robot to maintain social connections with people in and out of quarantine.
Solutions IdentifiedTo move toward elimination and eventual eradication, the following 6 control measures must be maintained with suitable strictness, timing, and duration:
1. rapid identification and isolation of cases
2. timely and comprehensive contact tracing
3. testing and quarantining of contacts
4. varying degrees of social distancing (lockdown, banning mass gatherings, keeping 1.5m distance from others)
5. border controls: restricting entry through travel bans (https://academic.oup.com/jtm/article/doi/10.1093/jtm/taaa081/5842100), and quarantine of returning international travellers
6. face masks to reduce transmission (https://www.bendigoadvertiser.com.au/story/6837576/central-victorian-covid-19-cases-drop-as-regional-victorians-are-asked-to-wear-masks/).
Students recognised that they could work on Control Measure 3, and 4 to learn the fundamentals of the technology offered by NXP.
To move toward these goals, a number of Remote and Face-to-Face stages were developed:
1. Introduction to Python CodingStudents worked on online tutorials during Remote-and-Flexible Learning to learn basic syntax and operands of Python 3
JupyterLabs was extremely useful for this project as it allowed students to code using whatever technology they had access to.
By using this interface, students could eventually move toward development on the 8MMNavQ.
DJI Tello Setup
Python Libraries and Code
Students used Python Libraries that had already been developed for the DJI Tello.
source: https://github.com/Virodroid/easyTello
Students were able to use these libraries to control the DJI Tello Drone. Their code evolved over time, with some simulation occurring on paper or with other drone platforms accessible to students.
from easytello import tello
my_drone = tello.Tello(tello_ip='192.168.0.6')
my_drone.takeoff()
my_drone.go(60, 0, 0, 40)
my_drone.go(0, 0, 60, 40)
my_drone.go(20, 0, 0, 40)
my_drone.go(-50, 0, 30, 40)
my_drone.go(-25, 0, -20, 40)
my_drone.go(0, 0, 20, 40)
my_drone.go(-20, 0, 0, 40)
my_drone.go(0, 0, -20, 40)
my_drone.go(-30, 0, -20, 40)
my_drone.go(20, 0, 0, 40)
my_drone.go(0, 0, -50, 40)
my_drone.land()
#it's not perfect but it works. Thanks Sir have a great holidays!
Responses to the above commands allowed students to work through problems identified during runtime
Sending command: command
Response: b'ok'
Sending command: takeoff
Response: b'ok'
Sending command: go 60 0 0 40
Response: b'ok'
Sending command: go 0 0 60 40
Response: b'ok'
Sending command: go 20 0 0 40
Response: b'ok'
Sending command: go -50 0 30 40
Response: b'ok'
Sending command: go -25 0 -20 40
Response: b'ok'
Sending command: go 0 0 20 40
Response: b'ok'
Sending command: go -20 0 0 40
Response: b'ok'
Sending command: go 0 0 -20 40
Response: b'ok'
Sending command: go -30 0 -20 40
Response: b'ok'
Sending command: go 20 0 0 40
Response: b'ok'
Sending command: go 0 0 -50 40
Response: b'ok'
Sending command: land
Response: b'ok'
Students came across connectivity issues with the implementation of EasyTello and the Python Kernel system of JupyterLabs not releasing an IP Address and Port. This was prototyped but not deployed to the working environment.
A work around was simply terminating the Jupyter Kernel.
2. Introduction to 3D GeometryStudents were able to generalise the movement of a drone using 3D coordinates.
The resources offered by MisaOgura (GitHub - https://github.com/MisaOgura/flashtorch) allowed students to understand a connection between Computer Vision and Neural Networks. This platform would be explored by students to recognize the link between training and object recognition. Some students had experience with PyTorch, but lacked the time to train/develop/implement a utility to recognise if a user was wearing a mask.
With the experience gained using a less dangerous platform it was planned that students would bench test object recognition code to track objects and to identify if masks were being warn by individuals.
Problem Solving OnSite
Students dedicated lunch-time and after school hours to collaborating to understand, test, and debug Code. This time was also spent socialising to build trust and friendship.
Problem Solving OffSite
Video conferencing continued during the Remote and Flexible Learning Period. Google JamBoard was used to keep track of 'curiosities' as students solved problems, or came across new problems.
Students are continuing to work in Drone Club, with a renewed momentum due to a face-to-face presence.
Students will continue to build their confidence with Python using JupyterLabs so that they may move toward using the ROS development environment.
There is also talk of students encouraging younger students interested in coding by mentoring them in the development of novel solutions to problems that are yet to exist...
Comments