Mobile robot control by lerned behaviour.
Pozna, Claudiu ; Alexandru, Catalin
Abstract: The aim of this paper is to present a general view about
the autonomous driving researches made in the University of Applied
Science Heilbronn, Germany. More exactly we will present aspects about
our autonomous car control system design. This will be the occasion to
focus on the tactical level of the mentioned control system in order to
present the behavior based control strategies. One of the first results
of the mentioned strategy is the trajectory tracking. Key words:
autonomous car; driving robot; control system architecture, trajectory
tracking.
1. INTRODUCTION
Nowadays, autonomous car designs are taken into consideration more
and more. The mentioned concept can be defined like a car which is able
to drive itself. So this means that we deal with a car which copies a
human driver's performances. Is this a mobile robot? The answer is
yes, if we consider only the navigation performance, but no, if we have
in mind that it is necessary to add specific interfaces that are not
needed in the mobile robots case. The present work has ignored this
difference and has focused on the driving (navigation) performance that
means that our autonomous car (Pozna & Troester 2007) is in fact a
mobile robot.
This paper presents aspects about the ACC autonomous car that we
have constructed in the University of Applied Science in Heilbronn,
Germany. The presentation will focus on some original elements which
refer to the control architecture of the mobile robot. More precisely,
we will present our three level control system which operates with a
collection of programs named behaviors.
Our control system architecture is based on the human driver
behavior model concept. So, in order to present our ideas, some
preliminary discussions are necessary. We know that the
"Driver's Behaviors" model is used in the simulation
(Al-Shihabi 2001; Quispel 2002), and also in autonomous car design field
(Bengtsson 2001). The first researches on the subject started in 1950
and began with the "Skill-based driving model", continued with
the "Motivational model" which considered the drivers'
emotional state (from this class we can enumerate the "Risk
compensation"; "Risk avoidance" and "Risk threshold
models"). Recently, the model turned to a "Hierarchical
control structure". The "Hierarchical control structure"
(Milchon structure) divides driving into three levels of control: a
strategic level, which establishes the goal of the driving, a tactical
level, which finds the solution to accomplish the goal and an
operational level, which implements this solution on low level control
of the vehicle. Behind this "Hierarchical control structure"
many scientific papers consider and develop problems like:
"Longitudinal behaviors models" (Bengtsson 2001);
"Lateral behaviors model" (Ungoren 2005); etc. The solutions
of these problems are varied: "Linear optimal Control",
"Heuristic human driver models", "Adaptive control strategy", "Neuronal Network and fuzzy logic",
"Mental models", etc.
Because we have intended to make a heuristic approach, we have been
interested to find control programs architectures which model the human
behavior. Such architectures are presented in (Al-Shihabi 2001 and
Quispel 2002).
Some conclusions about these briefly overviews: --In the scientific
literature referring to "Driver Behavior Model" we have found
several results which can be adapted and used in our mobile robot
control;
--Recent works accept the Milchon three levels architecture; Many
papers focus on the tactical level where the program must find the
solutions in condition of changeable driving circumstance.
2. THE CONTROL ARHITECTURE CONSTRUCTION
Our idea starts from this point: we consider that it is more
suitable to model and implement the "human driver decisions
act", than the "human driver actions". This idea
transfers the approximation of the human driver behaviors from a
mechanical to an artificial intelligence problem. This kind of problem
involves preliminary analyze which must answer to the following
questions: "What are driving behaviors?"; "Can we obtain
some fundamental true about these behaviors and use them in our
construction?" We have made a phenomenological research which
starts with the semantic characteristics of "Driving
behavior". First, it is important to establish the category tree of
this word: {act [right arrow] activity [right arrow] (behavior,
practice, ...)}. According to this, the behavior is: "an action or
a set of actions performed by a person under specified circumstances
that reveal some skill, knowledge or attitude". From the scientific
literature which concerns the driving behavior (Huang 2000; Liu 2001;
Salvucci 2005) and from our experience, the driving behavior has a
special feature. To describe it, we focus on the word "custom"
which belongs to the same category tree {act [right arrow] activity
[right arrow] practice [right arrow] habit,.} and which is defined as:
"accepted or habitual practice". In many situations, these
habits have a special nature: automatism--any reaction that occurs
automatically without conscious thought or reflection. Using the
previous definition, "Driving Behavior" is an action or a set
of actions performed by a person under driving circumstances, actions
which tend to be transformed in habits and even in automatisms. In fact
the "Driving Behavior" is composed of a series of behaviors
(the driver's behavior when he makes the ignition, the
driver's behavior when he stops the car, ... etc.). From the
mentioned theoretical and practical research, we established the
following "fundamental truth" for the "Driving
Behavior":
1. A priori, the driver establishes the current driving goal;
2. A behavior is a set of actions;
3. These behaviors are linked together, creating a system which
allows the driver to obtain solutions in the driving circumstance;
4. The translation from one behavior to another is triggered by the
occurrence of an event;
5. This system is developed by learning--experience;
6. Behaviors presume decisions with an incomplete set of
information;
7. In time, these sets of actions tend to be transformed in habits
and automatisms.
These propositions agree with the well-known three level
architecture of Milchon: the strategic level, where the driver
establishes his goal, the tactical level, where the driver finds the
solution to accomplish the goal and the operational level, where the
driver implements these solutions. Using these propositions, we can
focus on the tactical level and model (approximate) the "Human
Driving Behaviors" by a collection of high linked programs
(behaviors) which are stored in a memory. The decision to run a certain
program is made by a manager program. This decision is based on the
driving goal and on the environment understanding (driving
circumstance). Each program (behavior) is a set of instructions
(actions) which impose parameters and trigger actuators. Using these
seven propositions, we can imagine the utility of state machines, for
handling the behaviors, fuzzy logic to enable decisions or to describe
the environment and neuronal network to implement the learning
processes.
The aim of figure 1 is to make our concept more understandable and
to allow the necessary explanations:
--The strategic level, where the robot receives its task (goal) is
an interface which helps the human operator to impose the goal;
--The "Program Manager" analyzes the goal versus the
driving circumstances which are obtained from the sensors; the result of
this process is the status vector of the robot (the desired position,
velocity, etc.) and also the decision to run a certain program from the
"Behaviors" subsystem;
--The "Behaviors" contains three parts:
--The "Error Machine" which compares the status vector
with state vector (the positions, velocity, etc. obtained from the
sensors);
--The "Behavior Programs": is a collection of programs
(behaviors); each program is able to solve a special environment
situation (ignition, emergency stop, zero position, errors....);
--The "Actuators Manager" which manage the actuators of
the robot;
--The "Output Interface" allows the states and the errors
reading and also the robot state history memorization; The
"Actuators Communications" outputs data to the
microcontrollers of each actuator;
[FIGURE 1 OMITTED]
In order to build the "Behaviors" subsystem, it is
important to imagine the structure of the programs which are included in
the "Behaviours Programs" (see figure 2). There are different
types of such programs: "basic behaviours", "error
behaviours" and "simple behaviours". The main differences
between these programs are the connection type and also the direction of
information flow.
[FIGURE 2 OMITTED]
The control program has been build with Matlab (xPC toolbox). The
navigation problem that we intend to solve can be defined in the
following way: the task of the mobile robot is to follow a certain
trajectory between two points; the trajectory is mathematical defined on
a map, but (initial) unexpected obstacles must be avoided during the
navigation. In order to be able to accomplish this goal the
"Behaviors Program" (see figure 1) must contain the following
programs (behaviors): start the car; follow an a priori defined
trajectory; return to the a priori defined trajectory; avoid the
obstacle and return to the a priori defined trajectory; stop de car.
Experiments have been made to track linear or circular trajectories.
3. CONCLUSIONS
We have presented aspects about the control system design. The
original achievements of these works have been highlighted. More
precisely, original control system architecture, based on human behavior
model was proposed. We must mention that nowadays, only a part of the
control architecture is made, so future work will develop this
architecture. We intend also to develop our environment sensory system for circumstance recognition, and "Program manager"
development.
4. REFERENCES
Al-Shihabi, T.& Mourant, R. (2001). A Framework for Modeling
Human-like Driving Behaviors for Autonomous Vehicle in Driving
Simulators. Proceedings 5th International Conference on Autonomous
Agents, June 2001 pp. 286-291.
Bengtsson, J. (2001). Adaptive Cruise Control and Driver Modeling,
Department of Automatic Control Lund Institute of Technology Lund,
November.
Huang, S. (2000), Design and Performance Evaluation of Mixed Manual
and Automated Control Traffic. IEEE Transaction on Systems Man and
Cybernetics pp. 127-136.
Liu, A. (2001). Modeling and Prediction of Human Driver Behavior.
Proc. of the 9th International Conference on Human Computer Interaction,
Aug, 2001, pp. 235-244,
Pozna, C. & Troester, F. (2007) Research on the ACC Autonomous
Car. Journal of Automation, Mobile Robotics & Intelligent Systems
Vol.1, No.1, pp32-40
Quispel, L. (2002). Automan, a psychologically based model of human
driver. Experimental and Work Pscychology. Department of Psychology,
University of Groningen Available from: http://www.tcw2.ppsw.rng.nl,
Accessed: 2005-08-08.
Salvucci, D. (2005). Modeling Driver Behavior in a Cognitive
Architecture. In Press, Human Factors February 16.
Ungoren, A. (2005). An Adaptive Lateral Preview Driver Model.
Vehicle System Dynamic.vol42, pp 225-259.