Long-duration robot autonomy

In long-duration autonomy applications, robots are deployed to perform tasks over long time scales. Examples include:

  • Climate-change ecology
  • Space exploration
  • Automated agriculture
  • Traffic monitoring

As a consequence of the long-term deployment, the robots will end up operating under unknown conditions, which were not planned and accounted for during the design phase. These scenarios offer a variety of challenges which are not encountered in any other discipline of robotics and unveil the potential fragility of traditional design and control techniques employed to build and program robots.

Constraints-driven control

The fragility coming from a cost-optimization formulation may lead to sub-optimality or even infeasibility of the designed controllers in presence of unmodeled phenomena. For this reason, a more desirable formulation is the following constraint-based energy-minimization: $$ \begin{aligned} \underset{u}{\mathrm{minimize}} ~~& \| u \|^2\\ \mathrm{subject~to} ~~& g(x,u) \le 0, \end{aligned} $$ where \(x\) is the robot state, \(u\) its control effort and the constraint \(g(x,u) \le 0\) encodes the execution of desired tasks.
Control barrier functions allow us to formulate a constrained-optimization-based control framework where complex behaviors specified as high-level tasks in terms of set stability and set invariance conditions are turned into constraints on the robot input.

A natural philosophical perspective

Embodiments of the constraint-driven control paradigm can be found numerous in nature. Ecological studies on the evolution and the distribution of species show that the environment and its ecological constraints, such as favorable climate and availability of resources, are more effective than goal-driven behaviors in shaping characteristic features and behaviors of species. The low-energy lifestyle of three-toed sloths is an iconic example.

In philosophy, constraints-driven control may be recognized in Arthur Schopenhauer's theory according to which "A man can do what he wants, but not want what he wants", or the more practical "A man's actions are determined by necessity, external and internal" attributed to Albert Einstein.


  • G. Notomista and M. Egerstedt, “Constraint-driven coordinated control of multi-robot systems”, American Control Conference, 2019

Task persistification

A paramount problem in long-duration robot autonomy is the limited amount of energy that mobile robots can store in their batteries. Provided that there is enough power generated in the environmnet—e.g. by sunlight for solar-powered robots, or, more generally, by charging stations—, we can ensure that robots will never run out of energy while executing their tasks by solving the following optimization problem for the robot control input \(u\): $$ \begin{aligned} \underset{u,\delta}{\mathrm{minimize}} ~~& \| u \|^2 + \kappa \delta^2 \\ \mathrm{subject~to} ~~& g_{task}(x,u) \le \delta\\ ~~&g_{energy}(x,E,u) \le 0, \end{aligned} $$ which realizes the persistification of tasks. Here, \(E\) is the energy stored in the robot battery, and the task execution encoded by \(g_{task}\) is relaxed by \(\delta\in\mathbb R\), so that the energy constraint \(g_{energy}(x,E,u) \le 0\) can always be satisfied.


  • G. Notomista and M. Egerstedt, “Persistification of robotic tasks”, IEEE Transactions on Control Systems Technology, vol. 29, no. 2, pp. 756-767, 2021
  • G. Notomista, S. Ruf, and M. Egerstedt, “Persistification of robotic tasks using control barrier functions”, IEEE Robotics and Automation Letters, Vol. 3, No. 2, pp. 758-763, 2018

Task prioritization and allocation

There are situations in which robotic systems are able to execute multiple tasks at the same time. This is the case of redundant robotic system, such as humanoid robots and multi-robot systems. In the former case, redundancy comes from a number of degrees of freedom higher than the dimension of the task space: in this settings a single robot is able to execute multiple tasks concurrently.
The constraint-based formulation amenable for long-duration robot autonomy lends itself to let robots execute a prioritized stack of \(M\) tasks as follows: $$ \begin{aligned} \underset{u,\delta}{\mathrm{minimize}} ~~& \| u \|^2 + \kappa \| \delta \|^2 \\ \mathrm{subject~to} ~~& g_{task,1}(x,u) \le \delta_1\\ ~~& \quad\vdots\\ ~~&g_{task,M}(x,u) \le \delta_M\\ ~~&g_{energy}(x,E,u) \le 0\\ ~~&P\delta\le0, \end{aligned} $$ where \(P\), the prioritization matrix, enforces constraints onf the prioritization vector \(\delta\in\mathbb R^M\), which result in relative priority constraints between the tasks encoded by the functions \(g_{task,i},~i=1,\ldots,M\).

If for humanoid robots redundancy comes from a high number of degrees of freedom of the robot, in the case of multi-robot systems the degree of redundancy results from the number of different robotic units of which the system is comprised. In this case, rather than prioritizing the execution of concurrent tasks, we are interested in allocating different tasks to different robots. Prioritization and allocation are two realizations of the same concept—namely that different degrees of freedom may serve the execution of different tasks—and, as such, can be achieved using the same formulation: $$ \begin{aligned} \underset{u,\delta,\alpha}{\mathrm{minimize}} ~~& \| u \|^2 + \kappa_1 \| \delta \|^2 + \kappa_2 \| \alpha-\alpha_0 \|^2\\ \mathrm{subject~to} ~~& g_{task,1}(x,u) \le \delta_1\\ ~~& \quad\vdots\\ ~~&g_{task,M}(x,u) \le \delta_M\\ ~~&g_{energy}(x,E,u) \le 0\\ ~~&P(\alpha)\delta\le0. \end{aligned} $$ The allocation is achieved by means of the allocation vector \(\alpha\) which parametrizes the prioritization constraint \(P(\alpha)\delta\le0\); \(\alpha_0\) may indicate a desired allocation, evaluated based on the capabilities that different robots have at executing different tasks.
It is interesting to notice that the allocation \(\alpha\) is an optimization variable evaluated online alongside the control input \(u\) required by the robots to execute the allocated tasks. This feature allows the allocation algorithm to adapt to varying environmental conditions and render the multi-robot system resilient to failures and unexpected phenomena.


  • G. Notomista, S. Mayya, Y. Emam, C. Kroninger, A. Bohannon, S. Hutchinson and M. Egerstedt, “A Resilient and Energy-Aware Task Allocation Framework for Heterogeneous Multi-Robot Systems”, IEEE Transactions on Robotics (submitted)
  • Y. Emam, G. Notomista, P. Glotfelter, and M. Egerstedt, “Data-Driven Adaptive Task Allocation for Heterogeneous Multi-Robot Teams Using Robust Control Barrier Functions”, IEEE International Conference on Robotics and Automation, 2021 (submitted)
  • G. Notomista, S. Mayya, M. Selvaggio, M. Santos, and C. Secchi, “A set-theoretic approach to multitask execution and prioritization”, IEEE International Conference on Robotics and Automation, 2020
  • Y. Emam, S. Mayya, G. Notomista, A. Bohannon, and M. Egerstedt, “Adaptive task allocation for heterogeneous multi-robot teams with evolving and unknown robot capabilities”, IEEE International Conference on Robotics and Automation, 2020
  • G. Notomista, S. Mayya, S. Hutchinson, and M. Egerstedt, “An optimal task allocation strategy for heterogeneous multi-robot systems”, European Control Conference, 2019

Robot design

Iterations of the SlothBot design: from the lab to the Atlanta Botanical Garden.

The SlothBot is a wire-traversing robot for long-term environmental monitoring applications. It is a solar-powered, slow-paced, energy-efficient robot (hence its name) capable of moving on a mesh of wires by switching between branching wires. The design objectives that drove the development of the SlothBot have been the following:

  • Fail-safeness
  • Wire-switching capability
  • Energy efficiency
  • Design simplicity

The mechanical structure of the SlothBot consists of two bodies connected by an actuated hinge. Each body (shown in the figure above), houses a tire driven by a DC motor. Wheels, as opposed to brachiation-based locomotion, make motion control simple, while, at the same time, allowing a safe motion on a mesh of wires. The two servo motors on each body allow for the opening of gaps in the top gears: this allows the SlothBot to switch between branching wires. The switching maneuver is shown in the sequence of figures below.

The switching mechanism of the SlothBot allows it to safely switch between branching wires. In fact, at each point in time, at least one of the two bodies is firmly hung on the wires. In the figures above, from left to right, we see the SlothBot switching from one branch to another. First, the top gears of the rightmost body open, allowing the first body to move onto the new branch. Once the first body is firmly attached to the new branch, the top gears of the second body open, letting the SlothBot complete the switching maneuver. The following videos describe locomotion principle and switching mechanism, and show the SlothBot in action.


  • G. Notomista, Y. Emam, and M. Egerstedt, “The SlothBot: A novel design for a wire-traversing robot”, IEEE Robotics and Automation Letters, Vol. 4, No. 2, pp. 1993-1998, 2019


Brushbots are ground mobile robots that exploit brushes and vibration motors for locomotion. The initial realization shown in the picture above was built by Jamison Go and used by Rowlan O'Flaherty (former undergraduate and PhD student, respectively, in the GRITS Lab). The next video shows its resuscitation after having been forgotten for several years.

Brushbots drive on brushes using vibrating motors. The vibrations generated by the motors make the brushes act like springs that randomly push the robot around. This randomness is the main source of problems, and therefore interest, when working with this robot. In the following, some of the attempts to model and control such a robot are reported:

Nevertheless, a way of reliably controlling these simple robots still remains elusive, unless more accurate mechanical designs are employed. See pictures below.

The following video shows these three robots going around the Robotarium.

The dream of a reliable and robust robot which is simple to build and control will drive the next steps of the research on the brushbots. In particular, this platform seems to be particularly suitable to experiment with machine learning and control, and their synergistic application to solve problems in robotics.


  • G. Notomista, S. Mayya, A. Mazumdar, S. Hutchinson, and M. Egerstedt, “A study of a class of vibration-driven robots: Modeling, analysis, control and design of the brushbot”, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2019

Swarming brushbots
Brushbots are coming!

A team of 4 roboticists (Jeremy Cai, Yousef Emam, Siddharth Mayya and myself) spent a Saturday building 32 differential-drive-like brushbots from scratch. See pictures below for the highlights of the day.
Rome wasn't built in a day, a swarm of brushbots...almost!

Highlights from the building of a swarm of brushbots: from flashing PCBs, soldering motors, mounting brushes, to the first control and wireless charging tests on the Robotarium.

These brushbots are featured in action in the following video, where they are deployed on the Robotarium to execute coordinated control algorithms.


  • S. Mayya, G. Notomista, D. Shell, S. Hutchinson, and M. Egerstedt, “Non-uniform robot densities in vibration driven swarms using phase separation theory”, IEEE/RSJ International Conference on Intelligent Robots and Systems, 2019

Human-robot interaction

In applications where robots interact with humans, one of the most important aspect to consider is safety. This involves keeping both human beings and robotic systems safe, preventing the latter to be harmed and the former to brake.

Moreover, when human operators need to control robots through, for instance, predefined gestures or joysticks, an equally important aspect to take into account is the intuitiveness of the interaction. This entails the design of mappings between the inputs that a human being is able to provide to the control inputs required by a robotic system.

Safe and passive interaction control

Passivity is a control-theoretic concept which allows us to reason about behaviors of dynamical systems from an energetic point of view. For this reason, it is possible to define the safety of a human-robot interaction system in terms of its passivity properties. Safety in control theory is also often identified with the concept of forward invariance, where we aim at confining the state of a dynamical system within a prescribed safe set. While this is complementary to the notion of passivity, both can be encoded as constraints for the interaction control system and enforced holistically.

One of the causes for a system to be non-passive or unsafe is communication delay. In a joint work between the GRITS Lab at Georgia Tech and the Fujita-Yamauchi Lab at Tokyo Tech, the effect of real internet communication delays on the coordination of two multi-robot systems located in two different labs separated by 11,000 km has been studied. The above video summarizes the first experiment of its kind. The next video shows the same technique applied to the formation control of a multi-robot system with artificial communication delays.


  • R. Funada, X. Cai, G. Notomista, M. W. Surya Atman, J. Yamauchi, M. Fujita, and M. Egerstedt, “Coordination of robot teams over long distances. From Georgia Tech to Tokyo Tech and back: An 11,000km multi-robot experiment”, IEEE Control Systems Magazine, Vol. 40, No. 4, pp. 53-79, 2020
  • G. Notomista and X. Cai, “A Safety and Passivity Filter for Robot Teleoperation Systems”, International Workshop on Human-Friendly Robotics, 2020
  • G. Notomista, X. Cai, J. Yamauchi, and M. Egerstedt, “Passivity-based decentralized control of multi-robot systems with delays using control barrier functions”, IEEE International Symposium on Multi-Robot and Multi-Agent Systems, 2019

Human-multi-robot interaction for object grasping

In this preliminary work, done in collaboration with Mario Selvaggio from the Università degli Studi di Napoli "Federico II", we developed an intuitive human-multi-robot shared interaction control for applications of object grasping and manipulation.
The kinematic of the human hand is mapped to the kinematic of the multi-robot system in order to naturally control a large number of robots using intuitive grasping gestures.


  • M. Selvaggio and G. Notomista, “Towards natural human-swarm teleoperation using hand synergies”, Workshop "Swarms: From Biology to Robotics and Back" at IEEE International Conference on Robotics and Automation, 2018