Markus Fromherz | Palo Alto Research Center (original) (raw)
Papers by Markus Fromherz
In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced th... more In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced the schema-based construction of logic programs in two ways intended to bridge the conceptual gap between application domains and the programming domain. First, we define visual and textual views of programs that can be used to construct programs in application-specific concepts, and which can be understood as executable specifications of the programs being constructed. Second, in addition to schemata for Prolog programming constructs and techniques we introduce a repository of application-specific components. As a further enhancement of the method we have added schema-based transformations to increase the efficiency of the constructed programs. We have implemented both a program development system and a transformation system, and used these systems to develop programs for non-trivial applications like the well-known library data base problem and an automated teller machine.
Lecture Notes in Computer Science, 1993
ABSTRACT
Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than requi... more Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than required for a typical task such as grasping an object in 3D space. The large number of joints, which may range from dozens to thousands, offers both opportunities and challenges for the control of such robots. An opportunity is to use the extra degrees of freedom to optimally control multiple objectives. A challenge is to deliver predictable behavior despite the large number of possible configurations. In this paper, we propose to use a control approach based on constrained optimization. We discuss a representative example for an under-constrained task and suggest and analyze possible solutions that ensure predictable behavior.
Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148), 2001
Constraint-based scheduling has become the dominant form of modeling and solving scheduling probl... more Constraint-based scheduling has become the dominant form of modeling and solving scheduling problems. Recently, due to ever more powerful embedded processors, it has become possible to embed and run constraint-based schedulers on-line even for fast processes such as product assembly sequencing. This makes constraint-based scheduling interesting to the control community as a new tool for system control, distributed and reconfigurable control, and the integration of various planning, scheduling, and control tasks. This tutorial gives a brief introduction to constraint-based scheduling, generic constraint programming techniques for modeling and solving scheduling problems, and a concrete real-time application example. *
IEEE Transactions on Control Systems Technology, 2003
This paper investigates the problem of closed-loop control of a small number of parameters by all... more This paper investigates the problem of closed-loop control of a small number of parameters by allocating actuation in a system with many binary degrees of freedom, using an actual large-scale air-jet table as an example. In this system, the desired force and torque are produced by a large number of spatially distributed binary air jets directing individual forces on an object. Various algorithms for solving the force allocation problem-determining the appropriate valve states in this hyper-redundant system-are investigated. The algorithms range from discrete optimal search to continuous constrained optimization to a hybrid hierarchical approach that can be distributed. The latter consists of using the continuous optimal solutions to recursively break the large optimization problems into smaller problems that can be solved using optimal search methods or precomputed lookup tables. A tradeoff between computation time and allocation error was found. The optimal algorithms yield low errors but the time is exponential in the number of actuators, while the continuous solutions execute quickly but yield larger errors. The hybrid hierarchical optimal algorithms give the best compromise between these conflicting goals, and their applicability spans the full range of degrees of freedom from a few to many thousands. These hierarchical algorithms are useful in many such highly redundant systems.
Real-time or agent-centered search has been an active research area in AI for the past decade. Th... more Real-time or agent-centered search has been an active research area in AI for the past decade. These techniques have been applied to many applications including planning in robotic systems and routing in communication networks. Sensor networks are distinguished from traditional networks by characteristics such as deeply embedded routers, highly dynamic networks, resourceconstrained nodes, and unreliable and asymmetric links. In this paper, we explore the space of search-based techniques for sensor networks, including piggybacked heuristics, heuristic estimation, promiscuous learning, indirect confirmation, and forward propagation. Performance evaluations for these techniques on real application scenarios are conducted on a routing simulator for sensor networks.
Ai Magazine, 2004
Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as ... more Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as families, with reusable modules put together in different manufacturable configurations, and the ability to add new modules in the field. The modules are controlled locally by software that must take into account the entire configuration. This poses two problems for the manufacturer. The first is how to make
We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and ... more We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and report on our experi- ence adapting existing techniques to this domain. The set- ting is on-line in the sense that additional jobs arrive asyn- chronously, perhaps several per second, while plans for previ- ous jobs are being executed. While challenging, the domain is also forgiving: feasible
Document Recognition and Retrieval, 2002
Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpre... more Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpret, because these inputs can be highly variable in several respects. This variability corrupts the expected mapping between a prior model of a configuration and an instance of it in the scene. We propose a scheme for representing ambiguity explicitly, within a subgraph matching framework, that limits
We discuss the use of constraint programming for a class of reactive applications that concurrent... more We discuss the use of constraint programming for a class of reactive applications that concurrently monitor and control their environment. Programsdealing with such problems have to be incremental and anytime, inthe sense that sensor information is accumulated incrementally and controldecisions have to be made on request while the program is running.We present as a real-life example the scheduling of networked
Lecture Notes in Computer Science, 2002
Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvil... more Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvilinear configurations that are sloppily drawn and highly variable in form. We propose a two-stage subgraph matching framework for sketch recognition that can accommodate great variability in form and yet provide efficient matching and easy extensibility to new configurations. First, a rectification stage corrects the initial data graph for the common deviations of each kind of constituent local configuration from its ideal form.
Lecture Notes in Computer Science, 2001
Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy c... more Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy curvilinear configurations. The task is commonly expressed as finding an image model in the image data, but few approaches exist for recognizing drawings with missing model parts and noisy data. In this paper, we propose a two-stage structural modeling approach that combines computer vision techniques with constraint-based recognition. The first stage produces a data graph through standard image analysis techniques augmented by rectification operations that account for common forms of drawing variability and noise. The second stage combines CLP(FD) with concurrent constraint programming for efficient and optimal matching of attributed model and data graphs. This approach offers considerable ease in stating model constraints and objectives, and also leads to an efficient algorithm that scales well with increasing image complexity.
Lecture Notes in Computer Science, 2005
The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an expl... more The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an explosion in applications for embedded software. As manufacturers make use of these technologies, they attempt to reduce complexity and contain cost by modularizing their systems and building reconfigurable products from simpler but smarter components. Of particular interest have recently been highly reconfigurable systems, i.e., systems that can be customized, repaired, and upgraded at a fine level of granularity throughout their lifetime. High reconfigurability is putting new demands on the software that is dynamically calibrating, controlling, and coordinating the operations of the system’s modules. There is much promise in existing software approaches, in particular in model-based approaches; however, current techniques face a number of new challenges before they can be embedded in the kind of real-time, distributed, and dynamic environment found in highly reconfigurable systems. Here, we discuss challenges, solutions, and lessons learned in the context of a long-term project at PARC to bring such techniques to a highly reconfigurable paper path system.
The design of a problem solver for a particular problem depends on the problem type, the system r... more The design of a problem solver for a particular problem depends on the problem type, the system resources, and the application requirements, as well as the specific problem instance. The difficulty in matching a solver to a problem can be ameliorated through the use of online adaptive control of solving. In this approach, the solver or problem representation selection and parameters are defined appropriately to the problem structure, environment models, and dynamic performance information, and the rules or model underlying this decision are adapted dynamically. This paper presents a general framework for the adaptive control of solving and discusses the relationship of this framework both to adaptive techniques in control theory and to the existing adaptive solving literature. Experimental examples are presented to illustrate the possible uses of solver control.
The use of heuristics as a means to improve constraint solver performance has been researched wid... more The use of heuristics as a means to improve constraint solver performance has been researched widely. However, most work has been on problem-independent heuristics (e.g., vari- able and value ordering), and has focused on offline prob- lems (e.g., one-shot constraint satisfaction). In this pap er, we present an online scheduling problem for which we are developing a real-time scheduling algorithm. While we can and do use generic heuristics in the scheduler, here we fo- cus on the use of domain-specific redundant constraints to ef- fectively approximate optimal offline solutions. We presen t a taxonomy of redundant domain constraints, and examine their impact on the effectiveness of the scheduler. We also describe several techniques for generating redundant con- straints, which can be applied to a large class of job shop scheduling problems.
external representations of specifications are mapped to the internal representation and only now... more external representations of specifications are mapped to the internal representation and only now have to spell out details that were implicit before. On the other side, components can hide implementation details, thus facilitating portability. . Components of the repository can provide default behaviour which allows us, for example, the execution of skeletal or partially incomplete specifications. . Finally, sets of interconnected components of the repository can built a framework for a problem domain, they can be considered as a theory for this domain. The common internal representation of specifications and the repository have been presented as two separate items. This need not be the case. In fact, we will introduce specification frameworks that play both roles. 4 A First Prototype: The Explore Method 4.1 Overview A first prototypical attempt to design a software development method fulfilling our requirements is restricted to executable specifications. The method, Explore, pr...
In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced th... more In our method -that we call Visual and Textual Composition of Logic Programs -we have enhanced the schema-based construction of logic programs in two ways intended to bridge the conceptual gap between application domains and the programming domain. First, we define visual and textual views of programs that can be used to construct programs in application-specific concepts, and which can be understood as executable specifications of the programs being constructed. Second, in addition to schemata for Prolog programming constructs and techniques we introduce a repository of application-specific components. As a further enhancement of the method we have added schema-based transformations to increase the efficiency of the constructed programs. We have implemented both a program development system and a transformation system, and used these systems to develop programs for non-trivial applications like the well-known library data base problem and an automated teller machine.
Lecture Notes in Computer Science, 1993
ABSTRACT
Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than requi... more Hyper-redundant robotic manipulators are robots that have many more degrees of freedom than required for a typical task such as grasping an object in 3D space. The large number of joints, which may range from dozens to thousands, offers both opportunities and challenges for the control of such robots. An opportunity is to use the extra degrees of freedom to optimally control multiple objectives. A challenge is to deliver predictable behavior despite the large number of possible configurations. In this paper, we propose to use a control approach based on constrained optimization. We discuss a representative example for an under-constrained task and suggest and analyze possible solutions that ensure predictable behavior.
Proceedings of the 2001 American Control Conference. (Cat. No.01CH37148), 2001
Constraint-based scheduling has become the dominant form of modeling and solving scheduling probl... more Constraint-based scheduling has become the dominant form of modeling and solving scheduling problems. Recently, due to ever more powerful embedded processors, it has become possible to embed and run constraint-based schedulers on-line even for fast processes such as product assembly sequencing. This makes constraint-based scheduling interesting to the control community as a new tool for system control, distributed and reconfigurable control, and the integration of various planning, scheduling, and control tasks. This tutorial gives a brief introduction to constraint-based scheduling, generic constraint programming techniques for modeling and solving scheduling problems, and a concrete real-time application example. *
IEEE Transactions on Control Systems Technology, 2003
This paper investigates the problem of closed-loop control of a small number of parameters by all... more This paper investigates the problem of closed-loop control of a small number of parameters by allocating actuation in a system with many binary degrees of freedom, using an actual large-scale air-jet table as an example. In this system, the desired force and torque are produced by a large number of spatially distributed binary air jets directing individual forces on an object. Various algorithms for solving the force allocation problem-determining the appropriate valve states in this hyper-redundant system-are investigated. The algorithms range from discrete optimal search to continuous constrained optimization to a hybrid hierarchical approach that can be distributed. The latter consists of using the continuous optimal solutions to recursively break the large optimization problems into smaller problems that can be solved using optimal search methods or precomputed lookup tables. A tradeoff between computation time and allocation error was found. The optimal algorithms yield low errors but the time is exponential in the number of actuators, while the continuous solutions execute quickly but yield larger errors. The hybrid hierarchical optimal algorithms give the best compromise between these conflicting goals, and their applicability spans the full range of degrees of freedom from a few to many thousands. These hierarchical algorithms are useful in many such highly redundant systems.
Real-time or agent-centered search has been an active research area in AI for the past decade. Th... more Real-time or agent-centered search has been an active research area in AI for the past decade. These techniques have been applied to many applications including planning in robotic systems and routing in communication networks. Sensor networks are distinguished from traditional networks by characteristics such as deeply embedded routers, highly dynamic networks, resourceconstrained nodes, and unreliable and asymmetric links. In this paper, we explore the space of search-based techniques for sensor networks, including piggybacked heuristics, heuristic estimation, promiscuous learning, indirect confirmation, and forward propagation. Performance evaluations for these techniques on real application scenarios are conducted on a routing simulator for sensor networks.
Ai Magazine, 2004
Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as ... more Complex electro-mechanical products, such as high-end printers and photocopiers, are designed as families, with reusable modules put together in different manufacturable configurations, and the ability to add new modules in the field. The modules are controlled locally by software that must take into account the entire configuration. This poses two problems for the manufacturer. The first is how to make
We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and ... more We describe a simple manufacturing domain that requires in- tegrated planning and scheduling and report on our experi- ence adapting existing techniques to this domain. The set- ting is on-line in the sense that additional jobs arrive asyn- chronously, perhaps several per second, while plans for previ- ous jobs are being executed. While challenging, the domain is also forgiving: feasible
Document Recognition and Retrieval, 2002
Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpre... more Even seemingly simple drawings, diagrams, and sketches are hard for computer programs to interpret, because these inputs can be highly variable in several respects. This variability corrupts the expected mapping between a prior model of a configuration and an instance of it in the scene. We propose a scheme for representing ambiguity explicitly, within a subgraph matching framework, that limits
We discuss the use of constraint programming for a class of reactive applications that concurrent... more We discuss the use of constraint programming for a class of reactive applications that concurrently monitor and control their environment. Programsdealing with such problems have to be incremental and anytime, inthe sense that sensor information is accumulated incrementally and controldecisions have to be made on request while the program is running.We present as a real-life example the scheduling of networked
Lecture Notes in Computer Science, 2002
Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvil... more Machine systems for understanding hand-drawn sketches and diagrams must reliably interpret curvilinear configurations that are sloppily drawn and highly variable in form. We propose a two-stage subgraph matching framework for sketch recognition that can accommodate great variability in form and yet provide efficient matching and easy extensibility to new configurations. First, a rectification stage corrects the initial data graph for the common deviations of each kind of constituent local configuration from its ideal form.
Lecture Notes in Computer Science, 2001
Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy c... more Machine systems for understanding hand-drawn sketches must reliably interpret common but sloppy curvilinear configurations. The task is commonly expressed as finding an image model in the image data, but few approaches exist for recognizing drawings with missing model parts and noisy data. In this paper, we propose a two-stage structural modeling approach that combines computer vision techniques with constraint-based recognition. The first stage produces a data graph through standard image analysis techniques augmented by rectification operations that account for common forms of drawing variability and noise. The second stage combines CLP(FD) with concurrent constraint programming for efficient and optimal matching of attributed model and data graphs. This approach offers considerable ease in stating model constraints and objectives, and also leads to an efficient algorithm that scales well with increasing image complexity.
Lecture Notes in Computer Science, 2005
The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an expl... more The remarkable drop in the cost of embedded computing, sensing, and actuation is creating an explosion in applications for embedded software. As manufacturers make use of these technologies, they attempt to reduce complexity and contain cost by modularizing their systems and building reconfigurable products from simpler but smarter components. Of particular interest have recently been highly reconfigurable systems, i.e., systems that can be customized, repaired, and upgraded at a fine level of granularity throughout their lifetime. High reconfigurability is putting new demands on the software that is dynamically calibrating, controlling, and coordinating the operations of the system’s modules. There is much promise in existing software approaches, in particular in model-based approaches; however, current techniques face a number of new challenges before they can be embedded in the kind of real-time, distributed, and dynamic environment found in highly reconfigurable systems. Here, we discuss challenges, solutions, and lessons learned in the context of a long-term project at PARC to bring such techniques to a highly reconfigurable paper path system.
The design of a problem solver for a particular problem depends on the problem type, the system r... more The design of a problem solver for a particular problem depends on the problem type, the system resources, and the application requirements, as well as the specific problem instance. The difficulty in matching a solver to a problem can be ameliorated through the use of online adaptive control of solving. In this approach, the solver or problem representation selection and parameters are defined appropriately to the problem structure, environment models, and dynamic performance information, and the rules or model underlying this decision are adapted dynamically. This paper presents a general framework for the adaptive control of solving and discusses the relationship of this framework both to adaptive techniques in control theory and to the existing adaptive solving literature. Experimental examples are presented to illustrate the possible uses of solver control.
The use of heuristics as a means to improve constraint solver performance has been researched wid... more The use of heuristics as a means to improve constraint solver performance has been researched widely. However, most work has been on problem-independent heuristics (e.g., vari- able and value ordering), and has focused on offline prob- lems (e.g., one-shot constraint satisfaction). In this pap er, we present an online scheduling problem for which we are developing a real-time scheduling algorithm. While we can and do use generic heuristics in the scheduler, here we fo- cus on the use of domain-specific redundant constraints to ef- fectively approximate optimal offline solutions. We presen t a taxonomy of redundant domain constraints, and examine their impact on the effectiveness of the scheduler. We also describe several techniques for generating redundant con- straints, which can be applied to a large class of job shop scheduling problems.
external representations of specifications are mapped to the internal representation and only now... more external representations of specifications are mapped to the internal representation and only now have to spell out details that were implicit before. On the other side, components can hide implementation details, thus facilitating portability. . Components of the repository can provide default behaviour which allows us, for example, the execution of skeletal or partially incomplete specifications. . Finally, sets of interconnected components of the repository can built a framework for a problem domain, they can be considered as a theory for this domain. The common internal representation of specifications and the repository have been presented as two separate items. This need not be the case. In fact, we will introduce specification frameworks that play both roles. 4 A First Prototype: The Explore Method 4.1 Overview A first prototypical attempt to design a software development method fulfilling our requirements is restricted to executable specifications. The method, Explore, pr...