Ajay Shankar


I am currently a post-doc (post-doctoral research associate) in the Department of Computer Science & Technology in the Prorok Lab at the University of Cambridge, UK. My work revolves around 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.

(this→username) at (cst·cam·ac·uk)

SN05, William Gates Bdg, JJ Thomson Av,
Cambridge, UK, CB3 0FD.

Research Outlook

My research generally focuses on field robotics -- furthering robot autonomy as they operate in their real (target) environments. I work on solving hard problems of multi-robot control and coordination, and deploy the resultant solutions in outdoor settings where they must face practical constraints and operate "without luxuries" :) During my PhD, I worked on aerial platforms that can perform tactile interactions amongst each other in the air. This capability makes them far more useful agents as they handle objects, transfer cargo, and undertake long-range autonomous missions. I've developed systems, mechanisms and algorithms that have allowed two multicopters to transfer a (cargo) payload between them without having to land, and even dock mid-air.

In my post-doc work, I am looking at extending many of these ideas to multi-robot settings, while also investigating data-driven (ML) solutions to some of the combinatiorally complex problems that arise. Some of these problems may even be tractable (for 2-5 vehicles), and yet, the computational cost of obtaining a solution often outweighs the benefits -- here again I try to use data-driven models to essentially complement robust classical methods. By addressing team-level challenges, we endow such autonomous systems with the skills they need in order to work as a collective and negotiate sharing the real world.

I am 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.


Multi-Robot Interactions

  • SO(2)-Equivariant Downwash Models for Close Proximity Flight, H. Smith, A. Shankar, J. Blumenkamp, J. Gielis & A. Prorok,
    In-review, 2023.
  • A Critical Review of Communications in Multi-robot Systems, J. Gielis, A. Shankar & A. Prorok,
    Current Robotics Reports, Springer, 2022.
  • Heterogeneous Reinforcement Learning

  • System Neural Diversity: Measuring Behavioral Heterogeneity in Multi-Agent Learning, M. Bettini, A. Shankar & A. Prorok,
    Proceedings of the National Academy of Science (PNAS) Special Issue, 2023.
  • Heterogeneous Multi-Robot Reinforcement Learning, M. Bettini, A. Shankar & A. Prorok,
    International Conference on Autonomous Agents and Multiagent Systems (AAMAS), 2023.
  • Aerial Control & Flight

  • Freyja: A Full Multirotor System for Agile & Precise Outdoor Flights,
    International Conference on Robotics & Automation (ICRA), 2021.
  • Freyja-Simulator: Matlab/Simulink high-fidelity physics simulator for multirotor kinematic trees (Github),
    [online] hosted on Github.
  • Aerial Docking

  • Multirotor Docking with an Aerial Platform,
    International Symposium on Experimental Robotics (ISER), 2020.
  • Dynamic Path Generation for Multirotor Aerial Docking in Forward Flight,
    Conference on Decision & Control (CDC), 2020.
  • Aerial Payload Transfer

  • Towards In-Flight Transfer of Payloads Between Multirotors,
    Robotics & Automation Letters (RAL) 2020, and, International Conference on Intelligent Robots & Systems (IROS) 2020.
  • In-Air Exchange of Small Payloads Between Multirotor Aerial Systems,
    International Symposium on Experimental Robotics (ISER), 2018.
  • Parachute Recovery

  • Towards Aerial Recovery of Parachute-Deployed Payloads,
    International Conference on Intelligent Robots & Systems (IROS), 2018.
  • Environmental Sensing

  • University of Nebraska UAS profiling during LAPSE-RATE, A. Islam, A. Shankar, A. Houston, C. Detweiler;
    Earth System Science Data (ESSD) [preprint], 2021.
  • Design and Evaluation of Sensor Housing for Boundary Layer Profiling using Multirotors,
    A. Islam, A. Shankar, C. Detweiler, A. Houston; Sensors, 2019.
  • Intercomparison of small unmanned aircraft system (sUAS) measurements for atmospheric science during the LAPSE-RATE campaign,
    L. Barbieri (and others); Sensors, 2019.
  • Temperature/Humidity Sensor Housing for Multirotor UAS, A. Islam, A. Houston, A. Shankar, C. Detweiler;
    99th American Meteorological Society (AMS) Annual Meeting, 2019.
  • PTH sensor sitting on rotary-wing UAS, A. Houston, P. Chilson, A. Islam, A. Shankar, B. Greene, A. Segales Espinosa & C. Detweiler;
    98th American Meteorological Society Annual Meeting, 2018.
  • Using unmanned aerial vehicles to sample aquatic ecosystems,
    K. Song, A. Brewer, S. Ahmadian, A. Shankar, C. Detweiler, A. Burgin; Limnology & Oceanography: Methods (LOM), 2017.
  • More ..

  • Toward a cyber-physical quadrotor: Characterizing trajectory following performance, A. Shankar, S. Doebbeling, J. Bradley;
    International Conference on Unmanned Aircraft Systems (ICUAS), 2017.
  • A Low-Cost Monocular Vision-Based Obstacle Avoidance Using SVM and Optical Flow, A. Shankar, M. Vatsa & PB Sujit;
    Unmanned Systems, Vol 6:4, 2018.
  • Collision avoidance for a low-cost robot using SVM-based monocular vision, A. Shankar, M. Vatsa & PB Sujit;
    International Conference on Robotics and Biomimetics (ROBIO), 2013.

  • Outreach & Activities

  • Pint of Science 2023! I was one of the speakers at the Pint of Science event held in Cambridge this year. Check out the link for more coverage!
  • Cambridge Festival. Our lab participated in the annual Cambridge Festival, inviting the general public to our research labs and demonstrating some of the really cool work we do here.
  • Open Source & Reports

    Freyja is a flight control stack for flying precise and aggressive trajectories using a multirotor (available on GitHub). Written entirely in C++/ROS, 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). Besides handling position and velocity targets as a feedback regulator, the system is capable of handling acceleration feed-forward commands (using the differential flatness of the multirotor system), and also includes an optimal full-state observer that additionally 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 moderately-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 5m/s under wind speeds of over 25km/h (~15mi/h, ~7m/s). The highest translational speed controlled by Freyja so far is ~9.5m/s. Freyja is at the backbone of several projects listed here, and many others within the Nimbus Lab.

    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 :)
    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.
    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, Services