Hoot (Howl Box)
This project was a semester long group effort made up of the instructor, Joel Henry, and all students in the senior capstone course, Advanced Programming (CS 442), at the University of Montana. While this was a school-related project for which the students involved received credit it was a project developed for actual real-world research use by an actual client, the Montana Cooperative Wildlife Research Unit.
Luckily, our client for this project had a good idea of what they wanted created. Often during wildlife research they found that one highly effective technique to evaluate wildlife population and other data was to exploit the call-and-response behavior of certain animals where they will respond to an audible call with a call of their own, facilitating detection. An example of one such animal would be the wolf which respond to howl calls with their own response howl. Unfortunately, the traditional method of broadcasting such a howl and recording the response for future analysis required a human operator in the field to manage the process and remain in place throughout the course of the research period. Since it is optimal for these research periods to last days if not weeks to gather the best sample data this human component is extremely costly and can also impact the accuracy of the results by the human's presence altering the behavior of the animals being studied. This is the problem we were asked to solve and for which our final product helped to automate. Our role in this project covered all aspects of acquiring and selecting the most appropriate hardware as well as developing any software that was necessary to facilitate this process.
We began the process by documenting, troubleshooting, and making a variety of minor alterations to an existing non-functional product the client had previously tried to have developed by an individual within their organization who, unfortunately, did not have a solid working knowledge of technology or software development. This non-functional system came with no documentation and included large unwieldy hardware running a Linux OS making use almost exclusively of Bash scripts to control the process. This first phase of the project involved our team fully documenting and making this existing system functional with the minimal requirements while simultaneously working closely with the client to develop a complete requirements list for an entirely new system which we would develop.
The design of the new system was based on the need to facilitate the following common usage scenario for the system in addition to several other important aspects:
- The researcher would, in advance on any computer with our scheduling software, setup a schedule of events by specifying the date and time and other details about each event that they would like the device to execute throughout the research period. These events could include actions such as playing an audio file through attached speakers (e.g. a wolf howl used to trigger a response howl) or recording the environment using an attached microphone (e.g. to record the target wolf's response howl).
- The software application we developed to create such a schedule would then generate a single output file that included all of the necessary schedule information as well as any audio files that would need to be played during any of the events outlined in the schedule. This file could be placed on a USB flash drive or external hard drive for easy portability into the field.
-
The researcher would then need to setup the device in the location which they wished to perform their study if a device was not already setup in that location. Often reaching the locations they wish to study is only possibly by hiking on foot for long distances and therefore it was important to minimize the weight of any equipment, including power sources, that would be required for the device to be functional. It was also necessary for the device to be very power efficient as there was no source of power in the wilderness and all power needs throughout the entire span of the research period would need to be satisfied by a battery source.
Because of these factors, and the need to make use of inexpensive and easily accessible hardware that other researchers could duplicate to easily make use of the software that we would develop and freely release, we chose to make use of power-efficient netbook computers with external microphones and speakers which could also optionally have an additional battery pack included for extended battery power. These components were packaged in an such a way that they could be left in harsh weather conditions for extended period without damage. Once the researcher arrived at their destination they would mount the packaged device to a tree or other appropriate surface where it would remain until it was revisited days or weeks later in order to assign a new schedule of events, retrieve any recordings that had been taken, replace and replenish a battery source, or bring the device home.
- While these netbooks did have keyboards, trackpads, and monitors which would allow them to be used in a traditional fashion, using them in this fashion was unnecessary, drained the battery extremely quickly, and was not easily done as a result of the way the bundle of hardware was packed to be weather resistant. When designing the daemon software that ran on the device and executed the schedule it was assumed that the device would not have any I/O devices (e.g. monitor) other than audio and the ability to insert and remove removable storage devices via an exposed USB port. Interaction with the device was intentionally simple. When the researcher wished to load a new schedule onto the device or retrieve all recordings that had been taken by the device since the last visit they would simply need to wake the device - by default the device was always in sleep mode while not executing a scheduled event to conserve power - and wait for an audible prompt instructing them to insert a USB storage device. The daemon responsible for handling this action would then import the proper schedule file from the inserted drive and use it as the schedule for future events. It would also copy over to the inserted drive any recordings that had been taken by the device since the researcher's last visit so these recordings could taken and analyzed elsewhere without needing to remove the device from the field. Throughout this process the user would receive audible instructions and status updates through the device's speakers regarding when they should take certain actions. As the device's power profiles and other settings are managed by our software the researcher needs only insert their drive, listen to the audio status messages, wait to be prompted to remove the drive, remove the drive, and then depart leaving the device responsible for turning itself off, turning on in time for future scheduled events, and any other responsibilities.
A research paper discussing this project and some results obtained through the use of our final product was written and published in the Wildlife Society Bulletin (Volume 35, Issue 4, Pages 498-503, December 2011).
While the scheduling application used to generate schedule files is only a small part of this project, the media gallery on this page focuses primarily on that component. The other components, such as scripts automating the configuring of new devices and the software daemon running on and controlling the actual device in the field do not contain graphical or visual components and are, therefore, difficult to display.