Industrial Control of Tower Cranes

An Operator in the Loop Approach Silvère Bonnabel and Xavier Claeys (silvere.bonnabel@mines-paristech.com, xavier.claeys@manitowoc.com) This is the preprint for the paper: Bonnabel, S., & Claeys, X. (2020). "The Industrial Control of Tower Cranes: An Operator-in-the-Loop Approach". In IEEE Control Systems Magazine, 40 [START_REF] Froment | Process and device for limiting the swing of a load suspended from a motorised support[END_REF], 27-39. Reader is advised to download the editor's version, whose presentation has been polished by the journal.

Abstract: This article reports on the development of a controller for real-time assistance of crane operators in the field of construction, in partnership with Manitowoc (Potain Cranes), one of the world leading crane manifacturers. Owing to the complexity of construction sites, that notably involve men at work, full automation is deemed undesirable and operators must be kept in the loop. The goal of the controller is then to track the velocity reference from the operator, while guaranteeing the absence of sway, that is, undesirable residual oscillations.

Our method only uses built-in crane sensors. As a result the state is unobservable and the method is largely open-loop. It builds on the celebrated flatness theory, coupled with a hierarchical control architecture based on a time-scale separation where modern variable-speed drives ensure fast closed-loop control of motor speeds, whereas our method allows to generate feedforward feasible anti-sway trajectories for the slower mechanical part. We experiment the approach on a mockup as well as on various cranes, including a 40 meters high tower crane.

Tests conducted on crane operators with various levels of experience and one crane instructor confirm the benefits of the controller. Presently, regulatory law seems the main difficulty on the path to commercialization.

Cranes are the workhorses inside the field of construction throughout the world. The 2-dimensional (2D) construction crane modeled as a simple cart-pendulum, see Figure S1, constitutes a basic mechanical system that is also pervasive in control textbooks, see e.g., [START_REF] Karl | Feedback systems: an introduction for scientists and engineers[END_REF], owing to its simplicity and to its apparent practical relevance. Despite the fact that a large body of the control theory literature applies to the (linearized or nonlinear) problem, stabilizing the payload or more prosaically combating the sway is still done manually by the operators in the field.

Although full automation has been reported in the context of harbor cranes, see e.g., [START_REF] Sawodny | Actual trends in crane automation: Directions for the future[END_REF], and overhead cranes or container transshipment devices, see e.g., [START_REF]Icras anti-sway technology by innocrane[END_REF][START_REF]Trutegra intelligent bridge crane control[END_REF]2], full automation of construction cranes seems inappropriate for the following reasons. First, construction cranes operate in cluttered and permanently They are transported in pieces which are then assembled to erect the crane. Once erected, they are operated from the cabin at the top of the crane. The trolley moves forward and backward along the jib and is actuated by the trolley motor. The hook is suspended to the trolley. The hoisting motor allows moving up and down the payload, that is hanged to the hook. The rotation motor allows the jib to rotate around the vertical axis (slewing). In most cases tower is fixed and rotation is performed at the top of the crane. This is in contrast with the Hup crane in Figure 1 where the entire structure rotates (rotation motor is at the bottom). changing environments (note for instance that the gantry crane automation system of [START_REF]Trutegra intelligent bridge crane control[END_REF] requires a prior full mapping of the factory). Then, they involve real-time collaboration with workers on the ground that manually guide the payload when hoisting it up and down. A final point is that professional crane operators actuate the crane from the cabin located at the top of the crane, and profit from the overview of the site their position offers to play a key role in high level planning of the work in progress. Skilled human operators thus appear as an irreplaceable component of the working site and should be kept in the loop. On the other hand, partial automation in the form of automated driving assistance seems quite desirable to enhance productivity, safety, and to compensate for lack of practice of inexperienced operators.

The cranes used for construction fall into two categories. Self-erecting cranes, illustrated in Figure 1, are ideally suited to light frame structure, whereas tower cranes, illustrated in Figure 2, are higher, may lift heavier weights, and are used in the construction of tall buildings. In both cases they are non-permanent structures that are frequently assembled and disassembled, and which work under extreme conditions regarding dirt, temperature, humidity, and shocks. This makes the placement, calibration, and maintenance of "external" sensors difficult, notably measuring the cable angle seems out of reach in an industrial context.

In modern cranes, though, there are built-in sensors which measure the motors' mechanical speed. This allows variable-speed drives to achieve robust motor speed regulation, a fact that proves key to the approach we advocate in the present paper. Moreover, it allows estimating the cable length (the distance between the hook and the trolley), the position of the trolley along the jib, and the payload weight. This information is displayed in the operator's cabin, and may also be used for collision avoidance, that is, to limit operations near high voltage power lines, or to prevent collision between cranes. In terms of potential complementary sensors, there is promising work in the industry about the use of vision, which might lead to state estimation, telemetry, obstacle avoidance and augmented reality for remote crane control, see [START_REF]iPilot project[END_REF]. But at this stage the technology is not mature. As a result, we found it necessary to opt for approaches that only use the information that is currently available from built-in crane sensors.

With a slight abuse we refer to approaches that rely only on built-in sensors as "open-loop". This is because using those sensors the position and velocity of the payload are clearly unobservable, but these are precisely the variables we need to stabilize. Industrially, current automatic methods to prevent undesirable mechanical oscillations of the payload, or to move it faster and safer, boil down to very basic functions inside the crane that limit excitation of the pendulum, and that in fact tend to degrade performance. On the other hand, the academic literature on crane control is far too broad to be covered herein: the reader is referred to the comprehensive surveys [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF] and [START_REF] Ramli | Control strategies for crane systems: A comprehensive review[END_REF]. To summarize, open-loop techniques for crane control have long revolved around input shaping and linear(ized) optimal control. In the nineties, work about feedback linearization, see e.g., [START_REF] Boustany | Adaptive control of an overhead crane using dynamic feedback linearization and estimation design[END_REF] and then the celebrated theory of differential flatness, see Reference [S1] and "Flatness Principle for a 2D Crane", led to powerful tools for open-loop control of a class of dynamical systems that includes the mathematical crane, often presented as a flag application. An important point, though, is that all methods described in the survey [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF] including early differential flatness approaches apply to cranes operating along a pre-defined path. However the field of construction is not interested in full automation, as already mentioned. As a desirable alternative, we pursue an operator assistance in the form of an open-loop controller that tracks the crane operator velocity reference in real time, while guaranteeing the absence of undesirable oscillations, that is, sway.

The controller presented in this paper was developed in partnership with one of the world leading multinational crane manufacturers, Manitowoc also known as Potain. We report on its development, and on real experiments on a mockup (of which we provide a video), as well as implementation and experimental results on various commercial cranes, including a 40 meters high tower crane. Tests on several crane operators with various levels of experience and one crane instructor confirm the benefits of our automatic control based assistance. The controller combines flatness theory with a hierarchical control structure that leverages the recent progresses of variable-speed drives, and a novel real-time feasible trajectory generation module consisting of a third order filter whose parameters are optimally tuned, and designed to "feel" natural and reactive. According to the operators indeed, an anti-sway system feels natural if the delay induced by it seems acceptable (as delay is physically inevitable), and if it is highly reactive, that is, every abrupt change in the setpoint must be immediately followed by a large acceleration of the motors.

To summarize our contributions, we introduce a controller which makes crane operation more accessible to the inexperienced, and easier to the experienced. It is open-loop in the sense that it only uses information returned by built-in sensors, that is, motor speed measurements. The gaps it fills is as follows: contrary to previous theoretical and practical solutions dedicated to the tracking of pre-defined paths, it allows real-time tracking of a velocity reference -albeit not known ahead of time -and may thus serve as an assistance to the operator without changing the way cranes are currently operated. As it is based on a simple linearized model of the crane and a third order low-pass filter, limited mathematical and engineering background is required to understand it and to implement it. Furthermore, it has far lower execution time than equivalent methods based on optimization [START_REF] Van Nieuwstadt | Real-time trajectory generation for differentially flat systems[END_REF][START_REF] Van Nieuwstadt | Outer flatness: Trajectory generation for a model helicopter[END_REF][START_REF] Milam | A new computational approach to real-time trajectory generation for constrained mechanical systems[END_REF], and is thus widely compatible with computational resource onboard cranes. Beyond introducing a novel controller, our joint experience between academics and industrials acquired through a project that spanned over half a decade allows us to provide the community with feedback from the field of construction. We describe engineering and theoretical difficulties as well as sociological and regulatory issues that pave the way from the basic principles of flatness theory to an actual commercial product.

Open-Loop Feedforward Anti-sway Systems for Real-time Assistance

Reference [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF] points out the "mismatch between the large body of research on crane controllers -that has been directed towards full automation -and those in practical use, as operators in the field are not interested in full automation". Moreover, we pointed out the practical need for open-loop controllers, or at least solutions based on the minimum built-in sensor suite. However, open-loop feedforward techniques are well suited to full automation based on pre-defined paths. Indeed, some problems arise when the reference comes in the form of a time-varying velocity reference emanating from the operator's joysticks. To illustrate our purpose, we first present two historical examples of how to address this goal, before we proceed to our own approach. The goal of this section is to provide the reader with two illustrative examples, and by no means to review the huge number of possible ideas and existing control systems available on the market. For a complete review the reader is referred to Reference [START_REF] Ramli | Control strategies for crane systems: A comprehensive review[END_REF].

• A first approach consists in using a notch filter centered around the natural oscillation frequency of the system, in order to eliminate frequencies in the signal output by the operator's joystick being susceptible to excite the pendulum. This is theoretically described in [START_REF] Kress | Experimental implementation of a robust dampedoscillation control algorithm on a full-sized, two-degree-of-freedom, ac induction motor-driven crane[END_REF], and is patented by other authors in [START_REF] Froment | Process and device for limiting the swing of a load suspended from a motorised support[END_REF]. But filtering out some frequencies in the input signal inevitably induces delays and may lead to a lack of reactivity, especially at low speed [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF]. Moreover it reduces sway but does not suppress it. As far as we can tell, this rationale also seems to be a component of the historical commercial ICRAS (InnoCRane Anti-Sway) technology, designed for overhead cranes [START_REF]Icras anti-sway technology by innocrane[END_REF].

• Another idea consists in using an open-loop observer of the cable angle, and then apply a proportional derivative (PD) or more generally any closed-loop controller. This is advocated in the patent [START_REF] Stantchev | Procede de regulation de deplacement d'une charge suspendue[END_REF] and has led to a product which is commercially available. Such an approach generally does not work well since we are tracking a drifting equilibrium configuration: oscillations are inevitably created and then automatically damped. Moreover, it does not suit very well the complex effects of the rotary crane movements on the payload.

A somewhat more relevant approach consists in using a proper "open-loop" feedforward trajectory planning module based on the assumption the load is initially at rest, and such that all the sway which is generated during the displacement is automatically annihilated when the displacement stops, at least in the absence of external perturbations such as wind. The theory of differential flatness seems perfectly suited to this problem, see "Flatness Principle for a 2D Crane". However, while it easily allows moving the payload along a suitable predefined path, it requires adaptation to match the real-time operator assistance that we presently pursue.

Flatness Principle for a 2D Crane for Rest-to-rest Displacement:

A tutorial summary

Consider Figure S1, where we let P trol denote the trolley position along the jib axis, P load denote the position of the load, a load its acceleration, M its mass, L the length of the cable, and θ the angle between the cable and the vertical. Moreover we let g denote the gravity vector and T the tension vector of the cable.

A problem solved by the theory of differential flatness, which is introduced in Reference [S1], is as follows.

Control This proves vector a load -g has same direction as T , that is, the direction of the cable at the point of attachment. We see, for instance, that on the figure the load is ahead of the trolley, which means it is decelerating (the acceleration is necessarily negative). Vertical acceleration of the load is negligible compared with g, so a load ⊥ g, and under the small angles approximation, the height discrepancy between the trolley and the payload is approximately the cable length L. As tension T is parallel to the cable, there is a scaling between the red and the yellow triangle. From the intercept theorem we have thus a load /g = ∆/L, where we let ∆ = P trol -P load . The latter relation plays key role for flatness based crane control.

This problem is to some extent equivalent to anti-sway control since as soon as the final equilibrium is reached at time T , there are necessarily no residual oscillations. The core idea underlying flatness is that the trajectories of some systems may be wholly parameterized by one of the system's outputs -called the flat output -and its derivatives. In the 2D crane example, the flat output is the position of the payload and the method is easy to grasp geometrically. A basic application of Newton's law indeed yields

M a load = T + M g ⇒ ( a load -g) T . (1)
The vertical acceleration of the payload being small compared to g, one may assume a load to be horizontal.

As the tension force is aligned with the cable, the fact that a load -g be parallel to T , see Equation ( 1), implies that tan θ = a load /g = (P trol -P load )/L, under the small angles approximation L cos θ ≈ L, see Figure S1. Hence we have found our key property, which is that P trol = P load + L g a load , owing to the laws of mechanics. It rewrites as

P trol = P load + L g d 2 dt 2 P load , (2)
and differentiating the latter we find

V trol = V load + L g d 2 dt 2 V load . (3)
Those relations are verified at all times, as long as we assume d dt L = 0, an approximation we found to be valid for construction cranes, and that will be made throughout the paper, i.e., L is time varying in Equations ( 2) and (3) but we neglect its time derivatives.

Assume we want to perform a rest-to-rest displacement, i.e., solve Control problem 1. If we simply move the trolley forward and then stop it, the load will oscillate after the trolley has stopped, owing to its inertia, and one has to either reduce the sway manually, or wait for it to die out. However, there's another way to look at Equation (2). Indeed, by "inverting" the obtained pendulum dynamics L g Pload = P trol -P load , we see one may beforehand predefine a desired trajectory z(t) through time for the position of the load P load , and then control the trolley in order to obtain P load (t) = z(t) at all times. Indeed, letting

P trol (t) = z(t) + L g z(t), (4)
ensures by Equation ( 2) that (P load -z)

+ L g d 2
dt 2 (P load -z) = 0 and hence if initial conditions match, i.e., P load (0) = z(0) and d dt P load (0) = ż(0) = 0, we have P load (t) = z(t) at all times. To move the payload to a desired position z that shall be reached at time T , it then suffices to define a (feasible) trajectory z(t) t≥0 , starting from current position and such that z(t) = z for t ≥ T . Moving the trolley according to Equation (4) then ensures the equilibrium P load (t) = z has been reached at t = T , as desired. As a byproduct, we see sway has been wholly annihilated at delivery point. At a practical level, given a desired rest-to-rest trajectory z(t) for the load, Equation (3) provides the control system with the right velocity input for the variable-speed drive of the trolley motor to actually get the desired motion:

V trol := u(t) = ż(t) + L g ... z (t). (5)
For more information, the reader is referred to Reference [S2], Chapter 13. See also our video at https://youtu.be/I3BQr-ilFCQ for an illustration. Although the method essentially appears as "openloop" in the sense the state is unobservable, it requires the cable length to be measured. This information is available in all modern construction cranes, though. Note that, albeit counter-intuitive, the mass of the load does not play a role in control law [START_REF] Froment | Process and device for limiting the swing of a load suspended from a motorised support[END_REF].

Main Issues for Application of Flatness to Real-time Anti-sway Control

In this section we describe the main challenges that arise when attempting to devise a practically relevant controller based on flatness theory, and discuss how they may be overcome.

Figure 3: The 2 meters high mockup used to develop the controller.

Nonlinearity of the Pendulum Dynamics

The nonlinearity of pendulum equations has long appeared as a challenging feature of crane control.

However, one of the main successes of flatness is to provide a trajectory-planning module that fully accounts for nonlinearity. We could illustrate this point using a 2 meters high mockup crane, displayed in Figure 3.

Following Reference [S2], Chapter 13, we were able to perform a succession of open-loop feedforward based rest-to-rest displacements with "extreme" velocities and angles, see Figure 4, highly varying cable length during the displacement, and where the sway is seen to be annihilated. A video is publicly made available at the following link https://youtu.be/I3BQr-ilFCQ. In the Tutorial side Section "Flatness Principle for a 2D Crane" we made linear approximations to simplify exposition, although unnecessary to apply the flatness approach. However, throughout this paper we make the same approximations, as for actual construction cranes the issue of nonlinearities is void, as displacements are slow and cable lengths considerable, so that the angles involved are at most a few degrees. The linear approximation is thus wholly valid, as further illustrated through simulations in the sequel.

Progresses of Hardware Have Enabled the Application of Flatness

In terms of control, the presentation in the Tutorial side Section "Flatness Principle for a 2D Crane" is a simplified version of the problem that was dealt with in the early applications of flatness to crane control in the nineties, see References [START_REF] Fliess | A simplified approach of crane control via a generalized state-space model[END_REF][START_REF] Fliess | A generalized state variable representation for a simplified crane description[END_REF][START_REF] Kiss | On the control of a reduced scale model of the US navy cranes[END_REF]. In those approaches, the Lagrangian function method is standardly used to discuss the dynamics of crane systems with payload, and the controllers (open-loop or closed-loop) are designed to yield the laws actuating the motors in terms of torque inputs. In the present paper, however, Equation (4), or its velocity counterpart (5), presupposes the velocity of the trolley V trol is the signal on the motor variable-speed drives, and the mass of the payload is not considered in the controller.

Often in practice, especially in lifting applications, modern drives are fed with a velocity reference they are supposed to accurately follow, despite poorly known motor parameters. Modern adaptive speed regulation is fast, accurate, and robust to unknown load torque, see Reference [START_REF] Jadot | Adaptive Regulation of Vector-Controlled Induction Motors[END_REF]. Therefore, payload mass does not significantly affect the performance in terms of speed regulation, as long as it does not exceed the maximum authorized value for the crane. In this context, our strategy builds upon a hierarchical control structure based on time-scale separation. The drive speed regulation is indeed fast compared to the mechanical dynamics of the payload, hence reference (5) may be considered as slowly varying. Our goal is then to find feasible velocity references that are such that there are no final oscillations, by taking into account the pendulum dynamics (2), that is, the dominant dynamics of the payload and the mechanical part. This is where flatness theory and our contribution prove useful: turning operator velocity reference into anti-sway trajectories.

Therefore, the generalization of standardized variable frequency drives and vector control of induction motors in the crane business over the past decades is key to our modern approach. What prompted their adoption in the first place is that they allow for unprecedented gains in terms of performances, safety, and cost through optimized acceleration and deceleration capacity for hoisting, precise control of the speed of the motor, and optimized power consumption. Crane manufacturers now count on major players of the induction motor market to supply standardized components "easily" adaptable to cranes, by contrast with former practice where a large part of the crane electronics was manufactured in-house.

The Problem of the Operator in the Loop and the Proposed Feedforward Control Scheme

As already pointed out operators in the field are not interested in fully automatic rest-to-rest displacements as described in Reference [S2] or in the video we shared. The more difficult control problem we are dealing with throughout this paper is thus as follows.

Control problem 2: Real-time open-loop reference tracking. Starting from an arbitrary equilibrium configuration and given a velocity reference V u (t), find a feedforward trolley velocity trajectory V trol (t) in real-time that tracks this reference, while guaranteeing the absence of sway whenever the trolley is required to stop, i.e, V u (t) drops to 0 and remains null.

Flatness-based feedforward control in the presence of a velocity reference which is not available ahead of time poses non-trivial challenges. Indeed, in Control problem 1, the final equilibrium z is known in advance and the problem is solved using Equation ( 5), where there is much freedom in the choice of the trajectory z(t). By constrast, the reference provided by the operator via joysticks indicates in real time the desired velocities for slewing, trolley, and hoisting, and contains no information regarding the final equilibrium. Let us assume the crane to be 2-dimensional as in Figure S1 for now. To suppress sway when confronted with a velocity reference in real time, one may use flatness as follows. Throughout the paper, we assume the velocity input V u (t) required by the crane operator to be the desired velocity for the load V load , i.e., the flat output.

Then, using Equation [START_REF] Froment | Process and device for limiting the swing of a load suspended from a motorised support[END_REF] we see that as long as we ensure V trol := u(t) = V u (t) + L g Vu (t) then the load actually behaves as required, that is, V u (t) is the actual load velocity. However, there is a catch inherent to flatness theory: the velocity delivered by the crane operator V u (t) must be twice differentiable in order for V trol to be well defined, owing to the latter equality, and even its third derivative needs be bounded to meet the acceleration limits of the actuators. In practice, velocities required by the crane operator are all but smooth. What is sometimes referred to as the "Italian way" of operating even consists of a succession of large pulses to drive the load towards its goal. To remove high frequencies in the signal, one then needs to filter V u (t), and to achieve this aim we advocate the use of a simple low-pass filter. We have thus arrived at the "open-loop" control scheme fed with the operator's velocity reference illustrated by the following block diagram, where we use the Laplace transform notation. System Low-pass filter 1 + L g s 2 Motor drives Crane

1 1+ L g s 2 V u V r trol V f V trol V load
As the crane model obtained at Equation ( 3) writes in the s-domain V load = V trol /(1 + L g s 2 ) indeed, we see if motor drives achieve the desired trolley reference V r trol instantly, that is, if we have

V trol = V r trol ,
then it automatically follows that

V load = V f (1 + L g s 2 )/(1 + L g s 2 ) = V f with V f a filtered version of V u .
This can be considered to be the case, though, as speed regulation of induction motors is robust, accurate, and fast compared to the crane dynamics, as already discussed. This justifies the approximation V trol = V r trol , made throughout the present paper. Naturally, this assumption is valid only if V r trol is physically feasible by the motor. This point is carefully addressed in the sequel.

The scheme above automatically enforces the absence of sway once destination is reached. We see indeed that as soon as a stop is required, V u (t) drops to zero, so does V f (t) with some delay, and the payload eventually stops without further oscillations as the control scheme is designed to have V load (t) = V f (t). This is remarkable as no matter how challenging the operator reference is, sway is guaranteed to be suppressed after each maneuver.

The System Needs to "Feel" Reactive to Be Accepted by Operators in the Field Upon implementing and testing the above feedforward control scheme on the 2 meters high mockup crane displayed in Figure 3 sway was annihilated indeed, but a major issue aroused: people who experimented the controller had the feeling it was not reactive, and induced large delays. Stated otherwise, the tracking performance was poor. This is because the load follows a filtered -and thus delayed -version V f (t) of the operator's input V u (t) to meet the trajectory smoothness requirements inherent to the flatness approach. This is even more problematic for actual tower cranes, as crane operators in their cabin are attached to the crane, and need to feel immediate response to a sudden change in the velocity, otherwise the controller may be considered as inefficient and abandoned. Although this issue is raised at this stage, its resolution is deferred to the next section.

Dealing with the 3D Rotary Motion of Construction Cranes

Generalization of 2D method described in "Flatness Principle for a 2D Crane" to 3D rotary cranes might seem difficult owing to the coupling between rotation and trolleying. It is however doable, as proved in e.g., [START_REF] Kiss | Modeling and motion planning for a class of weight handling equipment[END_REF]. In our work, we achieved 3D generalization rather simply, resorting to various projections using both an earth-fixed Cartesian frame where flatness principle is easily written down, and cylindrical coordinates that suit the actuators' frame. The interested reader is referred to our patent [START_REF] Claeys | Anti-sway crane control method with a third-order filter[END_REF] for more technical details.

The Method in Detail

Now that we have raised a few important points about control of industrial construction cranes, and situated and motivated our method, we focus on the more mathematical aspects of it, described in the patent [START_REF] Claeys | Anti-sway crane control method with a third-order filter[END_REF] but never published elsewhere. In the absence of disturbances and other unmodeled effects we have seen the control strategy depicted in the block diagram above prevents sway to occur at all times. Given this control strategy, the main difficulty now resides in the design of an efficient low-pass filter that transforms the desired payload velocity V u (t) into a filtered one V f (t), which is then fed into the flatness module that computes the required trolley velocity V trol through the equation

V trol = V f + L g Vf . (6)
We see the acceleration of the trolley a trol is related to ... V f as we have by differentiation

a trol = Vf + L g ... V f . ( 7
)
As acceleration is physically bounded we see V f must be three times differentiable, which prompts the use of a third order low-pass filter, which writes:

V f + 2.15 ω Vf + 1.75 ω 2 Vf + 1 ω 3 ... V f = V u , (8)
where the constants have been chosen to minimize the ITAE (integral time absolute error), i.e. they ensure an optimal tradeoff between response time and overshoot, given a cutoff frequency ω, see Reference [START_REF] Joachim D'azzo | Linear control system analysis and design: conventional and modern[END_REF]. As a result the retained filter (8) possesses optimality properties regarding step response. In addition, this filter must fulfil two objectives. First, it must ensure rapid time response whatever the required motion. Then, it must generate feasible trajectories for the load.

Adapting the Cutoff Frequency ω to Enhance Crane Reactivity

Crane operators are used to controlling the trolley directly. Thus, they are used to feeling the motors deliver maximum possible acceleration a M AX to reach the desired velocity as fast as possible. This yields a rule of thumb for the tuning of ω as follows. Assume the initial state is at rest and the operator requires at t = 0 a step velocity of magnitude Vu . As V u (t) = 0 for t < 0 and V u (t) = Vu at t = 0, we necessarily have V f (0) = Vf (0) = Vf (0) = 0 and ...

V f (0) = ω 3
Vu from Equation [START_REF] Böck | Real-time nonlinear model predictive path-following control of a laboratory tower crane[END_REF]. Equation ( 7) then implies a trol (0) =

L g ... V f (0) = L g ω 3
Vu . For the operator to "feel" the crane is immediately responding to the input, the motor should deliver right away the maximum possible acceleration, that is, a trol (0) = a M AX . Substituting the latter in the equation we have derived yields an ideal value for ω that writes

ω( Vu ) = g a M AX L Vu 1/3 . (9)
We may thus set ω as a function of velocity reference V u . However V u is generally not a step and constantly varies, which makes it impossible to enforce (9) at all times. Indeed, a cutoff frequency ω that varies with the input drastically changes the filter equations, and may destabilize it. A first idea could be to set ω to the constant ω low := ω(V M AX ), where V M AX is the maximum velocity the trolley can achieve. This way, when confronted to any step of lower magnitude Vu ≤ V M AX , it is ensured that a trol (0) = L g ω 3 low Vu = a M AX Vu V M AX ≤ a M AX , which is physically feasible. This is not satisfactory, though. Indeed in the phase where the operator approaches the location where the payload is to be delivered, it is common practice to proceed through small pulses with V u V M AX to adjust the payload's position. However, it is paramount that the crane be reactive, and that the motors fully use their acceleration capacities in this phase as well.

In other words, we cannot afford to have then V u V M AX ⇒ a trol a M AX , because this induces a response time that is overly long regarding the magnitude of the desired motion, and the controller then proves unsatisfactory. We thus introduce the following criterion.

The reactivity criterion. An automatic anti-sway assistance "feels reactive" if any sudden and large change in the reference is immediately followed by the actuator's response in the form of maximum acceleration, regardless of the magnitude of the change.

To fulfill this goal we opted for the following strategy. We define two reference values for ω, one that is suited to small velocities, namely ω high = ω(αV M AX ) with 0 < α < 1, and we also set another one suited to large amplitude maneuvers as ω low = ω(V M AX ). As long as V u ≤ αV M AX we set ω = ω high and as soon as it goes above the threshold αV M AX , the value of ω is immediately decreased based on Equation (9). To adopt this strategy, we had to build a Hysteresis adaptation of ω, though. We set by default ω = ω high . When

V u suddenly goes above the threshold αV M AX , then ω may be decreased as fast as desired (which amounts to brutally extend the response time of the filter) through Equation ( 9), to have the trolley acceleration not exceed a M AX . But after having decreased ω, the latter shall be increased carefully to come back to default value ω high , with a relaxation time of a few seconds. Indeed we found experimentally that fast decrease of ω, i.e., extending response time, does not destabilize the filter, but rapid increase may clearly be problematic.

We successfully set the same relaxation time for mockup, self-erecting and tower cranes. Physically, this parameter represents a time during which, consecutively to a large displacement, small amplitude motions seem less reactive, as the cutoff frequency is still set low, that is, still suited to large velocities. As a final remark note that the value α is left to be tuned by the practitioner. We have empirically set α = 1 3 and found it to work well, but other choices are reasonable, e.g., α = 1 4 or even α = 1 2 .

First Simulation Results

To illustrate the approach and the benefits of our adaptation of cutoff frequency ω, we conducted a simple simulation whose results are displayed in Figures 5 and6, where we set a M AX = 2.2 m/s 2 , V M AX = 1.1 m/s, and cable length L = 15 m, which are realistic values for construction cranes.

Simulation model is as follows. When assistance is turned on, the input trajectory V u is fed into filter [START_REF] Böck | Real-time nonlinear model predictive path-following control of a laboratory tower crane[END_REF] where ω is tuned as just explained. This yields V f . Then, the velocity of the trolley V trol is computed through [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF], and its acceleration a trol through [START_REF] Karl | Feedback systems: an introduction for scientists and engineers[END_REF]. The velocity of the payload V load is computed through and without the controller (right column), when fed with identical reference trajectory. The operator's velocity reference V u consists of a small step followed by a linear decrease until stop, then a large step at full velocity, followed by null input. With our strategy V load closely follows V u with some delay, see (a),

whereas without the controller it oscillates much around it, see (d). Equation ( 6) then allows finding the complicated trolley's velocity V trol , see (b), that ensures V load to be equal to the filtered reference V f at all times, whereas without the controller V trol is merely a acceleration-bounded version of V u , see (e). (c)

shows that with the controller turned on |a trol | peaks at a M AX each time V u brutally changes, regardless of the magnitude of the change. This is akin to conventional crane behavior, see (f ).

the physical model displayed in Equation [START_REF]Trutegra intelligent bridge crane control[END_REF]. We see at all times V load coincides with V f , according to the flatness approach. When assistance is turned off, the trolley is directly controlled and its velocity V trol follows a slightly modifed version of V u : owing to physically bounded acceleration it follows a ramp at maximum acceleration until V trol reaches V u . Then, V load is computed through the physical model of Equation ( 3). In each case, the position (of respectively the load and the trolley) is the integral over time of the velocity.

Beyond the fact the payload oscillates when the trolley is directly controlled, see Figure 6, we observe the following features. First, we see on Figure 5 (a) that response time of the filtered input V f is smaller for the small step than for the large step. Albeit sensible in practice, this is in contrast with the properties of linear low-pass filters, whose response is proportional to input, and is only made possible thanks to our real-time adaptation of parameter ω. In terms of trolley acceleration, we see when velocity reference brutally changes, the trolley acceleration jumps to its maximum value regardless of the magnitude of the change.

This makes the anti-sway system "feel" reactive. Indeed, cranes are flexible and large accelerations induce corresponding to velocity reference of Figure 5. With the controller, we see that when the operator finally lets the joystick go at t =30 s, neither the trolley nor the load instantly stops, but they both slow down and stabilize at the same value. By contrast, with the assistance turned off, the trolley stops faster, but the load does not stop and keeps oscillating: there is sway.

forces that have an effect on the structure that are clearly felt by the operator, especially in tower cranes where the cabin is attached to the crane. To this respect, the fact that the shape of trolley acceleration with the open-loop controller resembles the acceleration when actuators are directly controlled, see Figure 5 (c), (f ), may be considered a desirable feature.

Finally, with the controller we found the maximum absolute value over the entire simulation reached by the cable angle θ is 2.92 • . The error made linearizing the system, that is, assuming sin θ ≈ θ and cos θ ≈ 1 is then at most 0.1%, justifying our linear approximation.

Mathematical Guarantees of Feasible Trajectory Generation

We are confronted with two types of physical motor constraints: the trolley (absolute) velocity is bounded by V M AX and its (absolute) acceleration by a M AX . We tuned ω so that the acceleration of the trolley is equal to a M AX when the load is initially at rest. This is illustrated in Figure 5 (a), (c) where the response to two steps is displayed, and we see maximum acceleration is reached at the beginning of the step in each case. However, there is no mathematical guarantee maximum acceleration and velocity are never exceeded when inputs differ from steps. Exceeding those bounds is detrimental as actuators saturate and our open-loop strategy does not apply to the physical system anymore. This is why it is important to feed the system with feasible trajectories at all times. Although our tuning of ω ensures saturations to be scarce in practice, some specific excitation frequencies might lead to saturation.

Feasible trajectories. A motion is feasible if it does not saturate the actuators, that is, the velocity reference trajectory for the variable-speed drives V trol (t) does not exceed maximum velocity and maximum acceleration the motor may achieve in practice.

To provide guarantees of feasibility whatever the input, our approach consists in slightly modifying the input V u we feed the filter with every time the actuators start saturating as follows. We see from [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF] that one must enforce at all times the relation

|V trol | = |V f + L g Vf | ≤ V M AX , (10)
and from ( 7) that one must also enforce the relation

|a trol | = | Vf + L g ... V f | ≤ a M AX . (11)
If those inequalities are violated then our model ( 3) is not valid anymore and the open-loop approach fails.

First, note the filter Equation ( 8) rewrites ...

V f = -1.75 ω Vf -2.15 ω 2 Vf + ω 3 (V u -V f )
. Then assume we want to enforce [START_REF] Claeys | Anti-sway crane control method with a third-order filter[END_REF] at all times, that is, -a

M AX ≤ Vf + L g ... V f ≤ a M AX . For example let's focus on Vf + L g ... V f ≤ a M AX . It re-writes Vf + L g -1.75 ω Vf -2.15 ω 2 Vf + ω 3 (V u -V f ) ≤ a M AX , which is an inequality of the form V u ≤ δ + V f + β Vf + γ Vf . Let Ṽu = δ + V f + β Vf + γ Vf .
To ensure the desired inequality we see it suffices to dynamically saturate the input as follows: feed the filter with min(V u , Ṽu ).

The strategy to ensure ( 10) is akin to the latter, albeit slightly more complex to implement. Let's focus on V trol ≤ V M AX for example. Everytime V trol reaches V M AX , we modify V u to ensure Vtrol ≤ 0, hence

V M AX is never exceeded. To do so note Vtrol = a trol = Vf + L g ... V f ≤ 0 rewrites V u ≤ V f + β Vf + γ Vf , see preceding paragraph. Let Vu = V f + β Vf + γ Vf .
We then feed the filter with Vu until Vu > V u , allowing V trol to drop below V M AX again. Note that whenever V trol reaches V M AX , a trol automatically drops to 0, so constraint ( 11) is then satisfied as well.

Simulation results displayed in Figure 7 illustrate the enforcement of constraint [START_REF] Claeys | Anti-sway crane control method with a third-order filter[END_REF]. The trajectories were simulated as follows. The input trajectory V u was generated as a periodic signal alternating between V M AX and -V M AX , with a period set experimentally (through tweaking) to attempt to exceed bounds and hence challenge the controller. ω is tuned as explained in the preceding section, see Equation ( 9) and below.

The filter ( 8) is then fed with a dynamically modified version of V u as just explained. Then, the velocity of the trolley is computed through [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF], and its acceleration through [START_REF] Karl | Feedback systems: an introduction for scientists and engineers[END_REF]. We see the trolley trajectory is then feasible since its absolute velocity and acceleration never exceed V M AX and a M AX , owing to our technique that guarantees trajectories to be feasible at all times.

Low-pass Filtering versus Optimization Based Real-time Trajectory Generation

The problem of real-time generation of feasible flat output trajectories has been well researched.

Optimization based methods were first advocated in [START_REF] Van Nieuwstadt | Real-time trajectory generation for differentially flat systems[END_REF][START_REF] Van Nieuwstadt | Outer flatness: Trajectory generation for a model helicopter[END_REF][START_REF] Milam | A new computational approach to real-time trajectory generation for constrained mechanical systems[END_REF] mainly for autonomous flight applications, and in a similar vein model predictive control is used for flatness based harbor crane driver assistance in [START_REF] Sawodny | Actual trends in crane automation: Directions for the future[END_REF][START_REF] Neupert | Tracking and anti-sway control for boom cranes[END_REF]. Our novel modified low-pass filter that automatically generates feasible trajectories is far less general, but seems a relevant alternative for the considered application for the following reasons. First, it has very low execution time. This is desirable as the embarked controller must perform a number of tasks simultaneously, e.g., in the hoisting operation limiting dynamic effects by further optimizing the load curve. As a result, solutions with low execution time are preferred. Then, understanding low-pass filters requires minimum engineering background and their behavior is easily interpretable, which suits engineers and users in the field of construction cranes. It may also facilitate industrial validation, especially regarding safety. Besides, it is unclear how our "reactivity criterion" may affect the optimization framework. Finally, the proposed modified low-pass filter requires no tuning, at its parameters are entirely specified above and are solely based on the knowledge of the bounds on the actuators' velocity and acceleration. By contrast real-time trajectory generation techniques for flat systems rely on a time delay that needs to be tuned by the user and that appears as a tradeoff between stability and performance. Moreover, as stated in [START_REF] Van Nieuwstadt | Real-time trajectory generation for differentially flat systems[END_REF] it is somewhat unsatisfactory to have to fix the final conditions in those methods to avoid the algorithm to end up in an undesired equilibrium, although actual final conditions are not known ahead of time.

Stability Properties

The controller is open-loop and assumes the load is initially at rest, i.e. P trol (t) = P load (t) for t ≤ 0.

If the payload is initially oscillating owing to some external disturbance, the controller cannot stabilize it, as there is no way to measure the payloads's position. The open-loop controller nevertheless possesses a sort of Lyapunov stability property: it neither amplifies nor reduces initially present oscillations. No matter what the operator does, the amplitude of the sway remains the same after the operator lets the joystick go. This is proved as follows: let z(t) = t 0 V f , where the motion starts at t = 0. Assume T is some time posterior to the motion, so that V f has dropped to zero by then, and z(t) = z(T ) for t ≥ T . Recalling Equation (4) and the lines that follow, we see (P load -z) + L g d 2 dt 2 (P load -z) = 0. Hence (P load -z) obeys the natural pendulum equations, meaning an initial oscillation of P load centered on z(0) results in a final oscillation centered on z(T ) with identical magnitude.

The pros of this property are that there is no risk for the operator to amplify sway, which could be harmful. The cons are that if the load is oscillating at some point owing to an external disturbance, the controller prevents the operator from combatting sway. As a remedy, one could let the operator deactivate the controller, and then manually damp the sway when needed.

Implementation on Real Cranes

The strategy was implemented on our mockup, and then on various commercial construction cranes from the company Potain. In terms of model used and control laws, all types of cranes were similarly treated.

Only the parameters V M AX , a M AX were adapted to match the motors' specifications.

Mockup Experiments

Prior implementations of flatness based rest-to-rest displacement control along pre-defined paths on laboratory cranes are reported in [START_REF] Böck | Real-time nonlinear model predictive path-following control of a laboratory tower crane[END_REF][START_REF] Kiss | Control of a reduced size model of us navy crane using only motor position sensors[END_REF][START_REF] Graichen | Suboptimal model predictive control of a laboratory crane[END_REF]. However, the larger the crane is, and the more weight it needs to lift, the slower the motions are. The essential differences between the mockup and actual cranes are that the former lift lighter weights (a few kilos versus several tons), and the mockup we used is equipped with brushless motors that allow much faster accelerations, typically 20 m/s 2 versus 2.1 m/s 2 for the experimental tower crane. Because of this, the most visually impressive results were obtained with the mockup, see Figure 4, where despite the large angle formed by the cable, no residual oscillations were to be seen after the displacement was performed, owing to the use of flatness-based control. It is however easily seen from our video https://youtu.be/I3BQr-ilFCQ that such movements would be unrealistic when carrying several tons. That said, the mockup was useful to develop our real-time feedforward approach, as opposed to rest-to-rest displacements that are on display in the video.

Self-erecting Cranes Experiments

Self-erecting cranes (see Figure 1) provide an ideal genuine application. Indeed, the ratio between the length of the cable and the performance of the motors make the system very reactive as compared to big tower cranes. Moreover, as those cranes are operated from the ground, the operator is focused on the load and does not really pay attention to the actual motion of the trolley, a fact which is in accordance with the philosophy of differential flatness, since the payload's velocity is the flat outptut and we assumed the (filtered) operator reference is the desired flat output. Upon implementing the controller on a 10 meters high self-erecting crane, we found the control system much facilitates piloting the crane, especially for unskilled operators. This is relevant as the market of self-erecting cranes aims at small builders and masons having limited cane operating experience, by contrast with the market of tower cranes which is much more professionalized. In France for instance to operate a tower crane one must pass a national qualification called "certificat d'aptitude à la conduite en sécurité", whereas no qualification is legally required to operate self-erecting cranes.

The control system was also tested by a professional crane operator from the company Potain (Manitowoc). The latter achieved similar operating performance with and without the anti-sway system. He reported that the controller not only did not bother him, but allowed performing the desired motions effortlessly.

Tower Cranes Experiments

The controller was implemented on a 40 meters high tower crane. On this basis, the company Manitowoc has sought the views of various professional crane operators, and even a crane operation instructor about the anti-sway system. It turns out that practitioners are reluctant at first, and doubt an algorithm may be helpful in any way. Then, they rapidly take control of the anti-sway system and accept it. The driving performance with the controller is quite satisfactory. When the assistance is turned off, they have Regarding productivity, experiments were also conducted. Figure 8 is a video caption that shows a "hurdle course" where the operator must displace the payload close to the ground along a narrow track demarcated by traffic cones, and lift it over each hurdle. Such hurdle courses are deemed difficult, owing to the accuracy they require, the considerable length between the actuator and the load (40 m), and to the fact they necessitate combining trolleying and slewing. We compared the times achieved by a a crane operator to complete the course with and without the control strategy described herein. In the experiment of Figure 8, It took the operator 75 seconds to go past the last hurdle with the assistance turned on, versus 110 seconds with the assistance turned off.

Conclusion and Discussion: From the Innovation to a Commercial Product

In this paper, we have shared our joint experience between academics and crane manufacturers of open-loop control of tower cranes. The research and development efforts that spanned over half a decade, were prompted by the finding that the celebrated flatness theory, albeit promising and natural for crane control, had not led to actual technological tools in the field, at least regarding construction cranes. This paper differs from surveys about crane control, namely References [START_REF] Abdel-Rahman | Dynamics and control of cranes: A review[END_REF] and [START_REF] Ramli | Control strategies for crane systems: A comprehensive review[END_REF], for various reasons. First, it is not a survey: it introduces a novel real-time flatness based control method and presents its implementation.

Then, instead of attempting to list the vast number of existing industrial or academic anti-sway control systems, and to discuss their pros and cons, as is well done already in [START_REF] Ramli | Control strategies for crane systems: A comprehensive review[END_REF], we focused on the concrete problems and challenges of the control of construction cranes, and confronted a particular method -ours -to the sub-sector of construction cranes and its particular features. In this respect, we hope to have provided the control community with interesting feedback, and raised important issues that shall be addressed in further research on the topic. What we can safely assert regarding prior solutions, is that a fraction of the existing industrial anti-sway systems had been tested by the company, and found ineffective, whereas ours received encouraging feedback from users.

At a more general level, we believe an adaptation of the easily interpretable and computationally fast running real-time feasible trajectory generation method presented in this paper, and which is based on input modification and optimized tuning of a low-pass filter, might prove useful for real-time control of other flat systems, such as aerial vehicles, see [START_REF] Tang | Autonomous flight[END_REF][START_REF] Murray | Trajectory generation for a towed cable system using differential flatness[END_REF][START_REF] Van Nieuwstadt | Outer flatness: Trajectory generation for a model helicopter[END_REF]. The "reactivity" oriented approach we pursue suits the presence of operators in the loop.

Advances in control theory combined with the progresses of hardware constitute a major step towards an industrial innovation. However, even a mature technology needs to confront reality, notably social and professional acceptation, as well as regulatory law. In the remainder, we discuss issues that remain on the way to commercialization, and try paving the way for automation of tower cranes in future construction sites.

The Issue of External Disturbances

Wind may cause oscillations of the payloads having low density. This is a problem as after a displacement has been performed, our open-loop controller assumes the load is at rest. Fortunately, dense payloads are hardly sensitive to wind. Moreover, in case winds are too strong, safety anemometers trigger alarms that indicate the crane should stop anyway. However, there are other types of disturbances as well. For instance, manipulations of the payload on the ground by workers is an issue. When the payload is hoisted up, take off may be problematic if the hook is not exactly above the payload, or if there is a collision with the environment: oscillations then follow, which may penalize the entire maneuver. As already mentioned, one possibility currently under study is to allow the operator to deactivate the controller when needed, to "manually" damp sway.

A Behavior Change is Required

Professional crane operators tend to reject automated assistance because they fix uneven crane operating performances and hence reduce their "differentiating skills". Thus, the adoption of this type of innovation in the field and from the decision makers requires a great deal of proactivity from the manufacturers, and tangible proofs of the benefits.

Change in Regulation

Inside the European Union, all large hoisting devices such as tower cranes need to meet the European standard EN 14439, see [4], that was established a decade ago to eliminate a variety of hazardous phenomena.

In particular the velocity setpoint of the trolley's induction motor must be directly proportional to the operator velocity setpoint. Modern tower cranes are equipped with devices meant to detect discrepancies between the operator reference and the motors' velocities, such as overspeed and overacceleration detectors.

As a result, the introduction of an anti-sway system (or more generally a controller) in current tower cranes would yield frequent alarms that would hinder its use.

We thus see that to implement any automatic control based assistance, one needs to account for it from the early conception of the crane and its safety mechanisms, and also to impulse an evolution of regulations in force to allow for a dissociation between operator and motor references. Last but not least: even if automatic control does make operations safer, it cannot rule out the risk of accident. Authorizing automated assistance poses the issue of crane companies' liability, which echoes the topical subject of self-driving car liability, see e.g., [START_REF] Greenblatt | Self-driving cars and the law[END_REF].

Self-erecting Cranes May Be Key to Prompt a Change in the Crane Sector

The innovation described in the present paper modifies the conventional way of operating tower cranes, see Figure 2, and necessitates regulation changes to authorize implementation on complex construction sites.

To facilitate the adoption of control theory based solutions, a better option embraced by Manitowoc is to start commercializing automated assistance systems in the context of self-erecting cranes, which are used in small-scale construction sites with low complexity, see Figure 1. Automated driving assistance poses less problems in this case because it does not interfere with safety functions as in tower cranes. Moreover, as those cranes are operated from the ground, the operator is more focused on the load and does not pay attention to actual motion of the trolley, which is in accordance with the philosophy of differential flatness, and makes the assistance more natural. Last but not least, self-erecting cranes are operated by non-professional crane operators who fully benefit from an automated assistance. However, they must be aware that an automatic system modifies references from the joystick. We believe commercialization on self-erecting crane may prove a relevant approach to convince the sector of the benefits of automation, and the starting point for larger scale automation in the future.

Figure 1 :

 1 Figure 1: The brand new HUP M 28-22 crane by Potain/Manitowoc. Self-erecting cranes, like the Hup, are transported by truck (the trailer is visible on the picture) and then rapidly erected through "automatic unfolding" of the structure. They are 10 to 30 meters high and are operated from the ground through remote control. Image courtesy of Manitowoc.

Figure 2 :

 2 Figure 2: Tower crane (zoom). Tower cranes are higher than self-erecting cranes and may lift heavier weights.

problem 1 :

 1 Rest-to-rest open-loop displacement. Starting from an arbitrary equilibrium configuration P trol = P load = z 0 , and given a final position z and a time T > 0, find a feedforward trolley trajectory P trol (t) so that equilibrium P trol = P load = z is reached at T .

Figure S1 :

 S1 Figure S1: The 2D simplified crane. Let M denote the mass of the payload. Forces acting upon the payload are its weight M g and tension force T exerted by the cable. From Newton's law we have M a load = M g + T .

Figure 4 :

 4 Figure 4: The mockup performing a rest-to-rest displacement. Using flatness based trajectory generation, the residual sway after this displacement is negligible, despite the large angles involved.

Figure 5 :

 5 Figure 5: Simulation results to compare the crane behavior with our open-loop controller (left column)

Figure 6 :

 6 Figure 6: Trolley and payload trajectories with our open-loop controller (top) and without it (bottom)

Figure 7 :

 7 Figure 7: Simulation of our strategy to enforce (11). In the simulation the acceleration constraint is set to 2.2 m/s 2 and velocity constraint to 1.1 m/s. As soon as |a trol | reaches |a M AX |, the filter is fed with an alternative input Ṽu to ensure |a trol | = |a M AX |, and this remains so until Ṽu exceeds operator's input V u , and then |a trol | drops below |a M AX | again. This way, our modified low-pass filter automatically generates feasible trajectories for the payload: actuators never saturate. Note the acceleration on the figure is never artificially saturated indeed: V f and a trol are truly related through Equation (7) at all times.

Figure 8 :

 8 Figure 8: The "hurdle course" set in place to compare performances with (right picture) and without (left) the open-loop automated assistance, viewed from the operator's cabin. The crane is 40 meters high and the load weighs one ton. It took the operator 75 seconds to go past the two hurdles with the assistance on, whereas it took 110 seconds without it. Image courtesy of Manitowoc.

Xavier

  Claeys received the PhD degree in Control and intelligent transport systems under the supervision of Carlos Canudas-de-Wit in 2002. He worked for Renault-Nissan from 1998 through 2011, where he developed innovations in the field of chassis control systems. He joined the multinational crane manufacturer Manitowoc in 2011, where he designed new product control & software development both for tower and mobile cranes. Since 2016 he promotes telematics and digital transformation at Manitowoc for the aftermarket based on crane product data.

Acknowledgments

The first author would like to thank Pierre Rouchon for interesting discussions that sparked this project, as well as the three other "fathers" of flatness theory, Michel Fliess, Jean Lévine and Philippe Martin, for interesting and helpful discussions. We are also and especially indebted to Jean-Pierre Thauvin for his invaluable technical help throughout this project.

Author Information

Silvère Bonnabel received the engineering degree in applied mathematics and the Ph.D. degree in