Anda di halaman 1dari 6

Self-Management in a Robot Control Architecture

Jochen Maaß, Jens Steiner, Jürgen Hesselbach, Ursula Goltz

Abstract— To reach good maintainability, extendibility and


reusability of components in the design of robot control archi-
tectures is a major challenge. In this paper the authors intro-
duce an architecture for handling and assembly applications
featuring self-management techniques as an approach to tackle
these problems.
The existing architecture features a layered design, divid-
ing robot-specific components from those which are reusable
for a class of applications. Present and future concepts of
self-management applied to this architecture such as self-
configuration, self-optimization, self-healing and self-protection
are outlined. These properties are realized by the integration Fig. 1. Parallel Robots HEXA (l.) and TRIGLIDE (r.) for Handling and
of self-managers within crucial system components in a future Assembly
distributed version of the architecture.

I. INTRODUCTION
The ever-growing complexity of robot control machines developed by the Collaboratorive Research Center
architectures has been identified as a major challenge. 562 of the German Research Foundation (see Fig. 1 for
Maintainability, extendibility and reusability become examples). In the following section, the architecture in
problems besides the original realization task. Intricate focus is described. It features the capability to perform
errors in large, monolithic systems often lead to huge efforts modern control algorithms in both, internal and external
in order to prevent the robot control from unpredicted loops. Internal loops such as the computed-torque approach
or disastrous behavior. Several, mostly nature inspired, and feedback linearization [14] are required to benefit from
approaches have been proposed to tackle complexity the robot’s dynamic performance advantage compared to a
and entailed problems. In the year 2001, IBM drafted classic approach. External loops for compliant motion with
their vision of Autonomic Computing and recommended respect to e.g. a force sensor or a vision system [12] are
autonomy on different hierarchy levels in a system. They crucial in light of performing error-tolerant assembly tasks
later detailed this idea [5] and outlined how cooperating [16].
management components for different system parts could Furthermore, the architecture features a powerful task
monitor, analyze and manipulate system behavior in their frame formalism supporting skill primitive programming.
area of responsibility and realize self-managed systems, Introduced in 1981 by Mason [10] and taken up by
striving for optimization and capable to configure, heal and deSchutter [13], the task frame formalism is a major step
protect themselves. Autonomic Computing has become a towards task orientated assembly programming [17]. The
huge research area and similar endeavors such as Organic difference compared to traditional motion description is that
Computing [11] have been brought to life lately. A model the motion is defined in the task frame, which is allowed
driven development (MDD) of the software parts of a to become placed arbitrarily in the robots’ work cell. Our
system can also help to catch some of the complexity and implementation of the skill primitive programming interface,
can be the foundation for miscellaneous quality assurance a concept which first was proposed by Hasegawa in 1992
measures [15]. [2], allows the robot operator to define a separate control
The authors introduce present and future concepts of algorithm for each of the six d.o.f. the task frame provides,
self-management applied to a robot control architecture causing hybrid moves of the robot’s end effector [7].
designed for sensor-guided handling and assembly tasks. An inportant design principle applied to the architecture is
This architecture is used for the control of parallel kinematic the separation of algorithms and communication as well as
OS issues, respectively. This allows for an easy integration
This work is supported by the German Research Foundation (DFG). of self-management features. Most complex control systems
J. Maaß and J. Hesselbach are with the Institute of Machine Tools are designed in a collaborative environment, incorporating
and Production Engineering, Faculty of Mechanical Engineering, Tech-
nical University of Braunschweig, D-38106 Braunschweig, Germany experts in different fields of knowledge. Hence, the control
j.maass@tu-bs.de j.hesselbach@tu-bs.de engineer should not be constrained by communication or
J. Steiner and U. Goltz are with the Institute for Programming operating system restrictions. Our solution to this problem
and Reactive Systems, Faculty of Mathematics and Computer Science,
Technical University of Braunschweig, D-38106 Braunschweig, Germany is the application of a communication middleware. Further
steiner@ips.cs.tu-bs.de goltz@ips.cs.tu-bs.de improvements can be achieved by providing a complete,
platform independent programming framework [9], featuring communicated to the motion modules. The current end-
all required (abstract) interfaces as well as communication effector position, velocity and acceleration is transformed
and synchronization mechanisms as presented in section into the task frame of the current skill primitive in order to
II-B. allow these modules to calculate jerk limited trajectories.
Now the control is prepared to execute the skill primitive.
In every control cycle, the output values of the motion
II. ARCHITECTURE DESIGN modules are composed to a complete output vector,
In this section, the robot control architecture, where self- containing the desired pose, velocities and accelerations
management features are in the process of integration, is with reference to the task frame. This composition is
described. A basic functional overview is given in Fig. dependent on whether the motion algorithms have been
2. The control scheme named “RCA562” (Robot Control able to calculate an appropriate result. The force controller,
Architecture of Collaboratorive Research Center 562) con- for example, is unable to calculate a desired trajectory
sists of two layers. On the right, the robot specific layer is as long as the end-effector is not in contact with the
depicted: It shows the subordinate drive controller receiving environment. An inappropriate result is replaced by the
a fully qualified (not only the desired pose xd but also its result of a programmer-specified second level algorithm
derivatives x˙d and x¨d ) Cartesian trajectory information as (e.g. velocity module). In a next step, the current trajectory
its input. This layer can be designed and put into operation information with reference to the task frame is fed back
independently from the layer depicted on the left. This layer to the motion modules in order to be incorporated during
shows the robot-independent trajectory generator, which is the next control cycle. This is necessary in order to keep
the central element of this control architecture. It consists temporarily displaced algorithms up to date, e.g. the force
of two types of reusable, task-specific modules: The control controller. Finally, the output vector is transformed into the
core together with its coordination unit interacts with the skill robot’s base frame to generate the desired values for the
primitive programming interface and dynamically establishes subordinated drive controller. Now the control is ready for
communication paths between the core and the attached either the next control cycle or a new skill primitive. In the
motion and sensor modules according to the motion task following, focus is placed on the interfaces to the modules
specified by the current skill primitive. This is possible by of the trajectory generator.
using the middleware MiRPA-X designed especially to meet
these demands. This middleware and its features are briefly 1) Motion Modules: The important data elements of the
explained in subsection II-B. interface to the motion modules are discussed in the follow-
ing. The actual hand frame position, velocity and acceleration
ire passed to the motion modules. Additionally, the desired
values for the control algorithm and an array of flags, which
d.o.f. of the task frame should be controlled, are passed.
These data are followed by a list of pointers to shared
memory areas where the module can read its required sensor
data that it has previously announced to be required by its
profile. The mentioned profiles are needed for autonomous
configuration of the control system as described in section
II-C.
The motion module’s algorithm returns an array of flags
representing the d.o.f. for which a result has been calculated
successfully and the calculated output position, velocity and
acceleration. The required motion modules for the execution
of a specific skill primitive are notified by a per-module
command message. This allows the motion modules to op-
erate on distributed computing platforms in order to balance
Fig. 2. Functional Overview of the Control Scheme RCA562. It consists computational load. At the end of each trajectory generator
of a robot-specific and a task-specific layer. execution cycle, the control core determines which modules’
output values are selected to be transformed into the robot’s
base frame, using the success flags. If none of the modules
A. Modular Design has been able to calculate an appropriate result for a d.o.f., a
The previously described process of establishing dynamic braking trajectory generator [4] is used by the core. All these
communication paths enables the control to provide the functionality is decoupled from the design of the trajectory
desired control loops with respect to the currently executed control algorithms by utilizing abstract interfaces as shown
robot skill in every control cycle. In the following, an in Fig. 3.
example control cycle is described: Each time a new To maintain deterministic behavior and to become immune
skill primitive is received, a new set of desired values is against failure of motion modules and sensor modules or
Besides, the control modules (motion and sensor modules)
mentioned in section II-A, exemplary further modules
are situated on the application level. In order to facilitate
real-time data exchange between the central control unit and
external robot components (drives, sensors and actuators), a
high-speed communication bus (currently based on the IEEE
1394 standard) is used together with a specially tailored
communication protocol (Industrial Automation Protocol,
Fig. 3. Using Abstract Interfaces in Order to Decouple the Design of IAP). A detailed description of the overall communication
Architecture and Algorithms
system is given in [6].

even process termination on distributed computing platforms, 1) Message-Based Data Transfer: MiRPA-X uses QNX
the control core needs to get the CPU privileged to the message passing internally as the basic mechanism for
other modules at crucial points of time in the control cycle. putting synchronous and asynchronous communication ser-
This is achieved by making use of the priority inheritance vices into reality. According to this, MiRPA-X can be ported
concept of the real-time operating system. to any real-time operation system that supports this mecha-
nism. Application processes providing control level services
2) Sensor Modules: The interface to the sensor modules are regarded as servers, while service requesters are regarded
is simpler. A sensor module provides one or more data as clients. According to these roles, servers block on the
structures in a shared memory area maintained by the reception of specific queries and instructions. As soon as
communication middleware. This structure contains a flag, they unblock by message reception, data interpretation and
indicating if the sensor module is requested to provide a calculation is performed and in general concluded with an
sensor value and the returned sensor value itself. They acknowledging reply to the requesting client. All message-
are activated by a broadcast message in the beginning of based communication is performed and controlled by the
a trajectory generator cycle. Woken up on the message key component of MiRPA-X, the object server. It is an
reception, they could calculate signal processing algorithms independent process within the system that evaluates in-
if necessary or just copy sensor information from a hardware quiries issued by clients and forwards them to the respective
interface into the above mentioned shared memory area. servers without data interpretation. The forwarding strategy
Here, it does not matter if the measurement comes from a is based on a name service specifying application services
real sensor or just an internal state of the drive controller, (e.g. MotionModule CalcAlgo). Servers are thus identified
e.g. in order to perform adaptive control using the tracking using a representation for the service name based on a
error as a performance criterion. In the latter case these hash mechanism. This kind of name service facilitates a
sensors are called virtual sensors and are driven by the transparent and flexible way of implementing modular and
controller itself. Before becoming blocked again, the sensor even redundant application services without reference to the
modules decrease a counter previously set up by the control
core with the number of requested sensor values needed
by the motion modules and the robot program. When
the counter becomes zero, the control core subsequently
activates the motion modules.

B. Real-time Middleware MiRPA-X


In order to facilitate the development of a control frame-
work as it is described in the preceding subsections, the
usage of a flexible and highly efficient communication and
synchronization infrastructure is necessary. As it is the
key functionality of all commercial middleware approaches
(CORBA, DCOM, etc.), MiRPA-X can be used simply as a
communication object server to handle data and procedure
requests in robot control systems transparently [1]. In order
to meet hard real-time requirements derived from the ap-
plication within complex parallel robot systems, it provides
additional mechanisms for hard-real-time data processing,
such as shared memory communication as well as process
scheduling and synchronization.
Fig. 4 shows a schematic overview of the communication
system used to interconnect the control system components. Fig. 4. Example Middleware-based Communication System
actual server and server location providing the service. a change of the cycle frequency and the resulting necessary
2) Shared Memory and Synchronization: Alongside rearrangement of our hard real-time processes a deeper un-
the message-based communication, MiRPA-X provides derstanding of module inter-dependencies, expert knowledge
a communication mechanism based on shared memory about the communication system and extensive testing to see
usage. As for messages, the shared memory mechanism if the constraints still hold after the change are required.
uses the MiRPA-X name service. The usage of shared
memory facilitates a high-speed, non-blocking data transfer <<device>>
Vision PC
<<device>>
Analysis PC <<device>> <<device>>
<<device>> <<device>>
between application processes, without the object server {OS=Windows} {OS=Windows} Sensor DSP n
<<device>>
Sensor DSP n
Actuator DSP 1
<<device>>
Actuator DSP 1
Sensor DSP
IAP 1 Actuator DSP
IAP 1
being involved in the actual communication task. After GUI SymTA/S
IAP ...IAP
registration, application processes directly read and write IAP IAP
TCP TCP
fast inter-process data using memory pointers provided Client Client

by MiRPA-X. For each shared memory region they act <<TCP/IP>>


<<IEEE 1394a>>

as publishers and subscribers, respectively. In the case of <<device>>


<<IEEE 1394a>> <<IEEE 1394a>>
<<device>> <<device>>
multiple application processes accessing the same shared Control PC 1 Control PC 2 Control PC n
{OS=QNX} {OS=QNX} {OS=QNX}
memory region, especially for complex control systems, TCP Robo- RCA
RCA 562 RCA 562
data integrity has to be ensured at any time. As shared Server Pret 562

memory access is neither blocking nor synchronized by MiRPA-XD


MiRPA-
... MiRPA-
XD XD
itself, MiRPA-X provides mutex and condition variable
IAP IAP IAP
mechanisms using the same name service as for messages
and shared memory.
Fig. 5. Next expansion state of our software architecture PROSA-X. The
algorithmic load is distributed between several control PCs.
C. Self-Management at the Present State of Development
At startup, the control core broadcasts a profile request Here, rearranging can mean distribution to remote proces-
command to all motion modules and they deliver their sors and topology changes in terms of added or removed
names and specific capabilities back into a prepared control PCs. Therefore, instead of manually optimizing
synchronized shared memory area. The most important the system effectiveness according to different criteria as
properties of the motion modules are whether they are e.g. performance or robustness, we want to integrate self-
able to operate in a hybrid control context and if they are managers capable of performing this task. Those managers
suitable to be used in the task frame formalism. Using this will capsule expert knowledge in evaluation functions and
information, the control core is able to decide whether the manipulation patterns and will be capable of judging and
requested module combination specified by the current skill influencing the behavior of components. In addition to self-
primitive is executable or not during runtime and which optimization, those management components will provide
transformations have to be performed during execution. This other so called self-* properties [18] like self-protection
ensures perfect scalability of the presented architecture: The and self-healing. They follow the design suggestions of [5]
programmer simply starts up the processes of the motion and incorporate different threads for monitoring, analysis,
and sensor modules he wants to use within his program, no complex planning and execution tasks, all using a common
further effort is required. Furthermore, the maximum and knowledge base (see Fig. 6).
minimum execution frequency of the modules is read from By embedding the self-manager threads in different real-
the modules’ profile. So, if at the desired cycle frequency time layers we ensure that no real-time constraints are hurt by
the computational load has been too high in the current the integration. The only part of the management component
control cycle, motion modules can be rescheduled to a working in the hard real-time context is the monitor. Even
lower task execution frequency during runtime in order to though fuzzy inference and case based reasoning techniques
prevent the system from algorithm overload. can be applied in deterministic time amounts, we are only
integrating self-management in the soft and no real-time
layers at the moment.
III. ADVANCED SELF-MANAGEMENT In the following, we describe the first realization of a
Even though our software architecture is very generic self-manager for our system as depicted in Fig. 6. Its area
and modular [9], the self-management problem is gaining of responsibility is the control core in the new distributed
new degrees of freedom with the next expansion stage of version of our architecture (see Fig. 5) in which control
our architecture, which is depicted in Fig. 5. Here several components can be spread over several control PCs. By
networked control PCs are used to distribute the algorithmic splitting the algorithmic load capsuled in motion and sensor
load in order to implement advanced capabilities such as modules higher cycle frequencies and better algorithms be-
integrating vision sensors. The figure also shows the next come possible. The information which control part is running
evolution step of the middleware MiRPA-X, where we have on which PC is stored in so called distribution patterns. The
added a “D” to take account for its distributed operation. self-manager is able to seamlessly adapt the control system to
Since we have very rigid real-time constraints, for instance topology changes, can find and verify beneficial distribution
Self-Manager evaluation function, an optimization could be more perfor-
Analyser Planner mance (e.g. a higher cycle frequency) or more robustness
- evaluation function - distribution advantageous? (e.g. redundant execution, freeing execution time in the
- comparison with last - which components?
execution - where to?
cycle). It also could be triggered by a topology change where,
- positive effect due to - bandwidth for distributed for instance, additional control PCs got connected. The self-
prior distribution operation available
manager searches its knowledge base for an appropriate
Monitor
- component state
Executor distribution pattern and if there is none, one to be evaluated is
- acquire ressources
- system parameters - initiate distribution
transferred to the SymTA/S instance running on the analysis
- execution times
- topology changes
- cause monitoring of impact PC. After verifying if real-time constraints still hold after a
within Analyser
rearrangement of tasks or not, the distribution pattern gets
Knowledge transferred back to the self-manager and becomes part of its
- aim specification
- topology
knowledge base. Its executor component then can acquire
- execution times necessary resources, reconfigure the communication system
- available ressources (bandwidth, ...)
and trigger the migration or remote startup of tasks via
MiRPA-XD.

B. Self-Protection
Control Core
The monitoring thread of the self-manager constantly
records all kinds of information relevant for the evaluation
Fig. 6. Self-Manager for the control core. This management component
of the control core’s behavior. By keeping track of execution
provides different self-* properties and is capable to adapt the control system and response times, the analyzer thread is capable to recog-
to topology changes. nize when the system is approaching a critical system state.
Several critical settings are thinkable.
The motion and sensor modules of RCA562, bearing most
patterns, and trigger the migration of control components to of the algorithmic load, reside within the soft real-time layer
remote processors. Its integration realizes self-* properties of the architecture. Violations of real-time requirements,
for this system part that are detailed in the following. meaning late responses of a module in most occurences can
be tackled with fallback solutions. Nevertheless, this gen-
A. Self-Optimization erally signalizes a bad system performance. By measuring
After system start, the knowledge base of the self-manager the unused cycle time at the end of the outer control cycle
already contains a few distribution patterns. Those patterns which serves as a buffer catching jitter caused by fluctuating
are known to result in a working system and include, of calculation or transfer times, the self-manager’s analyzer
course, the starting pattern. There are also patterns in the can recognize that the system is approaching a performance
knowledge base that already got verified in prior runs, failed problem and search for a solution within its planner before
to pass the verification, or caused errors before. We are it occurs.
working on a pattern verification realized with the schedu- Another parameter capable to cause problems is the bus
lability analysis tool SymTA/S [3] that is running on a load and the response times of remote modules that depend
separate analysis PC. Resources such as busses or processors, on this load. Such bad response times can be caused by a
tasks assigned to them, task dependencies, priorities and prior migration of a calculation module that resulted in an
deadlines are used for a formal verification of the real-time heavily increased bus load because of strong dependencies
constraints. The verification is realized with different algo- between the migrated and a local module. An appropriate
rithms delivering worst case response times for isochronous reaction of the self-manager after noticing a critical bus load
and asynchronous IEEE1394-based communication. Those would be to reverse the previous migration or generally a
algorithms are an extension of a priority based principle by concentration of modules on less PCs.
Lehoczky [8]. Self-protection within our system does not mean protect-
The verification process can also be executed during ing the system against malicious external influences but to
the runtime of the system. The TCP communication with anticipate error-prone system states and to initiate counter-
the analysis PC is demand driven and has a small time measures before an error actually occurs.
consumption. A SymTA/S model on the main control PC
constantly gets refined with measured execution times, topol- C. Self-Healing
ogy information or changing task dependencies. When the Even with self-protection capabilities in place, errors can
self-manager searches for ways to optimize the behavior of occur that could not be foreseen and have a critical impact
the control core he also evaluates if the component could on the system. In the hard real-time layer a violation of real-
perform better after a rearrangement of its different tasks. time requirements inevitably leads to an error where the robot
This consideration is triggered by its constant striving is stopped in a controlled way and a global error state is
for self-optimization. According to its aim specification and entered. This also can happen when a real-time constraint in
the soft real-time layer is hurt and no fallback solution exists Research Foundation (DFG). Acknowledgements are given
that can compensate the missing response of a module. to QNX Software Systems Inc. for providing free software
From within the error state the self-manager can analyze licenses.
the situation and try to return to normal operation by a
rearrangement of modules within the distributed architecture R EFERENCES
and an corresponding reconfiguration of the communication [1] K. Diethers, N. Kohn, M. Kolbus, T. Reisinger, J. Steiner, and
U. Thomas, “PROSA - A Generic Control Architecture for Parallel
system. Therefore, it can use already verified distribution Robots,” in Proceedings of MECHROB, 2004, pp. 3932–3928.
patterns from within its knowledge base or trigger a new [2] T. Hasegawa, T. Suehiro, and K. Takase, “A Model-Based Manipu-
verification if no patterns are available corresponding to the lation System with Skill-Based Execution,” Transactions on Robotics
and Automation, vol. 8, no. 5, pp. 535–544, 1992.
actual or planned situation. Since the system is in a safe [3] R. Henia, A. Hamann, M. Jersak, R. Racu, K. Richter, and R. Ernst,
and stable state after an error occurred, time consumption “System level performance analysis - the SymTA/S approach,” IEEE
of the formal analysis does not constrain this approach. Proceedings Computers and Digital Techniques, vol. 152(2), pp. 148–
166, 2005.
[4] J. Hesselbach, J. Maaß, and C. Bier, “Singularity prediction for parallel
By the integration of self-* properties via self-managers, a robots for improvement of sensor integrated assembly,” Annals of the
very flexible control core is realized that is able to seamlessly CIRP, pp. 349–352, 2005.
[5] IBM Corporation, “Autonomic Computing: IBM’s Perspective on the
adapt to environmental changes, to anticipate and prevent er- Stand of Information Technology,” January 2003. [Online]. Available:
rors, and to reconfigure itself after errors to return to normal http://www.research.ibm.com/autonomic/research/papers/
operation. The integration of a formal analysis verifies the ad- AC Vision Computer Jan 2003.pdf
[6] N. Kohn, J. Steiner, J.-U. Varchmin, and U. Goltz, “Universal Commu-
herence to real-time requirements before a rearrangement of nication Architecture for High-Dynamic Robot Systems using QNX,”
components within the distributed architecture is conducted. in Proceedings of ICARCV, 2004.
Another self-management capability already inherent in our [7] T. Kröger, B. Finkemeyer, and F. M. Wahl, “A Task Frame Formalism
for Practical Implementations ,” in IEEE International Conference on
system is the self-configuration that takes place in different Robotics and Automation, 2004, pp. 5218–5223.
parts of the system after startup as previously described in [8] J. Lehoczky, “Fixed priority scheduling of periodic task sets with
section II-C. arbitrary deadlines,” in Proceedings of the IEEE Real-Time Systems
Symposium, 1990, pp. 201–209.
IV. CONCLUSION AND FUTURE WORK [9] J. Maaß, N. Kohn, and J. Hesselbach, “Open modular robot control
architecture for assembly using the task frame formalism,” Interna-
In this paper design principles for building a modular and tional Journal of Advanced Robotic Systems, vol. 3, no. 1, pp. 1–10,
self-managing control architecture for handling and assembly 2006.
tasks have been presented. An example architecture consist- [10] M. T. Mason, “Compliance and force control for computer controlled
manipulators,” IEEE Transactions on Systems, Man, and Cybernetics,
ing of a significant portion of reusable components already vol. 11, pp. 418–432, June 1981.
taking benefits from these principles could be successfully [11] C. Muller-Schloer, “Organic computing - on the feasibility of con-
applied to two different parallel kinematic robots. trolled emergence,” in CODES+ISSS ’04: Proceedings of the Interna-
tional Conference on Hardware/Software Codesign and System Syn-
In the near future, distributed execution of sensor and thesis (CODES+ISSS’04). Washington, DC, USA: IEEE Computer
motion modules will become available by developing a Society, 2004, pp. 2–5.
distributed middleware called MIRPA-XD based on the IEEE [12] J. D. Schutter and H. V. Brussel, “Compliant Robot Motion II. A Con-
trol Approach Based on External Control Loops,” The International
1394 standard as well as on Ethernet transceivers for PC Journal of Robotics Research, vol. 7, no. 4, pp. 18–33, Aug. 1988.
interconnection. This allows for the implementation of more [13] J. D. Schutter and J. V. Brussel, “Compliant Robot Motion I. A
demanding motion and sensor modules in terms of compu- Formalism for Specifying Compliant Motion Tasks,” The International
Journal of Robotics Research, vol. 7, no. 4, pp. 3–17, Aug. 1988.
tation time. Furthermore, it is planned to extend the existing [14] L. Sciavicco and B. Siciliano, Modelling and control of robot manip-
self-management capabilities and realize self-optimization ulators. McGraw Hill, London, 1996.
mechanisms during runtime. A distributed architecture will [15] J. Steiner, M. Huhn, and T. Muecke, “Model based quality assur-
ance and self-management within a software architecture for parallel
be able to plan and optimize the scheduling with respect kinematic machines,” in Proceedings of the IEEE 3rd International
to the modules’ profile information and the measurement of Conference on Mechatronics (ICM2006). Budapest, Hungary: IEEE
their real behavior during execution autonomously. Computer Society, July 2006, pp. 55–60, iSBN: 0-7803-9713-4.
[16] U. Thomas, B. Finkemeyer, T. Kröger, and F. M. Wahl, “Error-tolerant
The next challenge is to find the relevant process infor- execution of complex robot tasks based on skill primitives ,” in
mation for robot control components, required for the self- IEEE International Conference on Robotics and Automation, 2003,
manager’s knowledge base and to capsule it in analysis and pp. 3069–3075.
[17] U. Thomas, J. Maaß, F. Wahl, and J. Hesselbach, “Towards a new
planning algorithms. concept of robot programming in high speed assembly applications,” in
The main aim for the future is to enable the control IEEE International Conference on Intellegent Robotic Systems, 2005,
designer to put less effort in architecture and component pp. 3932–3928.
[18] T. D. Wolf and T. Holvoet, Autonomic Computing: Concepts, Infras-
design, allowing him to concentrate on the control algorithms tructure, and Applications. Taylor & Francis, CRC Press, December
and assembly strategies themselves. 2006, ch. A Taxonomy for Self-* Properties in Decentralised Auto-
nomic Computing, ISBN 1420009354.
V. ACKNOWLEDGEMENTS
The authors are thankful for the given and still granted
support on Collaborative Research Center 562 by the German

Anda mungkin juga menyukai