My research activity orbits around a single topic: autonomy.

I try to develop engineering-grade technology and eventually some associated science when needed. I see autonomy technology from a control systems perspective. This technology shall enable engineers to build systems that are capable of fulfilling their missions even under changing and adverse conditions.

Tolerating disturbance is the fundamental capability provided by automatic controllers; however conventional controllers have limited capability in terms of maintaining the system under control in any unexpected circumstance. Autonomy is obviously good for economic and technical reasons, but is absolutely necessary for building dependable systems in many uncertain and risky situations that violate design assumptions. Think for example in nuclear power plants, life support systems, extra-planetary vehicles, deep mine robots, etc. Traditional control technologies are adequate for control purposes in predefined, bounded operating conditions. Classic controllers are functional only in a small region close to system operational setpoints and most of them are incapable of dealing with faults or disruptive perturbations.

Autonomy technology is not new. Some advanced control systems try to address uncertain situations (e.g. adaptive, robust, stochastic, self-tuning controllers) but with hard limitations. Uncertainty is dangerous and pervasive. It comes from the outer system environment through imperfect perception, from the inner system environment through faults and drifts or even from the uncertain knowledge that engineers used to perform the design of the controller itself. Controlled systems, environments and control implementations are complex in almost all real situations worth mentioning. Human-based supervisory control systems are the common way to increase the percentage of plant operating time.

But humans fail; in some cases they are even not present. And a big question arises: What can we do to increase the degree of autonomy of the machines? The answer is clear: deploy better control i.e. more intelligence i.e. more understanding of what’s going on. Deploy engineering capability on site.

Intelligence is a fundamental capability for autonomous controllers. Intelligence is manifest in having better control for system bodies. Look at the following definition from a well known dictionary: n

ME, fr. MF, fr. L intelligentia, fr. intelligent-, intelligens intelligent 1 a (1): the ability to learn or understand or to deal with new or trying situations: reason; also: the skilled use of reason (2): the ability to apply knowledge to manipulate one’s environment or to think abstractly as measured by objective criteria.

i.e. intelligence
= deal properly with new situations
= autonomous control

Intelligence is not a binary property. It is a more or less continuous multidimensional magnitude. It is sometimes measured using an utility function in relation with some specific task in some specific context. The bigger the complexity of the task, the higher the intelligence of the entity that performs it. This means, for example, that my handheld calculator is more intelligent that myself for some tasks (hopefully, not many).

My activity in the last years has been focused on knowledge-based controllers that exploit knowledge about themselves and the system they are part of. This shall enable them to make knowledgeable decisions concerning changes in their own organization to adapt to supervened situations. I am interested in self-aware systems and its use in adaptation and resilience augmentation.

Intelligent autonomous systems shall have minds that are complex reflective adaptive controllers.