Humanoid-Drone Takeoff

First ever drone launch from a humanoid robot.

Overview

The purpose of this project was to show how a multi-robot team could perform a complex task such as search and rescue. In this case, a humanoid robot would navigate to a location, deploy a drone, and the drone would then take off and survey the area. For this project, we used a Unitree G1 Humanoid robot and the custom M4 driving and flying robot.

My role in this project was in developing the drone deployment maneuver and attachment/detachment mechanism. This involved trajectory planning, control design, hardware design, and testing.

The final full successful drone deployment taking off from the humanoid.

This project was featured in Caltech’s front page news: Caltech and Technology Innovation Institute Demo Multirobot Response Team.

Control Design

Since the bending-over maneuver significantly shifts the humanoid’s center of mass (COM), we designed a model-based controller that carefully controls the COM position to avoid tipping over under disturbances. Briefly, we used inverse kinematics offline to synthesize a whole-body trajectory and used a single rigid body (SRB) MPC to track the trajectory online. We tested the performance of the controller in simulation before deploying it on the real robot.

Example Mujoco simulation of the humanoid robot bending over. The blue sphere is the COM of the robot and the red sphere is the projection of the COM onto the ground, which is carefully controlled to avoid tipping over.

Humanoid-Drone Interface

For the drone deployment, we designed a custom lightweight backpack that securely holds the drone during locomotion and the bending-over maneuver. The backpack weighs only 0.9 kg and features a servo mechanism to lock and release the drone for flight. The backpack itself consists of a custom PCB that interfaces with a Teensy microcontroller to receive commands from the humanoid’s main computer and four servos to lock and release the drone.

Design of the 0.9 kg backpack and its servo lock/unlock mechanism.
Custom circuit that interfaces with a Teensy microcontroller to control the servos.

Testing

We tested the humanoid’s bending-over maneuver under various disturbance conditions to ensure robust performance before deploying the drone. Finally, we tested the full system in the Caltech CAST arena before the final deployment.

Experiments showcasing disturbance rejection during a bending-over maneuver with no mass and no disturbance (left), with disturbance (middle), and with an added 7 kg mass (right).
Testing before the final deployment using the Caltech CAST arena.

Team

Adrian and I led the drone deployment project as part of the larger multi-robot systems effort.

The team that led the locomotion and drone deployment for this project. Left to right: Amy, Blake, Ames, Gary, Zach, Adrian, and Sergio (me).