Goals

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 constrained by 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.

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.

Mechanical 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

Locomotion 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. This rudimentary test indicates that the rolling motion is four times as power efficient as flying.

Locomotion Method Operating Time Improvement
Flying 117 seconds N/A
Rolling 468 seconds 400%

Control Scheme

The robot’s control scheme consists of two distinct pipelines: teleoperation and autonomous. In the teleoperation pipeline, control inputs are sent from a laptop (running cfclient) via a Crazyradio 2.0 to the robot, allowing for manual remote operation. In the autonomous pipeline, commands are generated by a Python script and transmitted to the robot through the same Crazyradio 2.0, enabling independent operation without human intervention. This dual-pipeline design provides flexibility for both user-controlled and automated robot functionality.

Block Diagram

Information Flow for Teleoperation and Autonomous Control

Future Work

While further design iteration would be necessary, future work would be the addition of varying sensors or a camera. This would allow for ability to perform visual Simultaneous Localization and Mapping (SLAM) for exploration spaces. A Crazyflie SLAM library using the current sensors, 4 Time of Flight sensors, is also available on GitHub, though was not extensively tested or used with the current robot.

Additionally, the same concepts could be applied to a larger, more robust quadrotor platform to increase payload and sensing capacity at the expense of the current small form-factor and cost.

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 already existed. 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)

Reference Material

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

Source code

Github Repository