.:/ Introduction /:.
In January of 2004, we were assembled together as a team of Electrical Engineering students with the sole goal of making a working Pendubot. We were all acquaintenances of each other on some level, but little did we know how much time we would be spending in each others' company. We went from barely knowing each others' names at the beginning of the semester to spending more time with each other than sleeping. The entire project, especially during our last semester as undergraduate students at Clemson University, was both a stressful endeavour and a welcome relief simultaneously. For the first time in our engineering education, we were forced to spend out-of-class time with fellow engineering students and during those times were able socialize with someone else who thinks like engineers. In the end, we got to know each other very well.
Our Team
The Pendubot
The Pendubot is a two-linked inverted pendulum actuated by a single motor. The links are connected to each other by a rotational joint, and the base of one link is connected to the motor. Control of the Pendubot is available only at the base of one of the links, thus the challenge of the project is to balance the top link by only the bottom link. A computer system, running the QNX Real-Time OS, is the control system of the project.
Figure 1. |
Figure 2. |
|---|
Research
In order for our computer to control the Pendubot, we needed a mathematical formulation that could accurately model our system. From researching online and the class reference material, we came up with the following Euler-Lagrange Equation:
![]() |
Where m1 and m2 represent the mass, c1 and c2 represents the center of gravity, l2 and l2 represent the lengths, and I1 and I2 represents the inertias of links 1 and 2, respectively. By defining the Lagrangian as a state space equation and finding the Jacobian linearization about the straight up, fully inverted position, we are presented with:
![]() |
Which gives us the transfer function representation for the system:
![]() |
Stability analysis of the transfer function by using PD and PID techniques yielded unstable results:
![]() |
We had to resort to pole placement techniques using Matlab.
![]() |
We were able to obtain desirable results:
![]() |

Name: Victor Trac
Name: Tim Smith
Name: John Luke
Name: Matt Moitra
Name: Travis Campbell
Khoa (Ty) Dinh
Figure 1.
Figure 2. 




