Literature DB >> 35498266

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

Audun D Myers1, Joshua R Tempelman1, David Petrushenko1, Firas A Khasawneh1.   

Abstract

The double pendulum is a system that manifests fascinating non-linear behavior. This made it a popular tool in academic settings for illustrating the intricate response of a seemingly simple physical apparatus, or to validate tools for studying nonlinear phenomena. In addition, the double pendulum is also widely used in several modeling applications including robotics and human locomotion analysis. However, surprisingly, there is a lack of a thoroughly documented hardware that enables designing, building, and reliably tracking and collecting data from a double pendulum. This paper provides comprehensive documentation of a research quality bench top double pendulum. The contributions of our work include (1) providing detailed CAD drawings, part lists, and assembly instructions for building a low friction double pendulum. (2) A new tracking algorithm written in Python for tracking the position of both links of the double pendulum. This algorithm measures the angles of the links by examining each frame, and computes uncertainties in the measured angles by following several trackers on each link. Additionally, our tracking algorithm bypasses the data transmission difficulties caused by instrumenting the bottom link with physical sensors. (3) A derivation of the equations of motion of the actual physical system. (4) A description of the process (with provided Python code) for extracting the model parameters-e.g., damping-with error bounds from physical measurements.
© 2020 The Authors.

Entities:  

Keywords:  Double pendulum; Occlusions; Pendulum; Tracking

Year:  2020        PMID: 35498266      PMCID: PMC9041261          DOI: 10.1016/j.ohx.2020.e00138

Source DB:  PubMed          Journal:  HardwareX        ISSN: 2468-0672


. Mechanical Engineering Nonlinear Vibrations Computer Vision Double Pendulum Benchtop Experiment

Hardware in context

The double pendulum is widely used in education, research, and applications. For example, the double pendulum is a staple benchtop experiment for introducing and studying chaos and state transitions. It has also been used to study chaos both experimentally [1], [2], [3] and numerically [4], [5]. The double pendulum was successfully used as a modeling tool in robotics and bio-mechanics applications. Specifically, a double pendulum model has been used to analyze the control aspects of a driven cart robot [6], flexible arm robotics [7], and shipboard cranes [8]. The double pendulum has also been used as a simple experiment for chaos [9], [10] and position [11], [12] control applications. Outside of robotics, the double pendulum has been leveraged to model animal and human dynamics via an analysis of the locomotion of the human leg swing [13], gait dynamics [14], and even the golf swing [15]. The double pendulum has also been used to test model discovery algorithms due to its complicated and rich dynamics [16], [17], [18]. Despite the popularity of the double pendulum, a thorough process for double pendulum manufacturing and the subsequent data collection and analysis is still lacking. For example, in the double pendulum experiment repository by Andrzej Morawa and Karol Strama [19], an experimental design is proposed for tracking each link via video data for a wooden double pendulum. However, both the design and the tracking algorithm are limited to motion without occlusions such that the lower link does not complete any full rotations or go behind the upper link. This significantly limits the applications for their experimental design. Additionally, a manufacturing process is not provided, which also makes replicating their experiment difficult. For another example, Schmidt et al. [16] developed a double pendulum tracked with video data which could have a full range of motion, but they had to omit frames where the trackers were occluded. This limited the amount of information available from an experiment. As a further limitation, many designs found commercially or in the literature do not try to maximize the amount of time the system is in motion. This results in very short time series consisting of pieces with different dynamic behavior that cannot be used to study the underlying rich dynamics. In this work we address this issue by providing a comprehensive, open-source design document for manufacturing, operating, and collecting high-quality double pendulum data. The main tool for data collection relies on instrumenting the pendulum with reflective markers and capturing their motion with a high-speed camera. However, we include in our design an optional encoder for the top link that we used for validating the tracking algorithms.

Hardware description

The double pendulum (see Fig. 1) we present in this paper is a research quality benchtop experiment for studying dynamical systems and chaotic behavior. The design used provides low friction through minimizing the number of needed bearings, and utilizing low-friction skateboard bearings.
Fig. 1

CAD rendering of bench top double pendulum with emphasized key components.

CAD rendering of bench top double pendulum with emphasized key components. This experimental design has two methods for tracking: (1) an (optional) encoder coupled to the upper link for measuring the angular displacement, and (2) video tracking of reflective markers for measuring the angular displacement of both the upper and lower links. The encoder data allowed us to validate the tracking algorithm, but it is not required. We stress that the tracking algorithm, which utilizes Open Source Computer Vision Library (OpenCV) deals with difficult targets due to the double pendulum nonlinearity, and the occlusions caused by some of the markers on the bottom link passing behind the top link. The following is a summary list of key descriptions of the double pendulum: Research quality double pendulum for studying dynamical systems and chaos with a low friction coefficient. The simple design allows for easy reproduction, and enables convenient, accurate, and reproducible calibration curves when using the optional encoder. The details of a calibration apparatus for reproducible results, which was used for a single pendulum apparatus [20], can be found in [21]. The reflective tracker design allows the reliable tracking of both pendulum arms, which can be validated using the built-in encoder. The tracking algorithm also automatically computes the uncertainty in measuring the swing angles through tracking multiple lines on each link. The described modeling process allows coupling the hardware with its governing equations of motion.

Design files

This section provides descriptions and links to the design files used for both manufacturing and data acquisition. To begin we will first introduce all the manufactured components (see Fig. 2), which will be followed then by a summary of the software used for data acquisition from the encoder and the novel tracking algorithm for non-linear rigid-body dynamics with occlusions.
Fig. 2

Mechanical drawing overview figure for manufactured components.

Mechanical drawing overview figure for manufactured components.

Machined components

The two components which require machining to produce are the upper and lower links of the pendulum (see Fig. 3). Both of these components are made from aluminum 6061, which were manufactured using a CNC machine. However, these 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.
Fig. 3

Mechanical drawing of the machined upper (top figure) and lower (bottom figure) links (items 4 and 6 from Fig. 2). All dimensions are in inches.

Mechanical drawing of the machined upper (top figure) and lower (bottom figure) links (items 4 and 6 from Fig. 2). All dimensions are in inches.

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.
Fig. 4

Mechanical drawing of 3D printed components (dimensions are in inches): (top left and center) 3D printed upper and lower pendulum arm trackers (items 3 and 5 from Fig. 2), top right) encoder mount flange (item 1 from Fig. 2bottom) encoder mount housing (item 2 from Fig. 2).

Mechanical drawing of 3D printed components (dimensions are in inches): (top left and center) 3D printed upper and lower pendulum arm trackers (items 3 and 5 from Fig. 2), top right) encoder mount flange (item 1 from Fig. 2bottom) encoder mount housing (item 2 from Fig. 2).

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.
Fig. 5

Flow chart of electronics used: 24 V DC from power supply to power pendulum encoder, which is recorded using a DAQ and with a high speed camera. The recorded data is then stored directly on a PC.

Flow chart of electronics used: 24 V DC from power supply to power pendulum encoder, which is recorded using a DAQ and with a high speed camera. The recorded data is then stored directly on a PC.

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 . 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 ().
Fig. 6

Double pendulum marker function and node locating. (a) shows the high contrast locations at the markers and (b) shows the location output from using the center of the moment contours from openCV.

Double pendulum marker function and node locating. (a) shows the high contrast locations at the markers and (b) shows the location output from using the center of the moment contours from openCV. 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. 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. 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. 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 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.
Fig. 7

Example process of the two dimensional rigid body tracking algorithm with occlusions using a nearest neighbor scheme for the double pendulum lower link.

Example process of the two dimensional rigid body tracking algorithm with occlusions using a nearest neighbor scheme for the double pendulum lower link. 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

. Repository found at Mendeley.com and titled “Low-cost double pendulum for high-quality data collection with open-source video tracking and analysis” with DOI: 10.17632/7yd2ntbh3w.1 and link https://doi.org/10.17632/7yd2ntbh3w.1. For each design file listed above, a short description is provided: 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.

Bill of materials

. 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.
Table 1

Equipment used for tracking both links of double pendulum.

DescriptionItem NameManufacturerS/N
High Speed CameraFASTCAM Mini UX50Photron10445045947
Personal ComputerOptiPlex 7050DellC2J7XM2
High Speed Lighting KitVarsa V2NilaV0002201
Data Acquisition SystemNI USB-6356National Instruments1C91A61
DC Power SupplyModel 1761BK Precision214F16175
BNC cablesUnknownUnknownNA
Camera LensAF Zoom-NIKKOR 24–85 mmNikonNA
Non-reflective TapeBlack Masking TapeProTapesNA
Reflective TapeUnknownUnknownNA
BackdropBlack Background BackdropIssuntexNA
Camera StandUnknownUnknownUnknown
Equipment used for tracking both links of double pendulum.

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).
Fig. 8

Rendering of assembled base for double pendulum.

Rendering of assembled base for double pendulum. 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.
Fig. 9

Rendering of linkage assembly process.

Rendering of linkage assembly process. 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.508 mm screws (see Fig. 10-A). Once this is done, the shaft of the rotary encoder is connected to a 8 mm6 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–201.5 inch machine screws, thus completing the assembly (see Fig. 10-F).
Fig. 10

Rendering of encoder housing assembly process.

Rendering of encoder housing assembly process. 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.
Fig. 11

Marker design and assembly process. (a) Markers attached to double pendulum (see Section 3 for mechanical drawings), (b) physical setup with tape applied to reflective surfaces of double pendulum, and (c) initial frame of video data showing high contrast between markers and the pendulum and background.

Marker design and assembly process. (a) Markers attached to double pendulum (see Section 3 for mechanical drawings), (b) physical setup with tape applied to reflective surfaces of double pendulum, and (c) initial frame of video data showing high contrast between markers and the pendulum and background. 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 and as described in Appendix B.
Fig. 12

Marker locations. (a) Relative distances between markers and (b) web of relative position vectors for each rigid link.

Marker locations. (a) Relative distances between markers and (b) web of relative position vectors for each rigid link.

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 and ) 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 and for the double pendulum. To further demonstrate the tracking accuracy, Fig. 14 shows both the mean values of and as well as their one standard deviation uncertainties denoted by and , respectively. Additionally, our comparisons with simulated data strongly, albeit not fully, validate the accuracy of tracking . It should also be mentioned that the encoder has a (CPR) value of 1000, which corresponds to an accuracy of .
Fig. 13

Comparison between synchronized encoder and video data of for validation of video data. (left) entire time series of recorded data from both encoder and video data, (top right) zoomed-in section of time series at , and (bottom right) zoomed-in section of time series inclusding one standard deviation error bounds on which was computed using the video data.

Fig. 14

Analyzed video data for and of a free drop double pendulum with associated standard deviation of calculation for and underneath.

Comparison between synchronized encoder and video data of for validation of video data. (left) entire time series of recorded data from both encoder and video data, (top right) zoomed-in section of time series at , and (bottom right) zoomed-in section of time series inclusding one standard deviation error bounds on which was computed using the video data. Analyzed video data for and of a free drop double pendulum with associated standard deviation of calculation for and underneath. 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.
Table 6

Values and uncertainties of system variables

VariableDescriptionObtained withValueUnit
m1Encoder massNot applicableNA[g]
m2Flex couplingSP601 balance22.3±0.1[g]
m3,1Bearing inner raceSP601 balance2.9±0.1[g]
m3,2Bearing ball spacerSP601 balance0.2±0.1[g]
m3,3Bearing ballSP601 balance0.3±0.1[g]
m4Upper shaftSP601 balance30±0.5[g]
m5Upper armCalculation132±2[g]
m6Lower shaftCalculation3.8±0.2[g]
m7Dowel pinManufact. spec.2.7±0.2[g]
m8,1Bearing inner raceSP601 balance2.9±0.1[g]
m8,2Bearing ball spacerSP601 balance0.2±0.1[g]
m8,3Bearing ballSP601 balance0.3±0.1[g]
m8,4Bearing outer raceSP601 balance6.5±0.1[g]
m9Lower armCalculation116±2[g]
m10Upper trackerSP601 balance0.2±0.1[g]
m11Lower trackerSP601 balance0.3±0.1[g]
m12Upper arm tapeSP601 balance0.7±0.1[g]
m13Lower arm tapeSP601 balance0.6±0.1[g]
r¯4Top pivot to set screwCalculation4.0±0.5[mm]
uTop to bottom pivotCalculation171.9±0.3[mm]
r¯5Top pivot to bar 1.Calculation86.0±0.2[mm]
r¯9Bottom pivot to bar 2Calculation71.5±0.4[mm]
I1Encoder inertiaManufact. spec.2000±200[g·mm2]
I2Flex couple inertiaSolidWorks1100±5[g·mm2]
I3,1Inner race inertiaSolidWorks103[g·mm2]
I3,2Ball spacer inertiaCalculated40±20[g·mm2]
I3,3Bearing ball inertiaSolidWorks0.4[g·mm2]
I4Upper shaft inertiaCalculated242±4[g·mm2]
I5Upper arm inertiaCalculated470000±9000[g·mm2]
I6Lower shaft inertiaCalculated12±1[g·mm2]
I7Dowel pin inertiaCalculated61±2[g·mm2]
I8,1Inner race inertiaSolidWorks103[g·mm2]
I8,2Ball spacer inertiaCalculated2.5[g·mm2]
I8,3Bearing ball inertiaSolidWorks0.4[g·mm2]
I8,4Outer race inertiaSolidWorks544[g·mm2]
I9Bottom bar inertiaCalculated245000±5000[g·mm2]
I10Upper trackerSolidWorks4±1[g·mm2]
I11Lower trackerSolidWorks9±1[g·mm2]
I12Upper arm tapeSolidWorks2500±200[g·mm2]
I13Lower arm tapeSolidWorks1300±200[g·mm2]
dIInner race diameterCalipers11.062±0.002[mm]
dBBearing ball diameterCalipers3.932±0.002[mm]
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.
Table 2

Non-conservative damping models used for estimating damping in experimental double pendulum.

Damping ModelDamping MomentEnergy Loss
ViscousMv=μvϕ˙Ev=0tMvϕ˙dt
QuadraticMq=μq|ϕ˙|ϕ˙Eq=0tMqϕ˙dt
CoulombMc=μcNrsgn(ϕ˙)Ec=0tMcϕ˙dt
Non-conservative damping models used for estimating damping in experimental double pendulum. While the viscous and quadratic energy losses can be calculated using the collected data for and , 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
Fig. 15

Reduced double pendulum model for two simple, symmetric links and the free body diagrams for the (a) upper and (b) lower links.

Reduced double pendulum model for two simple, symmetric links and the free body diagrams for the (a) upper and (b) lower links. The acceleration of the Center of Gravity (CG) of each link is calculated by taking the second time derivative of their positions given by and for the upper and lower links, respectively. This results in mass center accelerations Next, the reaction terms in the upper and lower joints 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 forceswhere 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 aswhere m as the radius of the upper and lower shafts and coulomb damping constant with the superscript denoting which joint/link the constant or energy loss belongs to, respectively. The energy loss for viscous damping is calculated aswhere and are the viscous damping constants for the upper and lower links, respectively. Lastly, the energy loss for Quadratic damping is calculated aswhere and are the quadratic damping constants for the upper and lower links, respectively.
Table 4

Approximate Simplified double pendulum parameters (see Fig. 15).

ParameterValue
m10.311 kg
m20.111 kg
d10.079 m
d20.071 m
10.172 m
20.143 m
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), (5), (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.
Fig. 16

Zoomed-in section of the energy profile between experimental and simulated energy loss at beginning of drop.

Fig. 17

Damping parameter optimization results for three trials of the free-drop double pendulum.

Zoomed-in section of the energy profile between experimental and simulated energy loss at beginning of drop. Damping parameter optimization results for three trials of the free-drop double pendulum. 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 , and 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 of the energy was dissipated through the upper link and bearing, while only 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 (Fig. 18, Fig. 19).
Table 3

Optimized damping parameters with associated uncertainty (one standard deviation) from three trials.

ParameterValueUncertainty (±σ)
μv(1)1.76E-053.42E-07
μq(1)1.43E-057.24E-07
μc(1)1.91E-046.05E-07
μv(2)5.08E-063.89E-07
μq(2)0.00E + 000.00E + 00
μc(2)4.44E-053.46E-07
Fig. 18

Double pendulum reference angles and datum.

Fig. 19

Schematic of the ball bearing used (the retainer ring is not shown).

Optimized damping parameters with associated uncertainty (one standard deviation) from three trials. Approximate Simplified double pendulum parameters (see Fig. 15). Double pendulum reference angles and datum. Schematic of the ball bearing used (the retainer ring is not shown). 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.
Hardware nameResearch Quality Double Pendulum
Subject area

Mechanical Engineering

Nonlinear Vibrations

Computer Vision

Hardware type

Double Pendulum

Benchtop Experiment

Open source licenseGNU General Public License Version 3
Cost of hardware$591
Source file repositoryhttps://doi.org/10.17632/z4hvxjgtbz.2
Design filenameFile typeOpen source licenseLocation of the file
Double_Pendulum_CAD.zipSolidWorks CAD (.sldprt and.sldasm)GNU GPL v3Mendeley.com (see below)
simple_DAQ.mMATLAB code (.mat)GNU GPL v3Mendeley.com (see below)
RBT_occ.pyPython code (.py)GNU GPL v3Mendeley.com (see below)
DP_free_drop_video.mp4Free drop video (.mp4)GNU GPL v3Mendeley.com (see below)
Encoder_Data.zipEncoder data (.mat files)GNU GPL v3Mendeley.com (see below)
Video_Tracking_Data.zipAnalyzed video data (.npy and.csv)GNU GPL v3Mendeley.com (see below)
DesignatorComponentNumberCost per unit ($)Total cost ($)Source of materialsMaterial type
Post ClampNewport 340-C18484NewportMetal
Post PlatformNewport 300-P1217217NewportMetal
Precision RodMcmaster 6112K44177Mcmaster CarrMetal
608 BearingMcmaster 6661K122918Mcmaster CarrMetal
Pan Head Cap Screw 8–32-0.5Mcmaster 6661K122918Mcmaster CarrMetal
Plastic WasherMcmaster 90295A310177Mcmaster CarrMetal
13–20-1.5 Machine ScrewMcmaster 92196A70611010Mcmaster CarrMetal
Slotted Spring PinMcmaster 97161A21211111Mcmaster CarrMetal
E-Z LOK InsertKnurled Press Insert 24011313GraingerMetal
Rotary EncoderMCD-AVP02-0412-R060-CRW1200200ElectronicPosital
Aluminum 6061Mcmaster 8975K518236Mcmaster CarrMetal
Encoder MountEncoder Mount1AmazonPolymer
Encoder Mount FlangeEncoder Flange1AmazonPolymer
Table 5

Angular velocity expressions for the two bearing configurations shown in Fig. 20. Configuration one is the one used in this paper.

configuration 1configuration 2
ωCdI2dBϕ˙1-dI+2dB2dBϕ˙2dI2dBϕ˙2-dI+2dB2dBϕ˙1

ωDdI2dI+dBϕ˙1+dI+2dB2dI+dBϕ˙2dI2dI+dBϕ˙2+dI+2dB2dI+dBϕ˙1
  3 in total

1.  Distilling free-form natural laws from experimental data.

Authors:  Michael Schmidt; Hod Lipson
Journal:  Science       Date:  2009-04-03       Impact factor: 47.728

2.  Dynamics and regulation of locomotion of a human swing leg as a double-pendulum considering self-impact joint constraint.

Authors:  Y Bazargan-Lari; M Eghtesad; A Khoogar; A Mohammad-Zadeh
Journal:  J Biomed Phys Eng       Date:  2014-09-01

3.  Sparse identification of nonlinear dynamics for model predictive control in the low-data limit.

Authors:  E Kaiser; J N Kutz; S L Brunton
Journal:  Proc Math Phys Eng Sci       Date:  2018-11-14       Impact factor: 2.704

  3 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.