Hummingbird Technologies is an innovative, multifunctional logistics robot, intended to streamline operations at inventory distribution centers. Inspired by Kiva Systems, our goal is to provide competitive carrying capacity on a more maneuverable drivebase with the potential to provide superior obstacle avoidance in an industrial setting. To achieve this, we drew from previous team member experience through the FIRST Robotics competition to develop a unique take on the Swerve drivetrain, which offers unparalleled flexibility and maneuverability while exceeding loading expectations.

Our flexible platform therefore stands poised to revolutionize inventory mobility in any industrial application.


Mechanical Design


Our Swerve drivetrain offers fully-independent translation and rotation along with continuous rotation, all while carrying 500 pounds at up to 1.5 m/s. Our coaxial power transmission strategy also avoids complexity by maintaining all power electronics in a fixed transmission assembly.

Existing implementations of this technology rarely allow design for manufacturability (DFM) or design for assembly (DFA) considerations to prevail. Our design significantly improves in these key areas, yielding a product that’s significantly more rugged and serviceable.

Eliminating all spur geartrains on the drive stage through the strategic use of timing belt reductions allows to limit complexity and increase the service life of each corner module. Off-the-shelf planetary gearboxes on the turning stages also offer greater serviceability where a greater reduction is necessary. The wheel module itself also minimizes part count and eases manufacturing complexity by utilizing a single-piece aluminum extrusion sleeve with externally captured bearings.

Electrical Design


To move our target load of 500 pounds, we selected AndyMark AM-0255 (“CIM”) motors to drive each wheel and BaneBots RS550 motors to orient each module due to their low cost and proven performance. The drive motors are connected to high-current Rev Robotics SPARK motor controllers capable of sustaining 60A of continuous output. Cytron MD13S motor controllers rated for 13A continuous current draw are sufficient on the turning stages.

Safety is our highest priority, so we outfitted the robot with a 150A main breaker to protect the system in case of electrical fault. The breaker is easily accessed and can be manually tripped in case of emergencies, or to fully power down the system for transport. In addition, each individual motor power line features additional safeguards to protect the electronic components themselves.

Current draw and safety restrictions also mandated the battery type for this model. We use lead-acid wheelchair batteries to provide the high storage capacity and current rating required - preventing us from needing the sophisticated battery management system (BMS) necessary to safely charge and discharge more energy-dense battery chemistries. A separate battery pack powering the low-power control systems onboard also provides an added layer of redundancy.

Software Design


The main control system runs on a National Instruments myRIO, and is programmed primarily in LabView. The code was architected with a number of abstraction levels to maximize flexibility in implementation and tuning parameters.

At the lowest level, we programmed the built in FPGA to interpret readings from the absolute magnetic encoders we use to measure module angle and the optical relative encoders we use to measure wheel speed. We then combine encoder input and motor controller PWM output modules into PID controllers. Rotation and Velocity PID Controllers are put together to control each module. These are then combined to maintain high level Platform Control.

The control parameters of each module are tuned separately to optimize the performance characteristics of each motor and motor controller combination within each module.

Graphical User Interface


The robot is currently controlled with either a gamepad or a joystick via an offboard host. Both wired and WiFi connections are available.

In addition, robot state is output to an optional debugging interface to assist in tuning and optimization. Wheel speed and module direction are logged and graphed over time, and this data can be saved for further analysis as necessary.