Brief
I am currently a post-doc (post-doctoral research associate) in the Department of Computer Science & Technology
at the University of Cambridge, UK.
I work with Dr Amanda Prorok,
and mainly focus on agile multi-robot systems in the field: I develop systems and algorithms that
enable teams of robots to plan, reason and cooperate — and most importantly, do all of these
in real-world (outdoor) settings.
I completed my PhD at the University of Nebraska-Lincoln (UNL), USA,
where I worked on field aerial robots in the Nimbus Lab,
was co-supervised by
Dr Carrick Detweiler and
Dr Sebastian Elbaum (now at Univ. of Virginia, USA),
and built many fortunate collaborations with
Dr Adam Houston (Earth and Atmospheric Sciences, UNL).
Although my work falls primarily under robust software autonomy & controls,
during the course of system development, I often like to build and interface low-level
hardware sensor and actuator systems (electro/mechanical).
You can find more about my work here on this page,
jump to some of my projects on GitHub,
or find my articles on Google Scholar
and dblp.
I enjoy bicycle trips all around the UK (and previously in Great Plains in Nebraska),
and often pretend to be a good photographer of the moors & Prairies.
desk_items.pop()
Supervising 2 Google DeepMind interns in our
CST Research-Ready program!
desk_items.pop()
(co-) Area Chair for
Robotics Science & Systems (RSS) 2024.
(this→username) at (cst·cam·ac·uk)
SN05, William Gates Bdg, JJ Thomson Av,
Cambridge, UK, CB3 0FD.
Research
I am interested in multi-robot systems 'in-the-wild' -- field robotics, that brings robot teams
into their real (deployment) environments. This means I get to look at practical solutions to planning, coordination,
and learning mutual interactions, while also developing full-stack integrative systems (control, networking,
mechanical effectors..).
My recent work (with my collaborators) is an effort into making multi-robot teams more realistic.
This includes
efficiently learning mutual-interaction forces between aerial systems,
RL for non-trivial team behaviours,
language (LLM) conditioning for navigating robot teams, and
classical distributed systems for managing aerial swarms.
During my PhD, I worked on aerial platforms that can perform physical/tactile interactions with
other airborne entities (parachutes, cargo, even another multicopter in the air).
This capability makes them far more useful agents in bringing them closer to the physical world and
maintain long-range autonomy.
I've developed systems, mechanisms and algorithms that have allowed two multicopters to transfer a (cargo)
payload between them
without having to land, intercept free-drifting parachutes, and even dock mid-air.
In my post-doc work and beyond, I am looking at extending many of these ideas to multi-robot settings, where classical control strategies need to mix with data-driven (ML) solutions for the combinatorial problems. I am ultimately interested in how these systems, when brought closer and closer to our physical worlds, create novel opportunities for us to sense the atmosphere, measure properties of air and water, and even explore previously unmodeled phenomena in real time.
Teaching
I usually enjoy teaching all sorts of robotics (and related) classes, as well as mentoring and supervising student-led (undergrad/grad) research. I have TA'd for robotics courses during my PhD, and at Cambridge, I have also delivered joint lectures on Dr Amanda Prorok's robotics class.
Advanced Robotics [Multi-Robot Systems] (MLMI-15), Lent, 2024.
University of Cambridge, UK.
Introduction to Robotics (4M20), Michaelmas, 2022.
Advanced Robotics (4M25), Easter, 2023.
University of Cambridge, UK.
(I usually co-supervise 2-4 students from CS and Engineering at Cambridge).
Robotics: Algorithms & Applications (CSCE 439/839) Spring 2020.
University of Nebraska-Lincoln (UNL), USA.
Undergraduate research mentorship, years 2018-2020.
University of Nebraska-Lincoln (UNL), USA.
Publications
Multi-Robot Systems & Interactions
(in review) , 2024.
Distributed and Autonomous Robotic Systems (DARS) , 2024.
Robotics & Automation - Letters, 2023 (ICRA 2024).
International Symposium on Experimental Robotics (ISER), 2023.
International Symposium on Experimental Robotics (ISER), 2023.
Current Robotics Reports, Springer, 2022.
Heterogeneous Reinforcement Learning
(in review), 2024.
International Conference on Autonomous Agents and Multiagent Systems (AAMAS), 2023.
Aerial Control & Flight
International Conference on Robotics & Automation (ICRA), 2021.
[online] hosted on Github.
Aerial Docking
International Symposium on Experimental Robotics (ISER), 2020.
Conference on Decision & Control (CDC), 2020.
Aerial Payload Transfer
Robotics & Automation Letters (RAL) 2020, and, International Conference on Intelligent Robots & Systems (IROS) 2020.
International Symposium on Experimental Robotics (ISER), 2018.
Parachute Recovery
International Conference on Intelligent Robots & Systems (IROS), 2018.
Environmental Sensing
Earth System Science Data (ESSD) [preprint], 2021.
A. Islam, A. Shankar, C. Detweiler, A. Houston; Sensors, 2019.
L. Barbieri (and others); Sensors, 2019.
99th American Meteorological Society (AMS) Annual Meeting, 2019.
98th American Meteorological Society Annual Meeting, 2018.
K. Song, A. Brewer, S. Ahmadian, A. Shankar, C. Detweiler, A. Burgin; Limnology & Oceanography: Methods (LOM), 2017.
More ..
International Conference on Unmanned Aircraft Systems (ICUAS), 2017.
Unmanned Systems, Vol 6:4, 2018.
International Conference on Robotics and Biomimetics (ROBIO), 2013.
Why repeat the work of Google Scholar or dblp :)
Outreach & Activities
Open Source & Reports
Freyja
Freyja is a control stack for controlling ground robots, and flying precise and aggressive trajectories with multirotors (available on GitHub). Written entirely in C++ for ROS/ROS2, it packages outer-loop optimal state regulators (LQR/LQG) and state estimators (EKF/Kalman) as well as communication interfaces to common autopilots (ArduPilot/px4, Ascending Technologies, DJI Robomaster). Freyja handles position and velocity targets as a feedback regulator, is capable of using acceleration feed-forward (using differential flatness of a multirotor system), and includes an optimal full-state observer that measures external forces acting on the system (such as wind and payload offsets). As a result, we are able to fly precise & aggressive trajectories outdoors under decently-high wind speeds (by interfacing with RTK GPS systems). An example video at the top of this page shows a multicopter flying a circular trajectory at speeds exceeding 6m/s under wind speeds of over 25km/h (~15mi/h, ~7m/s). The highest translational speed controlled by Freyja so far is ~11.5m/s. Freyja is at the backbone of several projects listed here, and many others within the Nimbus Lab.Freyja-Simulator
Some of the technical components of my work have evolved into independent projects which may find broader use-cases. With inspiration from former colleagues, I've developed a high-fidelity physics-based simulator for multirotor systems called Freyja-Simulator (available on GitHub). The simulator is built on Matlab/Simulink blocksets, and provides library blocks for a generic multirotor, an LQR feedback control system, and some other physical objects (such as cables) that can be attached to each other. This complements the C++/ROS implementation for Freyja, and the trajectories developed here in Matlab can be translated directly over to C++.ROS2 SimplePointRobots
A multi-threaded point-robot simulator -- SimplePointRobots -- written in C++ with ROS2 interfaces (consistent with Freyja). Supports holonomic & diff-drive ground robots, as well as holonomic aerial robots, all represented as simple point objects with second-order dynamics. The simulator supports basic collisions and allows effecting an abstracted "downwash" force from one multicopter to another. The key selling-point of this tool is the ROS2 interfaces it wraps, allowing us to test the algorithmic logic (using feedback from topics and messages). A few students in the Intro. to Robotics course at Cambridge found it useful for their course projects :)mavros/mavros_extras
I've contributed to a GPS RTK plugin that enables autopilot reporting of RTK baseline & base-station data already codified in mavlink:common. The plugin handler publishes this data over a standard ROS topic.ArduPilot::ArduCopter
I've also authored and currently maintain a Nimbus Lab fork of one of the largest open-source project stacks for aerial systems, ArduPilot. The fork addresses a key limitation of the Copter flight stack: direct raw-thrust control with battery compensation. This modified "computer-flight mode" firmware is used extensively within the Nimbus Lab (and a few subscribers outside), and is an essential component of our LQG/LQR control architecture.Funding, Awards, Services
- Helped co-author ARL DCIST CRA proposal for FY23-25 (funded yr '23).
- Helped co-author NSF-IIS-1925052: "Raining Drones".
- Chancellor's Fellowship, UNL; yr 2015-2016 & 2016-2017.
- Wiseman Award; Department of Computer Science & Technology, University of Cambridge, UK; yr 2023.
- National Science Foundation (NSF) Travel Grant for ISER 2018; held in Buenos Aires, Argentina.
- Control Systems Society (CSS) Sponsorship Award; Travel & registration for CDC 2020.
- CSE Outstanding Graduate Research (UNL); Department Prize, 2018, 2020.
- Reviewer for IROS 2019, 2022, 2023.
- Reviewer for ICRA 2017-2023; RSS 2020(WS)-2022
- AC for RSS 2024!
- Co-supervisor for Google DeepMind Research Ready Program, Department of CST, Cambridge, UK.