Printer Friendly

Platooning platform for analyzing embedded control algorithms.

Abstract: This paper presents a test and demonstration platform for the evaluation of different algorithms for embedded control applications. A platooning application has been chosen where a model truck follows a leading model car. This automotive setup contains many constraints and challenges, which characterize embedded real-time applications. Furthermore, the setup of the test platform and the results of the evaluation of different embedded control algorithms for this platooning application are presented.

Key words: Platooning, demonstrator, embedded, evaluation

1. INTRODUCTION

This paper presents a test platform for the evaluation of different algorithms for embedded control applications. The goal is to solve the platooning problem (Fletcher et al., 2003) on an embedded system with the following constraints: Real-time requirements, minimal power consumption (battery powered), minimal weight (weight limitation due to the carrier), minimal size (a model truck is used), and low cost (automotive application).

The above constraints limit the processing power of the embedded system. The goal of this demonstrator is to analyze the implementation and performance of algorithms in embedded systems, especially for control algorithms. The evaluation of automatic code generation and model-based design is also considered (Katayama et al., 2004).

In the following sections the test bed setup and the results of an evaluation of automatic code generation for embedded control algorithms using MathWork's Real-Time Workshop Embedded Coder (The MathWorks, 2004) are presented. Furthermore, some ideas for future work are highlighted.

2. SYSTEM CONCEPT

An overview of the test bed is shown in Fig. 1. It consists of a leading car (car A) and a platooning car (car B). The main purpose of car B is to keep a pre-defined distance r constant between both cars and to minimize the angle [phi]. This behaviour is called platooning (Fletcher et al., 2003).

Car A is built using the Lego Mindstorm's series and can be programmed to travel a pre-programmed or a random path. For car B a model truck with two servo-drives, one for changing speed and the other for steering, is used. A stereo camera system is placed on the left and right side of the driver's cab. The complete electronics including all batteries is placed in the loading area of the model truck. The length of the truck is 50cm, the width is 30cm, and the height is 35cm. The empty weight is 2kg and the maximum payload is approximately 4kg, which is sufficient to carry sensors, batteries, and electronics.

Fig. 2 presents the design of the control electronics. It is a distributed embedded system solution consisting of several nodes, which support battery-powered operations. The core of the system is a TTP/C-cluster (TTTech, 2002). For the ControlNode (CN) and the SensorNode (SN) a TTTech PowerNode hardware platform is used (TTTech, 2002), which is based on the Freescale MPC555 PowerPC. The VisionNode (VN) is based on a high performance Digital Signal Processor (DSP) platform from Orsys (Orsys, 2003). The core of this platform is a TI TMS320C6713 DSP.

The SensorNode interfaces to the acceleration, speed and steering sensors, and to the Start/off switch. It is responsible for speed calculation and pre-crash warning. The 2D-acceleration sensors are used for crash detection. The VisionNode triggers and receives images from the stereo camera system. The stereo head is connected to the VN by a 400Mbit/s IEEE1394a-bus. Furthermore, the fast and reliable extraction of the rear lights of leading car is performed on this node. The ControlNode is responsible for controlling the speed and the steering of the model truck via two servo drives.

[FIGURE 1 OMITTED]

[FIGURE 2 OMITTED]

3. EVALUATION OF CONTROL ALGORITHMS

The main task of the test bed is to serve as a platform for testing and evaluating different and new algorithms for embedded applications.

For evaluation purpose different controllers have been used and important performance characteristics for embedded systems have been compared. These are mean execution time (of one update cycle of the controller), flash usage, and RAM usage. The achieved mean execution time is a key factor for obtaining real-time behaviour of the controller. Flash and RAM usage are key factors for system costs.

The following controllers for the decoupled control loops have been evaluated. For speed, following controllers have been evaluated: Compensation, Proportional Integral and Derivative (PIDTn), State, and Discrete Proportional Integral (PI). For angle, a PIDTn controller has been evaluated for that purpose. The corresponding methods for the coding schemes used are shown in Tab. 1.

The controllers were modelled and simulated with MathWork's Simulink. The corresponding C-Code was generated using Real-Time Workshop Embedded Coder (The MathWorks, 2004). The code was integrated in the application controller task and compiled using the highly optimizing DIAB-compiler from Wind River (WindRiver, 2005). The highest possible optimization level of the compiler was used. The results of the evaluation are presented in Tab. 2 and Tab. 3.

4. RESULTS

In general, the obtained results of the evaluation indicate that automatic code generation depends on the compiler and on the target processor (e.g. hardware floating point unit or emulation, etc.) used. Some interesting points, which have been identified during the evaluation, are:

* Different coding schemes (ODE1, ..) increase RAM usage, but flash usage is nearly not affected. On the other hand, the mean execution time increases significantly.

* Flash usage is nearly the same for all kinds of controller and independent of the coding scheme, only a state controller needs approximately twice as much flash space as all other ones.

* RAM usage is nearly the same for all kinds of controller and approximately increases by a factor of two due to different coding schemes. Only a Discrete PI controller needs significantly less RAM.

* Mean execution time is directly related to the kind of controller. The execution time between the fastest and the slowest controller approximately differs by a factor of 25. Additionally there is an increase between a factor of 1.5 and 5 depending on the coding scheme used. The Discrete PI controller is the fastest one, which seems to be based on the fact, that the algorithm for that controller needs only a few numerical (floating point) calculations.

* The combination of code generator, processor and embedded compiler used are most important. Here, the code generated by Real-Time Workshop Embedded Coder seems to be better suited for a processor containing a hardware floating point unit. Higher numerical calculations (e.g. going from ODE1 to ODE5), which is mainly a raise in the number of floating point operations, increases the mean execution time significantly. RAM usage and flash usage are not affected as significantly, which seems to be mainly an effect of the highly optimizing DIAB compiler.

The presented results show that automatic code generation is useful for generating fast and small-sized code, typically needed for embedded real-time control applications.

Therefore, automatically generated code is fast and efficient and seems to be applicable for embedded real-time control applications. Nevertheless, the target processor architecture and the compiler used are very important and must be taken into account.

5. CONCLUSION

In this paper a test platform for the evaluation of different embedded real-time control algorithms, mainly for automotive applications, has been presented. For a couple of different controllers, code has been generated by the deployment of MathWork's Real-Time Workshop Embedded Coder. The resulting C-Code has been evaluated based on mean execution time, RAM and flash usage.

Future work will be focussed on the evaluation of different kinds of processor (e.g. micro-controller with or without floating point unit, digital signal processors, etc.) and on different embedded compilers too.

6. REFERENCES

Fletcher, L.; Apostoloff, N., Petersson, L., Zelinsky, A. (2003). Vision in and out of Vehicles, IEEE Intelligent Systems, pp.12-17, May-June 2004.

Katayama, T.; Ohata, A., Uematsu, Y. (2004). Production Code Generation for Engine Control System, Proc. Int. Automotive Conference, pp.67-70, 2004.

Orsys (2003). Hardware Reference Guide micro-line C6713Compact board V1.1, Orsys Orth System GmbH, www.orsys.de, 2003.

The MathWorks (2004). Real-Time Workshop Embedded Coder User's Guide, Version 4.1, October 2004

TTTech (2002); TTP PowerNode--A TTP Development Board for the TTA V2.01, TTTech AG, www.tttech.com, 2002.

WindRiver (2005). Advanced Compiler Optimization Techniques, A Technical White Paper, Wind River, www.windriver.com, 2005.
Tab. 1: ODE coding schemes

Coding schema Method

 ODE1 Euler
 ODE2 Heun
 ODE3 Bogacki-Shanpine
 ODE4 Runge-Kutta
 ODE5 Dormand-Prince

Tab. 2: Results of speed controller evaluation

Speed Flash usage Mean execution RAM usage
controller (in bytes) time (in [mu]s) (in bytes)

Compensation Controller
ODE1 75.202 52.5 1056
ODE2 75.746 80 1220
ODE3 76.818 120 1508
ODE4 76.882 127.5 1416
ODE5 79.314 225 1623

PIDT2 controller
ODE1 75.282 52.5 1056
ODE2 75.746 80 1220
ODE3 76.818 117.5 1508
ODE4 77.312 127.5 1416
ODE5 79.314 225 1623

State controller
ODE1 120.514 665 1148
ODE2 120.978 690 1312
ODE3 122.066 720 1600
ODE4 122.082 740 1508
ODE5 124.546 830 2248

Discrete PI controller
ODE5 69.616 25 176

Tab. 3: Results of angle controller evaluation

Angle Flash usage Mean execution RAM usage
controller (in bytes) time (in [mu]s) (in bytes)

PIDT1 controller
ODE1 75.122 47.5 1028
ODE2 75.586 75 1192
ODE3 76.658 105 1480
ODE4 76.706 110 1388
ODE5 79.154 190 2128
COPYRIGHT 2005 DAAAM International Vienna
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2005 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Kubinger, W.; Hemetsberger, H.; Kogler, J.
Publication:Annals of DAAAM & Proceedings
Article Type:Report
Geographic Code:1USA
Date:Jan 1, 2005
Words:1543
Previous Article:Reliability assessment process for complex electronic systems.
Next Article:Model for cutting forces in high speed face milling.
Topics:

Terms of use | Privacy policy | Copyright © 2018 Farlex, Inc. | Feedback | For webmasters