• Keine Ergebnisse gefunden

4. Introduction of the Benchmark ProblemsProblems

4.1. The Badminton Drone

The question sounds simple: ”Is it possible to have an airborne drone (also: unmanned aerial system, UAS) play badminton for at least 15 minutes?”. To answer this question with a solid argumentation based on physical and technical evaluations is a bigger project. The basic modeling of a quadcopter and similar systems with more rotors will be discussed here. How this model was used to answer the question is discussed in chapter 5.

4.1.1. Badminton Sport

Badminton is a highly dynamic sport. Andrei Bartic from Flanders Make gathered in [Bar09]

a very comprehensive compilation of facts and numbers on this sport. In order to let a robot play this game, high accelerations (3g and more, see section 4.1.4 on how this requirement was calculated) as well as high hitting speeds (some 30ms) are necessary. Beside the design of the actual robot, the challenging tasks also involve disciplines like computational perception to detect the shuttle (in case of a smash, a reaction is needed in as little as0.2s), optimal path planning to intercept the shuttle at the right time with right speed and position and finally a control problem, to stabilize the robot along this trajectory and during hitting the shuttle.

At Flanders Make, a vision system to detect shuttles was already available from earlier projects on badminton, so the work of this thesis focusses on the development of an UAS able to hit a shuttle. Based on earlier experiences of my supervisor Bruno Depraetere I focused on quadcopters (or quadrotors, which is used also used in literature) and their brethren with higher number of rotors, as they allow for high accelerations and agile turns.

It has to be pointed out, that for the different functions numerous working principles exist -highly agile quad-copter platforms, multi-rotor arrays, rotors with variable blade pitch, tiltable rotors, multi-copters with multiple rotor dimensions, or rotors with adjustable propulsion angles and maximum thrust. The big question now arises as how to find the optimal (or at least a very satisfying) solution combined from these solution elements without having to prototype each and every robot manually.

4.1.2. Requirements to a Badminton Drone

Some important facts for a badminton game, taken from [Bar09] are listed below:

• The playing area for the robot is 7.6m long and 6.1m wide.

• In the fastest shot in badminton, the smash, the badminton shuttle travels at an average speed of30ms and is targetted to hit the ground close after the net. In a smash, the shuttle hits the floor after 0.2s.

• The shuttle needs to be accelerated to 40m/s to pass the net.

• The shuttle weighs less than 10g.

• On average, a badminton player hits the shuttle every two seconds.

• Thus, the maximum allowed reaction time for gameplay without smashes is 1sec. Reaction time is measured between detecting the shuttle and hitting the shuttle.

Some more requirements arose for a robot playing badminton.

• The robot should not be bigger than 1m in any direction.

• The robot should not leave the playing are - too far.

This information cannot be used directly to design a drone. The following requirements are of greater use:

• Linear and angular accelerations

• Acceleration forces and torques

• The necessary hitting forces

To gain better insight into quadcopters and to refine above requirements into evaluatable criteria, a model of a simple quadcopter was set up and simulated along a three dimensional path. How I came up with such a model is explained in the next sections.

4.1. The Badminton Drone

4.1.3. Looking for a Model and Controller for a Quadcopter

Quadcopters are of interest in control communities, as they are versatile and cheap, under-actuated systems able to perform complex aerial maneuvers and execute impressive tasks in groups. (Being underactuated means, that a system cannot follow any arbitrary trajectory in the space spanned by positions and velocities. For quadcopters, this is the case, as they cannot accelerate in directions lying in the plain of the rotors.) Because of these properties they are used as demonstrators for new control algorithms as well as for swarm intelligence. A scan through recent research publications was expected to result with models for quadcopters.

The following works have been dealing already with modeling and control of quadcopters:

• In his PhD thesis [Pou07] at the Australian National University, Pounds developed a quad-copter and controller. The rotors of this quadquad-copter allow dynamic adjustment of the blade angles (so-called variable-pitch rotors). This makes it possible to change the created force (called thrust) with faster reaction time than controlling the rotor speed. The drawback is an increase in mechanical complexity and very fragile rotors.

• Fresk and Nikolakopoulos [FN14] from Lulea University of Technology built aP2Controller using quaternions. Quaternions are a powerful mathematical tool to describe rotations with one vector in a way that avoids the singularities found in any representation with cascaded rotation matrices (e.g. Euler angles).

• Stingu and Lewis [SL09] from the Arlington University of Texas modeled a quadcopter, too, with the use of quaternions, and controlled it with model inversion. They only tested their control scheme on stabilising a hovering quadcoper.

• The same did Cutler [Cut12] from the Massachusetts Institute of Technology, but included the whole dynamic model.

• Mian et al [MW08] from Zheijiang University used Euler angles to model the attitude and then focussed on models for the electric drives. They implemented a controller with feedback linearisation by transforming the rotational system into an affine non-linear form.

• Wang et al [Wan+11] from TU Munich experimented with dynamic inversion realising attitude control based only on angular velocities

• In his PhD thesis, Bouabdalla [Bou07] from Lausanne modelled a quadcopter with Euler angles. He then compared several control approaches (Lyapunov, PID, Optimal Control, Back-stepping, Sliding-Mode) on this model.

Although a lot of literature is available on the topic, many approaches were too complex for the task of getting familiar with quadcopters. Trying to implement either Cutler’s or Boubdalla’s model and controllers did not come to satisfying results, as it was impossible to debug and tune the models without proper knowledge.

4.1.4. Developing a Simple Model for a Quadcopter

The safest and fastest way to come to a working model with controller tracking a three-dimenstional path seemed to me to start with a simple one and then refine it step by step.

Keeping things flexible would allow to swap certain functionalities (e.g. use optimal path plan-ning, advanced control or more detailed drone models) during later stages of the development.

Path Generation

A quadcopter is able to reach any point in space. To test different scenarios (hover, horizontal flight, vertical flight and anything in between) also different paths to fly along are necessary. Later, several paths are connected as path segments to realise a complex path, a complex maneuver.

Polynomials can be used to come to a path in the threedimensional space realising a transition between points and different velocities. Usually, spatial curves are described by B-Splines or B´ezier curves. As their mathematical representations seemed to time-consuming to implement, arbitrary polynomials of third order were chosen. Third order gives enough coefficients to solve for given start and end positions x~s, x~e and velocities v~s,v~e.

The polynomials take the form:

Px(s) =axs3 +bxs2+cxs+dx (4.1)

Py(s) = ays3+bys2+cys+dy (4.2)

Pz(s) =azs3+bzs2 +czs+dz (4.3) A trajectory is described by

~ x(s) =

 Px Py Pz

 (4.4)

Usually sis chosen as a function of time,s =s(t), which allows to optimise the motion regarding energy consumption, maximum forces or another measure of interest. To ensure that velocities (and position!) are smooth in points where path segments meet, ~x1(send,1) = ~x2(sstart,2) and

~

v1(send,1) =~v2(sstart,2)must hold. Using a linear functions(t) = sE∗tmakes it easy to solve for a path realising the desired transition, while allowing a little space for optimisation by choosing sE. The equations for position are as follows:

Px(0) = dx =xstart, Py(0) =dy =ystart, Pz(0) =dz =zstart (4.5)

Px(tend) =xend, Py(tend) =yend, Pz(tend) = zend (4.6) Differentiating once gives equations for start and end velocities.

Vx(t) = dPx(s(t))

dt = 3s3Eaxt2+ 2s2Ebxs+sEcx (4.7) Vy and Vz take a similar form.

Vx(0) =sEcx =vx,start, Vy(0) =sEcy =vy,start, Vz(0) =sEcz =vz,start (4.8)

Vx(tend) =vx,end, Vy(tend) =vy,end, Vz(tend) =vz,end (4.9) The accelerations in the reference frame are computed analytically, too, the according equations are retrieved by another differentiation and are omitted to progress the text. Figure 4.1 shows two paths changing position and orientation of the aircraft in the same timespan. They differ only in the value of sE. A larger sE results in a larger distance moved and can be seen in the increasing amount of space needed for the same manoeuvre.

It is known to the author that polynomial paths are not optimal regarding power consumption, but were regarded as sufficiently optimal to get a feeling for quadcopters. [LLM07] [dMW14]

[HG13]

4.1. The Badminton Drone

Figure 4.1.: A generated polynomial path from hover regime to horizontal flight with different path parameters sE

Building a Controller and a Drone Model

Model and controller evolved together, at increasing complexity, until all characteristics of quad-copers, which were of interest, were modeled.

1. The first generation was a rigid point mass actuated by input forces in the reference frame, with positions, velocities and accelerations controlled by forces. Positions and velocities of the simulated rigid mass were used as measurement inputs for the controller. White noise was added to these measurements to test the controller. As the forces can be computed directly from the accelerations by multiplying with the mass, and the resulting acceleration is again the result of dividing with the mass, this is more or less an identity mapping.

Gyroscopic effects were neglected in this step.

Thus, results need to look like the input path and can be debugged quickly.

2. In the next step, gravity was introduced, as well as the fact that a quadcopter is underac-tuated. It can generate thrust only in the direction normal to its rotors. At this point, the quadcopter’s attitude (its orientation in space) was assumed to adjust instantaneously to the necessary attitude. Thus the combination of controller and model again resulted in an identity mapping and allowed the debugging of the attitude representation.

For a smooth attitude representation, quaternions were used. The calculus of quaternions is explained in annex A.

3. The next level of detail introduced the rotational inertia of the drone, as well as gyroscopic effects. The required force and attitude were fed to a second control cycle for the attitude and angular velocities. With a high proportional control coefficient this again degrades to an identity mapping, but as soon as inputs are limited to the rotors thrust limits, the deviations from the reference path can be seen.

4. The last step was an improvement to the controller. Using information on the acceleration necessary in a future time step, the desired attitude can be estimated, allowing some feedforward on rotational velocity and accelerations to improve the quadcopter’s attitude behavior.

This model offered now quite a good estimation for the necessary rotor thrusts as well as a simulation model for any drone based on rotors.

An estimation for the quadcopter’s weight was given by the supervisor - 200g for the hitting mechanism and 500g for the quadcopter. For such a system, a simulated manoeuver starting from hover in the center of the playing area reaching a speed of 20ms at a corner of the playing area (see figure 4.2) in 1 second’s time required 15N maximum thrust per rotor. The thrust curves are given in figure 4.3. The progress of the design space exploration discussed in section 5 relied heavily on this model.