You are on page 1of 20

Razzle Dazzle

Senior Design Group #6
Design Review II

Anthony Limani
Adriana Mulla-Carrillo
Arya Popescu
Youssef Saafan
Ryan Zimmerman
1

Table of Contents

Executive Summary 2

Introduction 2

Concept Generation & Selection 2

Final Concept Description 3

Literature Search 3
Patent Search 3
Journal Search 3
Internet Search 4

Specifications & Parameter Analysis 5
Controls Analysis 5
Component Justification 8
Motor 8
Track 9
Cart 11
Encoders 12
Speed Controller 13
Supporting electronics 13
Limit Switches 14
Budget 14

Problems & Pitfalls 15
2

Executive Summary
Building an inverted pendulum is a complicated controls and design problem. We aim to build an
inverted pendulum experiment for Columbia MechE majors that will allow students to learn about
different types of control systems and experiment with various parameters. The apparatus consists of a
free-swinging pendulum over the full 360 degrees mounted on cart riding on a linear track. There are
sensors for the angle of the pendulum and position of the cart. A motor moves the cart and thus keeps the
pendulum upright. A graphical interface allows the user to configure the algorithm that keeps the
pendulum upright, thus showing them the various benefits and drawbacks of various control systems in a
hands-on setting.

Introduction
An inverted pendulum is a classic physics problem, yet building one is a classic controls problem.
Being unstable nonlinear system with a single input and multiple outputs makes the inverted pendulum an
interesting controls problem. Historically, it has served as a benchmark for the performance and
effectiveness of a particular control techniques. Examples of practical applications include rocket flight
control, segways, robotic arms, or a human standing upright.
While there are several variations and levels of complexity to inverted pendulum systems, we will
be dealing with a system that has only two degrees of freedom (horizontal position of the carriage and
angle of the pendulum). Our project deals with tackling this controls problem in a way that will enable us
to teach some basic controls to undergraduate students. Our goal is to build and control a pendulum that
can balance vertically, in unstable equilibrium while centering itself on a track. Other higher levels of
success would be to add weighted objects to the end of the pendulum, to be able to balance when starting
from the down position, and in an extreme case, add a second link to the pendulum.

Concept Generation & Selection
In the process of reaching a final design, we went through many different ideas. The inverse
pendulum is a project that has been done before, so we knew the basic type of design that we wanted. The
basic concept was a cart with a pendulum hanging off the side, that moves along a track by the power of a
motor, and driven by a belt of some sort.
From our basic concept our first thought was to manufacture our own track system and cart. We
went so far along this path that we had already finished a final CAD assembly with all of our parts in it.
However, design review 1 brought to our attention the possible trouble we would have with keeping the
two rods that made up the track of our design parallel, and at a constant distance from each other. If our
rods did not fulfill these two basic conditions, it would be impossible for the cart to move smoothly along
our track system. After accepting these limitations we decided to look into track systems available for sale
commercially. After looking through these options, we came to realize that the commercially available
track systems did not cost a great deal more than what it would have cost for us to fabricate our own, and
they were likely to be far more reliable.
When we were still considering manufacturing the entire track system, we also made plans to
fabricate our own cart. This cart was to be made out of aluminum so as to be as light and sturdy as
possible. As will be further illustrated in the cart section of this report, the concern for durability was
unmitigated. We redesigned our cart using the extremely versatile 3D printing method instead, since
durability was no longer a major concern.
3
We were planning on using a PID controller for our inverse pendulum, but it didn’t turn out to be
stable enough. Instead we decided to use pole placement in order to control our inverse pendulum.

Final Concept Description
The concept we selected to pursue was an inverted pendulum because of our interest in tackling a
complex controls problem. The inverted pendulum is not a new concept, in fact it is a staple of many
physics problems. The pendulum we will design will be used in future undergraduate laboratory
experiments as an example of implementation of feedback control loops.

Literature Search
Patent Search
The patent search process started out with a keyword search for inverted pendulums. This
actually yielded some great results of patents for inverted pendulums on linear tracks. However, these
promising patents were in Korean, so we kept searching for more patents in English. The next category
searched was G05B11/0 (physics instruments controlling or regulating a system through electronic
means). This category search did not yield relevant results, as the types of systems being controlled in
these patents varied widely from power plants to water systems, and voltage control.
We went back and tried a new keyword search, specifically for balancing robots. In this search we
found a reconfigurable balancing robot which was a little closer to what we were looking for. This led to
the category search in B60L2200/16 (Transporting vehicles with electric propulsion with a single axis).
In this category we found two patents with high relevance to our inverted pendulum project.
The first patent is for a self balancing ladder and camera dolly1, which utilized balance control in
a feedback loop to keep a ladder in place for someone climbing it. This is, essentially a large scale
inverted pendulum. While the design in this patent is not constrained to a track, the control system is well
detailed, and it uses a small angle approximation approach that we will be using for our control system.
The second patent that was relevant from this category search was for an inverted pendulum
moving apparatus and its accompanying control system2. This apparatus is also an inverted pendulum,
however the control system in this design is more complex than we anticipate ours being because the
patented apparatus detects the ground condition and moves to balance accordingly. We will not need to
go into this level of detail, but this patent is useful to our project because of the control system that is
explained in the patent.

Journal Search
In our journal search we found numerous papers related to the controls aspect of our project.
Being that this is a classic controls problem, most papers focused on a more accurate/efficient control
system than those previously studied. These papers were extremely helpful in introducing us to various
methods and approaches to stabilizing an inverted pendulum system. When looking at all the various
methods, we tried to focus more on simpler techniques that could be understood with just the basics of
control theory. The following are some of the papers that we found most applicable in exploring this
problem.

1 Kamen, Dean L. et al. “Self Balancing Ladder and Camera-Dolly.” Patent 6915878B2. 12 July 2005.

2 Nakamura, Ryosuke et al. “Inverted Pendulum Moving Apparatus and Control Method Therefor.” Patent
9290109B2. 22 March 2016.
4
A paper titled “A Novel Method to Balance Inverted Pendulum by Angle Sensing Using Fuzzy
Logic Supervised PID Controller”3 discusses a method to balance a carriage balanced inverted pendulum
using a fuzzy supervisor and PID controller. Fuzzy logic is a form of logic that uses degrees of truth
(values between 0 and 1) as opposed to true-false boolean logic (0 or 1). The fuzzy supervisor takes in the
system error and its difference (e(t) & Δe/Δt) and outputs different parameters for the PID controller
(ΔKP, ΔKI, ΔKD). This method proved to be successful as the system did approach a stable state over time.
Another approach to this problem is described by Ming Li from the Wuhan Textile University 4
where a digital double loop PID is used to stabilize the system. The inner PID controller stabilized the
pendulum angle in the desired upright position while the outer loop was used to control the horizontal
position of the carriage. Results from this experiment showed that this was an effective method in
stabilizing the system but only at smaller sampling periods of 50 ms at most. At larger sample periods
such at 100 ms, calculation showed that the system would stabilize but performance was too poor for any
practical real world application. Li’s research concluded that a single loop PID controller would be
ineffective at stabilizing an inverted pendulum but a digital double loop was a cheap and effective
solution.
A.N.K. Nasir et al. compare the performance of a LQR (Linear Quadratic Regulator) and PID
controller when stabilizing an inverted pendulum system. 5 LQR uses a state space representation of the
physical system. This is helpful when dealing with a system with multiple outputs and a single input. This
method replaces an nth order differential equation with a single first order matrix that depends on the order
of the system and number of inputs and outputs. Two coupled PID controllers were used to control the
cart’s horizontal position and pendulum’s angle. While not exactly the same, this approach is similar to
the digital double loop PID previously mentioned. The Ziegler-Nichols method was used to tune the PID
controller. Both methods were successful in stabilizing the system. The LQR had a faster rising and
settling time but a much larger percent overshoot range when compared with the PID. Overall, the LQR
had better performance although both approaches stabilized the system with a zero steady state error.

Internet Search
While the inverted pendulum problem is not a unique one, it is still very much an experimental challenge,
requiring a deep understanding of controls as well as classical mechanics. Cursory internet searches help
us to better understand all of the relevant topics so that we may attempt to create an inverted pendulum of
our own.
During our search, we uncovered a short paper published by MIT 6 detailing a simplistic controls
calculation complete with root locus plots. The paper explains how the placement of the poles and zeroes
results in a stable or unstable system and how to manipulate the poles and zeroes to gain the desired

3 Kumar, S., Agarwal, A. K., Gupta, A., Tripathi, H., & Kulshrestha, P. M. (2011). A novel method to balance
inverted pendulum by angle sensing using fuzzy logic supervised PID controller. Sensors & Transducers, 126(3),
92-100. Retrieved from http://ezproxy.cul.columbia.edu/login?url=http://search.proquest.com/docview/861942601?
accountid=10226

4 Li, M. (2013). Digital double-loop PID controller for inverted pendulum. Sensors & Transducers, 156(9), 324-
329. Retrieved from http://ezproxy.cul.columbia.edu/login?
url=http://search.proquest.com.ezproxy.cul.columbia.edu/docview/1509845928?accountid=10226

5 Nasir, A. (2008-01-01). Performance comparison between LQR and PID controllers for an inverted pendulum
system. AIP conference proceedings,, 124-128.doi:10.1063/1.3008655

6 Lundberg, K. The Inverted Pendulum System [PDF document]. Retrieved from MIT papers:
http://web.mit.edu/klund/www/papers/UNP_pendulum.pdf
5
effect. A textbook7 used in a Stanford class about controls and vibrations, which was discovered via the
same search, details some of the physics involved in the problem and builds the underlying formulas for
velocity, position, linear acceleration, and angular acceleration. Both of these papers were incredibly
useful to understanding our problem and how to approach it.
In addition to finding theoretical information about our problem, we also discovered ways to
simulate the problem with an animation. An article on the Wolfram blog 8 shows some of the equations
used in a sample inverted pendulum simulation and provides some Mathematica source code that we can
use to manipulate our desired variables. This will likely become a valuable tool for us as it will allow us
to experiment with constants more easily and quickly and could potentially be used to develop our
instructional aspect to our design project.

Specifications & Parameter Analysis
Our initial definition of a senior design project helped to dictate some of our design
specifications. We knew that this project would need to function as a somewhat transportable laboratory
experiment, so it would need to be designed to fit well in the Columbia University Mechanical
Engineering Lab. Some of the specifications that we identified for our project were:
● Fit on a Laboratory table (defined more or less by the project guidelines)
● Moving Carriage assembly must be lightweight (influences encoder selection, bearing
selection, required motor power due to weight restrictions)
● The overall design must be able to perform the tasks specified by our chosen feedback
control system.

Because much of our design was dependent on the needs of a control system, we first do a basic
controls analysis of this problem to help further define the constraints of the system.

Controls Analysis
For our controls analysis, we separated the system into two distinct control problems:
● Keeping the pendulum upright
● Keeping the pendulum centered on the track

We first simulated the upright pendulum with the following assumptions:
● The speed of the base of the pendulum with respect to the track is controlled
● There is negligible rotational friction for the pendulum
● The upright pendulum is approximated as a small angle to the vertical, thus sin(theta) =
theta and cos(theta) = 1.

After performing the physical calculations, we ended up with the following parametric equation for the
plant for the upright pendulum control problem (equation for the behavior of the upright pendulum):
s2aθ - bθ = s2X
Where θ is the angle parameter of the upright pendulum and X is the positional parameter of the base of
the pendulum, and a and b are independent parameters that are functions of the length of the pendulum,
the mass and mass distribution of the pendulum, and the gravitational acceleration. The transfer function
of the plant is therefore

7 Mitiguy, P (2009). Control, Vibration, and Design of Dynamic Systems. NA: MotionGenesis

8 A Moylan. (2011, January 19). Stabilized Inverted Pendulum [Web log comment]. Retrieved from
http://blog.wolfram.com/2011/01/19/stabilized-inverted-pendulum/
6
G(s) = s2 / (as2 - b)
We opted for a pole placement solution with parameters k 1 and k2. We obtained the following solutions:
k2 = a(λ1 + λ2)
k1 = aλ1λ2 + b
Where λ1 and λ2 are the chosen placements of the roots in the complex plane. The values of λ 1 and
λ2 are chosen based on the desired settling time of the system and the desired overshoot in the control
system. While in normal circumstances we could choose any settling time and any reasonable overshoot
(or no overshoot at all) as long as the system stabilizes, the length of the track imposes the following
limitations:
● Slower settling time means greater displacement along the track thus risking a bump into
either end limits
● Less overshoot means greater displacement along the track -- if the base of the pendulum
overshoots the tip, the entire pendulum is being decelerated thus moving less overall along the
track.
Thus we need both a fast settling time (which can only be calculated from the requirements of the
second control system, the positional one) and some amount of overshoot. This is an interesting problem
because often overshoot is undesirable in control systems, and is just a necessary evil. Here overshoot is
beneficial.
It is interesting to observe how the two separate control systems’ requirements influence each
other. The parameters of the upright pendulum influence the maximum travel distance for the horizontal
position control system. Conversely, the desired position for the horizontal position control system will
guide the desired value of the angle for the upright pendulum control system.
Based on a very ballpark approximation of the system requirements, making successive
approximations and taking the worst case scenario at every step we were able to perform a back-of-the-
envelope calculation for the minimum requirements of our control system in terms of the required
maximum velocity and acceleration of the base, which will guide the choice of a motor. A complete
calculation is impossible to be performed at this stage due to the fact that the final parameters depend on
the choice of the motor, pendulum, track system, and encoders, which depend upon the final parameters
of the solution thus creating a circular dependency. However taking the worst possible scenario is
possible and easy, and we have obtained the following results based on reasonable assumptions of the
mass of the pendulum system (< 1 lb), the overall mass of the pendulum and belt system (< 2 lb,
excluding motor shaft), the maximum impulse (“bump”) speed that someone might push the tip of the
pendulum with (0.25 m/s) and the maximum permissible travel in one direction after a bump (less than
half of the track length). Thus we have obtained a requirement for at least 22 m/s 2 of peak acceleration for
the base of the pendulum in the worst case scenario, and a maximum velocity of at most 0.5 m/s of the
base of the pendulum in the worst case scenario. This was obtained by applying the formula
θ(t)=θ0 sin(omega*t + phase) e-decay*t/tau
By taking the derivative twice we get formulas for the velocity and acceleration
In this case, we don’t care what the actual angular frequency and the decay of the system are, as
they are dependent upon the control system and we want our assembly to work with any control system
that we might end up going for. We know that the maximum omega (worst case scenario) of the system is
the undamped omega which we got before from analyzing the system. By taking the undamped omega,
assuming worst case scenario initial phase (such that the entire sin or cos is 1) we arrive at our worst case
value of 16*sqrt(2) which is about 22 m/s 2 rounding up. This is an incredibly back-of-the-envelope
calculation and yet by successive worst-case-scenario approximations we got a result that will both (1)
work with our final control system and requirements and (2) be mistake-proof as any mistake in
assumptions or calculations, or any physical complications (friction of the track system, inertia of the
motor, error and aliasing in the angular encoder are unlikely to offset all the other successive worst-case
approximations.
7
Thus our choice of motor was dictated based on these parameters.
Because of our choice for an analog encoder, due to cost considerations, we can create both an
analog and a digital control system. The analog control system will be significantly harder to design
electronically, because of the requirement of the use of analog circuitry, but will be easier to design for
from a controls perspective. Conversely, a digital control system will be significantly easier to design for
electronically, principially requiring the use of a DAC from the encoder and a microcontroller, but it will
be harder from a controls perspective. Thus our choice of analog vs digital control systems, because it is a
very late-game choice, will probably be performed depending on other constraints as they arise or on the
educational purpose of the apparatus.
Below is a potential block diagram for a digital control system for keeping the pendulum upright.

Figure 1: Block Diagram of Feedback Loop
The final control system will be designed using both simulations and approximations, as we have
done above, and by testing the live system to determine its response.
Having completed a basic analysis, we now know that we want to keep the carriage assembly to
around 1 pound of weight, the carriage assembly needs to be able to accelerate at speeds of up to 22 m/s 2,
friction needs to be reduced as much as possible, and we need a motor that can provide the necessary
speed and torque for our carriage. We still operate with the assumption that our working track length will
be 1 meter long.
8
Component Justification
Motor

Figure 2: Motor
The specifications of our motor are largely dependent on the amount of rolling friction we need to
overcome. Our initial calculations for our first track design assumed steel on steel contact for simplicity
and the bearings on which the cart slides were modeled as a single wheel (which in aggregate, they
mimic). Considering the weight of the cart and all objects it would support, and using the coefficient of
rolling friction (looked up for steel on steel contact) we determined that 5616 oz-in of torque would be
needed from our motor in order to move our system. We also ran an FEA analysis in Solidworks to verify
these numbers. Using the appropriate materials and modeling the system as a linear bearing on a rod, we
received an output of 3144 oz-in of needed torque. We therefore decided to look for motors with output
torques near 4000 oz-in. Finding such motors was not difficult, but we also require a motor with high
RPM in order to have a very quick response time from the control systems. Therefore we refined our
search to exclude motors with RPM less than 1000. However, we had great difficulty in finding motors
cheap and small enough. Furthermore, such motors needed more current and voltage than we could safely
apply and had access to.
Eventually, we decided on ordering a pre-made track system and downsizing the cart and
associated components significantly, which resulted in less friction in the system. Data sheets for the track
system in question specify the kind of accelerations they were rated for. Working backwards from the
capabilities of our preliminary control system, we determined that we needed an acceleration of 22 m/s 2
and a torque of around 500 oz-in, which made our search easier. The data sheet for our chosen motor is
displayed below. It is both powerful and fast enough for our application and can be used with a reasonable
12V supply.
9

Figure 3: Midwest Motion Spec Sheet

Track
When considering track options, we initially wanted to machine our own system because we
hoped to be able to achieve a reliable and cheap track to build our system off of. However, when we
started to pursue this at length, looking into linear bearings and shafts, we became increasingly concerned
with the friction that this track might have. In a basic analysis, we determined that a simple two shaft
track system would have a considerable amount of friction (conservative hand calculations indicated 5616
oz-in of torque needed to overcome friction while CAD FEA gave us a more manageable 3144). In
addition, we would have to ensure the two tracks were completely parallel, or risk creating even more
friction for the moving carriage.
This led us to the conclusion that we should investigate purchasing a track system, where
everything could be optimized for the least amount of friction, far better than we could manufacture in
house. One large reason we were hesitant to purchase a track was that it could potentially be very
expensive. Our initial searches revealed that we could purchase a track system for a range from $200 to
$500. Our budget for machining our own track was about $200 initially, so if we could purchase a system
for close to this amount, purchasing a track could be a viable option.
We settled on a linear track and carriage system from Rollon, because it was under $300 as well
as could offer us the desired speed and acceleration we would want to use, and this track had a ball
bearing carriage. We were hesitant to purchase other track systems that did not use ball bearings because
they are not as effective at minimizing friction. This track was also preferable because we could order
any track length we needed.
In making this decision, we looked at the maximum velocity and acceleration for the track, which
were 3.5 m/s and 500 m/s2, respectively. These are around 5 times higher than the 0.5 m/s velocity and
22 m/s2 acceleration needed to achieve a balanced pendulum. Additionally, we were concerned about any
moment (Mx on Figure 3) being placed on the carriage by the additional hardware on the cart (pendulum,
encoder, shafts). A quick calculation for our system revealed that we could potentially be applying 50 Nm
of torque in the Mx direction, but again this is two times smaller than the maximum moment for this rail.
Lastly, we needed to ensure we selected a light carriage option. By opting for the 15 mm rail, we
are using a carriage that weighs 0.14 kg, which will fit nicely within our 1 pound cart limit.
10

Figure 4: Rollon MRTO15W Load Capacities

Cart

Figure 5: Cart Design
11
The track system we selected comes with two parts, the track and slider. The slider is too small to
directly install our hardware on, so it was necessary to design a cart that could hold all of the our
hardware and attach to the slider. The cart was designed based off of the material specifications of the
hardware it needs to carry, the ability to use a timing belt to move, and our self-imposed weight limit.
As can be seen in Figure 4, the design is quite complex because of the specifications we need for
the hardware. The first specification necessary was the placement of the holes in the bottom of the cart for
mounting to the slider. The holes are in a square formation with the side length being 1.02in. The hole that
can be seen on the right side of the cart is the mounting point for the ball bearing that allows the shaft of
the pendulum to rotate. This mounting point for the ball bearing is intended to be an interference fit,
however, in the event that the fit is too loose a ridge was designed to keep the bearings from falling out
and potentially causing damage. On the left side of the cart, a hole was made in order to contain the
encoder. The ridged pattern that can be seen on the side of the cart is the mounting point for the timing
belt. The ridges were specially designed to mesh with the treading of a XL series timing belt. We can get
by without any other attachment method for the timing belt because of this special ridged design. The
extrusion was made longer than necessary so that the opening may be clamped shut, thus preventing
slippage of the belt.
In order to make the cart as light as possible, the cart will be 3D printed in the mechanical
engineering laboratory. Nothing about the cart needs to be particularly strong, since it’s our goal to make
everything on the cart as light as possible. This means that we could afford to make the cart out of the
relatively weak ABS, and as a result, our cart will only weigh about .07 lbs.

Encoders

Figure 6: Posital IXARC Digital Rotary Encoder
Our preliminary design used an optical encoder with 1024 pulses per revolution to track both the
cart’s position and the pendulum’s angular position and velocity. After looking more closely into the
controls of this project, we realized that this would not be sufficient for tracking the pendulum’s position,
so we needed to explore options with higher resolution. This turned out to be a huge cost problem, as we
were looking for high resolution encoders that could also be as light as possible, since the encoder needs
to be placed on the moving cart.
One alternative we considered, after realizing that a digital encoder could run us up to $900
(nowhere near in our budget) was to use an analog encoder, or a potentiometer to do these angular
measurements. We ultimately decided against this, as an analog solution could be quite choppy and
require additional analog to digital converters in our system. This solution was more of a last resort
should we be unable to find a digital encoder in our price range.
We were successful in finding a $300 digital encoder that met our needs very well. We are
utilizing a Posital IXARC digital rotary encoder that will be mounted at the pendulum’s pivot point. This
12
is an absolute encoder that can keep track of its position even after turning the system off, allowing us to
avoid some initial calibration. It weighs roughly 100 g which allows us to keep the total weight of the cart
within our constraint. Furthermore, the Posital IXARC uses an SSI interface. This allows for immediate
data gathering without the need for additional hardware. Other encoders we researched required
additional proprietary interfaces such as Heidenhain’s EnDat.
A second encoder will be used to measure the cart’s horizontal position, allowing us to properly
center it. Requirement for this encoder are far less strict. First off, we are able to tolerate a much higher
error here since being perfectly centered is not critical to the operation of the system and does not hinder
any other functions. Cheaper low resolution incremental encoders will be fairly sufficient for this
application as calibrating the horizontal position of the cart should not present any difficulties. Also, there
is no real weight constraint since this encoder will remain stationary.

Speed Controller

Figure 7: Victor SP Speed Controller
The motor speed controller needs to be able to supply the 60 continuous amps that the motor
supports at 12 volts, the motor’s voltage. Bob had two such controllers that we could choose from and get
it free:
● VEX PRO Victor SP
● VEX PRO Victor 888
Both provide 60 continuous amps at 12 volts as desired. The Victor SP has a higher chop rate
which will provide smoother output to the motor. The Victor 888 allows 150A of surge current whereas
the SP only allows 100A. However, the deadband (the minimum throttle that can be applied to the motor)
of the Victor SP is 4%, which is better than Victor 888’s 5.4%. Ideally our deadband would be 0% but that
is not possible. The Victor SP has excellent linearity whereas we did not find any linearity data for the
888.
Therefore we went for a better chop rate and deadband at the expense of maximum surge current
and chose the Victor SP as our speed controller; it meets all our requirements.
13
Supporting electronics
In order to better communicate with the SSI encoder interface without sacrificing computing
power in the Arduino, we will be using a MAX490EPA+ chip which provides the high rates of
communication between it and the encoder without having to continually switch Arduino pins up and
down, thus reducing the computational workload of the Arduino and allowing it to perform control
systems calculations.
We may also choose to use a dedicated PWM chip to interface with the motor speed controller in
case the dedicated Arduino PWM is not high-resolution enough.
Whenever possible, we will opt for using supporting electronics in order to minimize the
computational load on the Arduino and free CPU time for the control system itself.
For the user interface, we may choose either to communicate with the computer where the student
uses a GUI to select the control system type and parameters, or use a small LCD screen with buttons
where students can achieve the same thing without the need for a computer.

Limit Switches
Normally closed limit switches will be placed on both ends of the track in order to
avoid/minimize potential damage when testing the system. This would also serve as a safety measure if
this apparatus were to be used by other students. Our preferred type of limit switch would be a snap
acting roller lever switch. These switches can be easily mounted to the sides of the track and are available
with various lever lengths and actuator heights. Furthermore, the roller attachment would allow for
overtravel without damaging the actual switch. This is ideal considering that the carriage will undergo
relatively high acceleration before reaching a stable state.
We will also have soft limit sensors placed before the normally closed limit switches in order to
allow the control system to calibrate for the travel range of the track and to allow the control system to
gracefully shutdown in case soft limits are reached without having to cut power to the entire system.

Budget
Our primary concerns are acquiring a high quality bearing for the pendulum as well as a high
quality angular acceleration encoder. Secondary are the motor and the track system. We tried to budget
our funds accordingly while ensuring that we have some room leftover for small spare parts/replacement
parts. Thus far, we have spent ~$1000 on high quality products like the track, motor, and the angle
encoder/bearing, with the motor and encoder being the most expensive products.

Table 1: Budget and weight distribution
Item Quantity Unit Cost ($) Amt. Spent Moving Weight (kg) Total Weight (kg)
Track system 1 277 277 0.14 0.14
Motor 1 349 369 0 0
Pendulum Encoder 1 329 329 0.088 0.088
Position Encoder 1 39.95 39.95 0.1 0.1
Timing Belt (9 ft) 1 26.73 26.73 0 0
Pulleys 2 8.91 17.82 0 0
Ball Bearings for Pendulum 2 5.59 11.18 0.0106 0.0212
Cart (Manufacture) 1 0 0 0.1 0.1

Limit switch 2 0 0

Pendulum Shaft 1 0 0

Total 1070.68 Total (0.45 max) 0.4492
14

Additionally, we are on track to keep the moving carriage weight within our 1 lb goal. Some
weight will be added when we add in wires and shafts, but this will not add a huge amount of weight.

Problems & Pitfalls
Throughout our process, we had to work through a few problems that impacted our decisions for
components. One main issue was keeping within our budget. After we had fleshed out our specifications
for the inverted pendulum and started looking for components to fit our needs, we quickly realized how
expensive quality components could be. Encoders will cost anywhere in the $300 - $900 range, tracks
from $200-$500, motors from $300 - $400, etc. In our search for cost-efficient components, we also ran
into ordering issues with certain companies, which hindered our ability to purchase components we would
have liked. We were able to continue searching and ordered all necessary components.
Our selected motor is capable of delivering ~57A at 12V. This is a considerable improvement
over other motors we looked at, some of which operated at 24 or 48 V. There is still a concern about the
current draw we would need from our motor and whether or not we have access to a suitable power
supply. The mechanical engineering lab has a power supply that we could potentially use, but it will
require some testing once our control system is assembled and ready to run.
Potential problems in the future of our project revolve mainly around the controls component,
since we know that this will involve a lot of trial and error and troubleshooting. Once we have
determined the exact control law for our system, we will need to do a considerable amount of work fine-
tuning the system until we obtain a usable pendulum. Additionally, translating our project into a
laboratory experiment will pose as a bottleneck, as we will need to work on this during our
troubleshooting process. Luckily, we have a large team and anticipate being able to divide up tasks to
keep our project on track.
15

Appendix A
16
17
18
19