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 goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.
The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That's why this chapter is called “The way of the program.”
On one level, you will be learning to program, a useful skill by itself. On another level, you will use programming as a means to an end. As we go along, that end will become clearer.
THE PYTHON PROGRAMMING LANGUAGE
The programming language you will learn is Python. Python is an example of a high-level language; other high-level languages you might have heard of are C, C++, Perl, and Java.
There are also low-level languages, sometimes referred to as “machine languages” or “assembly languages.” Loosely speaking, computers can only execute programs written in low-level languages.
A new vision system architecture has been developed to support the visual navigation of an autonomous mobile robot. This robot is primarily intended for urban park inspection, so it should be able to move in a complex unstructured environment. The system consists of various modules each ensuring a specific task involved in autonomous navigation. Task coordination focuses on the central module called the supervisor which triggers each module at the time appropriate to the current situation of the robot. Most of the processing time is spent with the scene exploration module which is based on the Hough transform to extract the dominant straight features. This module operates in two modes: the initial phase which forms the type of processing applied to the first image acquired in order to initiate navigation, and the continuous following mode which ensures the processing of subsequent images taken at the end of the blind distance. In order to rely less on visual data, a detailed map of the environment has been established, and an algorithm is used to make a scene prediction based on robot position provided by the localization system. The predicted scene is used to validate the objects detected by the knowledge base. This knowledge base uses the acquired and predicted data to construct a scene model which is the main element of the vision system.
The need to meet demanding control requirements in increasingly complex dynamical control systems under significant uncertainties makes neural networks very attractive, because of their ability to learn, to approximate functions, to classify patterns and because of their potential for massively parallel hardware implementation. This paper proposes the use of artificial neural networks (ANN) as a novel approach to the control of robot manipulators. These are part of the general class of non-linear dynamic systems where non-linear compensators are required in the controller.
This paper presents an automatic training method based on the Baum–Welch algorithm (also known as EM algorithm) and a robust low-level controller. The method has been applied to the indoor autonomous navigation of a surveillance robot that utilizes a WiFi+Ultrasound Partially Observable Markov Decision Process (POMDP). This method uses a robust local navigation system to automatically provide some WiFi+Ultrasound maps. These maps could be employed within probabilistic global robot localization systems. These systems use a priori probabilistic map in order to estimate the global robot position. The method has been tested in a real environment using two commercial Pioneer 2AT robotic platforms in the premises of the Department of Electronics at the University of Alcalá. Some experimental results and conclusions are presented.
This paper presents a practical approach for the point-to-point control of elastic-jointed robot manipulators. With the proposed approach only position and velocity feedback are referenced, as opposed to most of the existing control schemes of elastic-jointed manipulators which require additional acceleration and/or jerk feedback. To guarantee the robustness of the controller, it is designed on extreme parameter uncertainties due to highly elastic joints of manipulators and energy motivated Lyapunov functions are used to derive the control law. Four pertinent controller gains are chosen in light of the on-line position and velocity feedback of the links and joint sensors. Through a simulated experimental verification, it is demonstrated that the designed simple position and velocity feedback controller, similar to that used for rigid-jointed robots, can globally stabilize the elastic-jointed robot for a bounded reference position. In addition, the tracking performance of the controller reveals that this simple control algorithm is robust in terms of joint flexibility. And the simplicity of the presented control algorithm, as compared to other model-based techniques for flexiblejoint robots, is particularly advantageous. Even though the simulated experiments are conducted on a single-link flexible joint robot, control law derived in this paper has general meaning for multi-link flexible joint robots.
Many studies on control of dynamic biped walking have been done in the past two decades. While the biped dynamics is highly nonlinear, the stability analysis, if done, is usually based on a linearized model. The validity of the linearized model may become questionable if the walking involves states that are too far away from the operating point. In this paper, an approach for evaluating the robustness based on the linearized Poincare map is suggested and examined. The Poincare map is a useful tool to investigate the periodic motion of a dynamic system. Using the Poincare“ map, one can study an associated discrete time map instead of studying the continuous time system directly. Investigation of stability of a periodic motion can be reduced to the study of the stability of a fixed point of the Poincaré map. The computational method that results in a measurement for evaluating the robustness of biped locomotion is developed. Our simulation study has verified that the suggested measurement is a good indicator.
Two algorithms are presented which deal with translating an elliptic object, A, without collision amidst elliptic obstacles. These are:
(i) An exact algorithm, of complexity O(N log N), where N is the number of obstacles, yielding all directions along which the object is separable from the obstacles by a single translation.
(ii) An algorithm quadratic in N, which yields, with a degree of approximation determined by the user, a path of the object from its initial to its final position.
Identification of inertia constants and joint frictions of a robot manipulator is achieved in situ, without dismantling operations, by means of specific test motions. The necessary estimation of actuating torques is carried out by measuring, with Hall effect transducers, the current absorbed by the motors which power the system. This identification is accomplished by using a precise methodological order adapted to a planar SCARA type manipulator with two degrees of freedom. The identification of friction laws underscores a hysteresis phenomenon of the dissipative torques. This indicates that friction doesn't result from a simple superposition of a dry friction law and a viscous damping law. The identification results were applied with success to implementation of optimized trajectories computed on the basis of a dynamic criterion. The effective minimization of the performance criterion along the optimized trajectories, according to the corresponding standard trajectories, was verified experimentally by evaluating the motor work and actuator torques.
A new type of an iterative learning control method is proposed for dynamic systems with uncertain parameters. The method, which employs the model algorithmic control concept in the iteration sequence, is shown to be convergent for linear time-varying systems. Then the method is shown to be applicable for continuous-path control of a robot manipulator.