Despite the availability of enabling technologies for each of the functional capabilities (Durrant-Whyte, 2001), many issues remain unresolved. The integration of disparate components into a complete system requires an effective system architecture to control and coordinate the operation of these functions for autonomous behaviours to emerge.
In addition, the design and realization of system architectures requires various compu- tational issues to be resolved, as discussed in section 2.3.3. Consequently, the key to autonomous operation lies in decision making. Such decision making is crucial; when
“dealt with a poor hand at a game of poker,” one attempts to “maximize the chances of winning despite a poor hand,” i.e. optimizing the overall capability of the system, overcoming the limitations of the disparate functions and fulfilling the operational requirements of the tasks. decision making is determined by the system architecture and the representation of information, and in turn it determines the system’s behaviour.
In this section, autonomous operation is formulated as a decision making problem, namely an instance of action-selection, as discussed in section 2.3.3. The intelligent behaviour of an autonomous system is the result of the selection of one among several possible courses of actions it is capable of performing to accomplish its goals. Such a formulation is necessary as it provides a decomposition of the decision making process into smaller elements. This facilitates the identification of the means to support the decision making process, by taking into account the state of the system, and its observation of the environment. The task of the system designer is to determine theaction-selection mechanismandpolicythat is best suited to the intended application. To better understand the nature of goals and objectives for directing the behaviour of a system, the process of mission and task planning is formulated. The autonomous functioning of a system is deemed as a process of mission planning and task decomposition, and the selection of actions to accomplish the list of mission goals.
With such a formulation, it becomes possible to understand how decision making is being accomplished in other systems that face similar challenges, e.g. biological organisms, since the means with which they tackle these problems can be mapped to the different functions of autonomous systems.
2.4.1 Action-selection
The action-selection problem is also known as the problem of autonomous agency in an intelligent system, i.e. it questions how an agent can become autonomous. As a superset of the problem of autonomy, or autonomous functioning, it defines how an autonomous entity selects its behaviour, given its current state and understanding of the environment, the tasks it has to perform, and its capabilities. Theaction-selection problemis characterized by:
Action-selection problem, Q={A, U, V, M,Π} (2.1) where:
A: A set of actions, called theaction-spaceorskill-setof a system, which encapsulates all of its capabilities:
A={α1, α2, ..., αNa}. (2.2) U: A state vector, which describes the state of the system, and its observations of the environment at any instant. This may just be the current state of a systemX, or a history of states until the current timeτ, given by:
U = [X0X1... Xτ]T (2.3)
or a history of states together with predicted states up to a finite horizonh:
U = [X0X1... XτXτ+1Xτ+2... Xτ+h]T (2.4) V: An output vector, indicating the relative preferences of each of the actions to be
executed, given the current state of the system. This is represented as:
V = [v0v1... vNv]T (2.5) where each of its elements vi refers to the relative strength of a corresponding actionαi∈ A.
M: An action-selection mechanism, which operates as a mapping function represented asM : U →V that transforms the input state vectorU to the outputV. M may accept more inputs than just U; for instance, M may accept mission objectives,
or goals,of a system. In artificial intelligence, the action-selection mechanism is accomplished by anagent architectureor one of its parts (Brom and Bryson, 2006).
Π: An action-selection policy Πa : V → A that identifies a suitable action to be executed, given the relative strengths of the actions in A. Πa can also return a sequence ofkactions to be performed:
Π :V → {ατ, ατ+1, ..., ατ+k}, k∈Z (2.6) Solving the action-selection problem is to determine the mappingM between the state vectorU and the outputV, and the policyΠathat determines an action or a sequence of actions to be performed.
2.4.2 Mission and task planning
A mission statement is represented as a sequence of high-level goals to be performed, ordered according to priority:
MS ={ψ1, ψ2, ..., ψn}, ψ∈Ψ (2.7) where Ψis the set of all possible goals. The mission planner accepts MS and breaks down each high-level goal into one or more lists of tasks of increasing atomicity until each task can be performed by a single action. Each task list is an alternative course of action, though different task lists may lead to similar outcomes.
Mission Planner, MP :MS →MT, (2.8) whereMT is a list of tasks (or objectives), as determined by the task generator:
MT ={τ1, τ2, ..., τNτ}. (2.9) The task generator is part of the mission planner. Its function is to decompose a high level goal into a sequence of tasks that the AGV must perform in order to complete the goal, in an on-line fashion:
MP :{ψ1, ψ2, ..., ψn} → {τ1, τ2, ..., τNt}. (2.10) Halfway through the execution of a task list, if the task generator decides that the task list is obsolete, it preempts the execution of the current (obsolete) task, flushes the task list, and generates a new task list. The decision making involved is thus a process of action-selection to perform the set of goals in the order of priority as specified in the mission statement. The decomposition of high-level goals into low-level tasks is akin to real-time task-allocation cum scheduling. Performing multiple goals is akin to a multiple
objective optimization problem, though not all such problems can be solved. For instance, it is impossible for the AGV to be at two different geographic locations simultaneously.
LetMAbe the relation that maps each taskτ to one or more actionsAτ, namely:
MA:τ → Aτ, (2.11)
where Aτ = {α(τ)1 , α(τ)2 , ..., α(τ)N }, and α(τ)i is the ith action in the sequence of actions to perform the taskτ. To determine if this task τ can be performed by the system is equivalent to testing ifMA(τ)∈ A, whereAis the set of actions a system is capable of performing, as in equation (2.2).
The test of whether a certain mission goal can be accomplished becomes a problem of testing if this goal can be broken down into a list of tasks (i.e. ifMP exists), and whether this list is feasible, i.e. if the finite set of actionsA(the capabilities) of the system can accomplish the tasks (i.e. ifMA(τ) ∈ A). This is a search problem that takes place in task- or action-space to determine the existence of one or more connected paths. Given the capabilities of the AGV, if the mission goal cannot be decomposed into tasks solely belonging to the capability set of the AGV, it would not be possible to achieve this goal.
This is akin to a real-time schedulability test on the list of tasks to be performed and whether these tasks can meet their (real-time) deadlines. To achieve the mission goals, it is necessary to know the following:
• The set of capabilities of the vehicle.
• An understanding of the environment within which the AGV is operating.
• An assessment of the priorities of different tasks.
• An understanding of the pre and post-conditions of performing each task.
• A decision making mechanism for deciding between different courses of actions.
• A procedure that assesses the performance of the vehicle in meeting its goals.
2.4.3 Motion planning
The planning of motion is analogous to that of mission planning, in which case the list of tasks to be performed is equivalent to a set of intermediate goals, where each sequence of actions to be taken is akin to an alternative path through all the goals. This problem is similar to thetravelling salesman problem, especially if the intermediate goals are ranked in some order of priority or evaluated by a cost function. The sequence of actions to be taken (i.e. alternative paths) is determined by a planning algorithm, as in the case ofprobabilistic roadmaps(Hsu et al., 1999), or dynamic navigation (Stenz, 1995).
2.4.4 Autonomous operation
Given an autonomous systemAM, the aim is for this system to autonomously determine the sequence of actions in A = {α1, α2, ..., αNa} to be executed at the time instances T = {t1, t2, t3, ..., th}, up to a planning horizon h such that AM is able to achieve its list of goals as given byMS = {ψ1, ψ2, ..., ψn}. In the case of an autonomously guided vehicle, each goalψimay refer to either a mobility or manipulation task (as provided by the available locomotion means, or robotic end-effector payloads), for example, a list of instructions such as “go to locationA1”, “pick up objectO1”, “go to locationA2”, and “put down objectO1,” or simply a list of GPS coordinates as waypoints for navigation.
2.4.5 Critical assessment
The above formulation provides an understanding of the problem of achieving autonomy in artificial systems, framed within the structure of the action-selection problem. Solving this problem requires the understanding of the environment in which the system is operating and the knowledge of thecapabilities(e.g. actions and behaviours) the system is able to execute. In addition, themechanismsin which decision making is performed needs to be identified, whether for solving the action-selection problem, or the mission planning problem. This can be achieved by specifying priorities, or preferences for different actions or objectives to be achieved.