<< 2008-9 >>
Department of
Computer Science
Adaptive Control Systems for Verifiably Correct Human-Robot Interaction

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:


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:

  1. 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.

  2. 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.


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.

© 1995-2009 University of Bristol  |  Terms and Conditions
About this Page