Rover Design

University of Toronto
Onshape Python
In environments where human access is limited or efficiency is crucial, autonomous navigation is required. In this project, a block needs to be transported through a maze without human intervention. The goal was to build a rover that can determine where it is in a maze based on peripheral sensors, retrieve a block, and make adjustments on its route to avoid obstacles. The constraints were that the robot must weigh less than 5 lbs, must have a footprint smaller than 12” x 12” x 12”, and must cost under $300.
Athene is creative, simple and secure. The sphere represents a seamless experience - an attempt to reduce the cryptic nature that naturally runs deep in this space.
I focused on soft edges, rounding the 'a' and 'n'. Created by layering several mesh gradients, the logo's colours are similar to those of a bubble, offering a sense of familiarity.


The process to onboard a new user required a 40-minute, 1:1 video call with a Hestia team member. This process was time-consuming and not scalable.
Craft a journey that efficiently communicates and demonstrates the core value of our product to leave users with a lasting first-impression.
  • Must be implemented within a 2-week time-frame
  • Must be an online process due to social distancing requirements
  • Must not require additional budget allocation

Design Process

1. Design Brief

To verify that the onboarding was a top product priority, a design brief was prepared to explore the problem at hand. The first step was to define the problem – an expansive step. It is important to ensure that the root problem is identified because if not, the rest of the project will crumble, lacking the strong foundational base that keeps it in-line. Even worse, the final solution will be solving the wrong problem.
After defining the problem, the rest of the brief explained why we care about solving the problem now, how we could tackle the problem, what potential solutions could look like, and lastly how we are going to measure success for our solution.

2. Design Sprint

With the design brief in hand, the team was ready for a 1-day intensive design sprint. The team consisted of a product manager, two developers, one content strategist and myself, as product designer.
To help the team align on the problem we were trying to solve, we started the sprint by asking the following questions:
These questions allowed the team to align on the problem, to identify the riskiest unknowns, and to clearly shed light on the points of potential failure. Next, the team moved on to the question: 
Each member sketched a new user onboarding flow and then presented it to the team. The strongest points from each presentation were combined to make the final design. The new user flow was sketched in a low fidelity prototype.

3. High-fidelity prototype

The design sprint established the onboarding flow and steps, which meant it was time to get my hands dirty in the design details. After numerous sketches, abundant research, and several iterations, the final design was prototyped in Figma, design peer-reviewed, and ready to be handed off to development.   

4. User testing & iteration

After the design was handed off for development and the fully functional onboarding was ready, it was time for user testing. The onboarding was tested on people aged 14-60, with most attention placed on the teenagers’ experiences since they are the target end user. We conducted user calls to observe emotional reactions, identify points of confusion, take note of technical bugs, and get a sense of their experience through a series of questions. This process was extremely helpful in correct small issues, ensuring the onboarding was ready for launch.


The launch of the new onboarding was definitely not the last step of the project. Since the onboarding plays such a critical role in long-term user retention, it was very important to continue evaluating its performance, iterating where necessary. We did this in three ways:
1.   New-user research calls
2.   Automated surveys
3.   Retention tracking 


The onboarding allowed the team to kickstart outreach and begin growing the Hestia user base. The onboarding achieved a 91.38% completion rate and allowed Hestia to increase the monthly active users by 80% in the first month of launch. The automated post-onboarding surveys returned an average score of 4.12/5 for ease of use.       

Design Process

The rover was designed using Onshape, enabling easy sharing access of the CAD model. The design was guided by the requirements of 3 equally spaced wheels, space for a block-gripper, and being as compact as possible. Ease of assembly and electrical wiring were also considered. A hexagonal shape re-occurs throughout the rover to maintain a cohesive design language. The design is made up of 3 levels, with the heaviest components on the base plate to maintain a low centre of gravity.

The base plates were laser cut out of 3mm plywood and the board mounts, sensor mounts and gripper were 3D printed and fastened to the plates using screws.

The gripper was designed using 2 servo motors and a linkage system. A cover was placed over one of the servo motors in order to attach the linkages and the gripper hands. The hands were allowed to slide freely over a 3D printed rail, spanning a 1"-3" distance, to be able to capture blocks of varying sizes.

Key electrical components of the rover included Time of Flight (ToF) sensors, Servo and Stepper motors, an ESP32, a CNC Shield on an Arduino Uno, a Battery and a Buck Converter for power distribution. The rover's localization algorithm consisted of a particle filter that allowed the rover to localise itself within the maze after completing one full rotation. The rover’s pathfinding involved creating a graph representation of the maze, finding the closest node, and navigating using a combination of straight-line movements and rotational adjustments. 


The rover was tested within the context of 3 milestones:

Milestone 1 - Obstacle Avoidance: The rover used ultrasonic sensors to detect walls and correct its path, albeit with minor collisions. The size of the robot was found to be too large overall, so a redesign was carried out to minimize the footprint of the rover.

Milestone 2 - Localization: Implementation of a particle filter, with limited trial success due to ultrasonic sensor inaccuracies. Time of flight sensors were chosen to improve accuracy.

Milestone 3 - Integration: Successful localization and object pickup with the gripper. After implementing bug fixes, the rover was able to autonomously drive through the maze.

Key takeaways from the project included the relative accuracies of different distance sensors, the implications of using stepper motors, cable management strategies and the importance of managing time to allow adequate time for troubleshooting.

No items found.

Other projects