Wellington Faculty of Engineering Symposium
Proceedings of the Wellington Faculty of Engineering Symposium.
Te Herenga Waka-Victoria University of Wellington
Developing a Clustering-Based Semi-Supervised Learning Algorithm for Data Streams
In today's world, we encounter an enormous volume of continuous data streams. The task of processing and deriving insights from this data can be overwhelming. To address this challenge, we propose the use of a machine learning algorithm, specifically, a clustering-based semi-supervised learning algorithm. This choice is motivated by the recognition that data from these streams is often imperfect, exhibiting issues such as partial labelling, missing values, and noise. Therefore, a clustering-based semi-supervised learning algorithm has been put forward as a solution, as it is capable of handling diverse and inconsistent data, including both labelled and unlabelled data types. After conducting thorough background research, one prominent algorithm has been identified as capable of effectively addressing the project's requirements: the cluster and label classifier. In this project, variations of the cluster and label method were employed to build the proposed algorithm. At the current stage, the proposed model utilizes an ensemble architecture, where multiple cluster and label methods collaborate to classify data. The model also incorporates a combination of ensemble methods such as bagging and the Random Subspace Method. When evaluating this model using metrics such as accuracy, kappa, and execution time, the current model yields result like those of the cluster and label method. However, it is important to note that the execution time of the current model is considerably slower, approximately 160 times slower than the cluster and label method.
Maintaining the health and safety of workers on a worksite should be a site’s number one priority. For a worksite to uphold a high level of safety it must keep track of things like possible hazards, substances, incidents, and workers coming in and out of a site. Keeping track of all this data and keeping workers aware of this information and any updates that occur is not easy to do in real time. With the ZeroHarm mobile app, workers can sign in and out of sites while also having and receiving updates on information like hazards and locations on the site which may be harmful. This app is built in React Native and makes use of the internet to communicate information. This project has produced a working prototype app to this idea. This app was evaluated through both unit testing within the React Native environment and user tested by real site-workers.
Development of an Agency Partner Portal for RescueMetrics
In response to the evolving needs of agency partners and the dynamic digital landscape, this project seeks to transform the user experience within the RescueMetrics web-application by introducing a comprehensive set of new features and pages. The project implemented a new onboarding flow, created an overview one-stop-shop dashboard for aggregated data insights, enabled rebate payment tracking, and implemented account permissions along with brand transfer functionality.
Web Application for Pollution-Aware Route Planning
Air pollution is linked to adverse effects on respiratory and cardiovascular health. It is estimated that outdoor environmental air pollution was responsible for causing 4.2 million premature deaths worldwide in 2019. Studies indicate that mitigating exposure to air pollution can lower mortality rates associated with it. One way to reduce exposure is by planning better travel routes for individuals at risk. As it stands, people sensitive to air pollution in Aotearoa New Zealand and in many countries internationally do not have access to tools that would assist in decreasing their outdoor exposure to it. Additionally, route-planning tools are limited in how the search is done and what metrics are used. To address this, a web application for route planning using air pollution data has been developed. The web application has three main components; a database server, a service logic server that contains the search algorithm and pre-processing scripts, and a user interface that communicates with the service logic server. Air pollution readings were taken in the Greater Wellington region and are spatiotemporal data mapped onto real geographic locations. Data is normalised using New Zealand’s National Environmental Standards for Air Quality (NES-AQ). The pathfinding algorithm uses a distance and air pollution-based heuristic with weights for all parameters. The resulting application allows users to customise route searches to prioritise or exclude air pollutants and also include road distance as part of the search heuristic. The paths found by the application are consistent and reproducible and allow users the ability to fine-tune searches to fit their needs and gain insights about air pollution in Wellington roads.
Mobile Automation Testing Framework and QA Dashboard
This project has two parts. The first is on the evaluation and implementation of an automation testing framework for a mobile application, Onsite, and the second is on the design and creation of a dashboard for the QA team. Onsite is a mobile application for property valuations in India with a focus on alleviating its complex, inaccurate, or missing property addressing. However, the lack of automation in Onsite could lead to erroneous code leaking to releases. Moreover, the cost and time in finding and fixing bugs post-release is significantly higher than prevention through automated tests. Therefore, the first part of the project was on the evaluation and implementation of an automation testing framework for Onsite. The results of the evaluation have proven to be sufficient as it can produce the functionalities of the application in the testing scripts efficiently. The testing framework utilizes WebdriverIO, Appium, and BrowserStack. However, divergence occurred from the original goal after Onsite faced major changes that would invalidate the efforts of automation, resulting in the shift in focus from the implementation phase to code architecture, readability, and structure, instead of code coverage. As for the second part of the project, the QA Dashboard, the results are satisfactory as per stakeholder feedback. Moreover, it is evident that the QA Dashboard is satisfactory as it fulfils the original goal of providing an overview for the QA team and its managers. Specifically, the managers can utilize the dashboard during stakeholder sessions to show the status of automation within the squads and projects, while the QA team is able to determine priorities for the upcoming sprints based on areas lacking manual or automated testing.
A Wayfinding Mobile Application for Visually Impaired Users in Wellington Regional Hospital
Hospitals can be very difficult and confusing to navigate, and visitors can get lost easily, resulting in missed appointments. This not only causes inconvenience for patients and visitors, but also consumes valuable staff time as they assist in giving directions. This is especially an issue in the Wellington Regional Hospital where refurbishments and the addition of buildings have only made this more confusing. This problem is particularly acute for visually impaired people who may require additional assistance with wayfinding. This project aims to design and develop an existing wayfinding mobile application to enable interactive wayfinding for both visually-impaired and non-impaired users at the Wellington Regional Hospital. The existing application did not implement turn-by-turn navigation or accurate location detection. The project developed a new mapping service in the existing application, and further built on the application by including turn-by-turn navigation and audio prompts. Improved location detection are achieved by the use of Bluetooth Low Energy (BLE) beacons deployed around the wayfinding area. Evaluation of the mobile application involved visually-impaired and non-impaired individuals navigating to a location in order to determine the feasibility and overall success of the application. This analysis gathered invaluable insights, assessing not only the application's feasibility but also its accuracy, and overall effectiveness in addressing the complex wayfinding challenges faced by both categories of users.
IoT Workflow Scheduling in Cloud and Edge
IoT devices are becoming more and more common every day and play a huge part of our everyday lives and with these devices often having low processing power and availability to resources they also make use of edge and cloud servers. With all this information needed to be processed from different devices, it must be decided on what and when they are processed. From this, the IoT workflow scheduling problem is where we must organize through the workflows that are generated from various IoT devices and decide how they should be executed. To solve this problem this project proposes a Particle Swarm Optimization (PSO) based algorithm that can find a near-optimal solution to IoT workflow scheduling in cloud and edge. This solution is developed to focus on reducing both the energy and the makespan of executing a set of workflows. With this proposed solution we thoroughly evaluate and compare its performance against already existing methods using benchmark workflows showing the algorithm ability to efficiently find a near optimal solution.
Surveying the .NZ Top Level Domain: Business Sector Categorisation
There is a vast amount of information present across “.NZ” domains, but no publicly accessible or viable tools or resources exist to categorise them. All currently existing solutions are either heavily rate-limited or require expensive monthly subscriptions, leaving no affordable option to categorise our dataset of 210,000 “.NZ” domains. Combining this new business category dimension of data with other data sets such as the Transport Layer Security (TLS) information or cookie usage of ”.NZ” domains would enable us greater insight into the landscape of New Zealand’s digital presence. With such a rich dataset, we can draw conclusions as to which of New Zealand business sectors are the most or least secure, which sectors have the greatest online presence, and more - providing a solid foundation for further research into how Aotearoa New Zealand’s online presence impacts our economy, cyber-security, and more. This project surveyed publicly available options for domain business categorisation, alongside developing a system capable of rapidly extracting website information and classifying it into one of 25 business categories. The developed classifier uses the ‘transformers’ Python library and categorises a test dataset with 70% accuracy, using only a website’s title, description, and keyword meta-tags. A command-line interface was also developed using the ’click’ Python library to allow for information extraction and classification via a scripting interface, enabling automation and integration with other systems. Thirdly, an SQLite database was designed and populated with both our dataset and information extracted from domains. With this system, it was discovered that the top ”.NZ” domain category in the dataset is ‘Business’ at 79,815 instances, followed by ’Arts & Entertainment’ with 25,983 instances, and ’Shopping’ with 12,647 instances.
An Authentic Physics-Based Traction Trebuchet Simulation in Unreal Engine 5
History is commonly perceived as boring and irrelevant to modern youth due to the inaccessible and often dark nature of literature surrounding it. Video games provide a very unique medium to retell stories of epic battles and survival against threats that we rarely worry about today, allowing a broader audience to engage with and learn from our rich history. Traction trebuchets were used for centuries in medieval siege warfare, yet the researcher did not know of their existence prior to starting this project due to the lack of representation in modern media. This project sought to use this modern medium to simulate the machine that would have saved and destroyed many lives with accurate physics and create a fun experience to discover history in a comfortable and accessible setting. In working on this project, it has become clear that the initial vision for this project was ambitious and the game has not lived up to its full potential. However, the physics simulation and accuracy of the trebuchet have been continually prioritised as this will be the most useful artifact to use in future work in this area. The initial work has provided context on some of Unreal Engine’s current physics capabilities, documentation of solutions to bugs created during development that may trip up new learners to Unreal Engine, and a prototype of a traction trebuchet simulation for users to interact with.
Cyber Adventure - An Education 2D RPG Game to teach Cybersecurity Concepts
In today's digital age, there exists a pressing need to educate students about cybersecurity principles. However, traditional teaching methods can often be inaccessible or tedious. Recognizing this gap, this project, proposes a novel approach to addressing this educational challenge. It introduces a 2D RPG web-based game which is designed to create an engaging learning environment for students. Beyond just mere entertainment, this game integrates interactive mini-games and puzzles tailored to convey core cybersecurity concepts. These puzzles are carefully crafted to provide players with hands-on experience to face real-world scenarios and challenges in a fun, virtual environment. The aim of the project is not just to educate but to captivate beginners, especially those with minimal prior knowledge in cybersecurity. By transforming passive learning into an active discovery process, this approach has the ability to ignite a passion for cybersecurity in students. Initial user feedback and surveys suggest a promising trend: participants consistently report heightened interest and retention of the subject matter. In conclusion, the project offers a novel solution to a contemporary educational challenge, presenting an instructive tool that makes learning cybersecurity both enjoyable and effective, paving the way for innovative teaching methods in the digital era.
Front-End for a Semi-Automated Grading Tool
Motivated by the shift towards online teaching, an application which semi-automates the grading of long-form questions would not only save time but could be more accurate. The education sector frequently grapples with the challenge of efficiently grading a large volume of student submissions. Addressing this challenge, this project developed the front-end interface of a semi-automated grading tool that promises to streamline the grading process, thereby enhancing efficiency and reducing potential biases. The foundation of this tool's evaluation mechanism is built upon the utilization of four distinct distance metrics, each meticulously selected to calculate the disparity between student submissions. Questions and submissions can be imported directly into the application, and once the grading has been completed, they can be downloaded and exported. To cater to a dynamic and interactive user experience, the project leverages the capabilities of Next.js, a robust React framework known for its performance and scalability. This framework was selected not only for its rich set of features but also for its server-rendering capabilities, which will facilitate the real-time processing of data, critical for instantaneous feedback during the grading process. This application provides an education tool that can be used by lecturers to help better utilise their time, spending less time marking and more time teaching.
A Hate Speech Classifier Trained to Predict a Distribution of Ratings
This project developed and tested an alternative methodology for dataset creation informing AI hate speech classifier systems. Information on AI development and training is largely kept private by social media companies that utilise them, including hate speech classifiers that are intended to protect people from being exposed to harmful content. This is problematic as there is little community input nor knowledge on the tools which are control the content they are served online. The methodology proposed by this project attempts to address this by asking people disproportionately targeted by hate speech online to inform the hate speech classifier developed by annotating instances of hate speech to create a dataset according to this project’s methodology. Those targeted by hate speech were asked to annotate in subscription to an ethical idea that they have a right to input in this process and they will be more effective at determining what counts as hateful towards members of their own group. As this is a pilot study practicality meant that the scope is restricted to people in the Rainbow community classifying Rainbow hate speech comments left online. A substantial process for altering survey design and ethics approval was required on this project, in part due to a more sensitive subject matter and potential to harm for survey participants. The dataset creation methodology developed in this project is intended to improve upon majority rules (gold standard) annotation classification by creating a pilot dataset and methodology which can be used by classifiers for soft label annotation.
Volpara Health is a company focused on finding ways to detect breast cancer with AI in the early stages before it becomes lethal. They have a customer facing application that helps clinicians better assess if their clients have a possibility of breast cancer. Currently, Volpara has no system in place that allows a support team member to log in as one of their clients to help diagnose issues/problems with the dashboard without the client needing to provide their login information. This causes a lot of issues with privacy and security as anyone with the login information of users can access confidential files and other internal systems. This led to the need for a custom solution that allows the impersonation of a user to access the dashboard and no other service. This project provides the desired custom solution that would allow the support staff to check the customers’ dashboard quickly and efficiently for their issues causing less downtime and a better customer support experience. Tools used for developing the project include TypeScript, Angular for the front-end and C#(.Net) for the backend. The performance and security of this project are key, this requires website and backend load tests and performance metrics, as well as security tests to make sure all sensitive methods require authorization to be executed and that the website cannot be bypassed in any way to gain sensitive information. On top of these tests are user tests to make sure the solution is easy and straightforward to use without the need for extra training that would cause more overhead for Volpara Health.
Soundscape - Interactive Data Visualisations of Spotify’s Top Songs
The availability of complex and diverse data has highlighted the need for effective data representation and analysis techniques. In this context, the project addressed the challenge of exploring rich music ranking data by developing an interactive visualisation web application. By leveraging the audio characteristics of the top 2,000 Spotify tracks spanning 1999 to 2019, the project will utilise React.js to create a web- application, while employing tools provided by the D3.js library for dynamic and interactive visualisations. An integral part of the project involved conducting a user study to evaluate users’ perception, interaction, and cognitive reasoning within the visualisations. The outcome of the project is a web-based interactive visualisation system that empowers users to gain deeper insights into the music ranking data, enabling effective data exploration and informed decision-making. The system's effectiveness and usability were rigorously assessed through the user study, ensuring it meets the requirements and expectations of the intended users.
Ipipri Digital Trails: Augmented Reality
Augmented reality is a growing technology about bridging the gap between the virtual world and the real world. Most people carry around a mobile phone that is equipped with a rear-facing camera and a touch screen. Augmented reality applications make use of the rear-facing camera to place virtual elements such as three-dimensional models into the physical environment. The Ipipri digital trails project is a larger project developed by the Russell Museum that aims to showcase Māori history in Kororāreka (now known as Russell). This project developed augmented reality elements that will enhance the experience of users by showcasing three-dimensional models that people can view anywhere. Augmented reality is a relatively new technology with many features being experimental, which comes with large trade-offs. The largest is speed versus accuracy. This project leans towards the speed side of this trade-off as the accurate placement of models was not a priority. The solution that was developed uses persistent ray casting to determine where in the physical environment should be the origin of the virtual scene. This allows for the instant placement of models into the virtual scene and then uses depth information to further refine the virtual scene. Along with the augmented reality elements the solution also includes a quick response (QR) code scanning system. This allows users to scan a code to choose which model is used for augmented reality. This project is important to help make learning the history and stories of Kororāreka more engaging by giving people a visual element that is hard to otherwise recreate.
Surveying the .NZ Top Level Domain: Cookie Policy
Web cookies have become a pivotal asset for businesses and organisations alike. Their diverse utility ranges from offering personalised user experiences to enabling marketers to ascertain user engagement metrics such as page visits, page visit downtime, and on-site interactions. Such data can grant the website a personalised user experience, which in-turn can develop into monetary gain. Yet, as websites continue to employ varied and more complex cookies, so do the concerns surrounding their ethics and legality. This research contextualises this discussion in an Aotearoa New Zealand context, analysing a list of all .NZ Top-Level-Domains (TLDs), including all related subdomains such as: .org.nz, .govt.nz, .co.nz, and more. To achieve this, existing tools were utilised and a script developed capable of scraping web cookies. This method enabled the extraction and analyses of cookie data from nearly 250,000 NZ TLD websites. Before commencing with the main script, supplementary scripts were incorporated to filter out defunct domains or those flagged as malicious according to the Google Safe Browsing API standards. To deal with the time-consuming nature of cookie scraping, a 10 second time limit was included for each domain, ensuring that the process remains aligned within the project timeline. The results have unveiled intriguing patterns regarding the types of cookies Aotearoa New Zealand businesses employ. These findings can act as a reference point, not just for businesses in Aotearoa New Zealand, but their corresponding user bases. This research not only reveals the current landscape of cookie usage in Aotearoa New Zealand, but can serve as a foundational study for future digital ethics inquiries, policy making, and for businesses seeking to align their practices with known standards while respecting user privacy.
Learning to Use Money through Reinforcement Learning
Money, in its various forms, has played a pivotal role in shaping civilisations throughout human history. By facilitating cooperation among strangers, currencies have enabled monumental advancements in trade, settlement, and migration that surpassed the limitations of barter systems and other early exchange mechanisms. But despite its benefits and ubiquitous nature, it remains a mystery how humans learned to use these mediums of exchange in the first place. This project explored the origins of money through reinforcement learning, chosen for its resemblance to human learning processes. Two multi-agent Q-learning models were designed, developed, and experimented on, drawing from recent research into safe swapping behaviours. The first model, or the “swapping model”, examines whether a population of agents can naturally learn the behaviours necessary to perform safe swaps with strangers in discrete meetings. The second model, or the “token model”, builds on this by investigating learned agent behaviours when inherently worthless yet persistent tokens are introduced in a continuous stream of meetings. With the versatility to represent a diverse range of swapping scenarios and interactions, these models provide valuable insights into the motivations behind money’s use and the fundamental requirements for a population to adopt such behaviours.
Time management for students is a significant challenge for students. Evidence indicates that without adequate tools or support, many students struggle with time management, leading to increased procrastination, increased workloads, missed deadlines, and poorer academic outcomes. While mobile time management apps exist, they often present steep learning curves and demand significant time investments to be effective. The Student Planner App project addressed these barriers by developing a mobile app featuring a calendar-based heat map to provide an intuitive visualisation of a student's workload. This visualisation highlights areas of increased workload and thus provides feedback on students' time management across their courses to provide them with proactive time-management opportunities. Additionally, the app utilises gamification principles to enhance student engagement with the application and their studies. The app's design allows the potential for seamless integration with academic platforms to automate configuration and minimise the effort required to use the app. Therefore, the Student Planner App project can enhance student academic achievement and mental well-being by offering an intuitive solution to student time management challenges. An empirical assessment of the Student Planner Project is in progress to evaluate its effectiveness. Potential avenues for future development involve expanding the application's gamification features, such as adding level progression, unique items, and experience points to enhance user engagement further.
DOM Instrumentation to Display Provenance Data
With ever-evolving privacy laws, end users of software systems are increasingly expressing concerns about the usage of their data. Real-world incidents, such as the 2019 data breach affecting up to 112,000 Air New Zealand Airpoints customers, have contributed to a growing awareness of data privacy issues. In response to these concerns, Aotearoa New Zealand regulators re-evaluated the privacy act in 2020, imposing financial liability on data providers to mitigate potential breaches. To address the intentional obscurity of end users' data, this project contributes to an infrastructure enabling users to monitor the usage of their data when interacting with web applications. This is done by providing end users with increased transparency regarding the handling of their data during web browsing. Modern web applications have complex layered architectures, often involving server-side applications with existing solutions. Developing and retrofitting systems to support this transparency is both intricate and costly; hence, automation was the desirable approach. This research explored the implementation of a solution by extending support to an additional layer, exposing existing provenance data from the server-side domain to the client-side domain through manipulation of the client-side Document Object Model (DOM). This data was displayed back to the user as a pop-up instrumented within the DOM. To achieve this objective, a range of prototypes were developed to instrument the client-side DOM and expose existing provenance data. These prototypes included browser plugins, pure JavaScript instrumentation, and framework plugins. The project assessed the performance of each prototype by measuring performance overheads to determine whether the added performance cost is worth the functionality.
Designing a Computer Game to Teach Computer Science Concepts
This project attempts to solve the problem of people struggling to learn computer science coding, in particular threshold concepts such as conditional statements, methods, and recursion. Which, without understanding, prevents learners from continuing progression. This problem is solved with a fun, engaging and interactive video game that uses constructivism techniques. The game contains blocks of code, with simple phrases, numbers, or words on them, that can be arranged to create functioning code structures. To test and evaluate the game, some level 300 and 400 COMP/SWEN students played the game, providing thoughts and feedback throughout development. Regular user testing and feedback has been very insightful for this project providing many new ideas, thoughts for improvement and finding problems and bugs through different perspectives. The current version of the project has 22 levels ranging in difficulty which contains simple code structures, infinite/looping code structures, logic comparisons, multiple simultaneous code structures, multiple controllable players entities, codable controlled entities, and method blocks which can be called, and cause recursion within itself. Current constructivism ideas include simple mazes, Snake, and Pong levels where the user has to create code for aspects (e.g the ball movement in pong), with their own pre-existing knowledge, of the widely known game/idea.
Cricket is a complex sport that provides a great wealth of online data for potential analysis and discoveries. The problem is that this data is not very accessible or digestible because it is presented in a tabular format and in large amounts. The purpose of this project was to investigate and implement a web application that enables users to visualise batting data in men’s ODI cricket. The impacts of this data visualisation app are that users can easily learn more about cricket and its rich history by discovering patterns and trends in the data. This will give fans a greater appreciation for the sport, in addition to educating those who are new to cricket and wish to learn more.
Improving TCP CUBIC Congestion Control with Machine Learning
Transmission Control Protocol (TCP) is commonly used for reliable internet data transfers. However, TCP can experience packet loss due to network congestion. Packet loss happens when data doesn't reach its destination for various reasons. In recent years, there has been a growing inclination towards adopting novel, clean-slate learning-based designs as alternatives to traditional congestion control mechanisms for the Internet. However, it is posited that integrating machine learning techniques with the current congestion control schemes can achieve comparable, if not superior outcomes. This project endeavoured to address this gap and implement a system that can utilised with TCP CUBIC. The proposed method looked to enhance the efficiency of the TCP CUBIC congestion control by incorporating machine learning techniques. TCP CUBIC, the default congestion control variant in the current Linux Kernel, modifies the congestion window size based on a loss-based algorithm, thereby influencing the rate of data transmission. TCP CUBIC uses a parameter, beta, to modify the rate at which the congestion window grows. The approach involves employing a model-free reinforcement learning algorithm, specifically a Q-learning algorithm to optimize the TCP CUBIC beta parameter, targeting an increase in throughput for TCP CUBIC connections. Through extensive testing performed in various simulated network conditions demonstrates the performance and adaptability of the Q-Learning algorithm. Furthermore, this report details the various development decisions undertaken and their driving influences. It also provides an insight into the project's results, expanding on the existing system design, and elaborates on the potential for future work in this area.
Discovery of Neural Network Weight Update Equations Through Genetic Programming
The current state of machine learning algorithms is that they mostly rely on manually crafted designs. How to update the weights in a Neural Network (NN) is still a currently researched and open topic of discussion. Genetic programming (GP) is a machine learning technique that can automatically generate functions. It does this by simulating the process of natural evolution, where programs are encoded as chromosomes and undergo mutation, crossover, and selection. This process allows genetic programming to find new and innovative algorithms that may outperform those that are manually designed. Apply GP to the task of discovering functions describes how the weights can be changed in a NN. The proposed method has the potential to discover new equations that can enhance the performance of machine learning algorithms, such as an evolved weight change equation or the back-propagation operation of neural networks. The performance of these new algorithms are compared with the commonly used handcrafted designs. This research could potentially lead to overall improvements in the performance and efficiency of machine learning algorithms, contributing to more advanced and accurate models. The current findings from the GP developed are equations that are similar to the manually crafted weight change equation (back propagation) used in Neural Network’s hidden-layer weights. The GP algorithm also re-discovered the standard weight change equation for a perceptron. The end goal is to re-discover the whole weight change equation for all layers of a Neural Network and show that GP is able to discover complex equations.
The Final Year Project Marking System addresses the need for an efficient assessment process for Engineering and Computer Science (ECS) final year projects at Victoria University of Wellington. These projects carry significant weight within the ECS curriculum, characterised by unique individual projects and multiple examiners involved in grading. Moreover they are worth double the points of other ECS courses. The current reliance on the ECS Assessment System for marking presents challenges, including manual cross-referencing and reduced productivity for both examiners and course coordinators. To address these challenges, the development of a dedicated web-based marking system is proposed and implemented. This system is designed to optimise the assessment process with distinct user interfaces for course coordinators and examiners. Course coordinators can monitor progress and ensure fairness in grading, while examiners can focus on efficiently marking their assigned submissions. The web-based system is intended to elevate the grading and feedback process, ultimately benefiting both students and faculty. The chosen technology stack includes TypeScript and Next.js for full-stack web development. Microsoft’s Fluent UI Library is used for visually consistent components, with Tailwind CSS introduced for enhanced design flexibility. Meanwhile, a MySQL database and schema serves as the foundation for the system’s relational data storage. An evaluation of the system's effectiveness and usability stems from a questionnaire-based survey conducted on faculty staff. Finally, future work is presented, which is now possible due to the completion of the marking system.
Design and Develop a Game for Teaching Programming Concepts to Beginners
The field of software engineering education faces a significant gap in addressing the vital aspect of software testing, particularly teaching exploratory testing that goes beyond the happy path. Existing educational resources often fall short in preparing students to test software thoroughly early, leading to deficiencies when furthermore learning real-world application development. To bridge this gap, project embarked on the development of a Java-based educational game. This game serves as a dynamic platform for imparting programming concepts while placing a specific focus on cultivating non-happy path exploratory testing skills. The motivation behind this project stems from the pressing need to equip software engineering students with the skills and mindset required for testing, which is undervalued in a software engineer. The innovative educational game was meticulously designed to engage players in a stimulating environment that challenges them to think beyond first-thought programming. By encouraging exploration of non-standard scenarios and testing the behaviour of simple programs, the game not only enhances players' programming acumen but also helps the learner appreciate and better quantify the importance of testing. Key functional requirements of the game encompass progressively advancing levels, each increasing in complexity, ensuring that players unlock the next stage upon successful completion. Furthermore, the game offers players the autonomy to seek hints when needed, striking a balance between fostering progression, and preserving the gratification of independent problem-solving. In the landscape of educational games, this project stands apart, as it uniquely explores the domain of testing—a facet rarely ventured into. The distinct style and content of this game offer a fresh perspective, filling a void in the educational gaming arena.
Discovering input parameters that yield optimal outputs in black-box functions poses a challenge in various domains, including machine learning and robotics applications. These challenges stem from the complex relationships among input parameters and between inputs and outputs, relationships that are unknown to the search algorithm. This means conventional mathematical techniques like gradient descent and differentiation are inapplicable, instead necessitating a systematic trial-and-error exploration of inputs. Numerous algorithms have been developed to address this issue; however, their performance falls significantly short of perfection. Recognising the potential for improvement, the objective of this project was to design, implement, and evaluate novel algorithms aimed at addressing limitations within existing ones and surpassing their performance. This evaluation necessitated the creation of a testing environment to facilitate robust comparisons between different algorithms. Particular emphasis has been placed on stochastic methods that harness probability distributions to guide the exploration of potential optimal inputs. Within this scope, CMA-ES and Bayesian Optimisation have both demonstrated success through different techniques, but they also exhibit significant shortcomings. As such, the project explores concepts that leverage the successful aspects of both algorithms to address their flaws and enhance performance. The research has produced two innovative enhancements to these existing algorithms and demonstrates their potential to surpass current performance.
Augmented Reality (AR) is increasingly recognised as a transformative interface for combining the physical and virtual worlds, thereby elevating user engagement and comprehension of learning topics. This project leverages this capacity through a projection-based AR setup that incorporates a Kinect V2 sensor, a projector, and a box of sand to forge an interactive sandbox environment. In this setup, real-time manipulations inside the physical sandbox have a direct impact on a digitally rendered visualisation that is then projected onto the sand bed. The defining accomplishment of this project is the porting of sandbox software that ran on an outdated OpenFrameworks v0.9.8 to the state-of-the-art Unreal Engine 5 platform. This technological leap accomplishes two objectives: it updates the application with modern visual capabilities and enhances its scalability and overall performance. The transition grants access to a range of advanced graphical features, debugging tools, and an extensive developer community supportive of Unreal Engine 5. Consequently, this means the project has been freed from the maintenance hurdles that were associated with previous attempts to update the OpenFrameworks system to newer versions. This change opens the door for virtually endless possibilities of further features and improvements. With the switch to Unreal Engine 5, the project now has huge potential for innovative changes that could reshape how we interact with the augmented reality sandbox.
Generating data from complex data distributions has been a long-standing problem in the field of artificial intelligence, with generative models offering many opportunities in rapid content creation, increasing efficiency, and many other use cases. Diffusion models are one class of generative models that have seen great success in recent years. In this work, we look to leverage current state of the art diffusion methods to generate musical audio. By estimating the gradient of an unknown target distribution, diffusion models have the capacity to generate new data samples from complex data distributions. Recent work has seen improvements to diffusion methods, particularly in training and sampling procedures that have allowed for improvements in sampling quality and cost. This project presents the usage of contemporary diffusion techniques for the purpose of musical audio generation and discusses the effectiveness of diffusion models in this setting. The work comprises of converting a dataset of classical piano pieces into a set of spectrogram images that are used within a diffusion-based setup to generate novel spectrogram images. The project converts generated spectrogram images back to raw audio, resulting in short audio sequences that resemble audio from our training set. Finally, the paper discusses opportunities for future work for diffusion methods, particularly in the domain of audio generation.
Immersive and Interactive 360 Video Editing for Virtual Reality
360 videos are an increasingly more common way of viewing content on the internet. They are also best viewed in virtual reality, as it offers a higher level of immersion that suits the video format in comparison to a standard computer monitor. The usage of virtual reality is also on the rise both for entertainment and education. Logically, editing 360 videos in virtual reality would offer this same immersion, potentially allowing for a better final video. Current video editing tools are either not available for virtual reality or only offer limited functionality. Many of these tools also do not handle the unique challenge that 360 videos pose. Making edits with these limitations can lead to interrupted workflows and mis-edits. During this project a prototype framework was built. This prototype allows for pixel-wise 360 image and video editing, previously untested in virtual reality. The project was built in Unity engine and uses two C++ implementations of video editing techniques: colour editing that differentiates between foreground and background, and a simple usage of optical flow that allows a user drawn piece of ‘graffiti’ to remain consistently placed between video frames. User testing was done to test both the user experience and effectiveness of the prototype, as well as getting aesthetic opinions on the video edits. This user testing as well as other limitations of the prototype have been anonymised and documented, giving a clear path for future work.
Efficiently generating realistic human motion presents a significant challenge across various domains, including animation and robotics. Traditional handcrafted motion sequences for animation, is notoriously time-intensive and skill-demanding. On the other hand, motion capture technology, while being very effective for real-word data, often incurs high costs for the equipment and may produce noisy data requiring further work. This project focused on the development of autoregressive conditional diffusion models tailored to human motion generation. A comprehensive examination of existing state-of-the-art motion models that utilize diffusion and normalizing flows while acknowledging other generative models was conducted. Limitations and opportunities for enhancement in these models and propose generalizable solutions were identified. The research contributes to the ongoing evolution of generative diffusion techniques, particularly in autoregressive generative models. Furthermore, it provides an additional tangible demonstration of autoregressive diffusion using a toy model showed in an intuitive way that does not require animated sequences. This will further illustrate the model’s potential for time-series tasks and its ability to be applied to other domains while producing convincing results. By thoroughly evaluating our model and its capabilities, the aim is to provide a valuable contribution to the field with explorations into important hyperparameters and model architectures. This work underscores the importance of understanding and addressing challenges in predictive time-series tasks, thereby advancing our collective knowledge in this area.
Machine Learning for Interpretable Age Estimation
Age estimation from facial images has been growing as a machine-learning topic as it has many real-world applications. It can help with security control for minors, human-computer interaction based on age, and law enforcement concerning identity. These various problems could be solved by building and understanding a machine-learning model that labels a facial image into an age range. This comes with its fair share of issues such as people ageing differently due to genetics, the environment, or the facial photo quality. The motivation behind this project is to see which facial features contribute to age. To see this, genetic programming (GP) was specifically used, as its inherent interpretability helps interpret and understand how the model reaches its final age estimation. The results of this project include how accurate the GP is in estimating a person’s age compared to existing solutions, and analysing why the GP picked certain regions over others and how these regions contribute to the final age estimation.
Space is the final frontier and engaging people with Space Science through Virtual Reality (VR) is uncharted territory. Increasing engagement Space Science can inspire students to pursue a career in science, technology, engineering, and mathematics (STEM), giving them the skill set to help solve societal issues. This project has developed SpaceVR, a virtual reality software application designed to increase engagement of High School students with the Space Science subject. The project furthers our knowledge about science outreach by exploring whether integration of scientific data and the addition of gamification elements to a VR experience increases user engagement. Within SpaceVR people can learn about solar phenomena by viewing real images of The Sun taken by NASA's Solar Dynamics Observatory (SDO) spacecraft and experience the effects of solar flares. Virtual reality applications exist on a spectrum ranging from purely entertainment through to training and education. Previous work has investigated whether educational VR applications can affect student interest in STEM subjects. SpaceVR aims to be in the middle of this spectrum, providing an engaging outreach experience, rather than being purely for entertainment or education. SpaceVR was evaluated at the Victoria University of Wellington Open Day with high school and university students. The results of the evaluation indicated that the experience was novel, enjoyable, and immersive. The usability of the experience was found to be slightly poor. Some participants found the player activity and tasks disengaging. Some participants found the controls difficult to use.
Logical programming languages, for instance Prolog, are powerful tools for solving complex problems through declarative programming. Comprehending and analysing such logical programs can be challenging due to Prolog’s dense textual notation. This can create challenges such as understanding complex logic, and difficulty in identifying errors. To mitigate these issues, the Prolog Visualisation project developed a visualisation tool that can display a Prolog clause in a graphical manner, for improved comprehension and analysis of logical programming. The objective of the project was to develop a layout algorithm that produces visualisations that express the semantics of the Prolog code being visualised. The deliverables of the project consist of a web application, both server-side and client-side, which allows the user to enter Prolog code and generate a corresponding visualisation for it.
Integrating Kibana Dashboards into ContentWorX
TEAM IM is an Aotearoa New Zealand-based company with multiple clients who possess a large number of documents, each of which has rich metadata that is important to those clients. Currently, TEAM IM clients use ContentWorX to store the metadata of the documents and Kibana to visualise dashboards of the metadata. The core problem is that Kibana’s current dashboards are not particularly useful and are not integrated into ContentWorX. This makes it difficult for clients to view the relevant information that they need. The solution proposed is to fully integrate Kibana dashboards into ContentWorX and redesign the dashboards. The consequence of this solution would be that TEAM IM clients will be better able to understand and analyse the metadata of the document, as well as explore and visualise the data in a way that is simpler for them.
Visualising the Global Community: Women in STEM, Education, and the Workplace
Women often face unique challenges, which can go unnoticed by their peers, especially in education, workplace leadership, and the field of Science, Technology, Engineering, and Mathematics (STEM). This can lead to women facing obstacles in their careers due to gender stereotyping and discrimination. This project provides a starting point for people wanting to increase their awareness of these issues faced globally by women and initiatives that aim to combat them. To achieve this, a web-application was developed that displays interactive data visualisations using the D3.js JavaScript library. A user study was also undertaken to assess its effectiveness and usability.
Machine Learning Techniques for Fish Breeding Decision Making
The New Zealand Institute for Plant and Food Research has been working on creating breeding programs for the Australasian Snapper (Chrysophrys auratus) to breed snappers that mature faster and are high quality. Part of the breeding program goals is selecting individuals that produce quick-to-mature offspring. To accomplish this, they collected the genomic makeup of snappers into a dataset. However, the collected data does have missing values in some features, which require imputing to use those features to classify fish that grow fast and slow. As the genes responsible for controlling the growth rate in Snapper are currently unknown, the dataset must maintain most of the features to identify the genes most likely for controlling the snappers' growth rate. This project aimed to discover whether the data imputation methods used impacted the ability of a machine learning classifier to predict the growth rate and, if so, how different imputation methods performed. This project implemented five imputation methods, specifically Most Frequent imputation, K-Nearest Neighbour (KNN) imputation, Multiple Imputation by Chained Equations (MICE), a KNN approach using domain information, and a cascading KNN imputation method using domain information. The KNN and MICE approaches have two different parameter settings for imputation. This project evaluated these imputation techniques using a Random Forest classifier. The results showed that all imputation methods are robust to the test train split and random state used in the random forest classifier. The classification accuracies were similar between the imputation methods. Results indicated that domain-based imputation approaches did perform better than other imputation techniques. The results showed that using domain-based imputation techniques could improve the overall results of the imputation techniques.
Beyond the Four Key Metrics: Quantifying DevOps Practice
This project extends the standardized methods of managing software delivery, to ensure developers are provided with meaningful in-depth feedback on their practices. The problem with the standardized metrics is that they are too broad and do not consider the wide-ranging statistics that GitLab repositories have to offer. Some repository statistics such as milestones, pipelines, and epics, to name a few, are presently unexamined by management features such as GitLab's 'Value Stream Analytics'. This project provides richer statistics that should be analyzed when the software delivery process is being managed, which will also enhance and give guidance to how features such as 'Value Stream Analytics' can be extended. This project follows the structure of ‘Process Mining’ streamlining the process of collecting source workflows, comparing them against the model workflows, to perform discovery methods to understand how to improve the model workflows. This allows the chance of introducing important statistics which are pivotal for measuring DevOps performance - through taking source workflows and judging their performance against the existing DevOps metrics, along with additional analytics that should be considered when measuring productivity in a DevOps environment.
Understanding Sickness and Emotional Experiences in 360 Degree VR Motion Simulators
Simulating real-life scenarios for training and entertainment purposes in Virtual Reality (VR) is more realistic than ever before. Currently available VR head-mounted displays are unable to match movements in VR simulations to real physical movements effectively. Eight360’s Nova Device is a 360-degree VR motion simulator which physically moves its user in time with their virtual movement in VR simulations. The Nova brings to light new unknowns on whether 360-degree motion simulation adversely affects VR motion sickness (cybersickness). This project developed a spaceship flight simulation game for the Nova to evaluate motion sickness symptoms. A user study was conducted to evaluate the symptoms experienced and to better understand the causes and effects of these symptoms to inform future design of VR simulations and 360-degree motion simulators.
Genetic Programming Hyper-Heuristic for Emergency Medical Dispatching
Emergency Medical Dispatch (EMD) defines the healthcare task concerning the assignment of paramedic resources (equipment and people) to emergencies in the community. Due to the random and unpredictable nature of such tasks, EMD is highly dynamic. Research exists using Machine Learning to automatically learn heuristics for EMD via the Genetic Programming Hyper Heuristic (GPHH) technique. This project seeks to improve upon such existing research by implementing multi-fidelity techniques. In particular, by training GPHH models on city networks (graphs) of varying fidelity. The models produce lower-fidelity graphs by subdividing a source graph into boxes, and quantising locations within each box to a single location. The fidelity of graphs is then dictated by the size of the subdivided boxes. The computation savings afforded by multi-fidelity techniques decrease model training time on graphs generated from real-world ambulance coverage areas, whilst not significantly impacting training or test performance. The multi-fidelity models were evaluated against pre-existing models on two real-world graphs, the Wellington and Christchurch ambulance coverage areas, to investigate the feasibility of applying multi-fidelity techniques to EMD.
Traditional honeypots have long served as valuable tools for monitoring and studying attacks on both research and production networks. However, their inherent static nature falls short in accurately reflecting the dynamic landscape of today’s networks. Modern networks comprise of changing hosts and devices that frequently connect and disconnect, making honeypot's single-host, open-port setup with its static address conspicuous amidst the network activity. To address this static nature, dynamic honeypots automatically deploy and configure hosts, enabling them to blend harmoniously with the network's existing environment. This paper introduces a dynamic honeypot design that automates the configuration and deployment of Cowrie honeypots within a network environment. Importantly, this system boasts the ability to be deployed without prior knowledge of the network's topology or associated hosts.
Longitudinal Analysis of SSH Honeypot Logs
Visualising attacks and attack patterns from Cowrie SSH honeypots can be challenging when working and handling vast amounts of data over a long period of time. Difficulties can arise when handling complex log files from cowrie honeypots in a JSON format. However, it is important to be able to extract meaningful information to identify trends and patterns performed by attackers over a specified period. A command-line tool was developed using a MapReduce programming model to process large amounts of log data efficiently and in an acceptable timeframe. However, the current solution only visualises features extracted over a short timeframe. Gathering and capturing information over an extended timeline can help identify changes in attackers’ behaviour for specific periods, adding additional information to those already accessible aggregated data. The project applied captured data logs from multiple instances of Cowrie honeypots deployed by the cybersecurity team at Victoria University of Wellington (VUW) and used them to integrate a longitudinal analysis to visualise attack and attack patterns over a long period of time.
Opcodes to Images: A Framework for Early Detection of Ransomware by Utilising Machine Learning Techniques
Ransomware is a type of malware that can be used by attackers to encrypt data on a victim’s system and demand a ransom for the key. Ransomware is a devastating problem for individuals and businesses worldwide. The evolving world of technology opens the gates for information to be stolen and destroyed by ransomware, causing massive financial and personal data loss. To mitigate the harmful impact of ransomware, it is crucial to develop solutions that can prevent attacks by detecting them early. The problem with ransomware is that it is often not discovered on a system until it has run and by then it is too late to prevent all the damage it causes. This project addressed the problem by developing a Convolutional Neural Network (CNN) machine learning model trained on images created out of ransomware opcodes that will be able to classify a file as ransomware, detecting it on its way into a system.
New Zealand Wide Internet Scanning Data Analysis for Interesting Trends
In our increasingly digital society, understanding cyber behaviour and trends in Aotearoa New Zealand is vital for individuals and organizations to enhance their cybersecurity practices and protect themselves effectively. However, there is currently a limited amount of publicly available information regarding cyber behaviour and trends specific to Aotearoa New Zealand. This project addresses this issue by developing an effective tool that will help to visualise interesting trends found in the data collected by ZX Security. Given the dataset's size, research has been conducted to identify the most effective data handling and processing methods, ultimately choosing indexing and projection for efficiency. The tool extracts relevant information from the data and generates results in the form of graphs, which will be analysed and compiled into a publicly accessible report. By providing insights into Aotearoa New Zealand's cybersecurity landscape, this project contributes to a safer digital society, promote improved cyber practices, and bridge data gaps, ultimately fostering a more secure online environment.
Modelling BGP Updates for Anomaly Detection using Machine Learning
This paper outlines the problem of detecting and visualising Border Gateway Protocol (BGP) update anomalies in real-time. Detecting and visualising these anomalies in real-time matters because it can help prevent impacts such as denial of service, service slowdown, or loss of revenue that results from accidental or malicious BGP updates. This project solves this problem by creating a program that can visualise router topology and detect BGP anomalies in real-time. Access to historical and live BGP traffic was required, and sourced from the University of Oregon Route Views Project, RIS Route Collectors, and RIS Live. The output of this project is a system that can detect and visualise anomalous BGP updates, allowing network teams to minimise the effect of such anomalies.
The Internet serves as a critical platform for exchanging sensitive information, encompassing businesses such as banks, online stores, and government agencies that routinely transmit and receive personal data over the Web. Ensuring the security of this information is of paramount importance. The security protocols Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), play a vital role in securing the modern web. These protocols implement various security measures to ensure the confidentiality, integrity, and authenticity of the data exchanged between web browsers and web servers. Nonetheless, the improper configuration and implementation of TLS/SSL protocols on web servers can introduce security vulnerabilities, potentially compromising user privacy and security. This paper contains the results and conclusions derived from a comprehensive survey of TLS/SSL configurations among websites registered under the .nz top-level domain name. The project evaluated the current TLS/SSL configurations in place and compared them with the latest web security standards and best practices. The findings provide valuable insights into the security posture of websites within the .nz domain, highlighting potential risks, vulnerabilities, and areas of concern. By doing so, we contribute to the broader understanding of web security best practices and help businesses and individuals make informed decisions to enhance the security of sensitive online data.
A sandbox is a system that provides a safe environment for analysis and deployment of malware samples while all the activities of the malware are captured and logged. DRAKVUF is an open-source black box analysis sandbox based on the popular Cuckoo sandbox system, which allows for safe execution of malware samples in various operating systems. The current implementation of DRAKVUF has shortcomings in terms of the web user interface which restricts user customisation of the analysis environment variables. This project extends the DRAKVUF sandbox web user interface to allow new capabilities such as: support for selection of multiple operating systems with various configurations, easy selection, and assigning environment variables that are currently hidden within the DRAKVUF configuration files or command line interface. The queuing system of DRAKVUF was also extended to allow for multiple samples to be analysed at once. A reporting component was also significantly improved by implementing the capability to generate and send comprehensive reports to a given email address provided by the user during submission. The reporting interface also provides historical data on previously submitted malware samples. The improved DRAKVUF system was hosted on an ECS server, accessible to staff and students to submit and analyse potentially malicious samples. The success of this project ws determined through a successful deployment and fully operational malware sandbox of DRAKVUF Sandbox instance and a developed web interface with several different operating systems and associated configurations.
UAV-to-UAV Communication Establishing a Leader-Follower Formation
The UAV-to-UAV communication project aimed to research, implement, and review a communications structure capable of establishing a leader-follower formation between multiple unmanned aerial vehicles. With the intention of creating a scalable and extensible system with consumer grade devices to create an accessible swarming solution this research and development process explored and implemented methodologies of drone swarm control that allow operators greater command over groups of UAVs whilst only communicating with a single access point. This lens was chosen to increase the accessibility of drone swarm solutions for enthusiast and entry level consumers who require the technology but are unable to make large investments into more costly options which provide similar behaviour natively. As such, the system explored is composed of multiple consumer grade UAVs paired with Raspberry Pi devices which form a common managing mesh network while providing processing power for supplied in flight commands. These mesh network nodes are combined with a developed ground controller application that transmits commands into the network to be broadcasted and actioned across connected devices to allow for the intended formation flying. This framework achieves the goal of departing from the standard operation of individual connections between drones and corresponding ground controllers whilst maintaining the desired accessibility and affordability compared with other contemporarily available solutions.
Latency of Fluid Antenna Systems in Mobile Devices: Is a Liquid-Metal Slug Too Sluggish?
Mobile communication devices like smartphones, tablets and smartwatches benefit from having multiple internal antennas as far apart as possible to reduce the spatial correlation between receiving antennas and increase channel capacity. However, the small form factor of such devices means that a substantial separation distance is not practical. Additionally, it is not always possible to reduce the size of the antennas to increase the separation distance. Fluid antenna systems are a recently proposed technology in which the physical position of a reconfigurable antenna can be changed to pick up the strongest signal. This project considered a fluid antenna system for a mobile device in which a slug of liquid metal can move to different positions or ‘ports’ in an electrolyte-filled tube upon exposure to a voltage pulse. In light of the spatial variation in signal strength along the tube, algorithms are designed to control the channel selection and movement of the slug. The project compared the performance of a single-tube system with a fixed-location antenna. Simulation results and analysis demonstrate that the conventional fixed-location antenna outperforms the single-tube system due to the latency in transmission caused by the slug’s movement. As a result, two modifications were explored to reduce latency. First, the fixed antenna is made available as a backup to address the outage during slug movement. Secondly, a novel two-tube fluid antenna system was designed to separate the transmission and channel selection functions into different tubes.
Overcoming the Limitations of Standard LIDAR in Autonomous Robots using Ultrasonic Sensors
Autonomous robots have the potential to revolutionise various industries, including agriculture, healthcare, and tasks involving repetition, such as cleaning. The efficacy of these robots is contingent upon the accuracy of their input data. One sensor commonly utilised in robotics is LIDAR (Laser Imaging Detection and Ranging), which has a known limitation in its inability to detect objects that are either transparent or absorb the infrared light emitted by the sensor. A system was developed that combines high-frequency LIDAR with low-frequency ultrasound sensors. This system includes eight ultrasonic sensors with 360-degree LIDAR arranged to minimise the region's non-detection regions. Significant software development was undertaken, including the creation of a Robot Operating System (ROS2) workspace, a custom plugin for the ROS2 navigation stack (NAV2) that enables ultrasonic sensors to be used in NAV2, and a set of custom publisher nodes that communicate information to the navigation system to ensure ultrasonic operation. A physical mount was designed to house the LIDAR and ultrasonic sensor array and encapsulate the wiring loom. The mount was 3D printed and attached to a metal extrusion pillar. The mount places the ultrasonic sensors at an appropriate height to prevent erroneous echoes from the robot chassis from being detected. The ultrasonic sensors are characterised to understand the error associated with various distances. The LIDAR+ ultrasonic system has demonstrated marked improvements over a LIDAR-only system, as evidenced by minimal loss in time navigating basic courses and improved navigation when incorporating previously undetectable objects in the cost map. The successful implementation of this system would facilitate more efficient resource utilisation and reduce carbon emissions by enabling robot-specific tasks like cleaning to be performed remotely or automatically.
Design, Fabrication & Testing of a Low-Power Electric Thruster for Nanosatellite Missions
Nanosatellites like the CubeSat standard provide low-cost and adaptable platforms for fast design iteration and enable the testing of new and disruptive technologies in space. Despite their merits, the nanosatellite platform imposes stringent mass and volumetric limitations, which has typically seen such missions constrained to passive, Low Earth orbit missions. However, these previously accepted limitations of small spacecraft are being actively challenged by recent developments in miniaturized electric propulsion technology. Electric thrusters deliver low thrust compared to traditional chemical rockets but provide distinct advantages due to their highly efficient consumption of propellant. Advancements in electric propulsion is opening horizons for more ambitious nanosatellite in-orbit manoeuvres, advanced satellite constellation networks, and space exploration outside Earth's sphere of gravitational influence. Inspection of electric propulsion literature highlighted a distinct lack of understanding and developmental work on low-power, miniaturised electric thruster technology. Furthermore, the scalability and operational performance of these low-power thrusters has not been conclusively explored. Resultantly, there is an absence of efficient and reliable electric thrusters that can support ambitious nanosatellite missions. The work presented in this paper fills this gap in knowledge by first presenting a background on electric propulsion theory and thruster scaling, before outlining a thruster design methodology. Operational data from the artefact thruster and an evaluation of the system's performance against standard electric propulsion metrics like thrust, efficiency, and specific impulse is also presented.
Underwater drone for marine ecosystem applications: An alternative propulsion and control system
Aotearoa New Zealand’s coastal marine environments are vital natural assets, intertwined with tourism, the economy, and the nation’s identity. These coastal ecosystems face multiple threats, necessitating efficient monitoring methods. However, various debris such as kelp makes traversal of these environments difficult for craft using conventional propeller propulsion, which is prone to getting tangled up in such debris. The aim of this project was to explore an alternative propulsion system for coastal monitoring, specifically the use of a novel waterjet propulsion system for a Remote Operated Underwater Vehicle (ROUV). This was accomplished by the development of a ROUV prototype utilizing a waterjet propulsion system. A dual layer propulsion system was created that uses solenoid valves to redirect the flow of water from a central pump to external nozzles for movement and orientation. The prototype drone was then completed by fitting the propulsion system into a watertight container. The viability of this propulsion method was assessed by whether the movement of the ROUV has three degrees of freedom, and whether or not it can achieve a top speed greater than 1 meter per second in a tank of water. The development of this prototype ROUV with a waterjet propulsion system will ideally inform the design of a full-scale AUV prototype, which will revolutionize the monitoring of the precious coastal ecosystems to safeguard them for future generations.
A Low-Cost Multispectral Imaging System for Microscale Applications
Multispectral imaging (MSI) is an imaging technology that captures spectral data across multiple individual wavelengths not typically visible under normal light. This has several applications, from astronomy to forensics, but is not widely available due to expensive instrumentation. To address this, a low-cost multispectral imaging device for application in micro-scale imaging was developed. This system uses an array of light emitting diodes (LEDs) on a flexible printed circuit board (PCB) to create a diverse set of wavelengths to illuminate the sample. These PCBs are mounted in an acrylic housing designed to allow illumination in transmission and reflection format. The system is controlled through an ESP-32-S3 microcontroller and some peripheral electronics. A monochrome machine vision camera, controlled by Pylon viewer software is used for image acquisition. Multivariate data analysis of the images was done using various freely available software packages. The system was tested on a series of dried milk fluid drops to discern their composition as proof of the viability of the system.
Design of a Communications System for Advanced CubeSat Missions
Advances in miniaturised electric propulsion systems are enabling low-power CubeSats to change orbits mid-mission. CubeSat communications systems must therefore be able to adapt to these changing conditions, ensuring a reliable data link is maintained whilst adhering to the low power budget onboard CubeSats. This report describes a baseline on the performance of the communications system for these potential missions. A high-gain phased planar antenna array operating within the X-band was designed and presented for the proposed missions. A channel model of the 10.475 GHz satellite-Earth link was created and is used to evaluate the performance of PSK and QAM modulation schemes, and error-correcting Turbo Codes. Simulations of the overall performance at varying orbits were used to determine the feasibility of such missions. Results from these simulations demonstrated that a 10.475 GHz communications system using a 4x4 phased planar antenna array, PSK modulation, and turbo coding was capable of maintaining a reliable link throughout the CubeSat’s mission using 1 W of power.
Magnetic Dipole Levitation - Simulation and Control Optimisation
Nuclear fusion has long been seen as the holy grail of clean energy. Fuelled by hydrogen isotopes deuterium and tritium, fusion offers the potential for near-limitless energy production due to hydrogen isotopes natural abundance. Many different approaches have been and are being taken to achieve fusion, arguably the world-leading approach being magnetic confinement. The most notable reactors are Tokamaks and Stellarators although, other forms of magnetic confinement reactors exist such as the levitated dipole reactor. First theorized by Akira Hasegawa and later brought to life by a team at MIT in the early 2000s under the name “Levitated Dipole Experiment” (LDX). As the name implies the device involves a magnetic dipole which is levitated by an external force to be used for plasma confinement. Specifically, an overhead magnet is used in levitation. This formation is inherently vertically unstable, requiring a feedback loop and control system to maintain stability. This paper discusses the development of a model of dipole-dipole interactions and the design and evaluation of several controllers. As this is a power system at heart, efficiency is a fundamental aspect to be considered. Therefore, any unnecessary power consumption during levitation will harm the reactor’s bottom line in terms of net power production. Thus, with efficiency in mind, these controllers were evaluated to determine any inherent advantages or disadvantages. Furthermore, the accuracy of the produced models was assessed to determine their reliability in being applied to arbitrary coil geometries.
Smart Temperature Sensor Hot Water Cylinder Demand Management
The growth of residential electricity consumption in Aotearoa urges for the improvement of existing demand management technologies. Expensive technologies like Ripple Control externally control residential electric hot water cylinders to help manage demand. This paper presents and evaluates an affordable alternative hot water controller by using an energy harvesting Internet of Things temperature control sensor found at the outlet pipe of a hot water cylinder. The control sensor is charged by harvesting the thermal energy from the temperature gradient between the outlet pipe and the ambient air using mounted Thermoelectric Generators, or TEGs. Using Bluetooth Low-Energy the control sensor relays accurate temperature readings of the stored hot water. The control sensor’s power electronic interface for the TEGs is a low power DC-DC boost converter that charges a lithium- ion battery. The controls sensor’s estimated energy consumption was simulated and used for the design and development of the device. The expected energy consumption was later evaluated with the recorded consumption. Thermal data gathered from an electric hot water cylinder and thermal modelling software were used to evaluate the performance of the TEGs to be selected meeting the energy demands of the control sensor. The boost converter design was simulated and developed. The real performance of the boost converter and TEGs were then tested and evaluated with the simulated results. The paper investigates the lifetime, temperature reading accuracy and network performance of the control sensor. A final economic evaluation is also performed on the control sensor. It is found that the controller is technically and economically viable in Aotearoa New Zealand.
Firmware Design for a Mechatronic Chordophone
Azure Talos is a mechatronic chordophone that is theoretically capable of producing many of the expressive sounds and techniques of a human guitar player. However, despite its potential, Azure Talos was inherited in an incomplete state. To achieve full functionality, an entire firmware architecture was designed and implemented. Hardware issues were then identified and remedied. A User Interface was then implemented to facilitate operation by non-mechatronic composers. The result is a fully functioning mechatronic chordophone that is capable of levels of expressivity beyond any comparable devices found in the literature.
Improving Usability of a Mechatronic Drum Robot
This paper details the development of a graphical user interface for DrumBot to improve ease of use. DrumBot is a mechatronic robotic system capable of playing complex MIDI compositions on arbitrary drum kit setups. To prepare DrumBot for a performance, the user must first run the accompanying command line or graphical application and follow through a setup and configuration process. But when this project inherited DrumBot, several significant usability issues were brought to light after testing the graphical user interface. This included requiring text input where one would expect a button or selection input, unexpected hangs in the software, and users possessing little fidelity over certain configuration settings, which made the configuration process confusing and tedious. It was particularly difficult to navigate the setup process for the first time if one was unfamiliar with the inner workings of the system. This project addressed these issues by producing a new GUI application that is more intuitive than the previous. Development involved designing a new user interface, refining the process of configuring the various DrumBot settings, facilitating communications between the host computer and DrumBot, and navigating the challenges of designing an application that safely interfaces with an embedded system. This new application was designed to better guide the user to navigate the DrumBot setup process, and gives the user greater control over configuration, making DrumBot more usable overall.
Integrated Power-Line and Visible-Light Communications
The current state of the world places an important role on communication, specifically the different mediums for communication and how we can exploit them. The issue with such mediums is that very often, there are clear disadvantages that cause them to become less viable in certain conditions. For this project, an existing VLC (Visible Light Communication) device has shown to produce high speed communications across an unblocked path of visible light. The motivation for this project stems from the fact that although a VLC device has clear advantages such as a lack of consideration of frequency bands, non-licensed communication and a lack of interruption from other sources, there are clear disadvantages as well. Specifically, the datastream is extremely sensitive to external light sources, and a direct line of unblocked site is required for communication. This project calls for an addition to be made in the form of a PLC (powerline communication) device to act as a complementary form of communication. PLC devices do not have the advantages of license and band free communication. However, they are resilient to light interference, and can operate in any conditions with a mains line by modulating, injecting, and demodulating data over said mains. This report details the development and more importantly results of the project, displaying data on several metrics of the filter system, as well as an emphasis on the development process and results of the PCB and device itself. Shortcomings and alternative results of the project are also discussed in place of metrics and results in the cases that said metrics and results could not be achieved or measured.
Design of the Chassis and Locomotion System for a Mobile Robot
MARVIN, the Mobile Autonomous Robotic Vehicle for Indoor Navigation, has undergone a comprehensive transformation. It evolved from a state where essential components were missing, including the drive platform, and central controller. The project's re-use goal focused on integrating existing electronics to fulfil essential functions such as power supply, interfacing with the torso actuators, and sensor integration, and using motors and wheels from a prior implementation. Additionally, an Intel NUC computer running ROS2 was integrated to enable precise control through the use of rotary encoders and a dual-channel motor driver with regenerative braking capabilities. In the software domain, MARVIN's development involved creating dedicated ROS2 nodes for motor control, torso management, and sensor interaction. Notably, the project encountered a challenge with the sensor board due to the absence of available documentation and original code. Consequently, the project required the development of basic firmware based on available datasheets to facilitate its seamless integration. An abstraction layer was introduced to streamline message publication, enhancing adaptability. MARVIN now stands as a versatile platform, poised for applications in security and human-robot interaction research. It encapsulates the project's commitment to advancing robotics technology while showcasing dedication to sustainability through the re-use of existing electronics. This valuable platform offers numerous possibilities for innovation and experimentation across various domains.