An experimental test setup for advanced estimation and control of an airborne wind energy system Kurt Geebelen, Milan Vukov, Andrew Wagner, Hammad Ahmad, Sven Decock, Mario Zanon, S´ebastien Gros, Dirk Vandepitte, Jan Swevers and Moritz Diehl
Abstract This chapter gives a detailed description of a test setup developed at KU Leuven for the launch and recovery of unpropelled tethered airplanes. The airplanes are launched by bringing them up to flying speed while attached by a tether to the end of a rotating arm. The setup is designed to allow experimental validation of advanced estimation and control techniques such as moving horizon estimation and model predictive control. A detailed overview of the hardware, sensors and software used on this setup is given in this chapter. The applied estimation and control techniques are outlined in this chapter as well, and an analysis of the closed loop performance is given.
1 Introduction This chapter gives a detailed description of a test setup developed at KU Leuven. The test setup has been constructed for two purposes: to experimentally validate advanced estimation and control techniques developed in the Highwind project [7], and to demonstrate the feasibility of a novel technique for launching and landing unpropelled tethered airplanes. For some aerial wind power strategies, fully automatic re-launching of the kite plane is largely a solved problem. For soft kites, Sky Sails Gmbh [16] has developed a mast that automatically inflates and launches a soft kite, as well as lands and stows the kite in a compartment. This strategy is enabled largely by the low stall speed of the soft kite. In Makani Power’s system [13], power is produced by turbines on the plane that act as generators during crosswind flight. The same turbines provide Kurt Geebelen, Milan Vukov, Sven Decock, Mario Zanon, S´ebastien Gros, Andrew Wagner, Dirk Vandepitte, Jan Swevers and Moritz Diehl are with the Optimization in Engineering Center (OPTEC), KU Leuven, Kasteelpark Arenberg 10. e-mail:
[email protected] Hammad Ahmad is with the Mobile Marine Robotics Research Center, University of Limerick, Ireland
1
2
K. Geebelen, M. Vukov, A. Wagner et. al.
sufficient thrust for Vertical Take-Off and Landing (VTOL). For rigid wings that do not have sufficient forward thrust for VTOL (or are un-powered), however, reliable and efficient take-off and landing is still largely an open research topic. One strategy for launching rigid unpowered kites, based on a linearly moving platform, is being investigated by Alula Energy [1]. The strategy taken by the Highwind project, first analyzed in detail in [9], involves launching (and landing) from a platform at the end of an arm rotating about a vertical axis. As the airplane gains speed, the tether is reeled out, until the plane has sufficient speed and tether length to achieve crosswind flight. To land, the sequence is reversed. For more discussion on how to compute take-off trajectories and for visual examples of these trajectories, see Chapter AWE 20. While an obvious disadvantage of this launching strategy is the cost of the carousel itself, it has several advantages: • The acceleration of the system and the winch speed can be kept low during takeoff and landing, which becomes important at large scales. • The system works equally well for any wind direction. • There is no need for on-board turbines • The carousel has a small footprint compared to e.g. a runway • For a useful range of speeds and tether lengths, the plane quickly falls into a passively stable open-loop orbit. This enables a very safe mode of in-flight system testing. The small scale rotational experimental setup reported in this chapter enables experiments at high velocity in a limited space. While it is not possible to test a full transition to crosswind flight with this setup, it allows modeling, system identification, state estimation, and control techniques to be developed and verified in a safe and controlled fashion. The outline of this chapter is as follows: Section 2 describes the experimental test setup in detail, Section 3 describes the control architecture that is used to perform closed loop experiments, Section 4 gives an analysis of the closed loop experiments, and Section 5 formulates the conclusions.
2 Experimental setup This section gives a detailed overview of the test setup developed at the KU Leuven. Section 2.1 describes the hardware components of the setup, Section 2.2 describes the sensors that are available on the setup and Section 2.3 describes the software that integrates the hardware, sensors and algorithms.
2.1 Hardware As discussed earlier, the two goals of the test setup are to study the early takeoff phase of rotational launch for an aerial wind energy system, and also to serve as a
Experimental setup for AWE
3
platform for experimental validation of advanced estimation and control algorithms such as Moving Horizon Estimation and Model Predictive Control. The implementation of the MHE is only briefly covered here and MPC not at all; please see Chapter AWE 37 for a more thorough treatment of these algorithms. The carousel test setup is small enough to operate indoors, allowing the system to be tested before moving to a more unpredictable (windy) outdoors environment. This also allows experiments to be performed year-round, independently of the weather conditions. The available indoor space is 8 by 8 m, and is fully enclosed in a cage of netting and Plexiglas for safety reasons. This space limits the arm length to 1 m. The carousel is designed with a provision to increase the arm length and hence increase the towing capability of the carousel. The height of the setup is chosen to be 2.5 m, allowing some ground clearance for the airplane. The test-setup is shown in Fig. 1a and 1b. While a production system might use a lighter structure, the test setup design has high stiffness and high rotating mass. The result is that the forces of the airplane have negligible influence on the structure of the carousel, and only minimal influence on the rotation speed of the arm. The carousel can rotate at a maximum speed of 60 rotations per minute with the airplane attached to it. A winch with a power of 400 W is placed on the carousel to control the tether length. The airplane used for the experiments is an Ariane P5, shown in Fig. 1c. This model is typically used for F5D class radio controlled aircraft pylon racing. These airplanes have to take sharp turns at high velocities, and are therefore built from carbon fiber, giving them high strength and stiffness. The Ariane P5 has a wingspan of 1 m, a surface area of 0.1 m2 and a weight of 0.6 kg when fully equipped with all sensors, actuators and electronics. It has ailerons and elevators to control roll and pitch dynamics, but lacks a rudder. To increase the control authority of the airplane and make the control experiments more interesting, the ailerons and elevators are enlarged with carbon plates. This is needed because the tether is attached to the fuselage 2.5 cm under the center of mass, resulting in a restoring torque when the airplane rolls or pitches. This torque has a stabilizing effect, but the original control surfaces cannot provide enough torque to overcome this effect at short tether lengths. In a production system the location of the attachment point can be chosen to balance the amount of open loop stability and control authority. The tether used in this AWE setup contains 3 pairs of insulated copper wires. Two pairs are used for the communication between the airplane and the ground computer. The third pair is used to provide power to the electronics and servomotors in the airplane. The copper pairs are enclosed in a sheath of braided Kevlar that takes the mechanical tension. The outer diameter of the cable is 3.6 mm.
2.2 Sensors The test setup is equipped with several sensors providing information on the position and orientation of the airplane, as well as on the angle of the carousel. The sensors available on the test setup include an encoder for measuring the carousel
4
K. Geebelen, M. Vukov, A. Wagner et. al.
Winch
Camera 1
Cable Camera 2
PC
Slip ring
(a) Close-up of top of carousel
(b) Combined figure of carousel while rotating
(c) Ariane P5
Fig. 1 KU Leuven test setup
angle, a stereo vision system, and an Inertial Measurement Unit (IMU). It will be the task of the Moving Horizon Estimator (MHE), outlined in Section 3, to fuse these measurements to form a state estimate. Therefore, particular care was taken to synchronize the different sensors. This makes the task of the estimator easier, since it does not have to cope with measurements sampled irregularly in time. The stereo vision system consists of two Point Grey Flea3 cameras with a resolution of 1600 by 1200 pixels that can take images at a maximum sampling frequency of 15 Hz. The cameras are mounted on the carousel and observe three markers (red, green and blue LEDs) mounted on the airplane. This provides information to estimate the position and orientation of the airplane. The six degrees of freedom IMU (Analog Devices ADIS16367) measures linear acceleration and angular velocities of the airplane in all directions. The maximum sampling frequency of the IMU is 800 Hz, which is fast enough to capture the major mechanical modes of the tethered aircraft. The bulk of the processing power is provided by a PC mounted on the carousel that has an Intel Core i7 860 2.8 GHz quad-core processor.
Experimental setup for AWE
5
2.3 Software layout An important part of the test set-up is the software architecture used to control it. The chosen ‘Open Robot Control Software’ (Orocos) Toolchain [3] is an open source software framework for real-time control of robotic and mechatronic systems. The key feature of Orocos is the Real-Time Toolkit, a C++ programming framework that is able to provide hard real-time data-flow programming. Furthermore, a variety of drivers for common sensors and actuators are available that are pre-packaged as Orocos components. Every sensor, actuator, and algorithm in our system is wrapped in an Orocos component. Each component typically has multiple inputs and outputs, and the components are then linked together at runtime, forming a closed loop system. Figure 2 shows the layout of all Orocos components in the current closed loop system. The Camera components are responsible for triggering the cameras to take an image. At the same time, the IMU on the airplane and the encoder on the carousel are triggered to take a measurement. Once the camera images are transferred to the computer, they are processed by the LEDTracker, which finds the positions of all LEDs in both images. The IMU Buffer component averages the IMU measurements over 1 period and outputs the average at the same sampling rate at which the cameras are running. The Pose from markers component computes the position and orientation (pose) of the airplane directly from the marker positions. This pose estimate is used for initialization of the state estimator. The MHE component then takes in all measurements and computes the state estimate. This state estimate is passed to the Nonlinear Model Predictive Controller (NMPC), along with the trajectory that we want to track from the Trajectory generator. Finally, the NMPC component computes the control output and passes it to the airplane’s control surfaces. Although the rotation speed of the carousel is currently not controlled, the speed quickly stabilizes for any manually chosen voltage setting, and this speed is of course taken into account in the controller. Pose from markers Camera 1 LEDTracker
Trajectory generator
Camera 2
Carousel controller
NMPC
IMU
IMU Buffer
Carousel
Encoder
Airplane
Fig. 2 Software overview
MHE
6
K. Geebelen, M. Vukov, A. Wagner et. al.
3 State estimation The goal of the experimental setup is to perform closed loop experiments using advanced control techniques. To enable this, a reliable state estimate is needed. The Kalman filter is the most commonly used tool for state estimation and sensor fusion, and is optimal in a least squares sense for linear systems with Gaussian noise. In the case of nonlinear dynamics, an extended or unscented Kalman filter can be used, but there are no optimality results for most nonlinear systems. Another approach comes in the form of the Moving Horizon Estimator (MHE). A MHE takes a window of past measurements and estimates the system state by solving a nonlinear fitting problem online. In a typical MHE, the following optimization problem is solved at each sampling time: Z t
minimize x(·),w(·)
τ=t−T
k w(τ) k2Q−1 + k y(τ) − h(x, u, w, τ) k2R−1 dτ
subject to x˙ = f (x, u, w, τ),
c
c
(1)
τ ∈ [t − T,t],
where: • • • • • • • • •
x is the system state, y are the measurements, u is the control input, w is a noise term introduced to model the model uncertainty (i.e. the process noise), t is the current time, Qc and Rc are the covariance matrices of the model and measurement noise respectively, T is the considered time horizon, f is a model of the considered system, and h is the measurement function that maps the system state, controls, and disturbances to measurements.
The problem thus minimizes a weighted sum of the measurement and process noise over a certain time horizon. When a new measurement arrives, the horizon is shifted one measurement and the new problem is formulated and solved again. Discussions of MHE implementations can be found e.g. in [4, 15]. The state vector x consists of the following components: {r, r˙ , R, ω, δ , δ˙ , δail , δelev }. The position r and velocity r˙ of the airplane are expressed in Cartesian coordinates {x, y, z} and {x, ˙ y, ˙ z˙} relative to a rotating reference frame attached to the carousel arm tip. The orientation of the airplane reference frame with respect to the rotating reference frame is denoted by the rotation matrix R. The angular velocity of the airplane is denoted by ω. The angle and angular velocity of the carousel arm are denoted by δ and δ˙ respectively. The angles of the ailerons and elevators are denoted by δail and δelev respectively. The tether length is constant in the experiments, and therefore is not part of the state vector.
Experimental setup for AWE
7
The control vector consists of the angular velocities of the ailerons and the elevator (the flight control surfaces), and is denoted by u = [δ˙ail , δ˙elev ]. By controlling the angular velocities of the control surfaces instead of their angles directly, the dynamics of the control surfaces can be modeled by putting bounds on their angular velocities. If the angles were controlled directly, the controller could apply instantaneous jumps in these angles, which in practice is impossible due to the finite response time of the servo motors. A detailed description of the model f can be found in [10] and in Chapter AWE 28. Since the measurements come only at discrete sampling times, we used a discrete formulation of problem (1), by applying multiple shooting [2]: i−1
minimize xk ,wk
∑ k=i−N
i
k wk k2Q−1 + dk
∑ k=i−N
k yk − h(xk , uk , wk ) k2R−1 dk
(2)
subject to xk+1 = φ (xk , uk , wk ), k = i − N, . . . , i − 1 where • φ integrates our model f , given the state xk , control input uk and process noise wk , over one sampling interval, • N is the number of measurements in the considered time horizon, • i is the current sampling index, and • Qd and Rd are the discretized versions of covariance matrices Qc and Rc , which might vary over the time horizon. The process noise wk enters in our formulation via disturbances on the control input uk . It accounts for variations of the measurements that were not predicted by the model and control inputs. It also accounts for the fact that the actual position of the control surfaces is not precisely known, because of the unknown performance of the lowlevel controllers that control the position of the servomotors that move the control surfaces. In our case, the complete measurement vector is given by {δ , aIMU , ω IMU , m}. Angle δ is the measurement of the carousel angle, aIMU and ω IMU are the measurements of the acceleration and angular velocity of the airplane, and m are the positions of the three markers in the images of both cameras. All measurements are taken at the same time at a sampling frequency of 10 Hz. The estimation horizon is chosen to be 1 s. The measurement function for the stereo vision system is based on a pinhole camera model, given by us i h Arm vs = PCami RCami (rArm (3) Cami + r j ), Arm s ij where u and v are the pixel coordinates of the marker, s is the homogeneous scaling factor, PCami is the matrix of intrinsic parameters of camera i that depends on the i focal length and the principal point of the camera, RCam Arm is the rotation matrix rep-
8
K. Geebelen, M. Vukov, A. Wagner et. al.
resenting the orientation of the arm reference frame in the camera frame, rArm Cami is the position of the camera frame in the arm reference frame and rArm is the position j of marker j in the arm reference frame. The relationship between the position of marker i and the position and orientation of the airplane in the arm reference frame is given by: Body rArm = r + Rr j (4) j Body
where r j is the position of marker j in the body reference frame. Equations (3) and (4) give the relation between the pose of the airplane and position of a marker in a camera. The measurement function for the acceleration measurements of the IMU is derived from the acceleration of the airplane in the carousel frame, which is given by the model equations. We transform it to the body reference frame, and add gravity. The measurements of the angular velocities provided by the IMU are direct measurements of ω, accounted for the orientation of the IMU inside the airplane. −1 The weighting matrices R−1 d and Qd can be changed during the operation of the estimator. This allows certain measurements can be given a lower or zero weight in case they are missing. This sometimes happens for the stereo vision measurements when a marker is hidden from a camera by the tether. At the last two grid points, there is also no measurement from the stereo vision system, because the transfer and marker detection time takes 2 sampling periods. By putting the weight for these missing measurements to zero, this time delay in the measurements can be tackled in an elegant manner. The moving horizon estimator is implemented in the ACADO Toolkit [11]. The ACADO Code Generation tool [8, 12] exports C-code tailored for this specific problem that implements the Real Time Iteration Scheme (RTI) [5, 6]. This enables a real time implementation of the proposed estimator. The average execution time of the estimator implemented on our setup is only 4.5 ms, which is far below the demanded sampling period of the estimator.
4 Flight experiments and observations The first flight experiments on the carousel immediately showed a huge advantage of the rotation start: the system is open loop stable at start-up. This observation is indeed predicted by the model; the linearized system also shows this stability. This open loop stability simplifies the task of the controller during start-up and landing. Several closed-loop experiments were performed on this test setup. The goal of these experiments is to test advanced estimation and control techniques, developed within the Highwind project. In this first phase, these experiments do not aim at achieving a high performance, but rather on showing that these techniques can be used in practice. The results shown here come from an experiment at a constant carousel velocity of 60 rpm that had a duration of 2.6 hours, during which the setpoint for the con-
Experimental setup for AWE
9
ω z [deg/s]
Roll [deg]
troller was periodically toggled between two values. A Model Predictive Controller was used in these experiments, a detailed description of which can be found in Chapter AWE 37. The setpoints are computed by finding the steady state of the airplane, given a certain feasible height z. The heights were chosen here to be 0.118 m and 0.06 m below the arm level. The lower setpoint height is the height the airplane would have when all control surfaces are neutral. The Trajectory generator holds one setpoint for 6 s at a time and then transitions to the other setpoint. The transition from one setpoint to the other is done by a linearly interpolated ramp in the height state with a duration of 0.5 s. Figure 3 shows the closed-loop tracking performance for the roll angle, angular velocity around the z-axis and for the height z. The roll is defined here to be 0◦ when the wing is vertical. From the figure, it is clear that there is an oscillation that is not controlled. We suspect these oscillations are caused by the turbulence of the plane flying through its own wake. Since there is no direct yaw control via a rudder and the airplane has a small vertical stabilizer, there is little yaw damping. This makes the control of these oscillations hard or even impossible. Controlling these oscillations is not the goal of the current experiments. The figures show that, except for the oscillations described before, the tracking behavior for the roll and angular velocity is reasonable. The tracking behavior for the height is worse. This is related to the fact that the height is only indirectly controlled via the orientation. 20 10 0 −10 −20 100 0 −100
z [m]
0.2 0 −0.2 0
20
40
60
80
100
120
140
160
180
Time [s] Fig. 3 Closed loop tracking behavior for roll, angular velocity around the z-axis and height. Reference in black, estimated variables in gray.
10
K. Geebelen, M. Vukov, A. Wagner et. al.
5 Conclusion and future work This chapter presented a test setup that can be used for experimental verification of optimal control based state estimation and control of a nonlinear system with fast dynamics. The test setup prototypes the first stage of a rotation start, which is a way to start and land unpowered rigid wings. An MHE that is able to fuse measurements from a variety of sensors is available on the setup, and closed loop flight experiments using this estimator were presented. Future work will focus on improving the MHE so that it can make use of the high frequency IMU measurements [14], as well as performing experiments with varying tether length. A test setup for outdoor experiments is also under development. Compared to the current setup, it will have a larger arm of 2 m and be mounted on a trailer for mobility. It will be equipped with a 10 kW winch and a 4 kW carousel driving motor and will fly with an airplane with a wingspan of 3 m. Acknowledgements This research was supported by Research Council KUL: PFV/10/002 Optimization in Engineering Center OPTEC, GOA/10/09 MaNet and GOA/10/11 Global real- time optimal control of autonomous robots and mechatronic systems. Flemish Government: IOF / KP / SCORES4CHEM, FWO: PhD/postdoc grants and projects: G.0320.08 (convex MPC), G.0377.09 (Mechatronics MPC); IWT: PhD Grants, projects: SBO LeCoPro; Belgian Federal Science Policy Office: IUAP P7 (DYSCO, Dynamical systems, control and optimization, 2012-2017); EU: FP7EMBOCON (ICT-248940), FP7-SADCO ( MC ITN-264735), ERC ST HIGHWIND (259 166), Eurostars SMART, ACCM.
References 1. Alula Energy: Alula Energy Homepage. http://alulaenergy.fi/. Accessed March 22, 2013, 03:00 pm 2. Bock, H.: Recent advances in parameter identification techniques for ODE. In: P. Deuflhard, E. Hairer (eds.) Numerical Treatment of Inverse Problems in Differential and Integral Equations. Birkh¨auser, Boston (1983) 3. Bruyninckx, H.: Open robot control software: the OROCOS project. In: Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, vol. 3, pp. 2523–2528. IEEE (2001) 4. Crassidis, J., Markley, F., Cheng, Y.: Survey of nonlinear attitude estimation methods. Journal of Guidance Control and Dynamics 30(1), 12–28 (2007) 5. Diehl, M., Bock, H., Schl¨oder, J.: A real-time iteration scheme for nonlinear optimization in optimal feedback control. SIAM Journal on Control and Optimization 43(5), 1714–1736 (2005). DOI 10.1137/S0363012902400713. URL http://epubs.siam.org/sicon/resource/1/sjcodc/v43/i5/p1714 s1 6. Diehl, M., Bock, H., Schl¨oder, J., Findeisen, R., Nagy, Z., Allg¨ower, F.: Real-time optimization and Nonlinear Model Predictive Control of Processes governed by differential-algebraic equations. J. Proc. Contr. 12(4), 577–585 (2002) 7. ERC Highwind: ERC Highwind Homepage. http://www.highwind.be/. Accessed May 27, 2013, 09:00 pm 8. Ferreau, H., Kraus, T., Vukov, M., Saeys, W., Diehl, M.: High-speed moving horizon estimation based on automatic code generation. In: Proceedings of the 51th IEEE Conference on Decision and Control (CDC 2012), Hawaii (2012)
Experimental setup for AWE
11
9. Geebelen, K., Gillis, J.: Modelling and control of rotational start-up phase of tethered aeroplanes for wind energy harvesting. Master’s thesis, K.U.Leuven (2010) 10. Gros, S., Zanon, M., Vukov, M., Diehl, M.: Nonlinear MPC and MHE for Mechanical MultiBody Systems with Application to Fast Tethered Airplanes. In: Proceedings of the 4th IFAC Nonlinear Model Predictive Control Conference, Noordwijkerhout, The Netherlands (2012) 11. Houska, B., Ferreau, H., Diehl, M.: ACADO Toolkit – An Open Source Framework for Automatic Control and Dynamic Optimization. Optimal Control Applications and Methods 32(3), 298–312 (2011). DOI 10.1002/oca.939. URL http://onlinelibrary.wiley.com/doi/10.1002/oca.939/abstract 12. Houska, B., Ferreau, H., Diehl, M.: An Auto-Generated Real-Time Iteration Algorithm for Nonlinear MPC in the Microsecond Range. Automatica 47(10), 2279–2285 (2011). DOI 10.1016/j.automatica.2011.08.020. URL http://www.sciencedirect.com/science/article/pii/S0005109811003918 13. Makani Power: Makani Power Homepage. http://www.makanipower.com/. Accessed March 22, 2013, 03:00 pm 14. Quirynen, R., Vukov, M., Diehl, M.: Auto Generation of Implicit Integrators for Embedded NMPC with Microsecond Sampling Times. In: M. Lazar, F. Allgower (eds.) Proceedings of the 4th IFAC Nonlinear Model Predictive Control Conference, Noordwijkerhout, The Netherlands, vol. 4 (2012) 15. Rawlings, J., Bakshi, B.: Particle filtering and moving horizon estimation. Computers and Chemical Engineering 30, 1529–1541 (2006) 16. Skysails: Skysails Marine website. http://www.skysails.info. Accessed March 22, 2013, 03:00 pm