Abstract:
This crane control system with swing control and variable impedance is intended for use with overhead cranes where a line suspended from a moveable hoist suspends a load. It is responsive to operator force applied to the load and uses a control strategy based on estimating the force applied by the operator to the load and, subject to a variable desired load impedance, reacting in response to this estimate. The human pushing force on the load is not measured directly, but is estimated from measurement of the angle of deflection of the line suspending the load and measurement of hoist position.

Description:
This application claims the benefit of U.S. Provisional Application No. 60/267,850, filed on Feb. 9, 2001, which provisional application is incorporated by reference herein. 
    
    
     TECHNICAL FIELD 
     Overhead and jib cranes that can be driven to move a lifted load in a horizontal direction. 
     BACKGROUND 
     Suggestions have been made for power-driven cranes to move a hoisted load laterally in response to manual effort applied by a worker pushing on the lifted load. A sensing system determines from manual force input by a worker the direction and extent that the load is desired to be moved, and the crane responds to this by driving responsively to move the lifted load to the desired position. Examples of such suggestions include U.S. Pat. Nos. 5,350,075 and 5,850,928 and Japanese Patent JP2018293. 
     A problem encountered by such systems is a pendulum effect of the lifted load swinging back and forth. For example, when the crane starts moving in a desired direction, the mass of the load momentarily lags behind. It then swings toward the desired direction. A sensing system included in the crane can misinterpret such pendulum swings for worker input force. This can result in the crane driving in one direction, establishing a pendulum swing in the opposite direction, sensing that as a reverse direction indicator, and driving in the opposite direction. This results in a dithering motion. In effect, by misinterpreting pendulum swings as worker input force, the crane can misdirect the load in various ways that are not efficient or ergonomically satisfactory. Prior attempts at arriving at an inventive solution to this problem have focused on suppressing oscillations of the load while the crane is accelerating or decelerating. 
     SUMMARY OF THE INVENTION 
     We consider swing suppression to be secondary. In our view, it is more important to control the impedance felt by the operator pushing on the hoisted load. Thus, we have developed an inventive solution that uses a control strategy based on estimating the force applied by the operator to the load and, subject to a variable desired load impedance, reacting in response to this estimate. The human pushing force is not measured directly, but it is estimated from angle and position measurements. In effect, our control strategy places the human operator in the outer control loop via an impedance block that is used in making trajectory generalizations. 
    
    
     DRAWINGS 
     FIG. 1 is a schematic view illustrating the general form of a crane system of the type used with this invention. 
     FIG. 2 is a schematic diagram providing additional detail regarding an arrangement of sensors suitable for use with this invention. 
     FIG. 3 provides a first schematic view of the pendulum-like features of the hoist/load system. 
     FIG. 4 provides a schematic control system diagram for this invention. 
     FIG. 5 provides a unified schematic view of the hoist/load linear system. 
     FIG. 6 provides a second schematic view illustrating the pendulum-like features of the hoist/load system. 
    
    
     DETAILED DESCRIPTION 
     1. General Physical System Description 
     FIGS. 1 and 2 illustrate a crane system  10  with a hoist  50  supporting a lifted load  20 . An operator  11  pushing on load  20  as illustrated can urge load  20  in a desired direction of movement. Sensors  25  are arranged to sense the direction and angle by which line  21  is deflected due to operator  11  pushing on load  20 . Crane system  10  then responds to input force by operator  11  and uses crane drive  45  to drive sensors  25  and hoist  50  to the desired location for lowering load  20 . 
     Crane drive  45  is typically a hoist trolley controlled by crane control  40 . However, it could also be a moveable crane bridge controlled by crane control  40 . Sensors  25  constitute a x sensor  32  and a y sensor  33  arranged perpendicular to each other to respectively sense x and y direction swing movements of load  20 . Sensors  32  and  33  can have a variety of forms including mechanical, electromechanical, and optical. Preferences among these forms include linear encoders, optical encoders, and electrical devices responsive to small movements. Sensors  32  and  33  are connected with crane control  40  to supply both amplitude and directional information on movement sensed. Where it is important for crane control  40  to know the mass of any load  20  involved in the movement, the force or mass of load  20  is preferably sensed by a load cell or strain gauge  35  intermediate crane drive  45  and hoist  50 . However, other possibilities can also be used, such as a load sensor incorporated into or suspended below hoist  50 . The location/position of hoist  50  can be supplied to crane control  40  using means well known in the art. 
     As previously noted, a control software system for crane control  40  receives data of the type specified above and actuates crane drive  45 , which moves the crane trolley and/or bridge in the direction indicated by the worker. Since load  20  is supported on cable  21  suspended from hoist  50 , load  20  and cable  21  act as a pendulum swinging below hoist  50 . As drive  45  in crane  10  moves load  20  horizontally in response to force input from worker  11 , pendulum effects of load  20  and hoist  50  can occur in addition to desired-direction-of-movement-force input by worker  11 . The control software system of crane control  40  must be able to deal with this problem as well as with the general problem of responding appropriately to force input from worker  11 . 
     2. Mathematical Description of the System 
     The problems arising from the pendulum effects of load  20  can be dealt with more easily by considering each axis of motion to be decoupled—i.e.—as if the motion of the x and y axes are independent. Each axis can then be modeled separately, as in FIG. 3, as a simple pendulum with a point of support that changes its position along the specified axis. The system on each axis contains a load  20  with mass (m 2 ) attached through cable  21  to the crane drive  45  and hoist  50  (which is treated as a mass m 1 ) that can move along the horizontal axis. The nonlinear model for the x axis subsystem is given by: 
     
       
           M ( q ) {umlaut over (q)}+C ( q,{dot over (q)} ) {dot over (q)}+G ( q )+ F   r ( {dot over (q)} )=τ  (1) 
       
     
     where:                M        (   q   )       =     [           (       m   1     +     m   2       )             m   2        l                   cos        (   θ   )                     m   2        l                   cos        (   θ   )                 m   2          l   2             ]                   C        (     q   ,     q   .       )       =     [         0           -     m   2          l                   sin        (   θ   )            θ   .               0       0         ]                   G        (   q   )       =     [         0               m   2        gl                   sin        (   θ   )               ]                     F   r          (     q   .     )       =     [               b   1          sgn        (     x   .     )         +       b   2          x   .                     b   θ          θ   .             ]                 τ   =     [             F   x     +     F   hx                   lF   hx          cos        (   θ   )               ]                 q   =     [         x           θ         ]                                  
     where l is the cable length, θ is the angle of the cable, b 2  is the viscous damping along the x axis, b 1  is the static friction along the x axis, b θ  denotes the viscous joint damping, F x  is the force applied to m 1  via crane drive  45  in response to signals received from crane control  40 , and F hx  is the force applied to the load  20  by worker  11 . 
     Substituting each matrix element into (1), leads to the two equations of motion (EOM) for the two generalized coordinates, position x and angle θ. 
     
       
           x : ( m   1   +m   2 ) {umlaut over (x)}+m   2   l cosθ{dot over (θ)}− m   2   l sinθ{dot over (θ)} 2   =F   x   +F   hx   −b   2   {dot over (x)}−b   1 sign( {dot over (x)} ) 
       
     
     
       
         θ:  m   2   l cosθ {umlaut over (x)}+m   2   l   2   {umlaut over (θ)}+m   2   gl sinθ= lF   hx cosθ− b   θ {dot over (θ)} 
       
     
     where {dot over (x)},{umlaut over (x)},{dot over (θ)},{umlaut over (θ)} refer to the linear velocity, linear acceleration, angular velocity, and angular acceleration respectively. 
     a. The Linear Equation of Motion 
     The “X” equation of motion can be most easily understood by approaching the cart-pendulum system as a unified system. This system can be described using Newton&#39;s second law as (m 1 +m 2 ){umlaut over (x)}=F x+F     hx   . However, since m 2  is also rotating with an angular acceleration, it induces an active force onto the entire motion as well. (See FIG. 6.) As the X equation of motion only deals with motion along the x-axis, the corresponding acceleration term with mass based on Newton&#39;s second law is then equal to m 2 l cos θ{umlaut over (θ)}. The −m 2 l sin θ{dot over (θ)} 2  term represents an interesting pseudo-force: the Coriolis force. Imagine when θ=0, the load  20  (m 2 ) rotates at a peak tangential velocity of l{dot over (θ)}. However, as θ increases, the velocity along the x-axis gets smaller in a similar manner to that of the acceleration. It is as if an opposing force is reducing the velocity. This force is analytically represented by the aforesaid negative term. Finally −b 2 {dot over (x)}−b 1 sgn({dot over (x)}) shows the opposing frictional forces on the system which is typically modeled as a viscous friction proportional to the velocity, and a coulomb friction that remains constant and against the direction of movement using sgn( ) to represent the direction of motion. 
     b. The Angular Equation of Motion 
     The θ equation of motion is simpler. Refer back to FIG.  6  and the equation m 2 lcosθ{umlaut over (x)}+m 2 l 2 {umlaut over (θ)}+m 2 glsinθ=lF hx cosθ−b θ {dot over (θ)}. Imagine that you are standing at the center of m 1 , and looking at m 2 . It&#39;s as if only load  20  (m 2 ) is rotating. Using Newton&#39;s second law in the torque version T=m 2 {umlaut over (θ)}, we have l F hx  cos θ=m 2 l 2 {umlaut over (θ)}+m 2 gl sin θ with m 2 gl sin θ as the resisting torque from the gravity effect on m 2 . As the system is frictionous, the input torque is compensated by −b{dot over (θ)}. This is the viscous joint damping friction. Finally we must remember that since the entire system is accelerating at {umlaut over (x)}, m 2  in effect is also traveling at that rate. Thus, if m 1  suddenly slows down while the ball is still linearly moving at that original acceleration, you can expect m 2  to rise up and this effect is described by the m 2 lcosθ{umlaut over (x)} term, which again follows Newton&#39;s second law. 
     c. Conclusion 
     Expressing (1) in the form {dot over (X)}=f(X,u), with X=[x, θ, {dot over (x)}, {dot over (θ)}] T  we have that:                X   .     =     [           x   .               θ   .                   M     -   1            (   q   )            (       U                 u     -       C        (     q   ,     q   .       )            q   .       -     g        (   q   )       -       F   r          (     q   .     )         )             ]             (   2   )                                
     where        U   =         [         1       1           0         l                   cos        (   θ   )               ]                   and                 u     =       [       F   x          F   hx       ]     T                              
     so 
     
       
           {umlaut over (x)}=ηm   2   l ( l ( F+F   h   −b   1 sgn( {dot over (x)} )− b   2   {dot over (x)}+−F   h  cos(θ) 2 )+ m   2   l   2 {dot over (θ)} 2  sin(θ)+ b   θ {dot over (θ)} cos(θ)++ m   2   gl cos(θ)sin(θ)) 
       
     
     
       
         {umlaut over (θ)}=η( m   2   l (−( F−b   1 sgn( {dot over (x)} )− b   2   {dot over (x)} )cos(θ)+− m   2   l{dot over (θ)}   2  cos(θ)sin(θ)−( m   1   +m   2 ) g  sin(θ))++ m   1   lF   h  cos(θ)−( m   1   +m   2 ) b   θ {dot over (θ)}) 
       
     
     where        η   =     1       m   2            l   2          (       m   1     +       m   2            sin   2          (   θ   )           )                                  
     Linearizing the equation (2) around X*=(x,0,0,0) T  we obtain: 
     
       
           {dot over (X)}=AX+Bu=AX+[B   1   |B   2   ]u   (3) 
       
     
     where        A   =     [                       0     2   ×   2                         I   2             0             m   2        g       m   1             -       b   2       m   1                 b   θ         m   1        l               0         -         (       m   1     +     m   2       )        g         m   1        l                 b   2         m   1        l             -         (       m   1     +     m   2       )          b   θ           m   1          m   2          l   2                 ]             B   =     [                        0     2   ×   2                               1     m   1           0             -     1       m   1        l               1       m   2        l             ]                            
     The measured states are the cable angle θ and the position x of m 1 . Therefore, the output of the system is given by Y=CX,              C   =     [         1       0       0       0           0       1       0       0         ]             (   4   )                                
     A simple rank check shows that this nominal control system is both controllable and observable. 
     3. Description of Control System 
     A schematic control system diagram for control  40  is shown in FIG.  4 . In this implementation, each axis of movement is controlled independently, so we would usually use two crane controls with the same structure but with different parameters and settings. As a simplification, we only reference crane control  40  for the x-axis in the understanding that all the descriptions would also apply to a y axis control. This system is also based on the assumption that the force F hx  applied by operator  11  to load  20  (m 2 ) is not available through direct measurement and that the only input available are the position of m 1  and the cable angle, i.e.—x and θ. Based on this information, the system illustrated in FIG. 4 provides control input via control  40  resulting in the application of an appropriate force F x  to m 1  via crane drive  45 . 
     As can be seen in FIG. 4, a linear observer block  41  is used to obtain an estimate of the force F hx . The dynamic equations of the observer block  41  are given by: 
       {circumflex over ({dot over (X)})}=A   c   {circumflex over (X)}+B   e   F   x   +LC   e ( y−ŷ );  y=[x,θ]   T   (5) 
     where:          X   ^     =       [       x   ^     ,     θ   ^     ,     x     ^   .       ,     θ     ^   .       ,       F   ^     hx       ]     T                                      A   e     =     [         A         B   2             0       0         ]       ;       B   e     =     B   1                 C   e     =     [         1       0       0       0       0           0       1       0       0       0         ]                             
     This system is also controllable and observable. The pushing force F x  applied on the mass m 1  is given by:                F   x     =     {               F   x     -     F   combx       ;            F   combx               〈       b   ls                   and                        x     ^   .                 〈   ɛ                           F   x     -       b   1          sgn        (     x     ^   .       )           ;   otherwise           }             (   6   )                                
     where:                F   combx     =       F   x     -       b   2          x       ^   .          +       b   θ     l                θ       ^   .          +     m   2              g                 θ               (   7   )                                
     b 1S  is the stiction on the x-axis and ε&gt;0. Equations (6) and (7) describe the static friction compensation for the observer block  41 , taking into account two cases: 
     (1) The static case when m 1  is at rest and the observer block  41  is that of a simple pendulum; and 
     (2) the case when m 1  is moving and the static friction is just subtracted from the control input F x . 
     In addition to the pushing force estimate, the observer block  41  also generates filtered values for the cart position, velocity, cable angle and angular velocity. 
     We use the estimated operator force to generate the desired position of the load by passing it through a desired impedance block  42 : 
     
       
           M   d   {umlaut over (x)}   cd   +B   d   {dot over (x)}   cd   ={circumflex over (F)}   h   (8) 
       
     
     where M d  is the desired mass, B d  is the desired damping and x cd  is the desired position of the load. Through the impedance block  42  we can specify a particular performance for the motion of the load  20 . At the same time, the “feel” of the load for the worker  11  can be changed from very light with almost no damping, to heavy and viscous with extreme damping. 
     Since we don&#39;t have direct control on the position of the load  20 , but on the position of m 1 , we use a correction block  44  to calculate the term x cd  and {dot over (x)} cd  by: 
     
       
           x   d   =x   cd   +l sin θ  (9) 
       
     
     
       
           {dot over (x)}   d   ={dot over (x)}   cd   +{dot over (θ)}l  cos(θ)  (10) 
       
     
     where x d  is the desired position of m 1 . 
     The control block  43  we employ is a simple pole-placement controller, which is used to track the reference trajectory X d =[x d , 0, {dot over (x)} d , 0] T . There are a variety of other controllers that can be used here. Therefore, anti-swing is achieved with desired load impedance, if 
     
       
           F   x   =K   1 ( x   d   −x )− K   2   θ+K   3 ( {dot over (x)}   d   −{circumflex over ({dot over (x)})} )−K 4 {circumflex over ({dot over (θ)})}  (11) 
       
     
     where K i , i=1, 2, 3, 4 are given by specific locations of the system poles. 
     In actual experimental implementation we have had to deal with the uncertainties in the parameters of the system, the variation of the friction along the runways for crane drive  45 , the change of length of the cable  21 , inaccuracies in the measurements of the angle θ, etc. All these differences between the model and the real system generate a non-zero observer force {circumflex over (F)} hx  that can drive the crane in the absence of a pushing force. To fix this problem we used dead zones for some signals such as: 
     The angle of the wire, θ. 
     The estimated force applied to the load {circumflex over (F)} hx . 
     The control signal F x . 
     The thresholds for these dead zones are also a function of the angular velocity, such that there is a larger dead zone band when the load  20  is swinging without any force applied to it, and a lower value when the load  20  is stationary and the operator  11  is applying a force to it. 
     Our invention presents a viable means for dealing with the problem of controlling an overhead crane using an estimation of the force applied to the load. Using a linearized system, a controller-observer was designated using the placement of the closed-loop poles for both the system and the observer. The controller structure was tested in both numerical simulations and then using an experimental setup. Due to parametric uncertainties and disturbances in the dynamical model of the system we used dead zones on the estimated applied force ({circumflex over (F)} h ), the angle of the wire (θ, φ) and on the control signal (F). With the use of these nonlinear elements, we could work with a simple model of the system and yet obtain a relatively clean estimate of the force F h . 
     We performed tests with different loads and different cable lengths as well as with a constant load  20  and a constant length cable  21 , and experimentally confirmed that the controller system is robust to variations to both m 2  and l.