Professional Documents
Culture Documents
Overview PDF
Overview PDF
]^'_a`'b ^dc1e ^4f g h'i j 9 : :<;>=?)@+A A A B C!D E!F G!H3B C!D E'I J GK= Í!θÏÐ¸Ñ¸Ò ÓÕÔ¸Ö ×¸Ø¸Ô¸Ù
Ú±Û¸Ü Ü Ý Þ!Ý Û¸ß
Á ÂÃÅÄ+Æ
{| } | ~ ¡ ¢ £ ¤ ¥ ¢ ¦§
¨ © ªV«<¬ V© ª¯® ® ¬¯©
°²±²³¯´ ³ » ¼ ½¯» ¼ ¾ ¿ ½ À À ¾ ¼
kl m n'o prq s t uv w x y z
Figure 4: Proportional Navigation
£¤¥ ¦ ¥
!#"%$'& ( )
*'+-, $'. L!M M#N%O'P)QSR'T UVL!W!X Y!Z3T L!R M'[ \ Y]O
/10 243 5 6'7 8
UV VW4X
Initial tests with the PN-Mode and the other modes have
PQ R S T 9 : ;4: < : shown promising results. In recent flight tests, a number of
=> > ? > @ A B YZ[-\
M N O CD E F G D H H I G
J KL L 4
fully autonomous flights have been demonstrated success-
r-
m'n!o p q!r s!ts!u vw fully. These include stable hovering, predefined 3D trajec-
xy z { | } ~ §¨ ©ª «
tory following including 360 degree banked turns, vehicle
jk l
^V_ `!a ba cSd d e f g!d d hVi µ!¶¸·¹ º¯º º
interception and road following. Acceleration and braking
with no overshoot have been tested at speeds of 55 km/h and
coordinated banked turns have been tested with a turn rate of
Figure 3: On-Board Hardware Schematic 20 degrees/s. We have completed autonomous missions up
to a duration of 20 minutes using a combination of control
modes in addition to interaction with a ground operator.
Control
A great deal of effort has gone into the development of a con- Software System
trol system for the WITAS UAV which incorporates a num- Although the main goal of the project is to do basic research
ber of different control modes and includes a high-level in- related to the development of core functionalities required in
terface to the control system. This enables other parts of the intelligent aerial robotic systems, the successful evaluation
architecture to call the appropriate control modes dynami- of the project requires the development of a prototype sys-
cally during the execution of a mission. tem which can in fact use these functionalities in real mis-
The ability to switch modes contingently is a fundamental sions in an integrated manner. Consequently, much effort
functionality in the architecture and can be programmed into has been placed on the pragmatic development of a software
the task procedures associated with the reactive component architecture capable of meeting this requirement.
in the architecture. Examples will be provided later in the We have chosen Real-Time CORBA (Object Computing,
paper. We are currently developing and testing the following Inc. 2000)4 as a basis for the design and implementation of
control modes: a loosely coupled distributed software architecture for our
take-off and landing 4
We are currently using TAO/ACE. The Ace Orb is an open
hovering (H-Mode) source implementation of CORBA 2.5.
Draft to be Submitted to 5th IFAC Symposium on Intelligent Autonomous Vehicles (IAV2004). 4
aerial robotic system. We believe this is a good choice which environment. This is provided in part through CORBA
enables us to manage the complexity of a deliberative/- event channel services and event filters. Quality-of-
reactive (D/R) software architecture with as much function- service guarantees are required for time-constrained com-
ality as we require for our applications. It also ensures clean munication between various services in the architecture.
and flexible interfacing to the deliberative and control com- Real-time event channels and scheduling mechanisms in-
ponents in addition to the hardware platform via the use of tegrated with the real-time OS’s in the architecture con-
IDL (Interface Definition Language). tribute to meeting such guarantees.
In short, CORBA (Common Object Resource Broker Ar-
Scalability and abstraction – A long term goal of the
chitecture) is middleware that establishes client/server rela- project is the development of a scalable and modular soft-
tionships between objects or components. A component can ware infrastructure for cooperative robotics where one
be a complex piece of software such as a path planner, or moves from a single helicopter/ground operator system
something less complex such as a task procedure which is to one with helicopter fleets, ground robots, and mul-
used to interface to helicopter or camera control. Objects or tiple communication centers. In this case, abstraction
components can make requests to, and receive replies from, mechanisms and scalability of the infrastructure is vital.
other objects or components located locally in the same pro- CORBA (and similar middleware ideas) provide the uni-
cess, in different processes, or on different processors on the form glue to support the development of large-scale net-
same or separate machines. In our case, we have three on- centric systems. In addition, it supports the use of power-
board PC104s in addition to ground station computers. ful design patterns associated with component-based ar-
Many of the functionalities which are part of the architec- chitectures, for abstraction.
ture can be viewed as clients or servers where the commu-
nication infrastructure is provided by CORBA facilities and Development and prototyping – We have mentioned the
other services such as real-time event channels. This archi- necessity for many different types of services associated
tectural choice provides us with an ideal development envi- with deliberation, reaction, control and sensing. Different
ronment and versatile run-time system with built-in scalabil- programming languages are more or less suitable for the
ity, modularity, software relocatability on various hardware implementation of different types of services. In our case,
configurations, performance (real-time event channels and we have implemented parts of the architecture using C,
schedulers), and support for plug-and-play software mod- C , Java, Erlang, LISP, Prolog, Perl, and XML tools.
ules. Figure 5 depicts an (incomplete) high-level schematic We have also worked with a number of legacy systems,
of some of the software components used in the architecture. where we have tried to integrate them rather than start
Each of these may be viewed as a CORBA server/client pro- from scratch. For example, we are experimenting with
viding or requesting services from each other and receiving legacy applications and software such as Mnesia, Post-
data and events through both real-time and standard event greSQL, Open-Agent Architecture, IXTET, Nuance, Fes-
channels. tival, ArcInfo/Arcview. CORBA and the middleware idea
provide the necessary tools to implement components in
4T |~} H|T } dfeg hij kl m UTV WXY Z%[ Y \] àâáäã'åäæ çäè'é'ê ë-çíì
different languages and to integrate legacy software in a
!
! n op!qrst u t qs ^_` ab c!_ îðïñ ò
v wx yz {!w óðôäõöä÷4ø ù öäú û seamless manner.
! ¡ ¢ /012435 67!89:5 8<;=87:> ? 6@ ïðñò ó ô õö ÷ øù
ü!ýþÿ Although there are a great many good reasons for using
£¥¤¦§ ¨ ¤© © ª¨ ABCDE FHG IJ KAL ú û üýþÿ
û ýü
MNPO QRTS
CORBA, experience has shown that there is also a downside.
For example, the learning curve for CORBA is steep and
« ¬®¯ °!±² Ë ÌÍfÎPÏ ! "#%$
³P´µ¶· ´ ¿ ÀÁÂà РÑÒfÓPÔÕ¥Ö×Ø Ù ÚÜÛ & '()*+ , )- . real-time CORBA is a relatively new idea under continual
¸¥¹º» ¼ ¹½ ½ ¾¼ ÄPÅÆÇ È ÅÉ É ÊÈ
Ý Þßàá<âTã äå!áæ!æç èà<é4äêëì áHí Ý âéî development. It is still unclear just how deep into the control
system one would like to extend the use of CORBA and real-
time event channels. This is, in fact, an interesting avenue
Figure 5: Some deliberative, reactive and control services of empirical research for such architectures.
A great deal of effort in the artificial intelligence commu-
Each of these functionalities has been implemented and nity has recently been directed towards deliberative/reactive
all are being used and developed in our applications. control architectures for intelligent robotic systems. Two
good sources of reference are (Arkin 1998) and (Ko-
The use of CORBA is commonly associated with provid-
rtenkamp, Bonassao, & Murphy 1998). Many of the archi-
ing a basis for loosely coupled scalable distributed compo-
tectures proposed can be viewed in a loose sense as layered
nent architectures on the Internet. There are also very good
architectures with a control, a reactive and a deliberative
reasons for using CORBA as a basis for the type of deliber-
layer (see (Gat 1998)). The software architecture we have
ative/reactive architecture we are proposing here.
developed does have deliberative, reactive and control com-
Characteristics of the D/R architecture – The archi- ponents, but rather than viewing it from the perspective of a
tecture is necessarily a distributed, concurrent, multi- layered architecture, it is best viewed as a reactive concen-
component architecture. Communication and control is tric architecture which uses services provided by both the
event-driven and asynchronous. Services require dynamic deliberative and control components in a highly distributed
configuration of partial state representations of both the and concurrent manner. At any time during the execution of
external environment and of the system’s own internal a mission, a number of interacting concurrent processes at
Draft to be Submitted to 5th IFAC Symposium on Intelligent Autonomous Vehicles (IAV2004). 5
%$ &('*)+-,/.103254767892!:-;7
various levels of abstraction, ranging from high-level ser- %&=<7,5)+?>=@A,+
vices such as path planners to low-level services such as
execution of control laws, are being executed with various // Pure Host Code. Mainly used for # includes,etc.
B"C&*<7,D)EF>*@
,E
latencies. %G=,5HI@
)+<7)+$!J
KL'=#
&*)+<7)+-,5$ ,5<M "I! !%&=)E<)E-,D$!,5<N! "D
]%
I
% A A Lock UAV Wait for Call
[]\%^ _ `
\a b
c _ d%e to position pathplanner FlyPath
EXIT
uvxwy z {}|
~ z w~y x z
³ ´ µ¶· ¸ ¸ ¹ º »
¼½ ¾ ¿ À Á Â Ã Â Ä Å Â Æ Ã ½ Ç Â È no path found UAV off course fail (other reson)
f]gihAjk l mn ¨
©Aª
«7¬} ®i¯°A±²i °Aª
x Y É Ê ËxÌ Í Î
ÏxÐ Ñ Ò Ó Ô Õ Ô Ö ×Ø Ù Õ Ð Ù Ú Ø Ú Ñ×Ø Ù Õ Ó Ø Û
FAIL
oQpqr s pt
Y% ¡ ¢ £¤¥
¦!§
è é ê ëì íxî ê ï é ðñï òì ï óô ê ï õë
öì ÷xî ëò ò ëò
Figure 9: The NavToPt automaton
øù ú ûiüýþ ÿù ýú ù
d
// Global reactions to events
ne
Align
<7,5)+HI$ J
KL'9 ! "#<7,D)EHO$ JAKR'9
ig
al
t
no
not aligned
d
..
ne
aligned
ig
.
al
<7,5)+HI$ J
KL'9 ! "#<7,D)EHO$ JAKR'9
t
no
"#!
aligned closing at position exit
Init FlyTo Brake Hold
not at altitude
Figure 8: TSL tags and partial schematic for an fsm specifi-
at altitude
g
cation.
in
os
cl
Climb
References
Arkin, R. C. 1998. Behavior-Based Robotics. MIT Press.
CM1. Carnegie Mellon University. http://www.ri.cmu.
edu/projects/project_93.html.
Doherty, P., and Kvarnström, J. 2001. TALplanner: A temporal
logic based planner. In AI Magazine, volume 22. 95–102.
Doherty, P.; Granlund, G.; Kuchcinski, K.; Nordberg, K.; Sande-
wall, E.; Skarman, E.; and Wiklund, J. 2000. The WITAS un-
manned aerial vehicle project. In Proceedings of the 14th Eu-
ropean Conference on Artificial Intelligence, 747–755. Project
URL: http://www.liu.se/ext/witas.
Gat, E. 1998. Artificial Intelligence and Mobile Robots. AAAI
Press/MIT Press. chapter 8: Three-Layer Architectures.
Gottschalk, S.; Lin, M.; and Manocha, D. 1996. Obbtree: A hi-
erarchical structure for rapid interference detection. In Proc. of
the 23rd Int’l. Conf. on Computer graphics and interactive tech-
niques, 171–180.
GT1. Georgia Tech University. http://controls.ae.
gatech.edu/uavrf/.
Kavraki, L. E.; Švestka, P.; Latombe, J.-C.; and Overmars,
M. H. 1996. Probabilistic roadmaps for path planning in high-
dimensional configuration spaces. IEEE Transaction on Robotics
and Automation 12(4):566–580.
Kortenkamp, D.; Bonassao, R. P.; and Murphy, R., eds. 1998. Ar-
tificial Intelligence and Mobile Robots. AAAI Press/MIT Press.
Lemon, O.; Bracy, A.; Gruenstein, A.; and Peters, S. 2001. The
WITAS multi-modal dialogue system I. In Proceedings of Eu-
roSpeech.
MIT1. M.I.T. http://gewurtz.mit.edu/research.
htm.
Nordberg, K.; Doherty, P.; Forssen, P.-E.; Wiklund, J.; and Ander-
sson, P. 2002. A flexible runtime system for image processing in
a distributed computational environment for an unmanned aerial
vehicle. In Proceedings of the 9th Int’l Workshop on Systems,
Signals and Image Processing.
Object Computing, Inc. 2000. TAO Developer’s Guide, Version
1.1a. See also http://www.cs.wustl.edu/˜schmidt/
TAO.html.
Sekhavat, S.; P. Švestka, J.-P. L.; and Overmars, M. H. 1998.
Multi-level path planning for nonholonomic robots using semi-
holonomic subsystems. Int. Journal of Robotics Research.