Tuesday, April 30

Coursera: Control of Mobile Robotics

I completed a Coursera course last month on the subject of the Control of Mobile Robotics. The class was sort of a bite-sized introduction to control theory in the flavor of autonomous navigation at the hardware level. This means that no consideration was given to mechanical system design or AI approaches. Magnus Egerstedt of Georgia Tech was the primary instructor and his research and teaching assistants provided supplemental lectures, responded to questions on the forum, and presented programming exercises using their Simiam robotic simulation software (a package of Matlab files). This course was useful for me as my formal experience with a Dynamics Systems and Controls was kind of abstract and didn't possess a strong focus on real-world application.

The first lesson was an introduction to dynamic systems which was embodied by the investigation and design of an automotive cruise controller. The lesson explored some of the primary objectives in control system design for autonomous systems:

  • Stability
  • Tracking
  • Robustness
  • Disturbance Rejection
  • Optimality 

File:PID en updated feedback.svg
PID by TravTigerEE (CC BY-SA)
One common tool that was used quite a bit in the course was the PID regulator. The PID regulator takes a sum of three terms: the product of an input and some coefficient, the time integral of that input scaled by another coefficient, and the rate of change in the input scaled by a third coefficient; thus, PID stands for Product, Integral, Derivative. Depending on the selection of coefficients and how the input and output of the PID is mapped to the dynamics of the control system, the PID may produce a variety of responses. Ideally, in the scope of navigation of autonomous systems, coefficients are selected such that the PID will rapidly converge to some stable state (such as the desired heading) without overshooting or oscillating about that state.

The majority of the class consisted of exploring methods of controlling a two-wheeled "Khepera" robot. Building from the simplest representation, the model was gradually improved in a modular fashion to incorporate more sophisticated behaviors. What I found most valuable from this approach was the technique of simplifying the kinematics of the system from a two wheeled robot to that of a single-wheeled "unicycle" robot. The control scheme could be expressed in terms of the unicycle and then transferred to the two wheeled scheme by a simple transformation. This modular approach allows the system designer to reason about only the position and orientation of the Khepera without having to constantly think about how the orientation, velocity, and position are mapped to the wheel speeds.

Khepera III by Jiuguang Wang (CC BY-SA)
Along the way, professor Egerstedt explains the drawbacks and critical problems that might arise with each system and presents possible solutions to those issues. One example is what he terms the  "Zeno Phenomenon" - this is an allusion to the classical Zeno paradoxes. He separates Zeno issues into two types. A type one Zeno involves a critical point where infinite switching occurs. For instance:


This control scheme will switch between positive and negative velocities an infinite number of times at a specific instant in time. Meanwhile, a type two Zeno can be thought of by considering the model of a bouncing ball. As the ball bounces, it loses energy after each collision with the ground; the apex diminishes with each bounce and the time between bounces becomes smaller and smaller. Eventually, the time between bounces approaches zero at some critical point. This yields an infinite number of bounces within a finite span of time. In addition to the problems associated with representing infinite bounces with a numerical system, whatever happens after this critical point is poorly defined. In general, while both phenomena are problematic for control systems, type one Zeno phenomena can be better predicted and prevented while type two Zeno are more difficult to foresee.

The only significant drawback that experienced with the course was that the optional programming exercises were implemented in Matlab. The simulator, called Simiam, was developed by Prof. Egerstedt's research assistant Jean-Pierre de la Croix. Many of the students did not have access to Matlab or didn't want to purchase it. Being an Octave user, I would lump myself among them; while I could have afforded to purchase Matlab as a gainfully employed engineer, I wasn't interested in spending money on optional exercises for a free online class. This drawback had a silver lining as it gave me an excuse to start a new project. I explored implementing the simulation materials in Octave but the object-oriented packages available for Octave are an enormous pain in the neck and I wasn't well acquainted with them at that time. I was lucky enough to come across a group in the forums that was attempting to implement the simulator in Python. I can safely say that the experience of working with them on Pysimiam was more valuable to me than the Coursera course that we were attempting to supplement. My personal revelations from that project are sufficient for a multitude of additional posts. In the meantime, for any current students of Control of Mobile Robotics, this link to the Github repository might be worth checking out.

2 comments:



  1. Robotic Simulation Services (RSS) by FS Studio, founded in 2018 in San Francisco, embraces the vision of furthering innovation and technology. Fusing the mastery of advanced 3D game development with years of embedded development experience has positioned us uniquely on the cutting edge of 3D Interactive Spatial Computing for Enterprise and Industry 4.0. Partnering with cutting edge robotics and sensor companies we create fully customized, high definition, Sim to Real environments and digital twins to enable and accelerate the development of intelligent machines.Digital Twin


    ReplyDelete
  2. This is such a great resource that you are providing and you give it away for free. I love seeing websites that understand the value of providing a quality resource for free. It is the old what goes around comes around routine.Warehouse Robotics California

    ReplyDelete