Controller Swing-up

Rotary inverted pendulumQuanser SRV02-ET + ROTPEN-E

θ arm
+0.0°
α pendulum
+180.0°
Vm motor
+0.00 V
E pendulum
0.000 J

u = −Kx, K = [−5.26 28.16 −2.76 3.22]

Scope · 10 s

Chris Cross

Electrical Engineering · Control Systems · Iowa State

About

I'm Chris Cross, an Electrical Engineering student at Iowa State University with a minor in Mathematics, graduating in May 2027. The majority of my projects have involved math combined with physical hardware through modeling the system, developing the feedback loop for stability, and then implementing it into physical form.

DegreeB.S. Electrical Engineering

Iowa State University · Minor in Mathematics

GraduationMay 2027

Anticipated

FocusControl systems

State-space design, PID tuning, real-time control, industrial automation

CourseworkControls core

Linear Systems, Automatic Control Systems, Control System Simulation, Signals & Systems, Embedded Systems

ToolsMATLAB · Simulink

QUARC, Python, C, Studio 5000 ladder logic

InvolvementCampus clubs

Vietnamese Student Association, Asian Student Union, Genre Music Club, Dub H

Career objective

When our balance controller was able to lock onto the rotary pendulum and stabilize it, control engineering ceased being theoretical for me. A pole located in the right half plane is a falling pendulum; moving that pole makes it stay upright. This is what I would like my future career to consist of – stabilizing an inherently unstable object.

My preferred field within engineering is control and automation engineering, including designing, implementing, and tuning feedback systems for motion control systems, robots, aerial platforms and programming PLC's that are running actual production facilities. My work on a GuardLogix cell opened my eyes on how many processes in industry require precise and flawless logic execution every single cycle.

Upon graduating, I would like to become a part of a company where I could continue learning from other professionals, gain experience in dealing with physical hardware and develop further in modeling, estimation and implementation fields. Long-term, I would like to see a project through from initial equations all the way to commissioning and explain its working to the users.

today career C feedback: mentors, projects, reflection +−
Closing the loop

Senior Design

PV-ALPHASync

Intelligent Lab Automation & Analytics for Next-Generation Semiconductors

EE 4910 / 4920In progress2026 – 2027

PV-ALPHASync is a two-semester engineering capstone project conducted by Iowa State University students aimed at development of the hardware-software platform for automated semiconductor devices characterization, laboratory instrumentation, and research analytics.

The project combines automated measurements, Python-controlled instruments, cloud data management, and AI-driven analytics to enhance the efficiency and reproducibility of semiconductors research.

Description
An intelligent laboratory automation system which integrates semiconductors characterization, real-time data acquisition, cloud-based data storage, and interactive research analytics. At first, the system will support photovoltaic and perovskite devices characterization.
Problem
Characterization of semiconductors requires a variety of measurements and generation of large amounts of experimental data. Manual data acquisition and independent analytical workflows could reduce efficiency and reproducibility and make it difficult to reveal correlations between process conditions and device characteristics.
Team
Iowa State University Electrical Engineering Senior Design team, cooperating with the Microelectronics Research Center (MRC).
My role
Work on laboratory instrumentation, Python programming and automation, and data processing from experiments. Currently, my tasks involve assisting in the lab, designing automated impedance analyzer measurements, and processing the data on photovoltaics' current-voltage characteristics to calculate their open-circuit voltage (Voc), short-circuit current density (Jsc), fill factor (FF), and power conversion efficiency (PCE).
Skills gained
Python Programming · Instrumentation · Laboratory Automation · Semiconductor Characterization · Data Processing · Hardware/Software Integration · Technical Documentation
Documents
Project Description · Weekly Progress Reports · System Design Documentation · Testing & Validation Results In progress
Big picture
The aim of the project is development of a scalable research platform that unites measurement and analytics and makes it easier for researchers to improve the characteristics of semiconductors.
INPUTSYSTEMOUTPUT sensing / feedback
System overview

Projects

Four examples ranging from theory to physical realization: an unstable pendulum stabilized using state feedback, a quadcopter designed to follow a path, a PLC-based assembly line that sorts and assembles components in real time, and a CMOS wafer manufactured in a clean room.

Rotary Inverted Pendulum Control

Spring 2026EE 4760 · Control System SimulationMATLABSimulinkQUARCQuanser SRV02
Description

A three-lab sequence where a Quanser rotary inverted pendulum is taken from a bare model to a fully functional swing-up and balance controller. We obtained a four-state state-space model (arm angle θ, pendulum angle α and derivatives) using physical and actuator parameters. An open-loop pole in the right half-plane proved that the inverted pendulum is an unstable system without control.

After proving controllability (controllability matrix is full rank 4×4), we developed a state feedback gain K by pole placement via companion-form transform. Desired poles were −2.8 ± j2.86, −30 and −40, and we verified against MATLAB place function. We simulated in Simulink, then compiled with QUARC for real-time hardware operation with a switch logic for balance controller to kick in when necessary. The third lab added an energy-based swing-up controller that properly handed off to the balance controller.

My role

I was a member of the lab group consisting of Drew Bixler, Alex Kopeny and Alex Hardcopf (for swing-up lab the whole lab had six people). I worked on the modeling, controller design via pole placement, Simulink simulation and hardware tests. I also provided the sign convention validation for the model lab – verifying that the counter-clockwise rotation will have positive values on the encoders, just like the mathematical model.

Skills gained
  • State-space modeling of nonlinear electromechanical system; instability from open-loop poles
  • Controllability test, companion-form transformation and pole placement
  • Model validation against hardware: sign conventions, simulations vs. measurements
  • Real-time implementation with Simulink + QUARC and controller switching
  • Energy-based swing-up: measured energy 0.4193 J compared to 0.4199 J from calculations

SoftSplitting lab work in a team, iterating over several sessions and documenting results against requirements.

Resources
  • Quanser SRV02 rotary servo, rotary pendulum module, power amplifier, encoders
  • MATLAB (setup_rotpen.m and other scripts for pole placement), Simulink, QUARC real-time
  • Quanser lab manual, course lectures, lab TA
8.34°Peak deflection · spec 15°
4.28 VPeak voltage · limit 10 V
0.14%PE measured vs. predicted
4States · rank-4 controllable
α θ SRV02 SERVO jωσ PLACED POLES −2.8 ± j2.86 · −30 · −40
Plant + placed poles

Quadcopter Stabilization & Navigation

Spring 2026EE 4760 · Control System SimulationMATLABPythonCrazyfliePID
Description

Two labs on a Crazyflie nano-quadcopter. First, parameter estimation: we flew a scripted routine, logged 19 states (position, velocity, Euler angles and rates, accelerations and the four rotor speeds), mapped rotor PWM to angular velocity (ω = 0.04 · PWM) and set up a least-squares estimate in MATLAB for the moments of inertia and the thrust and drag coefficients. A sixth parameter, rotor inertia Ir, came out at about −1.1 × 10⁻⁷, which confirmed it is negligible in the flight model.

Second, navigation: we tuned PID gains on x, y and z to keep step-response overshoot under 10% (z: Kp = 2, Ki = 0.5, Kd = 0), then flew a multi-waypoint trajectory. Raising Kp by one destabilized the quad almost immediately. Raising Kd by 0.3 still tracked, but the flight was choppier. Finally we configured proximity-sensor obstacle avoidance in Python, setting the trigger distance and retreat velocity.

My role

Member of a four-person team with Drew, Alex H and Alex K, working across the flight script, the MATLAB least-squares estimation, and the gain tuning and avoidance tests. We also changed the flight script to add a slow ascent and descent so the quad landed gently instead of cutting out mid-air.

Skills gained
  • System identification by least-squares regression from logged flight data
  • Finite-difference estimation of angular accelerations (T = 0.1 s)
  • PID tuning against an overshoot spec, and how sensitive stability is to Kp vs. Kd
  • Reading and modifying flight-control Python; safe hardware test practice

SoftDebugging hardware under time pressure, team communication, test planning.

Resources
  • Crazyflie quadcopter, radio dongle, onboard proximity sensors
  • Python flight scripts and PID tuning interface; MATLAB for data and regression
  • Lab manual, padded flight area, course TA
19Logged flight states
6Parameters estimated
<10%Step overshoot
~10⁻⁷Rotor inertia
ω1ω2ω3ω4 xy
Crazyflie · X configuration

PLC Factory Automation Cell

Spring 2026EE 4760 · Control System SimulationStudio 5000Ladder logicGuardLogix 5069-L320ERS2
Description

Design and build in ladder logic on the Allen-Bradley Compact GuardLogix PLC a three-lab version of a conveyor cell which sorts parts, assembles them and discards any that are not complete. Map 17 standard and safety I/O connections between sensors and solenoid actuators, and develop the belt and chain conveyors' start/stop circuit using latches.

Latch inductive and reflective IR sensor states so that plastic rings are ejected into a hopper, while metal pegs continue. Up/down counters limit the hopper queue size to five rings, a rotary solenoid places one ring at a time onto a passing peg. At the discharge, a one-shot and a capacitive sensor latch an "assembled" bit, so that only a single peg or ring is ever rejected. The DCS emergency stop circuit latches the conveyors off, and does not let them restart until the E-stop button is reset.

My role

As a member of a team of four, namely me, Alex H, Alex K and Drew, we were working on the actual cell program and testing its performance. In my case, the hopper counting started before the solenoid physically dropped a ring into the hopper, so the hopper would only ever hold a maximum of four rings. One-second TOF timer not only fixed the issue but also provided the correct timing for the rotary solenoid. We have used latch instead of a full FIFO reject logic and made sure it would never misfire.

Skills gained
  • Ladder logic: XIC/XIO, latches, one-shots, CTU/CTD counters, TOF timers
  • Safety and standard I/O, dual channel stops with fault-present bit
  • Finding race conditions between scan and actuator motion timings
  • Inductive, IR-reflective and capacitive sensing of parts

SoftSafety behavior and testing of deliberate simplified design.

Resources
  • Rockwell Studio 5000; Allen-Bradley 5069-L320ERS2 Compact GuardLogix PLC
  • Conveyor sorting / assembly trainer: conveyors, solenoids, sensors, E-stop
  • Class latch examples, lab manual, course TA
17Standard + safety I/O
5Ring queue capacity
1 sDelay that fixed the race
DCSDual-channel E-stop
STARTSTOPFPCONVEYOR INDUCTIVEIRMETAL METALIRHOP_FULLSORT_SOL
Ladder excerpt · seal-in & sort

CyMOS CMOS Fabrication Process

In progressCleanroomPhotolithographyOxidation / diffusion
Description

Fabrication of a CMOS wafer by cleanroom processing using all six masks: p-well, PMOS source/drain, NMOS source/drain, gate oxide, contact vias, and metal. Each process is recorded on the process traveler along with measurements of the test wafer.

The field and gate oxides are fabricated using wet and dry thermal oxidation. The p-well and both the source/drain regions are fabricated using solid source diffusion of boron and phosphorous, followed by drive in diffusion. The predicted BOE etch times are obtained using calibration of oxide thickness on test wafer before each photolithography process. Aluminum contacts are deposited using e-beam evaporation, while interconnect is patterned by PAN etch forming an ohmic contact.

My role
To be added
Skills gained
  • Semiconductor fabrication process, from wafer preparation till sintering of metal contacts
  • Physics of oxidation and diffusion in determining time and temperature of the processes
  • Photolithography, wet etching (BOE, PAN), etch time prediction
  • Cleanroom procedures and discipline in documentation
Resources
  • University clean room facilities: furnaces, mask aligner, wet benches, e-beam evaporator
  • Six layer mask set, process traveler, calibration test wafer
  • In progress
6Mask levels
2NMOS + PMOS
AlE-beam metal
n+n+ p+p+ p-welln-substrate GATEGATE NMOSPMOS
CMOS pair · cross-section

Skills

Software, hardware and theory I've used in the lab and on projects at Iowa State.

01Software & analysis

  • MATLABModeling · analysis
  • SimulinkBlock-diagram simulation
  • QUARCReal-time on hardware
  • PythonScripting · Crazyflie
  • CEmbedded systems

02Industrial control

  • Studio 5000Rockwell Logix IDE
  • Ladder logicCounters · timers · one-shots
  • GuardLogix PLC5069-L320ERS2
  • Safety I/ODual-channel E-stop

03Controls hardware

  • Quanser SRV02Rotary servo · pendulum
  • CrazyflieQuadcopter platform
  • ArduinoMicrocontrollers
  • SensorsInductive · IR · capacitive
  • SolenoidsSorting-cell actuators

04Concepts

  • State-spaceModeling · controllability
  • Pole placementCompanion form
  • PID tuningStep response · overshoot
  • Least squaresParameter estimation
  • Signals & systemsCoursework
  • CMOS fabricationCleanroom · lithography

Résumé

Your browser can't display the PDF here. Download the résumé.

Reflections

General education

To be added

Cumulative

EE 4910 · Senior DesignFall 20265 pages
Title
A Reflective Journey: Navigating Your Cumulative Experience at Iowa State University
Covers
  • Moving from single calculations to whole systems through control systems and linear systems
  • PV-ALPHASync, the senior design project automating solar-cell data analysis
  • The ethical, economic and environmental side of engineering decisions
  • Learning beyond the classroom: datasheets, documentation, simulation and asking for help early
  • What I'd change, and where I'm headed: controls, automation and robotics
Paper

Ethics

What is an ethical engineer?

CPRE / EE 2320Fall 2025Engineering ethics paper8 pages
Course
CPRE / EE 2320 · Professor Fila · 15 September 2025
Thesis
“An ethical engineer is not simply someone who follows the book, but an engineer who thinks about the moral impact of their job and anticipates the consequences.”
Frameworks
  • Consequentialism → responsibility: weighing who a design's outcomes affect
  • Deontology → integrity: keeping duties like the IEEE Code of Ethics, even under pressure
  • Virtue ethics → empathy: character, and Harris's “non-technical excellences”
Cases
Aiwa's fab-lab safety system, the “Pizza Time” delivery-robot activity, and Bob Blaines refusing to sign off on an airbag design
Takeaway
“To me, an ethical engineer isn't just someone who makes things accurately but someone who designs with purpose, balancing knowledge against compassion and using skills to make good happen in the world.”
Full paper