• No se han encontrado resultados

SALVAMENTO DE VOTO DEL MAGISTRADO MAURICIO GONZALEZ CUERVO

The first part of this section describes how the adaptive mission planning agent can dy- namically gain access to the services available in the system. The second part describes the novel approach proposed to service-oriented mission planning.

5.3.1

Related Work

Many are the steps required for a payload to join a UUV platform: • Plug device into a port of the platform,

• Install the device software, configuration files, and metadata,

• Modify the configuration of the host platform to recognize the device, and • Note change of data collection context and associate metadata with new data

stream.

These tasks all are time-consuming, tedious, and prone to errors when performed manually by an operator. They also do not scale well.

New technologies and protocols are appearing allowing the set of services of the payload to be automatically retrieved once the device has been physically plugged into a port of the host platform. In these protocols, metadata is automatically inserted into

the data stream. Thus, it becomes accessible to the rest of intelligent agents in the system.

An instance of these type of technologies is the Programmable Underwater Con- nector with Knowledge (PUCK) from the Monterey Bay Aquarium Research Institute (MBARI) (O’Reilly, 2009). The PUCK protocol is a simple command protocol that helps to automate the configuration process by physically storing information about the instrument with the instrument itself. PUCK-enabled payloads are able to perform an automatic configuration process and to provide a very flexible plug-and-work solution. PUCK is mainly available for serial ports.

Another example is the standard of the JAUS Service Interface Definition Lan- guage (JSIDL) (SAE-AS-4 AS5684, 2008). This protocol is based on TCP/IP ports. It is a top-level specification that defines a language for describing unmanned system capabilities. It uses a syntax as a means to formally specify a schema that is to be used to create JAUS Service Definitions (JSDs) for all defined capabilities.

Technologies such as the aforementioned provide the required machine readable information that enables the autonomous adaptation of mission plans to the capabili- ties available in the platform. Together, automatic service discovery and autonomous service-oriented mission adaptation can provide benefits for long-term deployment and easy reconfiguration of UUV platforms.

5.3.2

Service-oriented Mission Planning

In this section we present a different goal-based approach from the one presented in Chapter4. It is based on backward state-space searching. The first part of this section describes how this approach autonomously generates a mission plan that covers the mission requirements using the knowledge available about the platform capabilities. The second part introduces an extension to this approach by proposing a service-based mission planning approach capable of generating a mission plan using the capabilities of the platform that are not known a-priori but dynamically discovered instead.

5.3.2.1 Autonomous mission planning

An instance of a mission environment for UUVs was defined in Section 1.4 as Π= {Σ,Ω}, where Σ is the domain model containing a set propositions defining the avail- able resources in the environment and the set of actions of the platform (see Sec- tion4.3.1), and Ω is the problem model containing the initial state x0and QOis the mis-

sion requirements or set of possible mission accomplished states (see Section4.3.2). A progression state-transition function ϕ : GO× S → S represents the expected

transition between an original and a result state provided by the execution of a ground action in the original state. Given an instance Π and a progression state-transition function ϕ, the mission generation problem consists in finding if there exists a mission plan πT0 of length T , using instances of the available actions gah

z ∈ GO, such that if

applied to the current platform state x0 satisfies the requirements in QO. The mission

plan πT0 can be seen as a sequence of ground actions through the progression function (see eq.5.1).

πT0 = hg1,g2,...gT | xq= ϕ(gaqh,xq−1)i (5.1)

Several approaches exist in the artificial intelligence (AI) literature capable of solv- ing this problem (Ghallab et al., 2004). If the set of mission requirements QO is con-

sidered to be provided by the operator, the process of backward state-space search fits the logical model for generating a mission plan that is coupled with the current system functionality. The method starts from the mission requirements given by the opera- tor QOand applies the regression function xq−1= ϕ−1(gaqh,xq) using instances of the

available actions to produce new states, stopping if a set of sub-goals satisfied by the initial state x0is produced.

We implemented a backward chaining approach to be used as reference during the experiments carried out in Section 5.5. This implementation can deal with several extensions from the classical representation. It can handle typing, fluents, attached procedures, and durative actions. This concepts are modelled in the domain by C, VC, FV and AV respectively. In the search process, it can also incorporate different

heuristics and contemplate domain-specific metrics.

The mission plan is generated by calculating the estimated payoff function ˜σ of the visited states. The search process is guided towards the minimisation or maximisation of the values of this function (e.g. (:metric minimize (+ (distance-travelled) (total-duration))), (:metric maximize (battery)), etc.).

Based on ˜σ, a node-selection function ns(W) is implemented to choose which state wfrom a set of candidate nodes W to visit next from a state xq(see eq.5.2). The use of

argminor argmax in eq.5.2is related to the selected metric optimisation. The function executable−1returns the list of ground actions that are able to make a regression step from the state xq, i.e. actions which capabilities are all part of the state.

xq−1 = ns(W) = [argmin|argmax]{ ˜σ(gah q ,w) | w ∈ W} (5.2) W = [ gahq ∈ {executable−1(xq)∩AV} {ϕ−1(gah q ,xq))}

For evaluation purposes, different heuristic functions h have been implemented that guide the node-selection step during the search process. They estimate the distance to the initial state x0 from the current node xq. They have been selected to have dif-

ferent admissible and informative properties. The heuristic ha simply calculates the

remaining resources in the node needed to match the current platform state resources (see eq. 5.3). The heuristic hb calculates the sum of the cost of achieving all the re-

quirements in x0by looking at the requirements (condition(gaqh)) and positive effects

(effect+(gah

q )) of the ground actions (see eq. 5.4). This heuristic is not admissible,

i.e. is not a lower bound of the real cost. A similar heuristic hcthat is admissible can

be obtained by estimating the maximum cost of achieving all the resources in x0 (see

eq.5.5). The heuristics hband hcare generally known respectively as ∆0and ∆1in the

literature (Ghallab et al.,2004).

ha(xq) = |x0| − |xq∩ x0| (5.3) hb(xq) =

p∈x0 hb(xq, p) (5.4) hb(xq, p) =    0, if p∈ (x0∨ xq) mingah q {1 + hb(xq,effect +(gah q ) | p ∈ condition(gaqh)} hc(xq) = max{hc(xq, p) | p ∈ x0} (5.5) hc(xq, p) =    0, if p∈ (x0∨ xq) mingah q {hc(xq, p),1 + max{hc(xq,q) | q ∈ effect +(gah q )}}

The estimated payoff function ˆσ(gaqh,xq) is the weighted balance between the exact

payoff function σ(gah

q ,xq) of the partial mission plan solution and the heuristic function

h(xq) (see eq.5.6).

ˆ

σ(gaqh,xq) = α · σ(gqah,xq) + (1 − α) · h(xq) (5.6)

5.3.2.2 Service-based Mission Planning

By distributing this candidate selection process, this approach can be applied to mis- sion plan generation in a service discovery framework.

Given a set of services B, it can be seen that the total set of actions of a system AV is the union of all the functionalities provided by all the services in the system (see eq.5.7).

AV = [

b∈B

Ab (5.7)

In this case, the set of candidate nodes W from which the planning process chooses the next state is the union of the actions that all the services can possibly provide from the current state (see eq.5.8).

W = [ b∈B Wb (5.8) Wb = [ gahq ∈ {executable−1(xq)∩Ab} {ϕ−1(xq,gaqh)}

It can be seen that if the services are distributed among different agents in the plat- form, W can still be calculated for each given state xq−1. In this case, the autonomous goal-based mission planning process previously described can be computed without having an explicit knowledge of AV, i.e. without prior knowledge of the capabilities of

the system. Furthermore, capabilities can be discovered dynamically as services join or leave the framework and the mission plan can be computed accordingly.