One of the biggest challenges in software development is having access to the user, without them there is no way of knowing how they expect the software to work or what they expect it to do. Developing without communicating back and forth with the user can lead to software that is hard to understand and inconvenient to use.
In order to avoid this problem, I continually ask myself the same question, Is this what the user wanted and how are they expecting it to work? Sometimes this is a simple question to answer, other times it can't be resolved without detailed discussion with the user.
Luckily for me, the intended users of the Tethered Flight Arena are always within reach and willing to share their opinions, the feedback they provide combined with discussion of the online documentation has been invaluable and helped to keep me focused on designing the software they want.
So far the Tethered Flight Arena is progressing at a steady pace. We are able to use DeepLabCut live to analyse a video of a tethered hoverfly and track its wings, this data is then streamed directly into Unity via a socket. This provides an accurate simulation of the real time data capture we hope to achieve, and will eventually allow a real tethered animal to control a virtual animal within the Unity scene.
Within the Tethered Flight Software (Unity Project), the user can create Trials which are used to set a variety of basic settings such as the scene being shown and for how long, They can also create and play through sequences which are a series of trials. Users can also add interventions to trials which allow them to perform certain actions such as moving, showing or hiding an object within the scene, these interventions can be set to trigger after a certain duration or once the virtual animal navigates within the set proximity to a particular object. Finally, interpolations can be added to a sequence, which allows for a particular object or setting to be modified across all the trials within the sequence. E.g. Linearly interpolate the virtual animal's start position from the ground to 5m above the ground across 5 trials.
As progress is continually made I'm getting more and more eager to see a tethered hoverfly interacting with the virtual world in real time, but for now I hope to keep asking questions and provide the user with the software they want. Next I will be working on saving the collected data and allowing the user to replay previous trials from this saved data. In my next post I aim to provide a video which demonstrates some of the Tethered Flight project's functionality.