<<

Goal Accomplishment Tracking for Automatic Supervision of Plan Execution Nicolas Small, Graham Mann, Kevin Lee Applied Artificial Intelligence Laboratory, School of Engineering and Information Technology, Murdoch University, Murdoch 6150, Western Australia, Australia {n.small, g.mann, kevin.lee}@murdoch.edu.au

Abstract manageable units of activity [Kerzner, 1995]. In these examples, accomplishing a purpose is defined as success- It is common practice to break down plans into fully executing a series of sequential steps which alter a series of goals or sub-goals in order to facili- the state of the world successively toward an ultimate tate plan execution, thereby only burdening the goal. individual agents responsible for their execu- In Automated Planning, a plan is represented as a tion with small, easily achievable objectives at graph in which the nodes are goals (the individual steps) any one time, or providing a simple way of shar- and the actions are the links between them. In this ing these objectives amongst a group of these paradigm, goals are defined as desirable states of the agents. Ensuring that plans are executed cor- world [Ghallab et al., 2004]. Achieving a goal amounts rectly is an essential part of any team manage- to choosing and then performing those actions from the ment. To allow proper tracking of an agent’s agent’s behaviours that are required to change the state progress through a pre-planned set of goals, it of the world from an undesirable state to the desirable is imperative to keep track of which of these state specified by the goal. The plan is a tree of inter- goals have already been accomplished. This dependent goals, with each parent goal relying on the centralised approach is essential when the agent fulfilment of all its child nodes. A task is accomplished is part of a team of humans and/or , when the root node (the highest-level goal) is satisfied. and goal accomplishment is not always being Such a plan presupposes a repertoire of world-altering tracked at a low level. This paper presents a actions and the ability to choose and execute these ap- framework for an automated supervision sys- propriately. tem to keep track of changes in world states so as to chart progress through a pre-planned set Monitoring the progress of subgoals is essential to of goals. An implementation of this framework managing plan execution. For example, the monitor- on a mobile service is presented, and ap- ing of a team during plan execution in business team plied in an experiment which demonstrates its management [Marks et al., 2001]. This monitoring may feasibility. be centralised, where information about each element of the team is collected in order to provide progress re- ports to each team member, or distributed among team 1 Introduction members which both collect and share the information All artificial systems are designed with a purpose in on a network. Teams can accomplish complex, dynamic mind, whether accomplished by a single action, con- tasks, such as in the 2006 surface team experiment at tinuous process, or a series of subtasks. The principle NASA’s Ames Research Center, which studied a group of of divide-and-conquer may be generally applied to sub- humans and robots performing planetary surface explo- divide these tasks until they reach a more manageable ration tasks under the direction of an automated planner size. For example, in assembly lines-based manufactur- [Pedersen et al., 2006]. In this case it is important that ing, the complex process of assembling a product is split all team members understand which parts of the plan into smaller steps. Scientific workflow processing aims to have been accomplished, which are still to be completed, complete complex tasks by splitting them up into sub- and which are being currently undertaken[Perzanowski tasks, utilising available distributed resources [Deelman et al., 1999]. et al., 2004]. Software-based project management of- In dynamic environments such as those encountered ten splits the development process into smaller, more by mobile robots, plan execution needs runtime manage- ment [Pedersen et al., 2006]. This can be accomplished low-level differences, these systems provide similar high- through a variety of approaches, such as workflow ex- level plan execution monitoring functionality, and seek ecution engines [Deelman et al., 2004], adaptive sched- to solve similar problems at that level. ulers [Lee et al., 2009], and automated planning systems To track the progress of a plan’s execution, a moni- [Kephart and Chess, 2003]. Using these approaches al- toring system needs to be able to actively fetch or wait lows for failure management through fault tolerance and for an update on goal statuses during execution. BPEL task optimisation. These techniques require the track- does this through web service interfaces, whilst scientific ing of goal accomplishment. This job can be performed workflow management systems utilise log file parsing. centrally by assigning it to a single agent (autonomous After the data is collected, it needs to be analysed for or human), or it may be distributed by sharing it out patterns, simple and complex, that indicate the current between several agents of the team. status of plan execution. Depending on the state of the This paper proposes an architecture for observing plan execution, it can continue, or be re-planned. This agents and tracking the accomplishment of goals dur- process has been formalised by the Autonomic Comput- ing the execution of a plan. It makes use of information ing community to support adaptive systems [Kephart available to it through an array of distributed sensors and Chess, 2003]. to test for world states that attest to goal satisfaction. It is convenient to represent goals in the same form The paper describes an experiment in which goal ac- as observed states of the world as provided by sen- complishment by a teleoperated robot is supervised au- sors. Checking the accomplishment of a goal might tomatically using sensors at the worksite. These can then be as simple as comparing it with a current be located on the teleoperated robot (as in the exper- set of world-state representations. For example, if a iment), fixed at the worksite, or carried by a human robot is equipped with a sensor which returns its posi- worker; but are most likely to be located on the robot tion in two-dimensional space, a locational goal might system, since these are needed there for other reasons be specified as ‘robot at(250, 300)’. This can be di- [Kephart and Chess, 2003]. The remainder of this paper rectly compared to the output of the sensor, which is structured as follows. Section 2 introduces the domain might return ‘robot at(240, 300)’. A more sophisti- of manual and automated goal accomplishment tracking. cated arrangement would involve abstracting the goal Section 3 proposes an architecture for automatic goal ac- to ‘robot at(waypoint)’ and providing additional knowl- complishment tracking. Section 4 evaluates the architec- edge defining the waypoint in terms of a number of ture using a small performing an industrial sensory tests and satisfaction condition with respect to maintenance task, while Section 5 briefly notes that the those tests. In this case, the waypoint is associated with architecture can be used to facilitate machine learning a set of GPS coordinates of an area within which the by demonstration from a skilled human expert. Finally, target is found, a specific barcode known to be present Section 6 presents some conclusions and directions for at the target an image pattern to be matched against a future work. known landmark through the use of an on-board cam- era. The satisfaction condition is that the current GPS 2 Goal Accomplishment Tracking coordinates must be within bounds, and that a match Interest in the monitoring of the execution of plans is on either of the other sensory indicators would be suf- focused on supporting the improvement of this execu- ficient. Such straightforward arrangements would not tion, and the improvement of the monitoring itself [Lee always suffice, because the relationship between sensory et al., 2009]. These improvements are initially motivated data and actual world states is not always simple. Not by the specific domains they originate from, but tend to only does the sensitivity, range and signal-to-noise ratio be generalised later if the ideas are not domain-specific. characteristics of a given sensor affect the interpretation For example, in the business domain, languages such as of its signals, but the satisfaction or failure of some goals BPEL (Business Process Execution Language), seek to might involve a subtle alteration in sensed properties, describe the execution of business processes in order to possibly including necessary state progressions or alter- provide some process management capabilities, such as natives. Some of the literature on robot perception deals lifecycle management, failure recovery, and a variety of with the control of uncertainty introduced by these com- [ ][ ] control regimes, while mostly ignoring the data being plications Thrun, 2000 Minguez and Montano, 2005 . transferred between those processes [Frank Leymann et Futhermore, not all goals are the same, but may have al., ]. Scientific workflow processing, such as is supported different natures based on their objective and relation to by workflow management engines [Deelman et al., 2004] processing. In this paper we distinguish three types of is driven by the need to operate on large data sets [Son- goals: ntag et al., 2010], therefore placing more importance • Achieve goals [Dastani et al., 2006] are simple on the data flowing between processes. Regardless of expressions denoting a desired world state to be reached. Planning Planner Next Goal (Desired World State) • Maintain goals [Dastani et al., 2006] are goals that need to be protected (i.e. their accomplish- Progress ment tests must not be allowed to fail). Mainte- Supervision Analysis Updates Module nance goals require extra monitoring after they have been initially accomplished, placing an extra burden on the monitoring system. Sensory Execution Data Sensors World Agents • Opportunistic goals are goals associated with a (World State) watch for particular events or world-states, the pres- ence of which is considered favourable. Opportunis- Figure 1: The Architecture tic goals mirror maintain goals, in that rather than

demand checks for threats to goals, they encourage Fault-Tolerance & Goal Optimisation checks for contingencies favourable to goal accom- Table plishment. New Re-Planning Next Goal Goal Tests Tests

These goal types require different monitoring support. Request Analysis Sensors Achieve goals depend upon matching the required world- (Fig. 3) state to the current state of the world. Maintain goals Sensor Readings Progress seek to actively protect a desired state. This requires Next Goal Update Ref. tests sensitive to boundary conditions around the goal Plan Tree state which suggest a threat, requiring protective actions New Structure to be executed. Such protective actions can be included the hierarchical plan graph as special annotations. Op- portunistic goals must use tests to detect occurrences Figure 2: The Supervision Process: Data Flow known to promote the accomplishment of goals, as well as the appropriate actions which may be similarly in- together, a centralised approach to goal accomplishment cluded in the plan. tracking is required. 3.1 Requirements 3 An Architecture for Automatic Goal The architecture assumes the presence of several ele- Accomplishment Tracking ments (See Figure 1), without which it has neither the This section proposes an architecture to provide goal means nor the reason to fulfil its purpose. accomplishment tracking to support the situations de- • A plan to provide both a reason for the architecture scribed in Section 2. This architecture is designed to to be in place, and the framework for the analysis remove the need for agents to report progress at every module to operate within. Without a plan, agents step, shifting this role back onto an analysis module in cannot know what changes to make to the world charge of the tracking of plan execution progress. This state, and the analysis module cannot know what module monitors the world, using data provided by sen- changes to expect. sors, for the changes expected to occur when each goal • One or more agents to effect changes on the has been accomplished. The module then updates a cen- world. Without them, the plan cannot be executed, tral plan-tracking structure with the progress made (See and there exists no state changes to track. Figure 2). This approach is centralised by design, to account for • Sensors to allow the reading in of the state of the the varying range of capabilities displayed by agents in world. Without them any changes caused by the various domains. While some automated agents, such as agents cannot be observed and tracked. automated robots, might do goal accomplishment track- 3.2 Runtime Activity ing internally to ensure proper execution of their as- During runtime, the architecture feeds sensor inputs signed tasks, other more basic agents simply encounter through the analysis module, to perform relevant tests a situation and act in response without ever checking to (See Figure 2) and executes any additional functions re- see if their goal is accomplished. In the case of human quired of it (See Section 3.3). or human-controlled agents, goal accomplishment is un- derstood by the human in question but has no easy way Inputs of being broadcast back to other agents without addi- For its most basic functions, the analysis module only tional tools. As soon as any of these agents are to work requires three types of inputs: the plan’s structure, de- sirable world states and actual world states. • power up(Sk) checks to see if Sk needs powering up. If so, powers up S and returns true; false oth- • The Plan Tree is the name given to the data struc- k erwise. ture that holds the logical information about the goals. This includes the overall hierarchy and the • inactive(Sk) returns true if sensor Sk is not cur- relationship of the goals to one another, and goal rently returning a valid world observation; false oth- status (i.e. achieved, in progress, not started, and erwise. maintaining). • match(S[W ],S[W ]) returns true if world observa- • Desirable World States are generated during the tion W agrees with corresponding goal observation 0 preparation step (See Section 3.4), these states are W ; false otherwise. fetched by the supervisor from a data storage ele- • leave on(Gi+1) checks if the next goal (Gi+1) re- ment, such as a lookup table. quires any sensors already used by G1; all others are • Actual World States consist of the information powered down. reported by the sensors queried by the architecture. Note that this version of the algorithm does not distin- guish between the three types of goals. To do that, the Analysis algorithm of Figure 3 would need to be modified to pro- Processing the sensor data during runtime can be accom- vide special processing for maintenance goals and for op- plished using a relatively simple algorithm. An example portunistic goals. Maintenance goals would need extra solution is presented in Figure 3. This example iterates guard tests and a stack of monitoring processes. Oppor- through the goal list, checking for each goal (i) the avail- tunistic goals need equivalent extra tests for favourable ability of the required sensors, and (ii) whether or not circumstances with the associated stack of monitoring the sensor data matches the desired results. processes. Once a goal was processed, these processes would run continually until the algorithm terminated. for each goal Gi do flag ← TRUE Output for each sensor Sk in satisfaction conditions (Gi) do To serve as a monitoring entity, the architecture needs if needed(S , G ) then k i to be able to send messages. In its most basic form, if power up(Sk) then wait(max.sensor.powerup.time) the architecture will post progress updates on the plan end if data structure. This structure is centralised to allow up- if inactive(Sk) then dates to be rapidly propagated to each other elements of message: “Can’t test Gi, sensor Sk is inac- the system; for example, agents can periodically query tive” flag ← FALSE this central structure to get an up-to-date picture of break the plan’s completion status. The number of outputs else will vary based on individual implementations and their 0 if ¬ match(Sk[Wl], Sk[Wl ]) then needs for extra functionality. For example, a system re- flag ← FALSE quiring some fault tolerance (See section 3.3), will need break end if to be able to request some form of re-planning. end if Sensor Management end if end for Managing the fusion of data from multiple sensors to if flag ≡ TRUE then test for a single condition, and dealing with the number message: “Goal Gi is satisfied” of different sensors required by the architecture to be leave on(Gi+1) useful, both create issues that must be overcome for the end if architecture to be successful. The sensor fusion prob- end for lem needs to be considered for each each goal if the ac- Figure 3: Example Algorithm Testing for Goal Satisfac- complishment tracking for that goal relies on the input tion, Including Sensor Power Management of multiple sensors. One simple solution is to express the relationship between the sensors as a set of boolean functions as shown in Figure 4. The specification of how The algorithm calls on several functions explained be- sensory tests apply to each goal is performed during the low: preparation step (see Section 3.4). • needed(Sk, Gi) returns false if i) the satisfaction The advantage of knowing which sensors will be conditions of Gi contain an expression in disjunction needed for each goal is that predictions about sensor with Sk, and ii) that expression currently evaluates uses can be made. This enables us to: (i) enact power to true; true otherwise. management policies (sensors can be turned on only S1[W1] S1[W1] ! ! ! ! G1(S1[W1 ] ∧ S5[W5 ]) G1(S1[W1 ] ∧ S5[W5 ]) S2[ ] S2[ ] ! ! ! ! ! ! G2(S1[W ] (S3[W ] S4[W ])) Analysis 1 ∧ 3 ∨ 4 Analysis G2(S1[W1 ] ∧ (S3[W3 ] ∨ S4[W4 ])) S3[ ] & Sensor S3[W3] & Sensor Management ! ! Management ! ! G3(S1[W1 ] ∧ S2[W2 ]) G3(S1[W1 ] ∧ S2[W2 ])

S4[ ] S4[W4] ! ! ! ! G4(S3[W3 ] ∨ S4[W4 ]) G4(S3[W3 ] ∨ S4[W4 ])

S5[W5] S5[ ]

(a) Accomplishment tracking of goal G1, and sensor readying (b) Accomplishment tracking of goal G2, and sensor readying for goal G2 for goal G3

Figure 4: Goal Accomplishment Tracking and Sensor Management when needed, and off when not), (ii) ensure sensors are puts used by the analysis. turned on early to ensure any sensor startup delays are accounted for, and (iii) check sensors for malfunctions 3.4 Preparation ahead of use, leaving time for any potential re-planning The architecture presented here is applicable to a wide to be made. This sensor management is illustrated in range of scenarios, and as such is designed in a high-level Figure 4, with Figure 4a showing a possible state for the and modular fashion. To prepare the automatic goal system to be in when supervising the accomplishment execution tracking for a particular application(industrial of a goal G1. G1 requires tests on data from sensors maintenance by robot), the following steps have to be S1 and S5, providing world states W1 and W5 respec- performed: tively. These will be compared to desired world states 1. Enumerate available sensors. Sensors available W 0 and W 0. The system is also pre-emptively preparing 1 5 to the architecture must be found and recorded in a sensors S1, S3, and S4, which are required by goal G2. list. It is necessary to include in the list whether or Figure 4b shows the state of the system after goal G1 is not the sensors are bound to a particular location accomplished. The accomplishment of goal G2 is being or are mounted on a mobile platform. supervised while sensors required by the monitoring of goal G3 are being prepared. This kind of management is 2. Extract goal list. Before a series of tests for each especially important for mobile robots, because of they goal in the plan can be made, a list of those goals typically have limited power and computing resources. must be drawn up. 3.3 Fault Tolerance and Optimisation 3. Match goals with sensors. The two lists must be cross-referenced to associate each goal with at A fault tolerant system has the ability to respond to least one sensor. This match up will depend on sev- any event that might cause a problem at runtime [Ran- eral factors: (i) the ability of the sensor to produce dell, 1975]. Optimisation attempts to take advantage of meaningful information about the goal’s status, and opportunities to improve the execution of plans during (ii) the location and mobility of the sensor (i.e. can runtime [Lee et al., 2009]. Both fault tolerance and op- the sensor ‘sense’ at the right location). timisation are a feature of many current workflow mon- itoring systems. Proposing approaches to dealing with 4. Convert abstract goals to usable world states. these processes is beyond the scope of this paper; how- Each goal must be converted from an abstract ever, facilitating the inclusion of such capabilities in this meaning to usable boundaries with which sensor architecture will broaden its usefulness. data can be classified. This forms our desirable Both fault-tolerance and optimisation require some world states. monitoring of the processes occurring in the system, This process is demonstrated through an experiment making the proposed architecture suitable to take on the in the next section, where the architecture is tested with role of notifier. Any condition requiring fault-tolerant or real data collected by mobile robots sensors in the field. optimising processes to engage could be specified as a maintenance (or opportunistic) goal in the overall hier- 4 Experimental Evaluation archy, the realisation of which would trigger those pro- cesses. Figure 2 shows how any re-planning needed by 4.1 Overview these processes could be kept distinct from the analysis This goal-tracking architecture is an essential component module, only having an impact on the inputs and out- to an “Assigned Responsibility” teleoperation framework Substation

Padlock Test Article

Pump Post

(a) Reference Coordinates Plotted (b) Photograph of the Test Site in Google Earth

Figure 5: The Test Site and Points of Interest currently being developed by the authors. This frame- for matching using the vision system. A goal is met only work allows the responsibility for the execution of in- if the robot’s current GPS coordinates fall within the dividual subgoals in a plan to be explicitly assigned at specified range and the vision system is suitably confi- configuration time to specific operators (usually a human dent of a matching visual image. The remainder of this operator or an automated operator) who accomplish the section demonstrates the application of the automated subgoal by controlling a robot. Managing the change of supervision system to this scenario. operator between subgoals requires a clear understand- ing of what has been accomplished previously, to both 4.3 The Mobile Field Robot Agent trigger the change, and to provide context to the opera- The experiment uses a Coroware mobile field robot, built tor beginning their time in control. This tracking must on top of a Lynxmotion base with four driven wheels, be done independently of the operators to ensure conti- with an Intel D2700MUD Mini-ITX single-board com- nuity in the tracking regardless of operator capabilities, puter running Linux. In contains a steerable camera, by an analysis module (see Section 3) embedded in the a modified 5 DoF arm (Figure 6) and is “Assigned Responsibility” interface. equipped with a variety of sensors as described below. To validate the goal accomplishment tracking archi- It is linked via 802.11g wireless to a laptop and Logitech tecture, an experimental approach has been chosen us- game controller that serve as a teleoperation station. ing a mobile field-robot and a series of simple tasks. The first experiment consists of a baseline validation of the sensors chosen when applying the preparation steps pre- sented in Section 3.4. A second experiment evaluates the ability of the chosen sensors to detect the successful accomplishment of the goals in the field. 4.2 The Maintenance Photography Task Automatic regular maintenance of physical equipment requires a mobile robot to periodically visit a number of key worksites, where the robot may perform tasks such as photography, gathering sensor data on environmen- tal conditions, physically probe the integrity of surfaces, joints or attachments, remove panels and/or to change out faulty components [Mann, 2008]. In this experimental scenario, a robot is teleoperated Figure 6: The Coroware Mobile Robot around a series of five worksites (See Figure 5), aligning itself close to each one in turn so as to be able to photo- The robot and the teleoperation station run custom graph important objects. The goals of being at each pho- Python-based code allowing commands to be sent from tograph point are defined by a bounding circle of GPS the teleoperator to the robot and translated to low-level coordinates associated with the worksite and an image motor commands. Sensor readings from the robot are transmitted back to the operator for processing on the Hessian T./ 300 400 500 teleoperation station. nOctaves Target No Target Target No Target Target No Target 2 21.89 3.943 20.78 4.525 19.71 5.15 3 19.24 5.257 23.16 4.33 19.78 4.46 4.4 Experiment One: Sensor Testing 4 21.91 3.567 24.33 5.8 19.33 3.47 5 24.19 3.767 25.46 4.237 17.63 3.34 Overview 6 23.26 3.607 23.89 4.81 20.73 5.11 The robot supports a number of sensors typical for mo- biles of this kind, including bump switches for obstacle (a) Key Points Detected for Each nOctave / Hessian Threshold Combination avoidance, battery level sensing, potentiometers sensing Hessian T./ 300 400 500 angles on the manipulator arm and a force sensitive resis- nOctaves tor measuring gripper pressure. For the purpose of this 2 5.55 4.59 3.83 experiment, the important sensors include a global posi- 3 3.66 5.35 4.43 tioning system (GPS) module and a steerable video cam- 4 6.14 4.19 5.57 5 6.42 6.01 5.28 era. Position, velocity and direction data updates are ob- 6 6.45 4.97 4.06 tained from a PhidgetGPS board with a best-case circu- lar error probability of 2.5m. Forward imagery for tele- (b) Signal-to-noise Ratio for Each nOctave / Hessian Threshold operation control is obtained through a front-mounted Combination 1600 x 1200 pixel Logitech QuickCam Orbit AF camera, which can be panned under software control through 189 Table 1: Results of the SURF Algorithm Tests degrees and tilted through 102 degrees. Pattern recognition of landmarks and task states is The behaviour of SURF was studied in the laboratory achieved by a Speeded-Up Robust Features (SURF) [Bay under systematic adjustments to two key parameters, et al., 2008] module from the Linux OpenCV library. nOctaves and hessianThreshold, in order to optimise its This is a scale and rotation invariant image matching al- performance. nOctaves sets the number of Gaussian gorithm, which can be used to compare the camera input pyramid octaves used for matching, which affects the to a reference image based on correspondences of interest grain size of detected features. hessianThreshold sets points in the two sources. We have found this algorithm the acceptable feature strength for retention of matched to quite reliable in the face of visual disturbances such interest points. as changes in lighting due to the weather and interpos- The algorithm was modified to return a confidence ing objects such as hands, tools etc. To understand how value expressing the number of matched interest points the sensors behave in field conditions and to develop the in real time. Table 1 shows number of observed matched goal satisfaction tests, baseline measurements for those points and signal-to-noise ratios for 2-6 octaves and Hes- sensors were first recorded. sian thresholds over the recommended range of 300-500. We chose nOctaves of 6 and a hessianThreshold of 300 Results because these returned the best signal-to-noise ratio and The GPS sensor was tested in a best-case scenario, in a reasonable number of points on our test target object. an open park under clear skies. Seven series of roughly one minute each, recorded over a period of three days 4.5 Experiment Two: Field Testing from the same location are plotted in Figure 7. This Overview totalled 1059 individual readings, which were found to The experimental scenario (See Section 4.2) describes a diverge on average from a calculated mean position by task where a robot is required to navigate around a work 3.53 meters. As Figure 7a shows however, some of these site and take photographs of five landmarks. This exper- readings diverge by up to 40 meters. Most of these di- iment was designed to verify that sensor readings could vergences occur early in the sample, as the calculated be used to confirm the accomplishment of the goals de- location tends to converge towards the mean position tailed in the plan. The sensors and processing software after a few seconds, but some occur later on in the sam- tested in Section 4.4 were mounted on the Corobot (De- ple as, presumably, the sensor loses contact with one or scribed in Section 4.3) which was then driven around the more satellites. These eccentric readings tend to be in test site (Pictured in Figure 5) while its presence at the the minority, and can be mitigated by calculating a mean required location was confirmed by the sensor tests. position using several seconds of readings. These results motivated the choice of an appropriate Results difference threshold of four meters as the criteria for suc- Readings from the GPS sensor were taken at each desired cess in the GPS test. This four meter radius circle is position, and the distance of these readings from the plotted in Figure 7. Figure 7b shows the readings con- desired coordinates was computed using the haversine tained within the bounding circle. formula. The recorded distance is plotted over time in ntehrzna a vlae yrcrigteaverage the recording by evaluated was horizontal the in our for sufficient accuracy was of level but This improved, purpose. worst. be at 4m error probably about position could of the low as a seconds, to 60 characteristic a fell of to a period returns showed a over device behaviour settling this its of position, antenna the marked When 8. Figure GPS Reference the from Time over Distance Coordinates Recorded 8: Figure Ideal in Days Three Over Groups Seven Coordinate Mean in Taken the on Readings Centred was Sensor. Circle GPS Radius the Meter Four Using A Readings Conditions. Baseline 7: Figure

h estvt fSR ovrain nveigangle viewing in variations to SURF of sensitivity The Distance From Reference Coordinates (meters) Latitude 00 01 02 03 04 05 01:00 00:50 00:40 00:30 00:20 00:10 00:00 0 1 2 3 4 5 6 -31.7552 -31.7550 -31.7548 enLocation Mean 7 Sample 6 Sample 5 Sample 4 Sample 3 Sample 2 Sample 1 Sample a vrl iwo h onsCollected Points the of View Overall (a) 1.741599 115.9798 115.9796 115.9794 ieA Location At Time Longitude etArticle Test Substation Padlock Pump Post b omdi iwo h raDrcl urudn the Surrounding Directly Area the Coordinate of Mean View Zoomed-in (b)

eaial saglrdslcmn nrae.Frthe For increased. displacement angular as tematically Algorithm SURF the Waypoint by Each Detected at Points Key 9: Figure away direction random a object. in each robot from the count non-target pointing a by object with taken nor- target together each experiment, the for field to counts our these in respect profiles with 9 Figure robot angu- mal. the of range of a displacements over lar points interest matched of number Latitude

h ubro ace onstne odciesys- decline to tended points matched of number The Key Points Detected -31.75485 -31.75480 10 15 20 25 30 35 0 5 1.74 115.97945 115.97940 2 1 02 oTarget No 20 10 0 -10 -20 oo Orientation Robot Longitude etArticle Test Substation Padlock Pump Post purposes of placing a camera for maintenance photog- learned more easily and show much greater robustness raphy, it would be better if the range of acceptable an- to changed conditions or plans than when learned from gles satisfying the location goal was not too large. The undifferentiated demonstrations of an entire task. We results show that by setting a confidence threshold of believe that automatic goal monitoring is essential to approximately 20, the robot could almost always distin- switch between these learned modular units of behaviour guish between target and non-target objects when the during the execution of complex tasks in dynamic envi- robot was in the correct position for photography, i.e. ronments, whether by human or robotic agency. approximately normal to the object of interest. The Boolean conditions of each subgoal (being at one 6 Conclusion of the five photography points), indicate that the cur- This paper proposes an architecture for monitoring a rent GPS coordinates fell within a bounding circle of plan’s execution. By placing an automated goal accom- radius 4m centred near each target object and that the plishment tracking module at the center of a plan exe- SURF recogniser returned a sufficiently confident indi- cution system, it is possible to combine data provided cation that the target object had been acquired. In all by a variety of sensors to provide accurate tracking of and only those times when the robot was in a suitable each goal’s accomplishment in the plan. This supervi- position for the photograph, this returned true. sion approach removes the need for agents to update a Other goal states can be detected using these sensors. plan with their progress, and the centralised nature of The object designated ‘Test Article’ in Figure 6 has a the process allows for the rapid dissemination of plan panel with a hatch from which the robot might be re- progress information. The application of the architec- quired to unscrew four bolts, remove it to gain access, ture was demonstrated using an example maintenance withdraw a faulty part, replace it with a working part, task as executed by a mobile robot. The architecture is then replace the hatch and secure it. A test of the sub- modular in nature, and well-suited for supporting often- goal of the hatch being removed was performed by train- needed functionality in the planning domain including ing the SURF algorithm to recognise an open hatchway. fault-tolerance and optimisation, in addition to provid- Under a similar range of angles and visual disturbances, ing automatic segmentation to information used in learn- the tests reliably recognised the state of the hatch; open ing by demonstration techniques. or closed. Note that these changes would be detected whether a human or robot agency had made them. Future work will implement of this architecture in a context where both human and machine agencies will 5 Supporting Learning by share control of a single mobile robot. The ability to suc- Demonstration cessfully track the accomplishment of goals will be cru- cial in this sliding environment where control The teleoperation experiments in our laboratory require responsibility must be clear at all times to avoid conflict. examples of automated controllers to be mixed with hu- man control. One of the benefits of teleoperation is the References opportunity to learn skilled action from a human expert, delivered directly to the machine in real contexts [Mann [Argall et al., 2009] Brenna D. Argall, Sonia Chernova, and Small, 2012]. Learning by Demonstration (LbD) is Manuela Veloso, and Brett Browning. A survey of an approach involving the extraction of a from demonstration. and Au- policy from a set of demonstrations of the target skill, tonomous Systems, 57(5):469–483, May 2009. recorded from the sensors and motor outputs (for a re- [Bay et al., 2008] Herbert Bay, Andreas Ess, Tinne view of these approaches see [Argall et al., 2009]). Tuytelaars, and Luc Van Gool. Speeded-up robust Goal accomplishment tracking is important in this features (surf). Computer vision and image under- context because it can be used to partition large demon- standing, 110(3):346–359, 2008. stration datasets containing multiple, possibly very dif- et al. ferent functional relationships into manageable, more [Dastani , 2006] Mehdi Dastani, M. Birna Van easily learned sub-units. For example, Isaac & Sam- Riemsdijk, and John-jules Ch Meyer. Goal types in In Proceedings of the 17th mut [Isaac and Sammut, 2003] were able to use human agent programming. In European Conference on Artificial Intelligence demonstrations of basic flying manoeuvres to learn com- , pages pact, robust and transparent controllers (‘behavioural 220–224, 2006. clones’) which both discovered how the pilots were set- [Deelman et al., 2004] Ewa Deelman, James Blythe, ting goals and then learned how to cause the simulated Yolanda Gil, Carl Kesselman, Gaurang Mehta, Sonal aircraft to meet those goals. By learning how to set Patil, Mei-Hui Su, Karan Vahi, and Miron Livny. Pe- goals, and then learning how to control a dynamic sys- gasus: Mapping scientific workflows onto the grid. In tem to reach those goals, the cloned behaviour can be Grid Computing, page 1120, 2004. [Frank Leymann et al., ] Frank Leymann, Dieter Roller, [Marks et al., 2001] Michelle A. Marks, John E. Math- and Satish Thatte. Goals of the BPEL4WS specifi- ieu, and Stephen J. Zaccaro. A temporally based cation. http://www.oasis-open.org/committees/ framework and taxonomy of team processes. The download.php/3249/Original%20Design%20Goals% Academy of Management Review, 26(3):356, July 20for%20the%20BPEL4WS%20Specification.doc). 2001. [Ghallab et al., 2004] Malik Ghallab, Dana Nau, and [Minguez and Montano, 2005] Javier Minguez and Luis Paolo Traverso. Automated Planning: Theory and Montano. Sensor-based robot motion generation Practice. Elsevier, May 2004. in unknown, dynamic and troublesome scenarios. Robotics and Autonomous Systems, 52(4):290–311, [Isaac and Sammut, 2003] Andrew Isaac and Claude 2005. Sammut. Goal-directed learning to fly. In Twen- tieth International Conference on Machine Learning [Pedersen et al., 2006] Liam Pedersen, William J. (ICML-2003), page 258265, 2003. Clancey, Maarten Sierhuis, Nicola Muscettola, David E. Smith, David Lees, Kanna Rajan, Sailesh [Kephart and Chess, 2003] J. O. Kephart and D. M. Ramakrishnan, Paul Tompkins, and Alonso Vera. Chess. The vision of autonomic computing. Com- Field demonstration of surface human-robotic explo- puter, 36(1):41–50, 2003. ration activity. In AAAI Spring Symposium: Where [Kerzner, 1995] Harold Kerzner. Project management: no human-robot team has gone before, 2006. a systems approach to planning, scheduling, and con- [Perzanowski et al., 1999] D. Perzanowski, A. C. trolling. New York,, 1995. Schultz, W. Adams, and E. Marsh. Goal tracking in a natural language interface: Towards achieving ad- [Lee et al., 2009] Kevin Lee, Norman W. Paton, Rizos justable autonomy. In Computational Intelligence in Sakellariou, Ewa Deelman, Alvaro AA Fernandes, and Robotics and Automation, International Symposium Gaurang Mehta. Adaptive workflow processing and on, pages 208–213, 1999. execution in pegasus. Concurrency and Computation: Practice and Experience, 21(16):1965–1981, 2009. [Randell, 1975] Brian Randell. System structure for software fault tolerance. Software Engineering, IEEE [Mann and Small, 2012] Graham A. Mann and Nicolas Transactions on, (2):220–232, 1975. Small. Opportunities for enhanced robot control along [Sonntag et al., 2010] Mirko Sonntag, Dimka Karastoy- the adjustable autonomy scale. In Human System In- anova, and Ewa Deelman. Bridging the gap between teractions (HSI), 2012 5th International Conference business and scientific workflows: Humans in the loop on, pages 35–42, 2012. of scientific workflows. In e-Science (e-Science), 2010 [Mann, 2008] Graham A. Mann. Quantitative evalua- IEEE Sixth International Conference on, page 206213, tion of human-robot options for maintenance tasks 2010. Proceedings of during analogue surface operations. In [Thrun, 2000] Sebastian Thrun. Probabilistic algo- the 8th Australian Mars Exploration Conference , page rithms in robotics. Ai Magazine, 21(4):93, 2000. 2634, 2008.