Low-cost double pendulum for high-quality data collection with open-source video tracking and analysis

Graphical abstract

two components could be manufactured from another material or possibly 3D printed if desired. Either way, similar dynamics can still be obtained by matching the mass moment of inertia to the current linkage. More details on the manufacturing of the pendulum links are described in Section 5.

3D printed components
There are a total of four 3D printed components used in the assembly. The first two are the 3D printed tracker markers (see top left and center of Fig. 4). These are 3D printed out of Polylactic Acid (PLA) with 20 percent infill to reduce their mass. The other two components are used to form the encoder and upper bearing housing, which are printed from PLA at 100 percent infill to increase the component stiffness (see top right and bottom of Fig. 4). All of these 3D printed components have their respective dimensions (inches) provided in Fig. 4.

Software
Before going into detail of the software used, it is helpful to provide a simple flow chart of the electronics and data collected systems used in a sample experiment. Fig. 5 shows a 24 V DC power supply to power the pendulum encoder, which is recorded using a DAQ and a high speed camera. The recorded data is then stored directly on a PC. We now introduce the software used to process the data from both the encoder and the video data.

Encoder data acquisition software
The optional encoder data was collected from the data acquisition system (NI USB-6356) using a built in MATLAB Ò NI-DAQmx Toolbox. Example MatLab code implementing the toolbox for recording data from the encoder is provided with a convenient graphics-user-interface. However, the data acquisition from the encoder could be achieved using other software or data acquisition cards-We are only reporting one possible way, and the method that we used. However, for similar accuracy we suggest using an encoder with a Counts Per Revolution (CPR) value P 1000. A discussion of the data collection and calibration of the encoder is also provided in Appendix B.

Tracking algorithm
To analyze the double pendulum using video data, multiple point markers were used to track the angular position of each link with the marker design discussed in Section 5. In summary, the reflective nature of the markers in comparison to the surroundings (see Fig. 6 a) allows using the moments function from the Python computer vision software openCV, which provides the approximate center of each marker. Fig. 6 b shows the output location of each node marked with its respective node number (n 1 ; n 2 ; . . .).
Unfortunately, keeping track of the markers through consecutive frames is not a trivial task. It is made even more difficult by the common occurrence of occlusions with the lower link swinging behind the upper link. While one could simply omit the frames where occlusions occur as done in [16], this causes for a loss in frames that can be valuable in the analysis phase and will be avoided.
Since this tracking problem involves multiple targets, occlusions, and the motion of a rigid body, we refer to it as Multiple Object Tracking (MOT) with occlusions for rigid body dynamics. One of the most common methods for MOT with occlusions is through a Kalman filter, which requires unique characteristics between each object being tracked and a physical model constraint (usually constant acceleration or velocity). Unfortunately, the double pendulum does not adhere to either of those requirements due to its non-linear behavior, which would make implementing one of these existing methods difficult. To circumvent this issue, we develop a new method using a nearest neighbor (NN) algorithm. The NN algorithm obeys the following assumptions.
1. The method needs enough separable nodes visible at all times to distinguish between missing nodes when a reappearance occurs. Therefore, the trackers must have sufficient separation, maximum visibility (or equivalently minium chance of disappearing from the frame during motion). Other than that, if the mapping f of the tracked nodes through the motion (or their deformation if the object is deformable, see the point below) is Lipschitz, the placement of the points is arbitrary. The affine mapping in rigid body tracking is a special case; thus, our tracking algorithm enables tracking more than just rigid body motion. Otherwise, if the mapping of the trackers due to the object motion does not preserve the neighborhood structure, the algorithm can still be used but the user must be careful to choose the locations of the trackers such that initially neighboring points remain neighbors.  2. The targets that are initially neighbors must remain neighbors throughout the motion. such that the nearest neighbor matrix remains constant during tracking. This means that in addition to rigid bodies, deformation of flexible objects can also be tracked, if this condition is satisfied. 3. The algorithm requires the subject to have dynamics in a 2D plane. However, this method could be extended to 3D with a second camera.
While we apply this tracking algorithm for the double pendulum, the algorithm is not application dependent and could be used in several fields of research.
The tracking method first forms an NN matrix when all the nodes are visible (see left-most side of Fig. 7). Then, between frames, the first NN for all nodes in frame t and t À 1 are used to find the updated location of each node between sequential frames. Next, if a node disappears, the NN matrix is modified to replace any reference to that node as a numpy None, and the node that disappeared is appended to a list of missing nodes (see the second configuration in Fig. 7). When a node reappears, the NNs for that node are calculated and compared to the modified NN matrix to find the best matched NN array (column in NN matrix). This reappearance procedure is shown in the two left-most configurations in Fig. 7.
The output of this tracking method is the pixel coordinates of each tracker relative to the frame over the entire video. By using MOT and this NN algorithm, one does not need to discard valuable video frames of the double pendulum's dynamics, which is vital for accurate modeling. This tracking code is written in Python using the CV2 package and operates in approximately real-time for this application. A more detailed description of the data collection and analysis process for the tracking algorithm is provided in Appendix B. The description in Appendix B provides both an error analysis (Section B.2) and the process for translating the marker pixel coordinates to the upper and lower arm angles(Section B.3), which is built into the tracking Python script.
A common alternative to tracking the dynamics of lower pendulum arm(s) is through a wireless slip ring module [22], which introduces more mechanical complexity to the system and requires infrastructure for data transmission. By designing the double pendulum as a MOT problem, we have significantly reduced the mechanical complexity and avoided the signal transmitting problem.
The resulting video and encoder data are provided in the repository for one free drop to allow the reader to examine the data format and run the tracking Python code if desired. Additionally, encoder data and the resulting video tracking data is provided for two more free drops (no video).

Design files summary
.  For each design file listed above, a short description is provided:

Design filename
Double_Pendulum_CAD.zip contains the complete SolidWorks CAD assembly for the experimental double pendulum. STL files can be easily reproduce for the 3D prtined components. The MATLAB code is for the national instruments data acquisition system, which allows for a user to specify the sampling rate and sampling time from a data source. We used this code to record data from the encoder attached to the upper link. The Python code RBT_occ.py is used to take the raw video files and track each of the markers (with occlusions in the lower link) and calculate the resulting angles from each link. DP_free_drop_video.mp4 is a single video of a free drop from the vertical position of the double pendulum. This video was recorded at 1000 FPS and has a size of approximately 7 GB. Encoder_Data.zip contains the recorded encoder voltage output as well as calibration data to translate the voltage output to an angular displacement. This data is provided for all three free drop trials. Video_Tracking_Data.zip contains both csv and npy (Numpy arrays) of the tracking data from the three videos as the mean angular displacement and standard deviation of the angles for both links. Additionally, a Python file is included (load_video_data.py), which is used to import the data into a Python environment. In addition to the bill of materials necessary for constructing the double pendulum, auxiliary equipment is provided in Table 1 such as the power supply and data acquisition box that are necessary to conduct experimental measurements. These auxiliary components do not have to match exactly with the equipment used in this report, however these items should be selected so that they are compatible with one-another.

Build instructions
The construction of the pendulum can be broken into two main categories: Base mount and pendulum links. Of the components in the bill of materials, a majority of the items may be procured through a distributor such as Mcmaster Carr. However, three items (base, upper link, and lower link) are fabricated in house. Before explaining the assembly procedure, a brief explanation of the fabrication for these parts is given.

Fabricated components
The most fundamental components of the double pendulum are the linkage arms. The linkages of the double pendulum are fabricated from aluminum 6061 stock which is 0.25 inches in thickness. The profile of the upper and lower links may be realized with a simple CNC milling machine capable of producing edges at 0.75 inch radius. The upper and lower links both follow this radius of curvature, however their lengths are slightly different (see Fig. 3 for details on dimensions). Three holes are machined into the upper links and two are machined into the lower link. These holes will be of use when affixing the links to one-another and to the base mount. These holes can be produced either with a CNC mill or with a standard drill press. The other fabricated components are produced with polymer 3D printing. This is a relatively straight-forward practice if one has novice experience with a 3D printing machine, and details on the 3D printed components are provided in Section 3 and are summarized in Fig. 4.

Assembly
The assembly process begins by first assembling the base mount of the pendulum. To do this, we start with a Newport 300-P optical post platform, which is secured to a bench top with four machine screws. A Newport 340-RC post clamp is then fastened to the post and it is positioned at least 15 inches above the bench top (see Fig. 8).
Next, we will describe the process for assembling the pendulum links before being connected to the encoder and 340-RC post clamp. This process begins with an 8 mm precision rod that is press fit through the top most hole of both the upper links until the rod end is flush with the outer face of the outer top link (see Fig. 9-A). The opposite rod end is then press-fit into the inner race of a 608 bearing (see Fig. 9-B). The outer race of the 608 bearing is then also press-fit into the face of the encoder mount flange (see Fig. 9-C). Next, a separate 608 bearing is press fit with the 8 mm dowel pin to its inner race, while the outer race is press fit into the top 0.197 inch diameter hole in the lower link (see Fig. 9-D). The lower link is then placed between the two upper links, and the 8 mm dowel pin is press-Fit into the 8 mm holes in the upper link (see Fig. 9-E). Next, a 5 mm detent pin is pressed into the 8 mm dowel pin to lock the dowel position in place (see Fig. 9-F). The double pendulum linkage assemble is now complete and ready to be coupled to the rotary encoder.
The encoder mount is first assembled separately. This construction begins by securing the rotary encoder to the mount housing with four socket head LP M3 -0.50Â8 mm screws (see Fig. 10-A). Once this is done, the shaft of the rotary encoder is connected to a 8 mmÂ6 mm flexible coupling which will eventually connect to the top pivot of the double pendulum (see Fig. 10-B). Next, four 8-32 E-Z LOK threaded inserts are pressed into the four 0.219 mm diameter holes on the face opposite to the encoder (see Fig. 10-C). The 8 mm precision rod which is press-fit with the inner race of the top 608 bearing is then connected to the flexible coupling to form a coupling with the encoder shaft. This action should bring the encoder mount flange to be flush with the face of the encoder mount (see Fig. 10-D). Four 8-32 pan head cap screws with plastic washers are then used to secure the encoder mount flange to the encoder mount via the four 8-32 E-Z LOK inserts (see Fig. 10-E). Lastly, the entire assembly is now mounted to the 340-RC post clamp with four 14-20Â1.5 inch machine screws, thus completing the assembly (see Fig. 10-F).
Trackers were also be added to the double pendulum for video tracking. The two tracker types were manufactured through 3D printing at 20% infill as described in Section 3. Reflective tape is adhered to the front face for improved tracking. However, a colored tape could also be used if recording with a high speed camera with color options. These trackers are attached as shown in Fig. 11-a using a simple epoxy glue. To further improve the reflective contrast of the markers, all reflective surfaces can be covered in either a non-reflective tape and a non-reflective background can be used (see Fig. 11-b). This provides a clear contrast between other surfaces and the markers as shown in Fig. 11-c.
The exact location of the markers is shown in Fig. 12-a. These locations were chosen to allow for the majority of the markers to be visible at all times. This includes when the lower link is occluded by the upper link. These locations were also chosen to allow for a large variety of position vectors between markers for each link. Specifically, a sort of ''web" of relative position vectors can be formed (see Fig. 12-b). This web of relative position vectors is used to calculate / 1 and / 2 as described in Appendix B.

Operation instructions
The operating procedure for the double pendulum is relatively straightforward. However, there are multiple operating configurations which may be explored-depending on the nature of the data desired. For instance, the pendulum can be set to an initial condition manually and then released (as done for sample video and data), or it may be excited in the vertical or horizontal directions using a shaker by affixing the base of the post clamp to the base plate of a shaker. Nevertheless, this paper describes the most accessible scenario: free drops from a set initial condition. The first task which must be performed is a calibration of the rotary encoder. The voltage output of the encoder is linearly proportional to the angle of rotation; therefore, voltage recorded from a series of known rotations can be used to construct the calibration line. A detailed example of this calibration is provided in Appendix B Section B.1.
Once the calibration is complete, the known top angle can be used to confirm that the angular measurements recorded from the encoder are commensurate with what is observed via the high speed camera and tracking algorithm. For our setup, the high speed camera is synchronized with the data acquisition system. In practice, it may be easier to trigger the camera shortly before releasing the pendulum and manually match the encoder data to the pendulum video tracking output. The tracking algorithm uses the reference initial conditions to calibrate the angles, so it is suggested to start the pendulum in the downward configuration (which is defined to be h 2 ¼ 0 and h 1 ¼ 0) and then start a base excitation or free drop experiment. The angle of each link is calculated using this reference position to minimize the measurement error as described in the Appendix B Section B.2. Additionally, a detailed description on how the marker locations in each frame are used to calculate each link's angular position is provided in the Appendix B Section B.3.   A second consideration when operating the double pendulum and recording video data is the spacing between the camera and subject. This spacing should be great enough that the lens does not distort the image if a lens distortion algorithm is not applied. For the camera and software used in this work, a built-in lens distortion correction was used.

Notes on safe use
Potential users of the double pendulum should take note of possible dangers in operating this experimental set up. A brief list of the possible hazards is given below to ensure that safe use is practiced.
The chaotic motion of the double pendulum is nearly impossible to anticipate. At times, all energy in the system is transferred to motion in the bottom link. After releasing the pendulum, users should maintain a distance of at least two feet to ensure that the linkages do not inadvertently strike the user. The user must not stop the swinging pendulum by hand since there may be a large of amount of energy in the swinging pendulum. All electrical components must be properly grounded. This includes the rotary encoder, power supply to the rotary encoder, and auxiliary equipment for the high speed camera Power supply must be turned off when configuring the wiring of the rotary encoder to prevent unwanted shock.

Validation and characterization
This section will be broken into two parts: data validation and pendulum characterization.

Data validation
The tracking algorithm using the video data was validated by cross checking it with the encoder signal, where we considered the latter as the ground truth. The data was collected using free drops from the approximate initial conditions at a sampling rate of 1000 Hz. However, before the comparison could be made, the video and encoder data needed to be synchronized. To do this, we implemented the synchronization software provided by Photron implemented in Photron FASTCAM Viewer 4 or PFV4. Specifically, the add-on DAQ control was used to synchronize the video data to the input channels, including the encoder, on the DAQ. This add-on allows for each frame to be associated with each recording from the DAQ, thus ensuring a direct correspondence between the encoder and the video data. Fig. 13 shows the encoder data overlaid with the video data including two zoomed in sections. The left-hand side of Fig. 13 shows that the encoder and video data are synchronized and have very similar appearance. To better examine the differences between the two data sources, the top and bottom panels on the right side of Fig. 13 further show that the amplitude and synchronization agree very well between the two data sources. Additionally, the bottom right figure shows that the tracking algorithm leads to tight error bounds. This demonstrates that the tracking algorithm is an accurate method for capturing both h 1 and h 2 for the double pendulum. To further demonstrate the tracking accuracy, Fig. 14 shows both the mean values of h 1 and h 2 as well as their one standard deviation uncertainties denoted by rh 1 and rh 2 , respectively. Additionally, our comparisons with simulated data strongly, albeit not fully, validate the accuracy of tracking h 2 . It should also be mentioned that the encoder has a (CPR) value of 1000, which corresponds to an accuracy of AE0:36 . The angular velocity of two pendulum arms were estimated using the finite difference between the angular positions with the change in time know from the constant sampling rate of 1000 Hz. Now that we have validated the tracking algorithm, the next section characterizes the damping mechanisms and determines suitable damping parameter values based on an energy loss approach from a free drop.

Pendulum characterization
The majority of the pendulum parameters were estimated using SolidWorks or through a direct physical measurement. A list of all the measurable component parameters are listed in Table 6 of the Appendix A.
To estimate the optimum damping parameters for the double pendulum simulation, three models were investigated. These models were viscous damping in the bearings, quadratic damping from fluid dynamics, and Coulomb damping in the bearings. These damping models are summarized in Table 2 as moments impeding motion on the upper and lower links respectively.
While the viscous and quadratic energy losses can be calculated using the collected data for / 1 and / 2 , the Coulomb damping expression requires the normal force associated with each joint in the double pendulum. To do this, it is assumed that the double pendulum can be effectively reduced to the simple two-link double pendulum shown in Fig. 15. This assumption should hold true as all of the components of the experimental double pendulum are symmetric about the link and are, approximately, rigidly attached to each link separately. The only exception are the balls in the lower bearing, which move with respect to both the upper and the lower links-see Appendix A Section A.1 for the kinematic analysis of ball bearings. However, due to the inconsequential influence of the small bearing ball masses, we dropped them from the derivation of the normal forces. The joint normal force derivation begins by separately applying Newton's law of motion to the upper and lower links along the x and y directions, see Fig. 15 for the corresponding Free Body Diagram (FBD). The resulting equations are The acceleration of the Center of Gravity (CG) of each link is calculated by taking the second time derivative of their positions given by p 1 ¼ d 1 sin / 1 ð Þ; Àd 1 cos / 1 ð Þ ½ and p 2 ¼ ' 1 sin / 1 ð Þþd 2 sin / 2 ð Þ; À' 1 cos / 1 ð ÞÀd 2 cos / 2 ð Þ ½ for the upper and lower links, respectively. This results in mass center accelerations Next, the reaction terms in the upper and lower joints T x1 ; T y1 ; T x2 ; T y2 À Á can be resolved by applying Newton's law of motion in the x and y directions for both the upper and lower links as shown in Eq. (1). Using these reactions, the magnitude of the normal force was then calculated as for both links, resulting in the simplified normal forces where the other (non-damping) summary parameters used in this calculated are provided in Table 4 of the Appendix A, which were estimated using SolidWorks. By substituting these normal forces into the Coulomb damping expression in Table 2, the energy loss is expressed as where r % 0:008 m as the radius of the upper and lower shafts and coulomb damping constant l i c with the superscript denoting which joint/link the constant or energy loss belongs to, respectively. The energy loss for viscous damping is calculated as where l 1 ð Þ v and l 2 ð Þ v are the viscous damping constants for the upper and lower links, respectively. Lastly, the energy loss for Quadratic damping is calculated as where l 1 ð Þ q and l 2 ð Þ q are the quadratic damping constants for the upper and lower links, respectively. To calculate the actual energy profile of the double pendulum, the energy of each component was considered. For a detailed description of the energy of each component please reference Section A in Appendix A.
Using the energy loss Eqs. (4)-(6), the energy profile was optimized to fit the actual energy profile as shown in Fig. 16. Additionally, a zoomed-in section of the beginning of the energy profile in Fig. 16 shows a general matching between the simulated energy and energy from the data. A possible cause for the imperfect matching of the two energy profiles may be due to the inherent noise in the data collected, which has a more severe effect on the simulated energy profile, as it is dependent on the second time derivative of the angles. The simulated energy profile was matched by optimizing the damping constants for each damping model using the BFGS optimization method. This optimization was done for three trials. The resulting parameter values with their associated uncertainty are shown in Fig. 17.
As shown in Table 3, the magnitudes of the damping coefficients are heavily weighted towards Coulomb damping. This weighting was validated by calculating the percent of the total energy dissipated by each damping method. We found that viscous, quadratic and Coulomb damping account for approximately 9%; 22%, and 69% of the total energy loss, respectively. This concludes that the majority of the energy dissipation is from Coulomb damping in the bearings. Additionally, we calculated that approximately 81% of the energy was dissipated through the upper link and bearing, while only 19% through the lower link and bearing. This result suggests that the encoder responsible for significant energy loss and damping. If it is desired to further reduce the damping effects on the dynamics, it is suggested to detach the encoder and only track the double pendulum using the video tracking algorithm (18 and 19).
We have also provided a complete derivation of the full equations of motion for this experimental design in Appendix A using Lagrange's equation. This facilitates removing elements of the design (e.g. the encoder) from the equations of motion.

Human and animal rights
No human or animal subjects were used in this experiment.

Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.      Kinetic Energy: T 8;1 ¼ 1 By combining the potential and kinetic energies, the total energy as a function of / 1 ; / 2 ; _ / 1 , and _ / 2 is However, to determine the EOM, Lagrange's equation will be implemented, which requires the Lagrangian. The Lagrangian of the system is defined as Lagrange's equations is then applied to the system to for the equation of motion for the upper and lower link as If we now consider the velocity of point P0 on the ball bearing which is in contact with point P at the shown instant, we obtainṽ Using the no-slip condition implies that v P ¼ v P0 , which gives If we now consider the velocity of point C0 on the ball bearing, we can writẽ Point C0 is in contact with point C on the outer race whose velocity is given bỹ Using the no-slip condition between points C and C0 leads to v C ¼ v C0 , which gives Adding Eqs. (15) and (18) gives Substituting the expression for x D from Eq. (19) into Eq. (15) gives The angular velocities of the inner race x A and the outer race x B depend on the double pendulum design. Fig. 20 shows two alternatives: Fig. 20a is the pendulum design we presented in this manuscript with the inner race fixed to the upper link, while the bottom link is attached to the outer race of the pendulum. For the design used in this paper we have x A ¼ _ / 1 and x B ¼ _ / 2 . Substituting these expressions into Eq. (20) and (19) results in In contrast, Fig. 20b shows an alternative pendulum design where the axle holding the bottom link is attached to the inner race giving x A ¼ _ / 2 and x B ¼ _ / 1 . Table 5 shows the resulting x D and x C expressions for each configuration. Additionally, the resulting expressions for the angular velocities are provided in Table 5, where the left column is for the configuration provided in this manuscript and the right is the alternative design.
revolution. This encoder allows for the pendulum to rotate multiple times without exceeding the rotational bounds. The recording rate was set to 500 Hz to sufficiently capture the dynamics of the double pendulum.
The only step needed to analyze the raw voltage data is to calibrate the encoder between angle and voltage. To do this, seven data points were taken at intervals of full rotations from an original downward configuration considered zero position at approximately the 5 V location. At each downward configuration, it is assumed that the angle has no error and thus include the angles / ¼ À1080 ; À720 ; À360 ; 0 ; 360 ; 720 ; 1080 ½ . The corresponding voltage at each downward configuration was then recorded for 3 s at a rate of 500 Hz to allow for the calculation of the mean and standard deviation at each. The resulting calibration points are shown in Fig. 21, which shows a highly linear relationship between voltage and angle. Additionally, a zoomed in point at the positive 360 location shows that the standard deviation of the voltage falls within the 2.5 mV specified uncertainty of the encoder.

B.2. Pendulum error analysis for video data
For simplicity, we will only show the error analysis for the single pendulum as the general rule will apply to both single and double pendulums. For our analysis, we will compare two ways of determining /. The first (see left of Fig. 22) directly measures / from a reference vector v ref , and the second (see right of Fig. 22) uses the change in angle between consecutive frames D/ with / being calculated using the summation of all previous D/ over a total of T frames as / ¼ P T i D/ i . While both methods will work for determining / if there is no noise in the system, it was found that the first method (left side of Fig. 22) avoids a compounding error, which is prevalent even with small amounts of uncertainty or noise.

B.3. Pendulum / measurements using video data
This section describes the reasoning for the method used for calculating the upper link's angle to vertical / 1 and the lower links angle to vertical / 2 of a double pendulum as shown on the right side of Fig. 23. To begin, a node assignment is placed on each marker on the pendulum for reference to which rigid body the node belongs to (see left side of Fig. 23) with the upper link having n 0 ; n 1 ; n 2 ½ 2 L 1 and the lower link having n 3 ; n 4 ; n 5 ; n 6 ; n 7 ; n 8 ½ 2 L 2 . Using the rigid body node assignment, position vectors between nodes for the upper and lower links are calculated as    Bearing ball SP601 balance 0:3 AE 0:1 g ½ m 8;4 Bearing outer race SP601 balance 6:5 AE 0:1 g ½ m 9 Lower arm Calculation 116 AE 2 g ½ m 10 Upper tracker SP601 balance 0:2 AE 0:1 g ½ m 11 Lower tracker SP601 balance 0:3 AE 0:1 g ½ m 12 Upper arm tape SP601 balance 0:7 AE 0:1 g ½ m 13 Lower arm tape SP601 balance 0:6 AE 0:1 g ½ r 4 Top pivot to set screw where only the direction is considered if the source node n i and sink node n j are such that j > i and nodes n i and n j are part of the same link. This is done to avoid repeated vectors that are opposite in direction. Using all the possible vector combinations in each link, the angle between the original position vectorp j=i 0 ð Þ and the configuration at a later timep j=i t ð Þ is used to calculate the angle between the two as / i;j ð Þ L t ð Þ ¼ tan À1 y j=i t ð Þ x j=i t ð Þ À tan À1 y j=i 0 ð Þ where tan is arctan 2 to allow for the correct angle sign for all quadrants. A toy example of this process is shown in Fig. 24 with the vector from node n 3 to node n 4 at time t and t ¼ 0 with a down configuration. This process is applied for all configuration and the mean angle l / t ð Þ and standard deviation r / t ð Þ are calculated calculated as