Adaptive Control Systems for Verifiably Correct Human-Robot Interaction
| Student: | Khurram Ghani (MSc Machine Learning project) |
| Supervisor: | Kerstin Eder with Tony Pipe from BRL as external supervisor |
Documentation available on this project:
- Presentation given at BRL on this project in July 2011: slides.pdf
- Thesis, expected January 2012
- Publication, expected Spring 2012
Introduction
This project investigates the use of Fuzzy Set and Logic (FSL) based learning techniques and Requirements Based Testing (RBT) in the design of trustworthy human-assistive service robots. The development platform is a “hot-drinks service robot” that serves hot drinks to a human. It incorporates an adaptive robot arm with hand as well as human eye-gaze tracking, human hand position tracking, cup pressure sensing and voice command recognition capabilities. The robot’s task is to transfer a hot drink safely and reliably to the human. A previous collaborative project in Summer 2010 with the Bristol Robotics Lab (BRL) established the platform by exploring trade-offs between adaptability and verifiability of the robot. The parameters for that project were set up manually by trial-and-error experimentation. This project extends that work by introducing machine learning and RBT to the robot’s actions in addition to using a more advanced robot arm and hand. The goal is to investigate the aforementioned techniques and demonstrate their feasibility rather than building a hot-drinks robot per se.
The project has two main aims:
- Adaptation: Investigate and implement a machine learning system based on
fuzzy control techniques to determine the robot’s parameters for safe
release of the drink. The main focus will be on offline learning to determine
these parameters. Experimental data from the previous project and, optionally,
new experimental data will be used to build a model of the system for offline
learning. FSL will be used as the representation and Genetic Algorithms (GAs)
will be used as the learning algorithm.
The aim here is to implement a representative machine learning system that can propose adaptations of the robot. These are then put forward for verification before the robot goes online. As such the machine learning system does not need to be highly optimised. The machine learning system simply proposes adaptations which are then further investigated using the RBT methodology in part two.
- Verification: Investigate and implement an RBT methodology to qualify the
proposed adaptations produced by the learning system above. This will consist
of a suite of tests (regression suite) to determine satisfaction of hard and
soft checks for the parameter values to be adapted using learning. The number
and magnitude of hard and soft check violations will be used to generate a
fitness score for GA above.
The robot platform used for this project will be the BERT2 platform based at the BRL. Experiments with human volunteers will be conducted on BERT2 using the learned systems to evaluate their performance and for optionally collecting additional data to improve models.
Architecture
This project investigates the use of fuzzy control techniques for adaptation with RBT methods to implement verifiably safe service robots. Fuzzy control is used as a representation for the solutions and GA to propose adaptations. RBT is used to generate fitness values for GA. Simulation model building using, for example, supervised learning in ANNs is a side topic required for these elements to come together. The project aims to utilise the strengths of each technique in the target problem setting and develops a new overall learning strategy by fusing these elements together. Figure 1 shows the overall project architecture.

Figure 1: Project architecture
The key design areas are:
| Representation: | fuzzy control |
| Adaptation | genetic algorithms (GA) |
| GA Evaluation: | requirements based testing (RBT) |
| RBT model construction: | supervised learning (ANN) |
Fuzzy Control
Fuzzy control systems work with vague and imprecise values and do not require a model of the target process. They can be successfully applied to processes that are not well understood. A typical architecture of a fuzzy control system is shown in Figure 2.

Figure 2: Fuzzy controller
architecture
Genetic Algorithms (GA)
The project aims to use simple GA with a population of chromosomes, where each chromosome encodes a fuzzy controller. For example, a two-input conjunctive fuzzy rule base with a single output will contain rules of the following form
![]()
where
is
the rule number and
,
and
. Hence
can take linguistic values
from the collection
,
from collection
and
from collection
. The total number of rules possible therefore is
. By fixing the number of rules in any solution to
, a chromosome can be given by a fixed length string. For example,
for
and assuming operators are
not subject to adaptation, a chromosome will be given by the following string:

Requirements Based Testing (RBT)
RBT refers to the verification methodology that starts from the requirements of the system and influences each stage of the design, implementation and testing of the system (software system in this context). The goal is to produce an implementation that meets high-level requirements. Complex safety critical systems, such as airborne software systems, rely on RBT for verification of the software. Simulation testing is a key part of the RBT methodology.
Many tests are grouped into regression suites. The regression suites contain checks performed by tests and testbench. Checks are implemented in standalone checkers or as part of self-checking tests. Any failing checks during a test run cause that test to fail. Failing checks per test are assigned a cost penalty and aggregated across the entire regression to produce a combined cost value. This combined cost is used as the GA fitness value for a particular chromosome/solution. Note: the entire regression suite is run per chromosome to generate its fitness value.
Simulation Model
RBT will require a simulation model for BERT2 and its environment. This will be constructed initially by hand using experimental data. This data will be collected by running trials with human participants where the robot attempts to pass a drink to the human. Multiple experiments will be run with different humans under different conditions. The model will include an element of stochastic behaviour as it will not represent the real world environment absolutely accurately and many variables and uncertainties will not be modelled. Optionally, the model can be improved by using a supervised learning algorithm (e.g. ANNs) and using the experimental data as training input. This may be required if the hand constructed model is inadequate in representing the real world.

