Declan Smith

Mechatronics Applications Project

Date: September 2026 Role: Co-lead Duration: 4 months
Fusion 360 Embedded C++ QEI PID
Main Project Image or Demo

Overview

This project was developed for a competitive robotics challenge focusing on autonomous material handeling. The objective was to design and build a transporter capable of collecting "fuel" canisters and "fuel" deposits, autonomously storing deposits in canisters as they are collected. Once filled the transporter needed to be capable of unloading the canisters at a designated location without the help of a second machine.

Transporters competed head to head to collect the limited canister and fuel deposit resources to determine the most efficient design.

Challenges

Transporters could not exceed a maximum footprint of 20x20cm. This created a challenge to use space as efficiently as possible.

The provided hardware could be limiting as it only had 1 built in Quadratic Encoder Interface (QEI module) and a limited number of IO connections.

Approach

The goal was to develop a transporter that autonomously handled as many functions as possible. This would allow the pilot to focus on driving the Transporter, avoiding competitors and collecting as many fuel canisters and deposits as possible.

  • The initial concern was picking up the "fuel" canisters. The team decided to leverage the fact that they were lined with steel tubes to experiment with magnets as a method of securing the cansiters to the transporter.
  • To maximize efficiency a revolver style cylinder was implented becasue it was best suited to quickly picking up the maximum allowed number of fuel cansiters. This was accomplished by opening up the side of each hole to allow the "fuel" canister to be loaded from the side as opposed to the top.
  • To drive the revolver the team wanted to use a N20-DC motor paired with a magnetic encoder. This would result in a high torque actuator similar to a servo but allow for "infinite" rotations and wrap around to improve the efficiency of the design. Using an actuator of this style added to the complexity of the design as it required QEI and PID to control its position reliably.

Technical Implementation

Using a Microchip dsPIC33ck and a Nordic nRF52833 communicating over UART the team implemented a number of systems.

QEI.

Results

The transporter averaged a score that was 5-10 times more than that of the runner up, proving the methods, systems, and controls implemented were extremely efficient.

Gallery

Lessons Learned

This project served as an introduction to Quadratic Encoder Interfaces, it was also a first exposure to dynamically adjusting controller gains to compensate for a system of changing inertia.

This project was also good exposure to C++ embedded coding and the use of seperate .c and .h files to seperate functions by abstract behaviours to maintain an organized main file.