Figure 1 - uploaded by Markus P. J. Fromherz
Content may be subject to copyright.
A prototype modular printer built at PARC. The system is composed of approximately 170 individually controlled modules, including four print engines.

A prototype modular printer built at PARC. The system is composed of approximately 170 individually controlled modules, including four print engines.

Source publication
Article
Full-text available
We present a case study of artificial intelligence techniques applied to the control of production printing equipment. Like many other real-world applications, this complex domain requires high-speed autonomous decision-making and robust continual operation. To our knowledge, this work represents the first successful industrial application of embed...

Contexts in source publication

Context 1
... transports are known as the media path. Figure 1 shows a four-engine prototype printer built at the Palo Alto Research Center (PARC) from over 170 independently controlled modules. Figure 2 provides a schematic side view, showing the many possible paper paths linking the paper feeders to the possible output trays. ...
Context 2
... arcs are never added to the network during propagation and existing ones are not modified, which means that copying the network for a new search node does not entail copying all the arcs. As the Figure 10 attests, this results in dramatic time savings and this technique is used in our current implementation. We further improved our implementation by (1) using change flags to facilitate faster cycle detection for temporal consistency checking and (2) converting all times and durations to integer values (with user defined precision) to eliminate rounding effects and increase speed. ...
Context 3
... each potential plan suffix, a lower bound is computed on the remaining makespan, in order to guide the planner's A* search. Figure 11 illustrates how this heuristic estimate is used. In the figure, planning start time (t 1 ) refers to the wall-clock time at which the planning process started and earliest-start-time = current wall-clock time + predicted plan- ning time (t 2 ) is the estimated time at which we will find a plan for the current sheet and thus is the earliest time that any action can be scheduled to begin. ...
Context 4
... overall objective is to minimize the earliest possible end time of all plans, including the sheet that we are planning for. This is indicated by the lower-bound on the floating time point t 7 in Figure 11. This time point is constrained to be after the end time points of all the sheets that have been planned and the one currently being planned. ...
Context 5
... time point is constrained to be after the end time points of all the sheets that have been planned and the one currently being planned. For the current sheet, this is represented by the constraints t 6 t 7 as shown in Figure 11. Because t 6 is constrained to end after the completion time of all the other planned sheets in the same print job, the constraint essentially pushes t 7 to be after all the sheets in the current print job end. ...
Context 6
... t 6 is constrained to end after the completion time of all the other planned sheets in the same print job, the constraint essentially pushes t 7 to be after all the sheets in the current print job end. To support this objective function, the primary criterion evaluating the promise of a partial plan (step 8 in Figure 6) is the estimate of the earliest possible happening time for t 7 , indicated by the STN embedded in this search node, after all constraints shown in Figure 11 are added in the current branch. ...
Context 7
... key duration that affects t 7 is the heuristic estimate of the lower bound on the additional makespan required to complete the current regressed plan. This heuristic value is indicated in Figure 11 by estimated remaining makespan between t 3 and t 4 . By adding the constraint t 2 t 3 , the insertion may thus change the earliest time of all the subsequent time points t 4 , t 5 , t 6 and t 7 . ...
Context 8
... time at which all the goals are achieved pair-wise non-mutex is the heuristic value estimating the remaining makespan to achieve the goal state (see Figure 11). While most regression planners (Haslum & Geffner, 2001;Nguyen, Kambhampati, & Nigenda, 2002) compute their heuristic once (until a fixed point is reached) before the planning process begins, in our case, the planning graph expansion process may be revisited if goals repre- senting a regressed state do not appear non-mutex in the graph and a fixed point was not reached in the previous round of expansion. ...
Context 9
... find a more effective heuristic in those scenarios where the machine is busy, we take into account resource mutexes, thus incorporating scheduling resource contention constraints into the temporal planning graph. Figure 12 shows the pseudo-code of the algorithm. The key observation is that, to find the earliest time t a at which an action a can possibly execute, a necessary condition is not only that all of a's preconditions appear non-mutex in the planning graph but also that there is no resource conflict between any resource r used by a and all current allocations of r (given to previous plans and by external processes.) ...
Context 10
... a starts at s a , this means that resource r is used from s a + o for a duration d, which is normally different from the duration d a of a. For example, the lone resource usage for action PrintSimplexAndInvert in Fig-1. Resource types: r 1 , r 2 , ....r n 2. All resource allocations: ...
Context 11
... 8 is (M arkingEngine, 5.9, 3.7). Lines 17-19 in Figure 12 show that when building the graph, for each action a that has all of its preconditions satisfied at t a , the algorithm goes through all resources used by a. For each resource allocation r, o, d, it calls the function CheckEarliest(r, t a +o, d) to update t a , the earliest executable time that a can start without overlapping with any of the previous resource allocations of r. ...
Context 12
... each resource allocation r, o, d, it calls the function CheckEarliest(r, t a +o, d) to update t a , the earliest executable time that a can start without overlapping with any of the previous resource allocations of r. The pseudo-code of function CheckEarliest(r, t, d) is self-explanatory in that we try to find the earliest time point after t at which we can 'slot' the allocation for r with duration d in without overlapping with the previous allocations of r. Figure 13 shows one example to demonstrate this algorithm. In this example, we try to find the starting time for action a, which needs two unit-capacity resource allocations r 1 , o 1 , d 1 and r 2 , o 2 , d 2 as shown on the top-left corner. ...
Context 13
... that when building the graph, all of A's preconditions can first be achieved non-mutex at time t 1 . Referring to Figure 13, the fixed allocations for r 1 are allocations (1), (2), and(3) and for r 2 are (1) Figure 13: Example of action starting time adjustment using resource contentions (2). The flexible allocations, shown with their upper/lower bound constraints are (4) for r 1 and (3) and (4) for r 2 . ...
Context 14
... that when building the graph, all of A's preconditions can first be achieved non-mutex at time t 1 . Referring to Figure 13, the fixed allocations for r 1 are allocations (1), (2), and(3) and for r 2 are (1) Figure 13: Example of action starting time adjustment using resource contentions (2). The flexible allocations, shown with their upper/lower bound constraints are (4) for r 1 and (3) and (4) for r 2 . ...
Context 15
... that t 4 = t 5 − o 2 t 2 , we will then take t 4 as the final earliest starting time for a and activate action a at t 4 in the graph (instead of the original value t 1 ) 2 . With resource mutexes, the starting times of actions are adjusted to higher than the time points at which their preconditions can be achieved, and thus the time point t G at which all the goals appear non-mutex in the graph is not an underestimation on the makespan of the remaining plan (value t 4 − t 3 in Figure 11). Thus, t G can be higher than the summation of the durations of actions in the optimal (serial) plan. ...
Context 16
... t G can be higher than the summation of the durations of actions in the optimal (serial) plan. However, t G still underestimates the first time that we can achieve the goals and thus is still an admissible heuristic for our main objective function of minimizing the end time of current printing sheets (minimizing t 7 in Figure 11). However, if we do not use the resource mutexes, then both the heuristic estimate for end time (t 7 ) and the tie-breaker on plan makespan (t 6 − t 3 ) are admissible while with resource mutexes, only the estimate of t 7 is admissible and the tie-breaker t 6 − t 3 2. ...
Context 17
... if we do not use the resource mutexes, then both the heuristic estimate for end time (t 7 ) and the tie-breaker on plan makespan (t 6 − t 3 ) are admissible while with resource mutexes, only the estimate of t 7 is admissible and the tie-breaker t 6 − t 3 2. Note that we only go through all resource allocations of a given action one time (lines 18-20 in Figure 12). ...
Context 18
... even when action A in Figure 13 is added at t4, there is still a potential conflict for resource r1 consumed by A (with the existing allocation (3) of r1). However, by not repeating the procedure (lines 18-20 in Figure 12) multiple times until a fixed point is reached (and potentially returning better heuristic estimate), we seek the balance between heuristic quality and heuristic computation time. ...
Context 19
... even when action A in Figure 13 is added at t4, there is still a potential conflict for resource r1 consumed by A (with the existing allocation (3) of r1). However, by not repeating the procedure (lines 18-20 in Figure 12) multiple times until a fixed point is reached (and potentially returning better heuristic estimate), we seek the balance between heuristic quality and heuristic computation time. no-mutex logical mutex log + res mutex productivity level Figure 14: Performance for the prototype built by our industrial partner. ...
Context 20
... by not repeating the procedure (lines 18-20 in Figure 12) multiple times until a fixed point is reached (and potentially returning better heuristic estimate), we seek the balance between heuristic quality and heuristic computation time. no-mutex logical mutex log + res mutex productivity level Figure 14: Performance for the prototype built by our industrial partner. ...
Context 21
... the rest of this section, we will elaborate on these results. nomutex logical mutex log + res mutex productivity level Figure 15: Performance for the current prototype built by us and shown in Figure 1. Note that time is plotted logarithmically. ...
Context 22
... the rest of this section, we will elaborate on these results. nomutex logical mutex log + res mutex productivity level Figure 15: Performance for the current prototype built by us and shown in Figure 1. Note that time is plotted logarithmically. ...
Context 23
... that time is plotted logarithmically. Figure 14 and 15 show the performance of our planner in two of the most complex parallel printer prototypes built by Xerox and by us. Their productivity levels are higher than any other printer of the same class currently on the market. ...
Context 24
... other prototypes investigated using our planner are either simpler or more complicated but used for the- oretical investigations only. For the rest of this section, we will refer to the first printer (results shown in Figure 14) as Configuration 1 and the other (results shown in Figure 15) as Configuration 2. ...
Context 25
... other prototypes investigated using our planner are either simpler or more complicated but used for the- oretical investigations only. For the rest of this section, we will refer to the first printer (results shown in Figure 14) as Configuration 1 and the other (results shown in Figure 15) as Configuration 2. ...
Context 26
... Configuration 1 printer in Figure 14 is the simpler one, with 25 main components (including four print engines), 35 action schemata, and a nominal productivity of 170 sheets per minute, leading to a timing requirement on the planner of around 60/170 = 0.353 sec for planning each sheet. The shortest possible plan for a simplest simplex sheet contains 8 actions. ...
Context 27
... Configuration 2 printer tested in Figure 15 is the more complicated one. There are 212 action schemata and the shortest possible plan contains 16 actions. ...
Context 28
... results in Figure 14 and 15 indicate that the average planning time for individual sheets increases with the number of previous sheets. This is due to the fact that the planner generally plans faster than the speed at which the printer can print. ...
Context 29
... most plans in our system tightly interact through various scheduling and temporal constraints, whether or not they belong to the same print job, an exception affecting any single plan can affect the executability of other plans and the final job integrity. Plans in different stages of their life cycle need to be analyzed and treated differently (see Figure 16). Simple exceptions such as plan rejection and model updates can be handled by discarding recently made plans and rolling back the state of the planner to before those sheets were planned. ...
Context 30
... planner can handle several types of exceptions. Figure 16 extends the system archi- tecture diagram from Figure 3 and shows in solid lines the possible steps of the replanning process. In general, when an exception occurs, the machine controller sends the planner a message in real time detailing the exception. ...
Context 31
... third finisher is the purge tray. The original routes are indicated by the dashed lines in Figure 17. Assume that S 1.1 is jammed. ...
Context 32
... we need to find new plans for those two sheets so that S 1.2 will instead go to the purge tray and S 2.1 goes around S 1.1 . Finding those plans takes time and given that we cannot stop or slow down S 1.2 and S 1.2 while finding the new plans for them, those two sheets will continue their original trajectories to the new locations, which are circled in Figure 18. From there, the machine controller will apply the new plans, indicated in the figure by solid lines, in order to guarantee print-job integrity while avoiding further cascading failures. ...
Context 33
... chose a different approach, in which we can retain the view of planning for each sheet individually using heuristic search. However, we overlay an additional search on top of this, as depicted in Figure 19. In the high-level search, a branching node represents the situation in which we have selected certain specific plans for all previous sheets and it is time to select a plan for an ChainedBFS (problems) 1. if problems is empty, return success 2. p ← remove first problem from problems 3. initialize openlist for p 4. repeat until openlist is empty or node limit is reached: 5. ...
Context 34
... planner can handle the two easiest types of exception: Plan Reject and Module Update without any difficulties. For the Break-In-Future and Broken exceptions, we can currently reroute on the fly up to five sheets for the machine shown in Figure 1. This number may seem low, but recall that replanning is harder than nominal planning by a factor exponential in the number of in-flight sheets. ...

Similar publications

Conference Paper
Full-text available
The linearization curve generation is an important step in printer color characterization. The typical purpose of the linearization curves in conventional four ink printing is to compensate for dot overlapping and dot size variations and therefore to accommodate the non-linearity of the printing process. In CcMmYK "photo" printing, the introduction...
Article
Full-text available
Melt electro writing (MEW) is a high-resolution 3D printing technique that combines elements of electro-hydrodynamic fiber attraction and melts extrusion. The ability to precisely deposit micro- to nanometer strands of biocompatible polymers in a layer-by-layer fashion makes MEW a promising scaffold fabrication method for all kinds of tissue engine...
Article
Full-text available
The multi-drop method with a good droplet quality is a big challenge in inkjet technology. In this study, optimization of Drop on Demand (DoD) inkjet printer waveform design was conducted. The effectiveness of the waveform design, so-called W waveform, from previous study as a preliminary vibration for the multi-drop ejection method was investigate...

Citations

... Although replanning can work well in some situation (Yoon, Fern, and Givan 2007;Ruml et al. 2011) and trying to reuse a plan is PSPACE-complete (Nebel and Koehler 1995), it is well known that trying to fix the current course of actions can be much more effective in practice (Gerevini and Serina 2010;Scala and Torasso 2014). Not only can the plan be more easily recoverable, but also the number of modifications to apply can be limited, therefore optimising the stability of the system. ...
Article
Plan repair is the problem of solving a given planning problem by using a solution plan of a similar problem. Plan repair problems can arise in execution contexts, that is, when an agent performing the plan has to deal with some unexpected contingency that makes the given plan invalid. Repairing a plan works often much better than replanning from scratch, and is crucial when plans have to be kept stable. There is no planning system until now that guarantees to find plans at the minimum distance from an input plan. This paper presents the first approach to such a problem; we indeed introduce a simple compilation scheme that converts a classical planning problem into another where optimal plans correspond to plans with the minimum distance from an input plan. Our experiments using a number of planners show that such a simple approach can solve the plan repair problem optimally and more effectively than replanning from scratch for a large number of cases. Last but not least, the approach proves competitive with LPG-ADAPT.
... Amongst the simplest and well-studied variants is classical planning (Fikes and Nilsson, 1971), which assumes finite and discrete dynamics, perfect sensing (the world state is unambiguously known at all time), that the outcome of every action in any world state is deterministic, and that the world is not influenced by exogenous sources (the world states only change as an effect of our actions). Despite this simplicity, classical planning has become a popular approach for many applications as diverse as singleplayer puzzle games like Sokoban and the sliding tile puzzle, the dynamic configuration of complex printer systems (Ruml et al., 2011), greenhouse logistics (Helmert and Lasinger, 2010), robotics (Beetz, 2002;Hofmann et al., 2016), or even space mission planning (Pell et al., 1998;Backes et al., 1999). ...
... The most common solution in current systems appears to be to always choose a transition point that is a fixed time ahead in the future, either as part of system design (Gregory et al. 2002;McGann et al. 2007) or through an estimate for the replanning time (Likhachev, Gordon, and Thrun 2003;Ruml et al. 2011). But this is at odds with the purpose of automated planning, which is to enable an agent to handle a variety of problems and situations with a single algorithm. ...
Article
Full-text available
The need to replan arises in many applications. However, in the context of planning as heuristic search, it raises an annoying problem: if the previous plan is still executing, what should the new plan search take as its initial state? If it were possible to accurately predict how long replanning would take, it would be easy to find the appropriate state at which control will transfer from the previous plan to the new one. But as planning problems can vary enormously in their difficulty, this prediction can be difficult. Many current systems merely use a manually chosen constant duration. In this paper, we show how such ad hoc solutions can be avoided by integrating the choice of the appropriate initial state into the search process itself. The search is initialized with multiple candidate initial states and a time-aware evaluation function is used to prefer plans whose total goal achievement time is minimal. Experimental results show that this approach yields better behavior than either guessing a constant or trying to predict replanning time in advance. By making replanning more effective and easier to implement, this work aids in creating planning systems that can better handle the inevitable exigencies of real-world execution.
... The founding motivation for Automated Planning mechanisms is flexible decision taking in autonomous systems, yet the generality of the models considered lends itself to applications as diverse as the control of modular printers [28], natural language sentence generation [16,17], and, in particular, network security penetration testing [2,8,12,22,29]. ...
Conference Paper
Penetration testing is a well-established practical concept for the identification of potentially exploitable security weaknesses and an important component of a security audit. Providing a holistic security assessment for networks consisting of several hundreds hosts is hardly feasible though without some sort of mechanization. Mitigation, prioritizing counter-measures subject to a given budget, currently lacks a solid theoretical understanding and is hence more art than science. In this work, we propose the first approach for conducting comprehensive what-if analyses in order to reason about mitigation in a conceptually well-founded manner. To evaluate and compare mitigation strategies, we use simulated penetration testing, i.e., automated attack-finding, based on a network model to which a subset of a given set of mitigation actions, e.g., changes to the network topology, system updates, configuration changes etc. is applied. Using Stackelberg planning, we determine optimal combinations that minimize the maximal attacker success (similar to a Stackelberg game), and thus provide a well-founded basis for a holistic mitigation strategy. We show that these Stackelberg planning models can largely be derived from network scan, public vulnerability databases and manual inspection with various degrees of automation and detail, and we simulate mitigation analysis on networks of different size and vulnerability.
... known, up front -both being reasonable assumptions in our model. Planning has been used in a range of application as diverse as the control of modular printers [11], natural language sentence generation [12], greenhouse logistics [13] and, in particular, network security penetration testing [14], [15], [16]. This latter branch of research -network attack planning as a tool for automated security testing -has been called simulated pentesting. ...
... In logistics domains, new packages should be transported elsewhere, and in elevators domains new passengers appear over time. Most planning approaches deal with dynamic goals by integrating planning with an execution module and let the execution module force a replanning when new goals arrive [17]. ...
... In recent years the interest in creating autonomous agents for numerous real world applications has greatly increased. Applications range from surveillance purposes to control tasks [1,7,12,15,28]. In these cases the closed-world and static-goals assumptions do not hold any more and reasoning about goals and the changes in the environment becomes essential [29,31]. Therefore, new approaches explicitly deal with dynamic goals. ...
... The founding motivation for Automated Planning mechanisms is flexible decision taking in autonomous systems, yet the generality of the models considered lends itself to applications as diverse as the control of modular printers, [42], natural language sentence generation [25], [26], greenhouse logistics [18], and, in particular, network security penetration testing [4], [12], [19], [33], [43]. This latter branch of research -network attack planning as a tool for automated security testing -has been coined simulated pentesting, and is what we continue here. ...
Article
Full-text available
Penetration testing is a well-established practical concept for the identification of potentially exploitable security weaknesses and an important component of a security audit. Providing a holistic security assessment for networks consisting of several hundreds hosts is hardly feasible though without some sort of mechanization. Mitigation, prioritizing counter- measures subject to a given budget, currently lacks a solid theoretical understanding and is hence more art than science. In this work, we propose the first approach for conduct- ing comprehensive what-if analyses in order to reason about mitigation in a conceptually well-founded manner. To evaluate and compare mitigation strategies, we use simulated penetration testing, i.e., automated attack-finding, based on a network model to which a subset of a given set of mitigation actions, e.g., changes to the network topology, system updates, configuration changes etc. is applied. We determine optimal combinations that minimize the maximal attacker success (similar to a Stackelberg game), and thus provide a well-founded basis for a holistic mitigation strategy. We show that these what-if analysis models can largely be derived from network scan, public vulnerability databases and manual inspection with various degrees of automation and detail, and we simulate mitigation analysis on networks of different size and vulnerability.
... This contrasts with a 'declarative' encoding such as the one advocated by variants of the Planning Domain Definition Language (Fox and Long 2003), which capture the desired characteristics of the end product, e.g. that 'the cube must be polished and have a hole of depth 0.5 mm'. While the latter kind of specification has also been successfully used in industrial applications, including print-job scheduling on reconfigurable printers (Ruml et al. 2011), the work presented here follows the approach in which the assembly of the end product is specified procedurally, as this is in congruence with what is advocated in the manufacturing industry, evidenced by languages such as the Process Specification Language (Qiao, Kao, and Zhang 2011). Insights are provided into some of the key features that a product specification 'language' should have in order to be useful in real world assembly systems. ...
Article
Rapidly changing market requirements and shorter product lifecycles demand assembly systems that are able to cope with frequently changing resources, resource capabilities and product specifications. This paper presents a multi-agent framework that can adapt an assembly system in order to cope with such changes. The focus of this work is on the ability to plug resources (such as PLCs) into and out of the system, and dynamically aggregate resource capabilities to form more complex ones as resources are plugged in. In addition, an implementation of the framework on an industrial assembly system is discussed, and some insights are provided into some of the key features that product specification languages ought to have to be useful in real world assembly systems, and into the added value of using the proposed framework.
... Several planners extend state-based representations with durative actions (e.g., TGP [202], VHPOP [237] or Crickey [48]). A few of them can manage concurrency, or even linear continuous change (COLIN [50]), or can plan and repair in real-time [188] . However, temporal planners that rely on timelines, i.e., partially specified evolution of state variables over time, are more flexible in the integration of planning and acting and, in most cases, more expressive, e.g., allowing the reference to instants beyond starting and ending time of actions. ...
Article
Autonomous robots facing a diversity of open environments and performing a variety of tasks and interactions need explicit deliberation in order to fulfill their missions. Deliberation is meant to endow a robotic system with extended, more adaptable and robust functionalities, as well as reduce its deployment cost.The ambition of this survey is to present a global overview of deliberation functions in robotics and to discuss the state of the art in this area. The following five deliberation functions are identified and analyzed: planning, acting, monitoring, observing, and learning. The paper introduces a global perspective on these deliberation functions and discusses their main characteristics, design choices and constraints. The reviewed contributions are discussed with respect to this perspective. The survey focuses as much as possible on papers with a clear robotics content and with a concern on integrating several deliberation functions.