Benjamin Stephens is a Ph.D. student in the Robotics Institute at Carnegie Mellon University. He is originally from Oklahoma, but received his undergraduate degree in Mechanical Engineering at Northwestern University.

His PhD research, advised by Christopher Atkeson, focuses on the control of balance and push recovery for force-controlled humanoid robots. He is interested in the use of real-time optimal control for robust behaviors in very complex systems. Using his knowledge and experience, he hopes to make legged/humanoid robots more capable of operating in rough and uncertain environments and interacting closely with humans and other robots. He began work at Boston Dynamics in June 2011.

Download my CV here

Download my Ph.D. dissertation here

Research Interests

  • Humanoid Robotics
  • Full Body Balance
  • Force Control
  • Optimal Control
  • State Estimation


Article and videos in IEEE Spectrum, Engadget,, CrunchGear, Wired

Read this interview with my hometown newspaper

Read my Humanoid Balance Research Blog

Follow on Twitter

Robot Videos


Benjamin Stephens, "State Estimation for Force-Controlled Humanoid Balance using Simple Models in the Presence of Modeling Error," Accepted to ICRA 2011 (pdf)

Benjamin Stephens, Christopher Atkeson, "Push Recovery by Stepping for Humanoid Robots with Force Controlled Joints," 2010 International Conference on Humanoid Robots, Nashville, TN. (pdf,ppt, video)

Benjamin Stephens, Christopher Atkeson, "Dynamic Balance Force Control for Compliant Humanoid Robots," Accepted to 2010 International Conference on Intelligent Robots and Systems (IROS), Taipei, Taiwan.(pdf,ppt,video)

Benjamin Stephens, Christopher Atkeson, "Modeling and Control of Periodic Humanoid Balance using the Linear Biped Model," 2009 International Conference on Humanoid Robots, Paris, France.(pdf,pptx)

Christopher Atkeson, Benjamin Stephens, "Random Sampling of States in Dynamic Programming," in IEEE Transactions on Ssytems, Man, and Cybernetics - Part B: Cybernetics, Vol. 38, No. 4, pp. 924-929, August, 2008. (pdf)

Christopher Atkeson, Benjamin Stephens, "Random Sampling of States in Dynamic Programming," NIPS 2007 (pdf)

Christopher Atkeson, Benjamin Stephens, "Multiple Balance Strategies from One Optimization Criterion," The IEEE-RAS 2007 International Conference on Humanoid Robots, Pittsburgh, PA, November 2007 (pdf)

Benjamin Stephens, "Humanoid Push Recovery," The International Conference on Humanoid Robots, Pittsburgh, PA, November 2007 (pdf)

Benjamin Stephens, "Integral Control of Humanoid Balance," The International Conference on Intelligent Robots and Systems (IROS'07), San Diego, CA, October 2007 (pdf)

Other Presentations

"Behaviors for Compliant Robots", Quality of Life Technology ERC Open House, Carnegie Mellon University, March 30, 2011.(ppt)

"Model Predictive Control for Humanoid Balance and Locomotion", CMU Bipedal Locomotion Seminar, Carnegie Mellon University, October 29, 2010.(pptx)

"Balance and Stepping Control for Humanoid Push Recovery", Dynamic Walking 2010, Massachusetts Institute of Technology, July 8-11, 2010. (poster)

"Discrete Mechanics and Variational Integrators", Center for the Foundations of Robotics Seminar, Carnegie Mellon University, March 30, 2010. (ppt)

"Control of Full Body Humanoid Push Recovery Using Simple Models", Thesis Proposal, Carnegie Mellon University, November 23, 2009. (pptx)

"The Linear Biped Model and Application to Humanoid Estimation and Control", Speaking Qualifier, Carnegie Mellon University, June 29, 2009. (pptx)

"Energy-Based Control of Coronal Biped Balance and Stepping," Dynamic Walking 2009, Simon Fraser University, June 8-11, 2009. (poster)

Other Activities

QoLT ERC - I am a member of the Quality of Life Technology (QoLT) Center and served as Communications officer of the Student Leadership Council (SLC) for one year.

QoLT Blog - I contribute to the QoLT Blog.

Allegheny Cycling Association - I served on the board of directors of this non-profit organization that promotes bike races around Pittsburgh.

Carnegie Mellon Cycling Club - I served as President of the cycling club for several years.

Pittsburgh Racing - I contribute to this blog about competitive cycling in and around Pittsburgh.

Steel City Showdown - I co-promote this bike race in downtown Pittsburgh - I started this photoblog using pictures I've taken at bike races.

Useful Software

Dropbox - Automatically sync/share/backup files

Mendeley - Online bibliography management with built in social network

Eigen - C++ linear algebra software, very easy to use and fast

Some Unsupported Research Code*

EQuadProg++ - Slightly modified version of QuadProg++ for quadratic programming using Eigen

LiBMQuad - QP software for doing biped force allocation using QP (uses uBlas)

Weighted Objective Inverse Dynamics - latest code used to perform weighted objective inverse dynamics on the Sarcos robot. Uses Eigen and a bunch of non-included sdfast routines for getting things like Jacobians and mass matrices, but these can be replaced.

Push Recovery MPC - copy of overly fancy C++ MPC code that handles all the multi-threading to perform my Push Recovery MPC (Windows/VisualStudio/Eigen)

SDFast++ - Matlab scripts and code for converting sdfast files to C++ and running from Matlab

Preview Matlab - Matlab examples performing MPC on LIPM-like models

Fast DDP - some very basic and preliminary DDP code using Eigen

Mocap IK - some code that takes mocap marker data and runs a QP-based IK algorithm, see Chapter 7.2.2 of my thesis (Eigen)

Two-Legged EKF - C code for doing the two-legged COM state estimation from Chapter 6.6 of my thesis.

Walk Simulation - Walking simulation using PR-MPC at each footstep (Windows/VisualStudio/uBlas)

Step Simulation - Step recovery simulation using PR-MPC (Windows/VisualStudio/uBlas)

* - Honestly some of these may or may not work right away. I did very little to maintain my code as that was not really a priority for me at the time. However, I was at the Dynamic Walking conference and Jerry Pratt made a request that people post more code, and I have heard this sentiment rising for several years, so I am trying to do my part and hope you will too. You are free to use this code however you like.

Related Researchers

Stuart Anderson - Labmate, humanoid robot control

Christopher Atkeson - My advisor, optimization-based control

Martin de Lasa - physics-based animation and feature-based control

Jerry Pratt - humanoid robots and controls

Yuval Tassa - simulation and DDP/MPC-related control

Russ Tedrake - nonlinear controls / LQR trees

Emanuel Todorov - optimal control

Eric Whitman - Labmate, DP-based optimal control for humanoid locomotion

Pierre-Brice Wieber - MPC control for humanoid walking