|
ISSN 1320-0682 | |||
| Volume 03 | April 1996 | |||
H. R. Gimblett, B. Durnota & R.M. Itami
...Speer, Curry, Xiao Zhong and Moore
School of Information Technology, Charles Sturt University (Bathurst),
Australia
...Bryan
Department of Computing, University of Western Sydney (Nepean), Australia
Email:bcurry@csu.edu.au; wmoore@csu.edu.au; g.bryan@st.nepean.uws.edu.au
The GAUDI project is an attempt at the design and construction of an intelligent robot. The project has been named after the famous Spanish art nouveau architect Antonio Gaudi (1852-1926) who designed the Sagrada Familia church in Barcelona. This architectural masterpiece has evolved over a number of years, after the death of the designer, to represent a grand vision based on the sum of many supporting designs and developments. The GAUDI robot similarly depends on a global specification based on many supporting techniques and designs.
Intelligent robots can be defined as:
A system that is highly adaptable to unanticipated change. This implies the ability to learn. The system must exhibit a high degree of autonomy in dealing with change which implies the ability to deal with significant complexity. Such systems would be sparse and of a hierarchical nature. (A working definition from p. 60, IEEE Control System, Vol. 14 No. 3, June 1994.)
The architectural structure of the robot is shown in Table 1.
The robot has a number of independent layers that will be implemented as a message-passing parallel processing system following the communicating sequential processes (CSP) paradigm. The ERROR subsystem is the only system that will be able to communicate directly to each of the other subsystems. All other subsystems communicate via the MEMORY subsystem. The ENVIRONMENT subsystem is broken into two smaller subsystems; one to modify the environment, the other to move through the environment. These are briefly described later in the paper. The SENSOR subsystem is designed to gather a variety of data either actively or passively. The MEMORY subsystem is used as a communication centre between the various subsystems as well as being used to provide a permanent place for storing data. The MEMORY system will be capable of holding terabytes of data and is implemented as a parallel database system. This system is described in Section 4. The PLANNING and CONTROL subsystem will interpret the commands that are given to the robot and provide a decision system that will give the robot its "intelligence".
The development of this robot will follow the evolutionary development cycle that is currently used in some software development projects. This involves the building of a prototype and then, after analysis, the construction of a better prototype. This robot will have the ability to evolve or adapt as a result of the implementation and use of adaptive subsystems that will give the robot its global characteristics.
Table 1: Architectural divisions of the GAUDI robot.
The interaction of many subsystems acting locally may result in the emergence of global phenomena in the form of meaningful behaviour of the system, constituted by these subsystems. This meaningful behaviour may be the result of the evolution of the subsystems and their interaction or, in the case of most man-made systems, the development of the subsystems may be guided so that the system produces the behaviour sought by the designer. (Of course, in the case of evolution, "the designer" might be thought of as a combination of the system's environment and natural selection.) It is in this latter category that the development of the GAUDI Project falls.
In either case, full understanding of a system is not possible without a description of this behaviour and, specifically, the relationship between the input (or stimulus) to the system and the consequent output (or response). This specification of the input-output relationship is commonly referred to as the computational level description of a system and is the highest level of three levels of description necessary for any complete description and understanding of a system [9]. A computational level description describes the computational function instantiated by the system of concern. Thus, to describe the global phenomena exhibited by the interaction of subsystems, we need to explicate the relationship between the inputs of the system, as a whole, and the corresponding output, or behaviour, of the system.
In the case of the GAUDI robot, the main stimulus to the system will be commands issued by the user of the system. (In the case of the robot in the early stages of its development, the commands issued by the user will be its only stimulus. This stimulus will eventually be supplemented, in stages, by stimuli from the environment as perceived by the robot's sensors. In particular, proprioception in the form of feedback (muscle tension and joint angles) from the robot's legs will be crucial for the robot's dexterity.) We have chosen to describe the structure of this input in the form of a context-free grammar [1]. Indeed, this command language will be a very small subset of the English language. The command language will be an evolving language in itself and will be expanded and refined as the project develops. (It should be noted that the actual physical form in which these commands will be issued has not been decided upon as yet and it would be envisaged that, in fact, the physical form will change as the robot becomes capable of perceiving different forms of physical phenomena.)
The first three stages of the command language are as follows:
Stimulus = commands + some primitive proprioception (angle position of limbs)
Command Language <command> <verb>
SyntaxCommand Language <verb> Stand | Stand-up | Walk | Stoop | Run
Lexicon
Command Language. The behaviour of the robot for each of the five commands is Semantics defined in terms of the kinematic movement of its lower limbs (see Appendix).
Stimulus = commands + proprioception
Stimulus = commands + proprioception + visual perception
The output of the system in response to these commands will, of course, be behaviour of some type. This behaviour will be of three main types:
The main problem with the enterprise of describing the command/behaviour relationship for an intelligent agent in a natural environment is that the response to a command will depend on the environment in which the intelligent agent finds itself. Since there is almost an infinite variety of possible natural environments, it might be thought impossible to define the desired command/behaviour relationship of the robot. However, the complexity of this problem may be reduced in the following ways:
It should be noted that the semantics of our command language has been specified in terms of the behaviour of the robot in response to command inputs and environmental stimuli.
It should also be noted that in the successive stages of the command/behaviour relationship of the robot, as exemplified by those given above, new behaviour of the robot in each successive stage may be defined in terms of the lower level behaviour. For example, the command "Get the book", could be defined as consisting of the following three commands:
The SENSOR subsystem is designed to gather information (actively and passively) about the environment. It will process this information and store it for use by the other subsystems. Active data gathering is the use of devices such as laser range finders and ultrasound systems that emit radiation into the environment. A passive data collection system would capture data such as reflected light, sound and odour. Work in progress on the data-gathering subsystem has involved the use of a single laser range finder mounted 1.5 metres above the ground coupled to a transputer-driven framegrabber. The framegrabber collects a 512 X 512 image with a 256 grey level scale. This image is processed with the laser system to estimate both the range of an object as well as such attributes as grey level. A small sub-image region of the whole image is captured and stored in memory as an octree with tags for attributes of the object. This data structure is then stored in the MEMORY subsystem. The data then becomes available for processing by the PLANNING and CONTROL subsystem.
The laser range finder is swept through a horizontal sweep and then a vertical sweep to cover the volume in front of the robot. Presently this is done at 5 degree increments and with limited forward resolution of 2 to 5 metres. Alternatives to the octree data structure, such as a polygonal mesh representation, are being investigated. Later developments will use a bicubic patch method to represent surfaces on objects. The present system only stores visual and distance information.
The MEMORY subsystem has been constructed in conjunction with a parallel database project called the MEDUSA project. The design of this system is based on a shared nothing architecture and consists of a scalable system of submodules called "nodes". Each node of this storage system comprises three transputer elements and a SCSI disk system that provide processing and load-balancing facilities for the parallel database system. This system has proved to be robust and scalable and is reported in the literature [2]. The MEDUSA parallel database system is the MEMORY subsystem.
The parallel database subsystem provides an ideal interface to a parallel computing surface based on a transputer (or similar) mesh. This would provide the knowledge-processing mechanism for the robot. The development of such a computing surface will be left to a later evolutionary prototype stage of the robot and probably follow the method outlined by Gudwin et al. [5]
Interaction with the environment will consist of manipulation of the environment (removing and re-arranging items) as well as movement within the environment.
The movement portion of the GAUDI Project includes mobility of the intelligent robot and manipulation of the environment. Mobility is biped-based using articulated legs with 14 degrees of freedom.
Biped architecture was selected for two reasons. Firstly, there is a perceived need for locomotion in situations involving obstacles - terrains that are soft, uneven [8] or contain vertical obstructions that need to be transversed. Secondly, it is expected that autonomous robots will be employed in existing industrial sites that have been designed for human occupation. Useful legged robots need systems that control joint movement, monitor balance, sense terrain variations [8] and adjust for errors between planned trajectories and actual movement. In order to meet the requirement for operation in an unknown and unpredictable environment, the GAUDI robot uses the robotic equivalent of articulated toe blocks; ankles with forward/backward and left/right articulation; single degree of freedom knee joints; and forward/back, left/right and twist movements in the hip joint.
This architecture allows for 14 degrees of movement (seven in each leg) and permits the implementation of combinations of the commands: stand, walk, run, forward, backward, straight, right, left, stoop and stand-up at various speeds. (see Appendix).
Fully implemented, the GAUDI robot will have 42 inputs and 14 bidirectional, variable outputs to control joints.
The 14 degrees of freedom lead to a 15-link biped locomotion system which is described by nonlinear differential equations of order 30 with 14 inputs at a single leg supporting phase. Even after allowing for some obvious simplifying assumptions, the complexity of this system cannot be realised by direct application of control theory.
There are four approaches that could be used to solve this control problem. One approach is to specify joint torques to maintain a predefined trajectory. A second approach is to use a lower order model and to ignore some of the freedom of the biped locomotion. A third approach is to use an array of independent lower order subsystems [10].
Each of these approaches has limitations. Specifying joint torques makes the control possible, but it may be too slow for real-time control. Using a lower order model works if the lower order model is a good approximation for the full system. The disadvantage is that agreement between the lower order model and the full system is likely to be limited to some specific actions and not to others. Using an array of independent lower order systems simplifies the control problem, but requires a method of allowing for the interaction of the subsystems. The last approach does, however, permit an hierarchal structure that is consistent with physiological studies.
The fourth approach, and the one adopted by the GAUDI team, is to use independent neural networks that learn the dynamics of the joints that they control and that interact with other neural networks. The inputs to each neural net will be the sensors from the controlled joint, the output of the PLANNING and CONTROL system and the outputs from the sensors of the joint that is structurally "higher". For instance, the inputs to the neural net that controls an ankle joint are the sensors associated with that ankle joint, the outputs from the Planner/Organiser and the outputs of the sensors for the knee joint on that leg. Through this last set of inputs, the ankle neural network will allow for the interaction of the ankle and knee.
Using this hierarchal neural network architecture simplifies the role of the Planner/Organiser as it needs to only determine an overall plan but not determine the detail plans for each joint.
The philosophy of the development of the movement subsystem mirrors the evolutionary philosophy of the GAUDI project. The first robot to be built will be a stiff-legged, 3-link robot with neural network controllers. From this robot, we will verify the findings of [6], [12] and [8].
The next robot built will be 5-link with knee joints. From this we will verify Furusho and Masubuchi [4], Hurmuzlu [7] and [11].
The third robot built will be the full GAUDI 15-link robot with 3-motion hips; knee joints; 2-motion ankles and toe block joints.
Current work in control systems using pneumatic muscle actuators called McKibben artificial muscles, has prompted an investigation into incorporating such actuators into the GAUDI project. The properties and control of such muscles is reported in [12], [3] together with their general construction and used as an actuator in a two-link manipulator system. The reason for using such muscles is their compactness and good power/weight ratio which provides advantages for mobile robot construction. Another plus for such pneumatic devices is that, unlike some electric geared systems, there is a degree of compliance in the system which is also reflected in human walking. This compliance may make traditional modeling of such a system difficult but the use of neural networks and an evolutionary approach to control in the GAUDI robot will hopefully overcome this problem.
The present McKibben muscle system consists of a three-link ankle/knee joint together with associated pneumatic control equipment.
As indicated in the previous section, the problems that present themselves in deriving a solution to the Lagrange equations needed to model the dynamics and kinematics of the GAUDI robot are considerable. Closed-form solutions for the inverse kinematics exist in a useful form up to about 6 degrees of freedom (DOF). Initial work has started in applying a genetic algorithm (GA) solution to the problem. A GA has been developed together with a simple simulation model of the bipedal system to generate the inverse kinematic solution to a 7-link system. This solution gives the necessary increments in the angles needed for the links to walk in the sagittal plane only. Each increment needed to make the links move through the stages of walking is encoded as a gene in a chromosome of the GA population. The populations are then evolved until a suitable solution is found for the links to enable "walking". Finer control of the angle increments can be made by increasing the number of angle sequences (that is, the number of genes) in the population.
During the running of the GA, many inverse kinematic solutions can be found that do not solve this particular problem but are solutions of closely related trajectories. These values can be used together with the MATLAB fuzzy logic package to generate a set of fuzzy rules for trajectories of the links through joint space. These can be used for other walking movements and can be incorporated in the walking mechanism of the GAUDI robot.
Using the above method to calculate the torques needed for walking would not be feasible, since to do this would require a model of the complete robot and thus a solution of the Lagrange equations. The model would provide values for the fitness function of the GA. To overcome this problem, the physical McKibben muscle system will be connected directly to the GA fitness evaluation function. This will allow suitable solutions to be found in the "torque space".
This paper has provided an outline of a large and complex project that has as its aim the development of an intelligent robot. The global phenomena of this robot is the execution of simple commands in an intelligent fashion. The theme of this conference is "local interactions to global phenomena". A corollary to this is "think globally, act locally". The GAUDI Project typifies this corollary.
The authors would like to acknowledge the assistance of the Department of Electronic Engineering at Salford University (UK) for help and the contribution of examples of synthetic muscle to this project.
In this command set:
The commands straight, right and left are executed by the twisting of the support leg at the hip joint (allowing non-sagittal movements).
The GAUDI Project: Design and Development Issues in Constructing an Intelligent Robot
This document was generated using the LaTeX2HTML translator Version 96.1 (Feb 5, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
The command line arguments were:
latex2html gaudi2.
The translation was initiated by Pam Milliken on Thu Jan 16 17:04:50 EST 1997