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/