by Carlos Montesinos and Ricardo Toro
Our philosophy at the Control Systems Laboratory at the University of Illinois is to
teach students through interacting and experimenting with their own designs.
In our lab, we continuously develop experiments to implement the theoretical
concepts learned in class. One of the projects we are currently developing is the
Pendulum Aeronautic Robot (PenAeroBot). This system is an inverted pendulum and
the idea is to control its angle of inclination, propelled by two motors. The robot uses
a digital Proportional-Integral-Derivative (PID) controller to levitate until it reaches
the given set point. Figure 1 shows the first prototype and a block diagram of
the robot's architecture. Throughout this article, we describe how we built the
investigational PenAeroBot and how to implement a digital PID controller. We also
show experimental results of the controller's performance and the design of a more
flexible PenAeroBot platform for teaching controls systems theory.
The Robot's Structure
The PenAeroBot was developed using standard hobby
parts. Table 1 shows a list of all the parts needed to
build it. As shown in Figure 1, the robot consists of a
digital signal processor (DSP), two DC motors, and two
encoders. The DSP is in charge of sampling the encoders,
running the PID controller, and manipulating the
actuators. The motors are oriented 90 and -90 degrees
from the body of the pendulum to maximize the torque
exerted on the system. The encoder mounted on the
pendulum's base provides inclination feedback while the
reference encoder is used to input the desired inclination
Assembling The Robot
Figure 2 shows how to mount the robot.
Components (1) and ( 3) are custom-made parts from
acrylic. The "L" connectors (2) and ( 4) are standard servo
motor brackets. The material and parts may be purchased
from US Plastics ( www.usplastic.com) and Lynxmotion
( www.lynxmotion.com), respectively. The brackets have
a hole in the center allowing the DC motors to screw in,
providing enough support as shown in Figure 3. We used
two AstroFlight motors since they are small, light, and
powerful. We also used these motors because they are
controlled using a custom velocity servo circuit.
The velocity controller takes standard PWM servo
motor signals and translates them into velocity
52 SERVO 02.2009
■ FIGURE 1(a). PenAeroBot First Prototype.