Eric Leung, Karthik Srinivasan, Imam Jahan, Joseph Pallan, Andy Vu
University of California, San Diego
Mechanical and Aerospace Engineering
Sponsored by Jorge Poveda, ECE Professor @ UCSD
A Kapitza Pendulum is a rigid pendulum with a vibrating pivot point. Interestingly, by vibrating the pivot point up and down vertically, the pendulum is able to achieve local stability in an inverted position. This means that if the pendulum's angular position is within a certain range from the inverted position (within a pizza slice) then the pendulum will converge to the inverted position. In fact, by vibrating the pendulum's pivot point in different directions, the pendulum is able to achieve local stability at different angles. An example of a pendulum achieving inverted stability through open-loop control is shown in Video 1. The angle of vibration is changed at regular intervals of time and there is no feedback from the system to the controller. The graph of the pendulum corresponding to this open-loop demonstration is shown in Figure 1.
As shown in the graph, the pendulum can remain balanced at 180 degrees or Pi. Hence, it is successfully inverted through the Hybrid-Kapitza Vibrations. However, the open-loop method of inverted stabilization is slow. The goal of this project was to invert and stabilize the pendulum somewhat instantaneously. The aim was to achieve this through closed-loop control which is described below.
Video 1: Open loop interval testing.
Figure 1: Open loop feedback graph.
The team's goal was to optimize the time taken for the pendulum to reach inverted stability. This can be achieved by making the pendulum angle follow the energy potential graph shown below in Figure 2. Before analyzing the energy potential graph, one must understand the different vibration angles that correspond to these energy potentials as shown by the function Psi(q) in Figure 3.
In essence, the closed-loop control algorithm doesn't allow the pendulum to reach the local stability when switching to a vibrational state. It tracks the pendulum angle and switches states again when the pendulum comes close to reaching equilibrium at the primary state. It does this until it reaches the inverted state where the pendulum is allowed to stabilize. This is the fastest way to get the pendulum to stabilize in the inverted position.
Figure 2: Energy Potential graph. (Ochoa, D.E., Poveda, J. I. “On Hybrid Vibrational Control of Kapitzas…”. In Preparation, 2024)
Figure 3: psi(q) function corresponding angles to energy potentials. (Ochoa, D.E., Poveda, J. I. “On Hybrid Vibrational Control of Kapitzas…”. In Preparation, 2024)
Another way to visualize the idea of switching the vibrational state before the pendulum achieves local stabilization is shown in Figure 4. The pendulum is not allowed to reach a gravitational potential gradient of 0 until it reaches -pi or pi (the inverted position). The state is switched when the pendulum angle is around halfway to the equilibrium point.
Figure 4: Gravitational potential graph. (Ochoa, D.E., Poveda, J. I. “On Hybrid Vibrational Control of Kapitzas…”. In Preparation, 2024)
The first part of the process was to select a sensor that could measure the angle of the pendulum. The team considered two methods for measuring the angle of the pendulum.
1) Computer Vision
2) Rotary Encoder
Both sensors were tested to see if they could calculate the pendulum angle despite the high vibrations of the system.
For testing of the computer vision method, a Python script was developed using OpenCV in conjunction with the previous team's code. Using a Logitech 30FPS 720p camera for preliminary testing, we measured large FPS drops when the pendulum vibration frequency increased, as shown in Figure 5 (vibrations getting faster after 130s).
Consequently, it was determined that a specialized machine vision camera would be required to measure the fast oscillating pendulum. Many separate parts of the computer vision process would need to be optimized for the algorithm to accurately determine the pendulum angle. This would include the camera, the serial bus connecting the camera to the GPU, the GPU itself as well as the Python code. All of these would be either expensive or time-consuming to optimize. Furthermore, considering computer vision was not a part of our expertise as mechanical engineers, this method was determined to be too high risk for the project.
Figure 5: Preliminary Computer Vision, frames per second graph (Logitech 720p 30fps Camera).
Figure 6: Preliminary Computer Vision, pendulum angle v.s. time graph (Logitech 720p 30fps Camera).
The encoder was selected keeping in mind that it had to undergo a high degree of vibration while measuring the angle of the pendulum. Preliminary testing included using an AMT-103 by CUI Devices to measure the angle of an acrylic pendulum. After using Arduino interrupts, the encoder produced stable feedback when it was violently shaken by hand. Consequently, the team had high confidence that encoder-based angular tracking was a viable solution to measuring the angular position of the pendulum. Figure 7 shows a picture of the encoder mounted on the hybrid kapitza pendulum.
Figure 7: Hybrid Kapitza Pendulum Design 2 (front view), emphasis placed on encoder.
Finally, the microcontroller selected was an Arduino Due The Due boasts a higher clock speed of 84MHz and all of its digital pins can be used as interrupts These changes allow us to more accurately measure the fast-moving pendulum's angular position. The additional interrupt pins also allow us to measure the angular velocity of the pendulum carriage vibrations for data collection. Figure 8 depicts the final wiring diagram of the system including the Arduino Due board.
Figure 8: Final wiring diagram of the closed-loop Hybrid Kapitza Pendulum.
After this, the control algorithm discussed above was implemented in the Arduino Due. The results of this process are discussed further in the "Final Design" page of this website.
Final Presentation
Poster