Hi RTLinuxWorld,

we work now for half a year with RT-Linux.
In this time we developped a modular controller system for some robots
that
we built at our department.
The main feature of this system is, that all methods of controlling are
implemented
in equal (only different in their functionality) c++-objects. 
Therefore we can developpe our objects in Linux-part of the system and
then 
take over to the RT-part, if we are sure to have a stable modules.
(-> less reboot-cycles ;)

An apllication and a short description (and also a graphically shown
overview)
of the system can be seen at
http://www.fzi.de/ids/projects/kanalroboter/html_seiten/software.htm

As this is only in german (=8() I attached a part of a paper I submitted
to iros99.

Due to the hight dimension of degrees of freedom a distributed hardware
architecture is necessary. Therefore, Siemens C167-micro-controllers are
used.
These support basically many functions which were needed for controller
purposes. A necessary plugon circuit board for connecting sensors and
actors
(PWM-controlled motors) to the micro-controller was developed on our
own. It
supports currents up to 5A at 24V. Each micro-controller can control up
to four
motors and process up to 16 analog and 12 digital sensor
values. Its length and width amount about 7cm and 8cm.\\

The micro-controllers are connected via CAN-bus (1Mbit/s) to a
PC/104-computer.
The PC (penthium 166MHz) coordinates the C167s and is responsible for
higher
controller functions like navigation and routing. \\
To fulfil realtime requirements realtime-linux is used on the PC.  This
RT-system
combines the open-source-system Linux with its high number of device
drivers
TCP/IP-access, graphical user interfaces and file systems
with real-time-functionality.  The normal linux-kernel runs under
RT-linux as
task with lowest priority. Therefore, remote access via LAN can take
place from other PCs if realtime-controlling mechanisms do not consume
the
total available calculation power.\\

The use of different hardware- and operating system- units results in a
three
level system: C167, RT-Linux and Linux. To achieve a clear arrangement
of these
levels a modular controller software architecture was developed.
This software architecture allows the programming of all
levels in the same way. The communication between the levels is hidden
by the
C++-class library. Hence the system-developers can focus on the
development of methods while the communication is done automatically.\\
Every method of the controller architecture is realised in a C++-class
module.
The modular architecture allows the manipulation of each parameter of
each
module via LAN while the system is running. This possibility results in
small
and fast development cycles. 
The manipulation tools run under (normal) Linux, so that critical
parts which are assigned to real-time linux are not influenced directly
by
the manipulation itself. 

The detachment of the user-interface from the controlling PC disturbs
the
onbord PC/104. The user-interface can e.g. include high-end graphic
animations 
without stressing the controlling mechanism. The very less data that is
necessary for the description of the robots state can be transferred via
(wireless) LAN to an external PC.

As development platform also linux is used. All parts of the
software-architecture are compiled with GNU-C++-(cross-)compilers.  The
C167-programs were downloaded via CAN-Bus during initialization of the
system.


We will present this system and demonstrate some Walking Machines (see
our home-page)
that are also controlled with MCA on the Hannover Messe (19.-24. april).
Have fun,
Kay =8^)
-- 
     |\/\/\/|    
     |      |        Kay-Ulrich Scholl               |
     |      |        [EMAIL PROTECTED]                   |
     | (o)(o)       Forschungszentrum Informatik     |
     C      _)      Haid-und Neu-Str. 10-14          |
     | ,___|        D-76131 Karlsruhe                |
     |   /          0721/9654-218                    |
    /____\          FAX: 0721 / 9654 - 209           |
   /      \ -----------------------------------------+
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to