Object-Oriented Modelling of Flexible Cables based on Absolute Nodal Coordinate Formulation

Cable-pulley systems consist of several segments of cables, winches, and pulleys, which are used in a wide range of engineering applications such as lifting equipment and pulley systems. However, its dynamics simulation has been a tough issue in the Modelica community. The absolute nodal coordinate formulation (ANCF) uses global displacements and slopes at nodes to describe the geometry of the deformed body, which allows the derivation of constant mass matrices and zero-valued quadratic velocity dependent centrifugal and Coriolis forces. In the last two decades this method shown its powerful capacity to model flexible multi-body systems. This paper presents an object-oriented approach to model cable-pulley system, where flexible cables are discretized using ANCF cable elements. It is compatible with the Modelica Multibody Library by using a unified frame interface and enables coupled analysis of cables and rigid bodies. The paper provides a rich set of application examples showing the ease and efficiency of the Modelica-based component drag-and-drop modelling way for modelling cable-pulley systems.


Introduction
Flexible multi-body systems are defined as complex dynamic systems consisting of rigid and flexible bodies connected in different ways (Shabana 1997).It focuses on the coupling between the body's deformation and its large-scale spatial motion.Many approaches have been proposed based on different engineering background, such as the floating frame of reference approach (Likins 1967), the incremental finite element method (Shabana 1996) and the absolute nodal coordinate formulation (Shabana 1996) which will be used in this paper.Small deformations superimposed on large rigid body displacements have led to the well-known floating frame of reference formulation.It is used by various commercial dynamics analysis software but is usually considered unsuitable when the object undergoes large deformations and rotational motions.The absolute nodal coordinates method can solve these challenging problems, especially when the object under study is a flexible object floating in space, such as a thin film of a solar sail or a tethered net used to capture space debris (Liu 2013;Shan 2020).Drive systems consisting of cables and pulleys are widely used in lifting equipment.The dynamics modelling of cables has been extensively investigated in recent years.The simplest way is reduced to linear springs with lengthdependent stiffnesses, neglecting the cable weight and inertia forces (Rouvinen 2005).Such massless cables are certainly excellent in simulation efficiency, but when lateral vibrations and bending deformations become critical, the method becomes inadequate.Accurate modelling of the cable dynamic requires the use of nonlinear finite element methods.Absolute nodal coordinate formulation has been used to great effect in modelling the dynamics of cables (Berzeri 2000).Another area of interest is the simulation of the contact behavior of cables and pulleys.Modelling of contact forces is not always necessary, for example in (Aufaure 1993) Aufaure proposes a cable pulley element based on the assumption of complete elasticity, where the supporting pulley can slide frictionlessly along the cable.It brings the benefit of computational efficiency but does not reflect the actual situation as well.The most common way of establishing the contact force between the cable and the pulley is to use the penalty method.It derives from the simplest phenomenon that no penetration occurs between objects in contact (Lugrí s 2011).In the penalty method the contact force is related to the penetration depth.Different contact models are proposed, for example normal contact forces can be modeled as the spring damping model, the Hertz's model and the non-linear damping model, and tangential friction forces can be modelled as the Coulomb friction model, the Hollars model (Botta 2017) and the bristle contact model.An alternative approach to modelling the cable pulley contact is to use the unilateral constraints and linear complementarity problem approach for numerical treatment (Pfeiffer 1996).Using this method, the normal and tangential contact forces are related to the unilateral constraint as Lagrange multipliers.Modelling flexible bodies with the Modelica language is not novel and related work can be found in (Ferretti 2005;Heckmann 2006).In previous work the flexible bodies modelling has generally fallen into two categories.The first is based on the finite element method (FEM) using the native Modelica language to discretize the flexible body.Considering the complexity of meshing, this approach can only deal with simple geometries such as beams and plates.The second method is based on the floating coordinate method, which models the flexible body as a superposition of several eigenmodes.It relies on the modal files calculated in advance by structural analysis software and can model flexible bodies of arbitrary geometry.Therefore, it has a relatively wide range of applications.It's worth noting that we can only find two commercial cable pulley libraries online.One is released by DLR, and another is created by MapleSim.The theory behind them seems inaccessible since no publications for these libraries can be found.The innovation of this paper is to propose an object-oriented approach to model flexible cables, where the cable can undergo large deformations and rotational motions.The compatibility of flexible cables with the Modelica Multibody Library is achieved with a unified frame interface.The paper is organized as follows.In section 2 supporting theories is presented.Firstly, the dynamic equations of ANCF cable elements are presented in subsection 2.1, followed by an explanation in subsection 2.2 of how the cable component is compatible with the Modelica Multibody Library by a unified frame interface.In subsection 2.3 the penalty method is given for modelling cable-pulley contact.In subsection 2.4 the constraint equations for sliding joints are given.Implementation details with the Modelica language are given in section 3. Extensive cases are presented in section 4. Finally in section 5 the main research results are summarized and future related works are looked at.The pulley-cable model is constructed in three main steps, as shown in Figure 1: 1. Division and assembly of cable elements.

Connection of flexible cables to rigid bodies by
applying positional constraints through the Lagrange multiplier method.
3. Construction contact between cables and pulleys by means of the penalty method.

ANCF Cable Element
In the absolute nodal coordinate formulation, the cable element is defined in the inertial coordinate system and the nodal coordinates are described using the global displacements and slopes, which can be expressed as  The global position vector r of an arbitrary point on the neutral axis of a cable element, as shown in Figure 2, can be obtained by interpolating the nodal coordinate vector with the following expression: where S is the shape function matrix, which can be written as

S
(3) where the functions i s are defined as . Applying the principle of virtual work gives the dynamic equations of the cable element in matrix form as where M is the mass matrix, k Q is the elastic force vector, and e Q is the external force vector, respectively, with the following expressions: is the position-dependent distributed force vector.

Rigid-Flexible Modeling
Using a single cable component does not really solve the problems encountered in engineering, as most driven systems consist of rigid and flexible bodies.ANCF elements can be combined with rigid or flexible bodies modelled in natural coordinates to couple the remaining components of the system.Here we assume that the cable is sufficiently flexible that it cannot transmit moments at the point where the cable is connected to the rigid body.This assumption is reasonable, especially when considering that the bending stiffness of the cable is relatively small.We use the Lagrange multiplier method to impose only position constraints at the connection of the cable to other bodies, modifying Equation (4) as follows.
where q is a generalized coordinate vector containing the nodal coordinates of the flexible body and the natural coordinates of the remaining bodies,  is an algebraic constraint vector,  q its Jacobian matrix and  is the Lagrange multipliers vector.Considering the real-world energy dissipation, a damping term d Q is added to the right-hand side of the equation, which can be described by the Rayleigh damping model as follows: ( ) where  and  are two factors.

Pulley and Winch Modeling
Pulleys and winches are essential components of cable drive systems.Simulating the interaction behavior between the cable and the pulley or winch can be easily achieved using the penalty method in contact dynamics.
The normal contact force between the pulley and the cable is modelled as a non-linear damping model and is described by the following equation: where k is the contact stiffness, d is the contact damping,  is the penetration depth between two objects in contact, and n is a factor related to the shape and the material of the objects in contact.The tangential friction between the pulley and the cable is described using the Hollars model with the following equation: ( ) of contact detection points should be chosen according to the practical situation.The material points on the cable are described in the inertial coordinate system, so they need to be converted to the body coordinate system of the pulley first, and then determine whether contact occurs according to the distance from the detection point to the pulley's axis of rotation.

Sliding Joint Modeling
The sliding joint used in the absolute nodal coordinate formulation was proposed in (Sugiyama 2003) by Sugiyama et al.It solves the problem of contact detection which cannot be avoided when using the penalty method.
In engineering, sliding cables for river crossings and tail hooks on naval aircraft, for example, can be simplified as sliding joints.A frictionless sliding joint can be described by following constraint equations: ( ) ( ) ( ) where, j x denotes a point on the cable, i x denotes a point on a rigid or flexible body connected to the cable and  is the Lagrange multipliers of dimension 3. Derivation of the first three constraint equations with respect to time yield constraint equations of index 2, which can be written as where s is the arc length coordinate of the sliding point on the cable, which is time varying.

Modelica Implementation
In this section the element division and assembly using the Modelica language will be introduced.Some of the programming details considered important are explained below.Firstly, since the ANCF element mass matrix is a constant matrix, it only needs to be calculated once at program runtime.In this paper it is achieved by adding annotation (Evaluate = true) to the definition of the mass matrix.Secondly, a Gauss-Legendre quadrature is used to obtain both matrixes and force vectors.It's a technique in the finite element method.Five and three Gaussian integration points per element are used for axial force and bending force calculations, respectively.Benefiting from the excellent symbolic processing capabilities of the Modelica language, function is used to calculate the elastic force vector, using nodal displacements as input variables.The icon for a cable component is shown in Figure 3, where the ends of cable are represented using the frame interfaces in the Modelica Multibody Library.The ends' positions should equal to the frames' positions.It can be achieved by imposing position constraints using the Lagrange multiplier method.The codes are as follows: where e is the generalized nodal coordinates vector, and n is the number of degrees of freedom.Where frame_a and frame_b are the frame interfaces in Figure 3.In order to balance the number of equations, the multipliers vector lamda is assigned to the flow variable force f in frame_a and frame_b.The mechanism behind this is determined by the physical meaning of the Lagrange multipliers.The following two examples are used to verify the correctness of the cable component.Example 1 is set up as a flexible cable in a gravity-free environment with a fixed left end and a concentrated moment applied at the right end.The magnitude of the moment is set to EI L  , where 1  = , E is the modulus of elasticity, I is the moment of inertia of the cross section and L is the length of the cable.According to (Gerstmayr 2008), the cable is finally stabilized into a semicircle, as shown in Figure 4, under the action of this moment.Example 2 is set up as a cable with one end hinged and one end free, the initial configuration is along the positive X-axis, the initial angular velocity is along the positive Yaxis, the magnitude is 4 rad/s, and the direction of gravity is set to -Y.The geometric and material properties of the cable are as follows: The length of the cable is 1 m, the cross-sectional area is    To study the simulation performance for the presented model, we recorded the CPU time for simulation for Example 2 with increasing degrees of freedom.The time integration algorithm set to Dassl and the simulation stop time set to 2 seconds.As it can be found in Figure 7 that the computational cost shows a quadratic polynomial relationship with the number of degrees of freedom.For this case four cable elements are enough to get a converged result.The icons of pulley and winch component are shown in Figure 8, where the frame interface of pulley component and the left frame of winch component is used to connect the mounting position.The lower frame of winch component is used to connect the cable, as shown in Figure 9, where a simple lifting device is constructed.The initial configuration of cable is horizontal, as shown in Figure 10. Figure 12 gives the ball's position and forces exerted on it.After a few swings from side to side, the ball ends up in a straight up and down position.The icon of the sliding joint is shown in Figure 13, where the left and right frame represent two ends of the cable, and the lower frame is used to connect the object suspended.An example of zip line is constructed as shown in Figure 14, simulating a rigid body with a horizontal initial attitude sliding on a cable under the effect of gravity.
The initial and final configuration of objects are given in Figure 15 and Figure 16 respectively.It can be found in Figure 17 that the suspension is finally stabilized near the midpoint of the cable after several swings.

Examples for Application
In this section, several engineering applications have been built in the MWORKS.Sysplorer simulation environment.The three most representative cases have been selected for presentation.

Case 1: Belt Drives
The belt drive model, as shown in Figure 18, consists of an active pulley, a passive pulley, and a conveyor belt.The active pulley is driven by a rotational speed signal and the passive pulley is connected to a prismatic joint, which is driven by a position signal, simulating the tensioning process of the conveyor belt.The material and geometrical properties of the belt are as follows: modulus of elasticity 5.8e6 Pa, density 3500 kg/m^3, belt thickness 0.006 m, width 0.007 m, initial length 0.724 m.In this case the belt is discretized into 15 cable elements and the contact detection points are selected at 90 points at equal intervals.Figure 19 shows the axial stresses in the conveyor belt during tensioning and operation.Figure 20 gives the reaction forces applied to the active and passive pulleys, which are symmetrical.

Case 2: Cable Nets
The cable net model is assembled from several single cables, with position constraints imposed by Lagrange multipliers at the intersection of the cables.Four corner points of the net are exposed through the frame interface, which can be connected to parts, mechanical joints, and force elements.The dynamic behavior of nets in different scenarios can be easily simulated by changing the boundary conditions at the four corner points, as shown in Figure 21.The net configurations at different times are shown in Figure 22 and Figure 23.

Case 3: Gantry Crane
Gantry crane is a kind of port lifting equipment, mainly used for outdoor loading and unloading operations of cargo yards.The simple gantry crane model built in this paper, as shown in Figure 24, mainly consists of two cables, two winches, a container, and a gantry crane rack.It simulates the movement of a container under the combined action of the winches and the rack.Figure 25 illustrates the operating process of the gantry crane.
Figure 26 gives the position of the container during loading and unloading, from the initial position {7.5, 12, 0} to the final position {-6.5, 12, 10}.

Conclusion
The simulation of cable drive system covers the area of rigid body dynamics, flexible body dynamics, contact mechanics, etc.In this paper, the three-dimensional flexible cable model is established based on the absolute nodal coordinate formulation.Using the Modelica Multibody Library, the rigid-flexible coupling analysis is accomplished.Utilizing the contact force models, the contact behavior between cables and pulleys are realized.What have not yet been covered in this paper are the selfcontact of cables, efficient contact detection algorithms, advanced cable elements (e.g., ALE-ANCF elements), etc.It is noted that, MWORKS.Sysplorer provides an extensive and in-depth platform for modelling cable drive systems.
The content covered in this paper is a prototype of a commercial cable pulley library.There are still some areas of improvement.For example, we did not establish the contact relationship between cables and pulleys at the graphical level.It concerns the ease of use of the library.Another point is that the initial configuration of the cable can only be specified as a straight segment at this moment.
In addition, when the winch is involved in too many turns of the cable, the calculation cost brought about by contact forces should not be underestimated.More advanced technologies such as ALE (Arbitrary-Lagrange-Euler) elements will be considered in the future.

F
point of action of the concentrated force, p is the concentrated force vector and ( ) d x F


is the coefficient of static and kinetic friction, respectively.There is no special treatment of contact detection in this paper.An exhaustive method is used where points on the cable are simply selected at equal intervals.The number Session 1-B: Discrete modeling techniques: FEM, CFD, DEM (Discrete Element Method) DOI 10.3384/ecp20453 Proceedings of the Modelica Conference 2023 October 9-11, 2023, Aachen, Germany
Pa and the density is 2 8000 / f kg/m^3, where 5 f = .The calculated results are compared with(Gerstmayr 2006) as shown in Figure6.It can be found that the cable component built on MWORKS agrees very well with the results of reference(Gerstmayr 2006).

Figure 6 .
Figure 6.Example 2: Y-displacement of the mid-point of the three-dimensional pendulum as function of time.

Figure 7 .
Figure 7. CPU time for simulation as function of degrees of freedom.

Figure 9 .
Figure 9. Diagram view of a simple lifting device.

Figure 12 .
Figure 12.Force and displacement of body as function of time.

Figure 14 .
Figure 14.Diagram view of a zip line model.

Figure 17 .
Figure 17.Body's position as function of time.

Figure 18 .
Figure 18.Diagram view of belt drive model.

Figure 19 .
Figure 19.Stress clouds at different seconds.

Figure 21 .
Diagram view of net models in different scenarios: (a) four corners fixed, (b) four corners moving along the diagonal.

Figure 22 .
Figure 22.Net with four corners fixed.

Figure 23 .
Figure 23.Net with four corners moving along the diagonal.

Figure 24 .
Figure 24.Diagram view of gantry crane model.

Figure 25 .
Figure 25.Gantry crane operating processes at different times.

Figure 26 .
Figure 26.Cargo position as function of time.