Abstract
1. Introduction
Chain drives are very common reliable mechanisms that have been used over centuries for power transmission and conveyance. The design of chain drive system may vary based on the application, the rated power, and the operating conditions. Valve trains in internal combustion engines, bicycle and motorcycles, conveyer belts, over-head conveyers, and hoist mechanisms are typical applications of the chain drive systems. Majority of the commonly used chain drives are made of steel and the links are considered rigid. The roller chain systems are usually composed of articulated links forming a closed kinematic chain. A typical power transmission roller chain is composed of outer links (pin links), inner links (bushing links), pins, bushings, and rollers, as shown in Figure 1. The pins are typically press-fitted to the two outer plates to form the pin link while the bushing is press-fitted to the two inner plates to form the bushing link. The bushing can rotate freely around the pins while the rollers are freely assembled into the bushing.

Typical roller chain system.
In the simplest chain drive system, the chain is driven by a driving sprocket converting the driving torque into a tensile force that will drive the output sprocket and/or move the load. Figure 2 shows a typical arrangement of the chain drive system used in bicycles. Variations from this configuration may include the following: adding idle sprockets, using chain support guides and chain tensioners, and moving loads. Tensioners are usually introduced to eliminate the chain slag, reduce noise and vibration, and improve the efficiency. Chain guides are used to reduce the in-plane vibration and eliminate the out-of-plan chain motion. In many cases where guides are used, the chain motion could be accurately modeled by planar motion. Out-of-plane motion may be excited in other cases as follows: when the axes of drive and driven sprockets are not perfectly parallel, if the designer introduced lateral shift between the drive and driven sprocket planes, in the case of high speed sprockets with large slack, when excitation is transmitted from other machine components, and so forth. Also, during operation, multiple contacts between the sprocket teeth and the chain rollers lead to high impact forces and sudden variation of link velocities and create lateral and out-of-plane vibration. In the above mentioned cases, planar dynamic simulation will not be sufficient to model and capture the chain dynamics. The joint connection between the roller and bushing typically has clearance leading to more complex dynamic contact.

Typical bicycle chain arrangement.
In automotive applications, the chain drive systems are designed to eliminate out-of-plane motion using chain guides and tensioners. In such cases of planar motion, 2D simulation of the chain drive system could be sufficient to study the dynamic behavior and extract the necessary information about the velocities, accelerations, contact forces, and friction. In other cases where chain guides cannot be introduced in the design, the chain drive links can experience lateral vibration. In the case of bicycle chain, for example, the chain must undergo out-of-plan motion in order to allow the driver to shift between gears. Due to the lateral misalignment between the drive sprocket plane and driven sprocket plane, the chain motion will not be planar and the links will be subjected to bending and side contact with the sprockets. The chain engagement-disengagement with the sprockets during shifting are very complicated processes and involve sever friction and rubbing between the chain plates and sprockets' faces. If the chain is stiff, shifting the chain from one sprocket to another may cause glitches resulting in rough acceleration that will cause discomfort to the rider. For this reason, the chain could be designed with lateral flexibility or induced elasticity. Polygonal action is another phenomenon that can cause meshing noise and lead to wear and premature chain fatigue life [1–5].
In general the roller chain systems exhibit very complex dynamics behavior [2]. For this reason it was impossible to find general analytical procedures that can describe thoroughly the chain drive dynamic problems. In the above mentioned cases, 2D dynamic model is not sufficient to model the transitional dynamic during speed shift. Due to the large number of bodies in the chain, the number of degrees of freedom will become significantly high and the dynamic simulation will require huge computational resources. The objective of this research is to device a formulation that will simulate the spatial chain dynamic motion while reducing the computational effort. This research aims to develop an algorithm for modeling the chain drive system that can be appended to any multibody dynamics platform.
In this proposed approach, links, sprockets, and rollers are modeled as rigid bodies. The spatial motion of each link will be modeled using full 6 degrees of freedom (DOF). As the number of chain links and the associated DOF increase, the computational effort required to factor the inertia matrix will significantly increase [6, 7]. In order to avoid increasing the computational effort, the proposed approach is designed to decouple the chain links equations of motion from the main system equation of motion as will be discussed in the following sections. In the following section, some of the existing chain modeling approaches will be reviewed. Section 3 summarizes the joint-based multibody dynamics formulation approach and the system dynamic equations will be formulated using spatial algebra. The proposed approach to model the chain links will be presented and discussed. The interaction between the rollers and the sprocket teeth is represented as contact force model and will be discussed. The compliant model for the connection between the links will be also presented. The recursive solution algorithm is presented in Section 4. Section 5 present the dynamic model of a simple bicycle chain drive system and the simulation results will be presented and discussed. Section 6 summaries the work and presents the concluding remarks.
2. Chain Modeling Approaches
Hippmann et al. [8] presented a 2D chain drive model based on the relative coordinates. The proposed approach in [8] was developed to study the gross motion of the chain along its trajectory. The model was reported to be reliable and efficient in simulating highly complex dynamical behavior of chain drives without numerical damping. The model also embedded substructure techniques for the chain drive model in multibody system models of combustion engines. To solve the equation of motion, implicit integration approach was adapted.
A mathematical model for motorcycle drive train was presented by Gamba [1]. The model can be implemented in a multibody motorcycle model for handling and maneuverability studies and long time-scale analysis. It was reported that this model is computationally fast. Pedersen [2] presented a novel formulation for the simulation of the dynamics of roller chain drives using a continuous contact force method. Modeling the contact surface between the rollers and sprocket has shown to be an important issue regarding the numerical stability of the simulation program. The proposed model concluded that using the real tooth profile leads to superior results over other simplified methods.
Pereira et al. [3, 4] presented a multibody methodology to address the kinematic and dynamic effects of roller chain drives. In his proposed approach the chain was modeled as a collection of rigid bodies, connected to each other by revolute clearance joints. Each clearance revolute joint, representing the connection between pair of links, is made up of the pin link/bushing link plus the bushing link/roller pairs, if the chain is a roller chain.
Although, the above mentioned models were reported to be efficient, they lack the full dynamics of the multibody systems. When each link is modeled as rigid body with 6-DOF the computational effort will significantly increase. Tracked vehicle dynamics analysis algorithms are very similar to chain drive algorithms and track modeling approaches and could be adapted to model chain drive systems. Rubinstein and Hitron [9] created a model which incorporates a detailed description of the track links and the dynamic interaction with other components. Each track shoe was considered as a rigid body and is connected to its neighboring track shoes via a kinematic revolute joint constraint. Ryu et al. [10] created a three-dimensional multibody model with compliant track-shoe connections. The revolute joints which connect track shoes with their neighbors are replaced with compliant force elements which are described by stiffness and damping values. Ryu et al. [8, 10, 11] built on the methodology proposed in [10] by further developing the contact force models that include link contact with the sprocket.
3. Kinematic and Dynamic Equations of Motion
The connectivity graph is one way to graphically represent the kinematic model and the topological connectivity between the different bodies in the multibody system. Figure 3 shows a simple bike model and the corresponding connectivity graph. In the connectivity graph, each body is connected to one parent through an arc joint that can allow one or more DOF. The root body is connected/referenced to the ground and the system under consideration has no kinematic loops. While each body can have only one parent it could have one or more descendent (child bodies). In the connectivity graph, the root body is numbered as 0 while the other bodies are numbered from 1 to

Simple connectivity graph diagram for a bike.
The following development refers frequently to the triad or marker. The triad (marker) is composed of three orthogonal unit vectors used to measure relative and absolute motion between different points. The triad position is defined by the position of its origin while the orientation is defined by a set of rotational parameters. The child body is joined to its parent through two triads; one triad is fixed in the parent side while the other triad is on the child side, as shown in Figure 4. The triad in the child side is considered as the output triad and is used as the reference frame of this body. The triad in the parent side is considered as the input triad to the child body, connector triad. The position and orientation of the connectors are measured relative to the parent reference triad through the spatial transformation matrix. The joint DOF or joint variables are defined as the allowed relative motion between the two connecting triads. Relative motion between the triads could be translation or rotation along one of the connector triad axes. Massless triads could be inserted between the two bodies to represent joints with more than one DOF. The joint displacement, velocities, and accelerations are used as the body state variables. The Cartesian displacement, velocity, acceleration vectors, and the joint reaction forces are considered as augmented algebraic variables.

Kinematic connection and the joint influence coefficient matrix.
3.1. Kinematic Equations
The spatial velocity vector of a body can be represented by a combination of two 3 × 1 vectors
The spatial velocity expressed in coordinate system (CS) at
where
where
The relative spatial velocity vector between body
where
where
The velocities of the bodies in the kinematic tree can be calculated recursively according to the parent child list [6, 14] as will be shown later.
The influence coefficient matrix could be transformed using the spatial transformation matrix as follows:
Since
Since each joint could have six DOF,
where
The relative spatial acceleration vector could be obtained in the global coordinate system by differentiating the velocity vector in (8) as follows:
where
Substituting (13) and (10) into (12) we get
The child acceleration is related to its parent acceleration by
where
Rearranging the terms in (6), (7), and (8) we can write the velocity equation as follows:
Considering the bike topology of the system with multiple bodies, shown in Figure 3, and using a parent child list, we can calculate velocities as follows:
The equation can be written in a compact form as follows:
where
Knowing the velocity and accelerations of the root body, (19) and (20) could be used to recursively calculate the velocity and acceleration of the descendent bodies marching outward from the root to the leaves. Similarly, the system topological matrix could be used to extract the joint force as follows:
3.2. Dynamic Equations of Motion
The equation of motion of any link/body could be obtained by differentiating the vector of spatial momentum with respect to time. The spatial inertia matrix
where
In order to obtain the equation of motion, the spatial momentum should be expressed in the global coordinate system as follows:
Differentiating the momentum equation will lead to the body equation of motion as follows:
where
The equation of motion of any two connected bodies
While for body
The equations could be rearranged in matrix form as follows:
The system equation of motion could be written in a more compact form as follows:
The system of equations in (29) contains the unknown Cartesian acceleration of the bodies as well as the joint reaction forces. In order to be able to solve the equation of motion, the kinematic relations from (20), the constraint equations from (21), and the system dynamic equation (29) are rearranged in matrix form as follows:
Since the inertia matrix
Equation (31) has been simplified to understand the significance of each term as follows:
where
3.3. Floating Body Equation of Motion
In order to reduce the problem dimensionality and develop a general purpose independent algorithm, the chain links will be decoupled from the kinematic tree of the main system. All the chain links have neither parents nor children and can be considered as floating bodies. This means they will not project any inertia into their parents subspace and their inertia will not be affected by any decedent bodies. FB representing chain links will be interacting with other system components through compliant forces: contact with sprocket, contact with guide rails, and connection to other links. These contact forces can be calculated in the global coordinate system, as will be shown in the following sections, and then will be transformed into the local link reference CS. The equation of motion of FB could be written in local CS in order to improve the computational efficiency. This approach will significantly improve the computational efficiency by reducing the depth of the kinematic tree. Since all external force vectors are calculated and accumulated in the global CS, it can be then transformed once to the FB local CS. Also, there will be no need to transform the FB mass matrix to the inertial CS each time step.
The equation of motion of FB in local CS can be written as follows:
The link mass matrix can be easily inverted and the link accelerations could be directly integrated as follows:
Since each FB is referenced with 6-DOF, the rotational transformation matrix need to be updated using the body rotational parameters. In the proposed approach, Euler parameters are used describe the orientation of the FB and that requires using one additional constraint equation for each body. It was reported by many researchers [7, 15, 20, 22] that in the case of long chain or track systems, the Euler parameters norm in the integrator may drift from unity causing phase shift. In order to improve the computational efficiency, the constraint equation could be eliminated and replaced with error penalty feedback within the integrator [23, 24]. Assume that Euler parameters are defined as
The error in calculating Euler parameters can be approximated as:
This error may be fed back into the Euler parameter differential equations as
Equation (37) shows that a small negative correction, proportional to error and the Euler parameters, is fed back to the differential equations. Implementing the feedback term into (37) will normalize the Euler parameters without introducing constraint equations to the system.
3.4. System Interaction
In order to complete the equation of motion of the chain drive system within a multibody system, the interaction between the chain links and the other components in the system should be modeled. In the following sections, the contact between the chain links and the sprockets will be presented. The compliant bushing element that will be used to model the connection between two consecutive links will be discussed. It should be noted that the roller will be ignored in this analysis.
3.4.1. Bushing Force
In the proposed approach, a compliant bushing force element is used to model the connection between two consecutive links. The chain is considered to be composed of two repeated links, the pin link and the bushing link as shown in Figure 5. Each pin link has two triads,

Kinematics of the compliant bushing force element.
During the dynamic simulation, the position and velocity vectors of each body's reference frame are calculated. Also, the pin and bushing global position vectors,
Once transformed into the pin coordinate system, the bushing deformation is represented by the relative translational displacement vector
Then Euler parameters can be converted into a rotational angle θ around a vector
The relative velocity vector between the pin and bushing triads can be calculated and transformed into the pin coordinate frame as follows:
It is assumed that the bushing element produces three force components
where
The forces and torques could now be transformed into the bushing triad coordinate system and applied to the bushing link body using (4). The forces from the bushing force element could be then applied to the link equation of motion (24). The bushing element stiffness coefficients can be calculated experimentally or by using a finite element model for the pin-link and bushing link while the damping coefficient could be chosen to represent the structural damping.
3.4.2. Link Sprocket Contact
In chain drive systems, motion is transmitted between sprockets through contact between the chain bushing/rollers and the sprocket teeth. In the case of planar chains dynamic simulation, the code accounts for the planar contact between the surface of the sprocket teeth and the bushing cylinder; however contact may occur between the sprocket and the side plates in bicycle simulation. During speed shift and when the rear sprockets are not in the same plane of the drive sprocket, side contact may occur. The sprocket tooth could be described by detailed geometric features,
In this analysis, the tooth profile is approximated using six points defined in the

Approximated sprocket tooth profile.
The contact detection algorithm loops over all the sprockets in the system to identify the links that are within the prespecified proximity range of each sprocket. A typical proximity range would be the sprocket outer radius plus one link pitch. Referring to Figure 7, the relative position vector of the chain link reference frame with respect to the sprocket reference could be defined in the sprocket frame as follows:
where
If the distance
where

Bushing sprocket detection.
The global velocities of the bushing link and sprocket,
The relative velocity can be computed in global at the sprocket reference frame as follows:
The relative velocity between the bushing and the sprocket at the contact point could be computed as follows:
In order to calculate the normal and sliding velocity components,
The sliding velocity could be computed as
The normal contact force results from elastic spring force and damping force can be evaluated as follows:
The sliding friction force is a function of the normal elastic force and the friction coefficient. Due to impact between the bushing and the sprocket, the normal force component may be significantly high while the sliding velocities are significantly small. The large normal force can lead to very large friction forces causing the simulation to fail. To reduce the effect of large friction force, the friction coefficient can be considered as smooth function of the sliding velocity as follows:
where
Then contact forces are now translated to the sprocket reference frame and the link reference frame as follows:
Similarly the contact between the sprocket tooth and the bushing link side plates could be detected as shown in Figure 9. The tooth profile points are projected into the bushing plate surface plane. The angle α could be calculated from the relative orientation matrix between the bushing link and the sprocket,

The friction force smoothing parameter,

Contact between the sprocket tooth and bushing link side plates.
It should be noted that contact can occur between the sprocket tooth and both the bushing cylinder and the side plate, as shown in Figure 9. The contact algorithm should be able to detect both contacts and add the resulting forces and moments. In reality, the sprocket teeth are usually chamfered to reduce the side contact especially in applications that may undergo out-of-plane motion like bicycle chains. It should be noted that the bushing cylinder is assumed to be rigid and will not deform under the effect of the contact forces.
4. Recursive Solution Procedure
The proposed approach was developed using general purpose joint-based recursive approaches [17, 18, 20, 25–29]. Prior to solving the equation of motion, the system must be assembled and the chain must be wrapped around the sprocket without penetrating into the sprocket. The initial conditions are determined to minimize the constraint violation and eliminate any interference between the metals especially contact between links and sprocket. A static equilibrium could be performed to obtain excellent initial conditions that could be fed into the dynamic simulation. At the beginning of the dynamic simulation, the structure of the equation of motion is determined based on a preliminary analysis of the system topology. The dependent and independent variable sets are determined using the generalized coordinate partitioning approach. The solver integrates both dependent and independent variable sets and the kinematic constraints are enforced. The input states to the integrator represent the first and second time derivative of the joint variables of the bodies in the main system and the FB. The output states are the joint displacements and the joint velocities of the bodies in the main system and the FB. The following summarizes the structure of multibody dynamic simulation recursive algorithm including the chain drives.
Using the joint variables returned from the integrator, the Cartesian displacements, velocities, and accelerations are calculated. Forward evaluation scheme is utilized (starting from the root body to the descendent/branch bodies).
The Cartesian displacements, velocities, and accelerations of the chain links are calculated.
The generalized coordinate portioning technique is applied to determine the sets of independent and dependent variables.
The internal and external forces are calculated and applied to the different bodies in the main system.
Process of the chain links:
the bushing forces between chain links are calculated in the Cartesian coordinate system and added to the link external force vector;
the contact forces between chain links and sprockets and guides are calculated in the cartesian coordinate system;
the link-sprocket contact forces are added to the external force vector of the link and the sprockets, respectively.
Transform of the inertia matrices into global coordinate system.
Calculation of the inertia forces, centrifugal and Coriolis forces in Cartesian space.
For all the chain links, the inertia matrix, the centrifugal and Coriolis forces, and the external forces are transformed into the global local coordinate system.
Propagation of the external and inertia forces from the descendent bodies into their parents.
Projection of the Cartesian forces into the body joint space.
Factoring the mass matrix based on the independent and dependent variables sets.
Calculation of second derivatives of the joint variables.
Inversion of the chain links (floating body) mass matrix and calculation of the body second derivatives.
Sending the states to the integrator.
Appending the chain links states to the main system states and sending it to the integrator.
This algorithm utilizes a predictor-corrector explicit integrator with variable-order interpolation polynomials and variable time step [28, 30]. This explicit integrator insures the stability of the solution and the ability to capture the high-speed impacts between the different machine parts.
5. Numerical Example
The following example demonstrates the results of the proposed approach. The example represents a bicycle chain with 56 pin links and 56 roller links. The bike model is comprised of front drive sprocket (DS), wheel sprocket (WS), the lower idler sprocket (LIS), and the upper idler sprocket (UIS). The connectivity graph of the system is shown in Figure 10. To demonstrate the chain dynamics, the bicycle chassis is assumed to be fixed at the ground inertial frame of reference. The DS, WS, and the derailleur are attached to the chassis with revolute joints. The lower and upper idler sprockets are attached to the derailleur with revolute joints. All the chain links are referenced to the ground with full 6-DOF joints (floating bodies). The details of the sprockets design and locations are listed in Table 1. It should be noted that the DS attachment position is offset from the WS attachment position by 30 mm in the lateral
Characteristics of the bicycle chain sprockets system.

Connectivity graph of the bicycle chain and the drive system.
A kinematic driver is applied to the driving sprocket ramping up the speed from zero to 1 revolution per second in 3 seconds, as shown in Figure 11. A spline curve is used to smoothly ramp up the sprocket velocity and avoid high jerks. This resulting bicycle speed can be considered as slow speed for a beginner rider who can achieve approximately 10 km/hr on a 26″ bike.

Speed of the drive sprocket.
In order for each link to complete one cycle, it will have to travel a distance of 1.422 m around the sprockets. After the drive sprocket reaches its maximum speed, the link forward speed will be averaged around 0.293 m/s. Each link will require about 5 seconds to complete one revolution. Figures 12 and 13 represent the acceleration and forces results of link 1, shown in Figure 2, as it moves two complete revolutions from its initial position. Figure 12(a) shows the link lateral acceleration as the sprocket speed increases from zero to maximum and after reaching a steady state. It could be seen from the Figure that the link vibration occurs in repeated pattern with time period of about 5 seconds. Figure 12(b) shows FFT of the link lateral acceleration after reaching the maximum speed. It can be seen that the dominant amplitudes peaks occur at multiples of 23 which is the number of teeth in the driving sprocket. The main reason for that can be explained by the lateral position shift between the front and rear sprocket. In the rare section of the mechanism, the three sprockets are in one plane and this configuration forces the chain links to move in the plane containing these sprockets. As the links pass this zone and approach the front driving sprocket, they engage with the driving sprocket teeth. The links then align themselves in the driving sprocket's plane. This action generates high bending moment around the vertical axis causing out-of-plane vibration. This vibration wave travels across the chain each time a link engages with the sprocket leading to the peaks that correspond to the number of front sprocket teeth.

Lateral acceleration of link 1.

Bushing forces in the chain as the driving sprocket speed is ramping up from zero to maximum.
The axial tension force in link 1 during the simulation is shown in Figure 13(a). It could be noted that during the startup period, the tension force is high. After the bicycle speed reaches the steady state, the tension force settles around lower amplitude and becomes periodic as shown in Figure 13. It should be noted that the tensile forces are always positive. The lateral shear force in the link bushing element is shown in Figure 13(b). It should be also noted the sign of the force changes depending on the link location along the chain as shown in Figure 13.
Figure 14 shows the bushing force vectors between the chain links at different instants of time after the sprocket reached the maximum speed. It should be noted that the dominant component of force vector is the tensile force along the chain length except where the chain is in contact with the sprockets.

Changes in the bushing force vectors in the
Figure 15 shows the bushing force vectors in space after the sprocket reached the maximum speed. It should be noted that the dominant components of force vectors do not change significantly with time. However, the minor changes in the force vector components are due to induced out-of-plane vibration. The out-of-plan vibration could be damped out by increasing the artificial damping in the bushing parameters.

Changes in the bushing spatial force vectors.
6. Summary and Conclusions
This paper proposed a simple approach to include large chain dynamics into joint-based multibody system formulation. Each chain link is represented by a body with full 6-DOF to capture the exact link dynamics and allow out-of-plane motion. As the chain links are not kinematically coupled to the other bodies in the multibody system, it was noticed that there will be no inertia projections associated with their coordinates. For this reason, it was easy to separate those bodies from the system kinematic chain. The equation of motion of the chain links was formulated in the link coordinate system without including them in the system spanning tree. This approach resulted in significant reduction in the depth of the system spanning tree and problem dimensionality. The resulting mass matrix was significantly smaller. Euler parameters were used to represent the link orientation. A velocity feedback was used to eliminate the violation in the Euler parameters constraints without introducing algebraic constraint equations.
A complaint model was used to represent the connection between the adjacent chain links. The joint forces can be easily calculated without using Lagrange multipliers. The out-of-plane misalignment between the different sprockets can be easily modeled. Both in-plane and out-of-plane vibration of the chain can be easily captured. The contact between the chain links was modeled using a full geometric description of the sprocket tooth. The proposed approach can allow as many sprockets as the designer needs.
The proposed approach show significant numerical stability and computational efficiency. Through the application of the proposed approach, it was shown that the significant dynamics of the chain components easily captured and the contact problem is characterized. Ride and shift quality, contact forces, wear prediction, and noise emission are typical problems that can be easily investigated using the proposed modeling approach.
Conflict of Interests
The author declares that there is no conflict of interests regarding the publication of this paper.
