To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
The gait of a multi-segment inchworm robot is a series of actuator actions that will change the shape of the robot to generate a net motion. In this paper, we model the multi-segment inchworm robot as a finite state automaton. Gait generation is posed as a search problem on the graph described by the automaton with prescribed state transitions. The state transitions are defined based on the kinematics of robot locomotion. The auxiliary actuator concept is introduced. Single-stride and multi-stride gait generations are discussed. Single-stride gaits exhibit fault-tolerant and real-time computation features that are necessary in actual applications. Both computer simulation and experimental hardware platform are developed for various aspects of gait generation and planning.
This paper presents a collision-free path planner for mobile robot navigation in an unknown environment subject to nonholonomic constraints. This planner is well adapted for use with embarked sensors, because it uses only the distance information between the robot and the obstacles. The collision-free path-planning is based on a new representation of the obstacles in the velocity space. The obstacles in the influence zone are mapped as linear constraints into the velocity space of the robot, forming a convex subset that represents the velocities that the robot can use without collision with the objects. The planner is composed by two modules, termed “reaching the goal” and “boundary following”. The major advantages of this method are the very short calculation time and a continuous stable behavior of the velocities. The results presented demonstrate the capabilities of the proposed method for solving the collision-free path-planning problem.
This paper describes the autonomous navigation and control of an undersea vehicle using a vehicle control architecture based on the Distributed Architeclure for Mobile Navigation and a terrain-aided navigation technique based on simultaneous localisation and map building. Development of the low-speed platform models for vehicle control and the theoretical and practical details of mapping and position estimation using sonar are provided. Details of an implementation of these techniques on a small submersible vehicle “Oberon” are presented.
Every designer of a new data structure wants to know how well it performs in comparison with others. But finding, coding and testing applications as benchmarks can be tedious and time-consuming. Besides, how a benchmark uses a data structure may considerably affect its apparent efficiency, so the choice of applications may bias the results. We address these problems by developing a tool for inductive benchmarking. This tool, Auburn, can generate benchmarks across a wide distribution of uses. We precisely define ‘the use of a data structure’, upon which we build the core algorithms of Auburn: how to generate a benchmark from a description of use, and how to extract a description of use from an application. We then apply inductive classification techniques to obtain decision trees for the choice between competing data structures. We test Auburn by benchmarking several implementations of three common data structures: queues, random-access lists and heaps. These and other results show Auburn to be a useful and accurate tool, but they also reveal some limitations of the approach.
This article describes a general framework for designing purely functional datatypes that automatically satisfy given size or structural constraints. Using the framework we develop implementations of different matrix types (for example, square matrices) and implementations of several tree types (for example, Braun trees and 2-3 trees). Consider representing square n×n matrices. The usual representation using lists of lists fails to meet the structural constraints: there is no way to ensure that the outer list and the inner lists have the same length. The main idea of our approach is to solve in a first step a related, but simpler problem, namely to generate the multiset of all square numbers. To describe this multiset we employ recursion equations involving finite multisets, multiset union, addition and multiplication lifted to multisets. In a second step we mechanically derive from these recursion equations datatype definitions that enforce the ‘squareness’ constraint. The transformation makes essential use of parameterized types.
We describe two newly developed computational tools for morphological processing: a program for analysis of English inflectional morphology, and a morphological generator, automatically derived from the analyser. The tools are fast, being based on finite-state techniques, have wide coverage, incorporating data from various corpora and machine readable dictionaries, and are robust, in that they are able to deal effectively with unknown words. The tools are freely available. We evaluate the accuracy and speed of both tools and discuss a number of practical applications in which they have been put to use.
Algorithms can be dramatically affected by the language in which they are implemented. An algorithm that is elegant and efficient in one language may be ugly and inefficient in another. If you have ever attempted to implement an assignment-intensive algorithm in a functional programming language, you are probably more familiar with this phenomenon than you ever wanted to be! But this sword does not cut in only one direction. Functional programming languages are wonderfully suited to expressing certain kinds of algorithms in a clean, modular way, and researchers over the last five to ten years have greatly expanded the range of algorithms for which this is true.
The above event will be held on March 24–26, 2002, in Pittsburgh, Pennsylvania (USA) in the context of the joint meeting of the World Organisation of Systems and Cybernetics (WOSC) and of the International Institute for General Systems Studies (IIGSS) (12th WOSC Congress and 4th IIGSS Workshop).
Field robotics is the use of autonomous robotic systems in highly challenging applications areas including; mining, construction, cargo handling, agriculture, subsea and aerospace systems. The focus of field robotics research is on large-scale outdoor autonomous systems in applications that are characterised by relatively unstructured, difficult and often hazardous environments. It draws together the most advanced research areas in robotics, including; navigation and control, sensing and data fusion, safety and reliability, and planning and logistics.
In this paper, the analysis of manipulability of robotic systems comprised of multiple cooperating arms is considered. Given bounds on the capabilities of joint actuators for each robot, the purpose of this study is to derive the bounds for task velocity achievable by the system. Since bounds on each joint velocity form a polytope in joint-velocity space and the task space velocity is connected with joint velocity through Jacobian matrices of each robot, the allowable task velocity space, i.e. velocity workspace, for multiple cooperating robot system is also represented as a polytope which is called manipulability polytope throughout this paper. Based on the fact that the boundaries of the manipulability polytope are mapped from the boundaries of allowable joint-velocity space, slack variables are introduced in order to transform given inequality constraint given on joint velocities into a set of normal linear equalities in which the unknowns of the equation are composed of the vertices of manipulability polytope, vectors spanning the null space of the Jacobian matrix, and the slack variables. Either redundant or nonredundant cooperating robot systems can be handled with the proposed technique. Several different application examples including simple SCARA-type robots as well as complex articulated robot manipulators are included, and, under the assumption of firm grip, it will be shown that the calculated manipulability polytope for cooperating robot system is actually the intersection of all the manipulability polytopes of every single robot which is hard to be derived through geometrical manipulation.
This paper presents an adaptive steering controller for achieving accurate and prompt steering control with noisy steering command signals and drifting valve characteristics on an automated agricultural tractor with an electrohydraulic steering system. It is difficult to accomplish performance objectives with conventional PID controllers because of the effects of disturbances and unknown factors. The adaptive controller, consisted of an adaptive gain tuner and an adaptive nonlinearity compensator, was to overcome these performance obstacles. Test results indicated that this controller provided an effective means for achieving satisfactory steering control for automated tractor traveling on changing and unpredictable farm field courses.
Generating text in a hypermedia environment places different demands on a text generation system than occurs in non-interactive environments. This paper describes some of these demands, then shows how the architecture of one text generation system, ILEX, has been shaped by them. The architecture is described in terms of the levels of linguistic representation used, and the processes which map between them. Particular attention is paid to the processes of content selection and text structuring.
We propose a new style of writing graph algorithms in functional languages which is based on an alternative view of graphs as inductively defined data types. We show how this graph model can be implemented efficiently, and then we demonstrate how graph algorithms can be succinctly given by recursive function definitions based on the inductive graph view. We also regard this as a contribution to the teaching of algorithms and data structures in functional languages since we can use the functional-style graph algorithms instead of the imperative algorithms that are dominant today.
We describe a unified, lazy, declarative framework for solving constraint satisfaction problems, an important subclass of combinatorial search problems. These problems are both practically significant and computationally hard. Finding solutions involves combining good general-purpose search algorithms with problem-specific heuristics. Conventional imperative algorithms are usually implemented and presented monolithically, which makes them hard to understand and reuse, even though new algorithms often are combinations of simpler ones. Lazy functional languages, such as Haskell, encourage modular structuring of search algorithms by separating the generation and testing of potential solutions into distinct functions communicating through an explicit, lazy intermediate data structure. But only relatively simple search algorithms have been treated this way in the past. Our framework uses a generic generation and pruning algorithm parameterized by a labeling function that annotates search trees with conflict sets. We show that many advanced imperative search algorithms, including conflict-directed backjumping, backmarking, minimal forward checking, and fail-first dynamic variable ordering, can be obtained by suitable instantiation of the labeling function. More importantly, arbitrary combinations of these algorithms can be built by simply composing their labeling functions. Our modular algorithms are as efficient as the monolithic imperative algorithms in the sense that they make the same number of consistency checks, and most of our algorithms are within a constant factor of their imperative counterparts in runtime and space usage. We believe our framework is especially well-suited for experimenting to find good combinations of algorithms for specific problems.
In the past ten years, the dramatic growth of the Internet has had a profound and lasting impact on the way in which organizations and individuals communicate and conduct their public and private affairs. Tax forms are available online, students may submit their exams electronically to a (possibly remote) campus network, and companies may use the Internet as a public channel for linking up internal computing facilities or processes. For example, an employee may dial into a company's intranet from a hotel room or her home via a public Internet service provider. Since the Internet protocol does not provide sufficient mechanisms for ensuring the privacy, authenticity, integrity, and (if desired) anonymity of data that are processed through a usually dynamically determined chain of computers, there is a need for tools that guarantee the confidentiality and authenticity of data and of their communication sources and targets. Cautious consumers of mobile or foreign code prefer to verify that downloaded programs (e.g., Java applets) abide by a formal set of safety rules, possibly defined by the individual consumer. These needs appear to be even more pressing in the recent evolution of electronic commerce, where the act of selecting and purchasing a product occurs online. Although online companies are still waiting to reap their first real profits, it is evident that companies in general need to offer this mode of business in order to survive in a new economy that is global and at the same time strengthens regional identity.