Project Objective

The goal of this project is to create hybrid locomotion robot that would blend the abilities of a conventional drone with the simplicity of a wheeled robot. This project aims to create a robot with the advantageous qualities of both a quadrotor and a wheeled robot, with the ability to roll, jump, and hover briefly if necessary to explore its environment. Where traditional wheeled robots are limited to the ground plane, this robot is capable of additional actuation to allow for vertical travel. Where quadrotors typically are limited in flight time due to power consumption and battery weight capacity, having the robot ground-based allows for improved battery capacity and active time by reducing propellor output substantially.

Outline

Goals

The must-have goal of this project is to be able to move successfully in an ideal environment: a smooth flat floor. Accomplishing this is the first step toward improving the robot to be able to navigate uneven surfaces and jump.

The core goal of this project is to produce a robot capable of navigating uneven surfaces, with the ability to jump at least one foot vertically. This allows for climbing stairs or over debris to broaden applicability.

Development

Throughout the development of this project, a key consideration was the overall mass of the robot. Due to their incredibly small form factor as a quadrotor, the standard Crazyflie 2.1+ has a relatively small payload capacity, at a recommended 15 grams. To improve this capacity, I utilized the Crazyflie Thrust Upgrade, which provided stronger DC motors and higher thrust propellers. The final thrust was measured by placing the robot on a scale and putting slightly more mass attached than it was expected to lift then operating the propellers at maximum thrust to collect data on the difference in measured mass before and after, with the difference being the maximum mass the thrust would be able to counteract. The absolute maximum mass is approximately 60 grams based on the experiment.

Mass with no thrust.

~77.3g - No Thrust Applied

Mass with thrust

~16.8g - Thrust Applied

The final iteration of the custom fabricated parts combined with the quadrotor achieves a sum mass of ~55 grams, making it within the necessary requirement for liftoff. The assembly structure around the Crazyflie consists of a hub and two wheels. The hub is designed to integrate directly into the Crazyflie’s structure. The hub is stabilized by wrapping around the two sets of header pins then connecting across the center. Threaded heat inserts on the left and right of the quadrotor also allow for screws to connect while using O-Rings as flexible spacers through two holes that already exist on the PCB of the Crazyflie. The arms that stick out from the hub then have space for two ball bearings to be inserted on each side via heating the bearing and fusing it into the 3D printing space that is slightly undersized for it. The use of two bearings per shaft helps ensure axial allignment between the two wheels.

Isometric View in CAD

Isometric View in CAD

Total Mass of Robot

Total Mass of Robot

Top View of Mount

Top View of Mount

Bottom View of Mount

Bottom View of Mount

Benchmarking

To test the benefit of mixed modality locomotion, I performed a test to compare power consumption between the two movement methods. The robot began with a fresh, fully charged battery for each experiment. The robots were commanded to move forward and backward half a meter, one rolling, and one maintaing a hover height of 0.2 meters. The timer began as soon as the propellers began moving and stopped upon their halting when the battery discharged all power. The rolling movement method sustained motion for 468 seconds while the flying movement method sustained motion for just 117 seconds. This rudimentary test indicates that the rolling motion is four times as power efficient as flying.

Resources and References

Hardware

The hardware for this project is a mix of off-the-shelf components and custom designed hardware to combine components.

Software

Due to the community-development-based nature of the Crazyflie system, many software libraries and support exist. The following libraries were used for this project:

  • Crazyflie Python Library (https://github.com/bitcraze/crazyflie-lib-python)
  • Crazyflie Firmware Library (https://github.com/bitcraze/crazyflie-firmware)
  • Crazyflie SLAM Library (https://github.com/khazit/CrazySLAM)

Reference Material

  • Cylindrical Drone (https://ieeexplore.ieee.org/document/6868259)
  • Droneball Inspiration (https://imazetech.com/)
  • Gyroscope Inspiration (https://www.thingiverse.com/thing:802145)
  • Spherical Robot Literature Review (https://doi.org/10.1016/j.robot.2024.104657)

Source code

Github Repository