A new episode of the Computing Community Consortium‘s (CCC) official podcast, Catalyzing Computing, is now available. In this episode, Khari Douglas (CCC Senior Program Associate) interviews Dr. Behçet Açikmeşe. Behçet was a technologist and a senior member of the Guidance and Control (G&C) Analysis Group at NASA Jet Propulsion Laboratory (JPL) from 2003 to 2012 where he developed guidance, control, and estimation algorithms for formation-flying spacecraft and distributed networked systems, proximity operations around asteroids and comets, and planetary landing. He is currently a Professor in Aeronautics & Astronautics, as well as Electrical & Computer Engineering, at the University of Washington and a member of their Autonomous Controls Lab.
In this episode, Dr. Acikmese discusses control theory and the University of Washington Autonomous Controls Lab. Below is a highlight from the discussion, taken from the transcript of the podcast, in which Acikmese explains the use of real-time optimization for spacecraft flight. It is lightly edited for readability.
[Catalyzing Computing Episode 32 – starting at 5:22]
Khari: How do you do the real-time optimization of spacecraft flight?
Behçet: Oh, that’s a good question. That’s actually at the heart of my research. Maybe I’m going to get a bit more technical now, into the gritty, nitty things. Basically, if you think of any control system it’s also a hierarchy of decision-making. One thing about that…again, a drone example, a quadrotor example. If I’m just hovering somewhere — I’m not going anywhere I’m just hovering — I still have to control the vehicle.
First of all, I have to control my altitude and my horizontal location to make sure that even if there are some winds coming, some aircurrents, maybe somebody is pushing me, some students coming and touching me, I have to come back. I’m still doing a lot of work to keep myself there. This is the lowest form of control, reacting to uncertainties just to keep your location. That’s always active, but there is also a planning stage.
Now, let’s say I’m not just going to hover but I want to go to a point maybe 100 yards away from me, but there are obstacles in the middle. Maybe there is a person in the middle, or ten people, and some boxes along the way that I shouldn’t hit and so on. So now I have to generate a path that takes me from point A to B while avoiding all these obstacles. I have to generate a trajectory and track that trajectory, meaning that I have to plan a trajectory like we do, right? I plan a path going from A to B then I start executing.
What the quadrotor does in this case is…this generation of the path is a high-level of decision function. Then we execute this path, meaning that we try to keep up this path and get to the point B we want. If we keep up with this path that we plan, that means we are making our mission objectives. Designing that path, which is sometimes called trajectory planning or motion planning is a high-level function. And what we do with optimization is that we convert this trajectory planning or motion problem into an optimization problem.
An optimization problem is a generic decision making problem. It’s a math problem, which says, “Optimize the reward or a cost matrix subject a bunch of mission constraints.” Like I want to optimize my mission rewards while minimizing, maybe, my mission penalties like fuel. I don’t want to spend too much fuel or something like that. You may have different mission constraints. So, any decision making problem can be set that way, but these motion planning problems also lend themselves to this formalism.
Now, just because you formulated it doesn’t mean it can be solved. Actually, most optimization problems are not real-time tractable. You may not be able to solve them with confidence. My approach, which has been quite…it was actually quite a leap for rocket landing and aerospace applications. [In my approach] I do another conversion, one more conversion where I take these optimization problems and turn them into what’s known as convex optimization problems.
Convex optimization problems are a subclass of optimization problems for which we have really good algorithms, which ensure, within some numerical guarantees, that we will get to a solution. Not only that, we will get to the best solution in many cases. So those are good optimization problems, the ones that you want to have. What I did is convert the optimization problem, the original one, which is typically non-convex (which means it’s really hard) to something that’s tractable in real-time.
Once I achieved that mathematically, then what that means is I can now write numerical algorithms and code which can solve these problems in real time. That allowed us to fully exploit vehicles’ flight capabilities. That allows me to compute any feasible trajectory. It allows me to use the vehicle at its full capacity. If it can escape a threat — suddenly something shows up, a bird let’s say, and I can do a very aggressive manner to escape it (let’s say this is physically possible) this algorithm will find it.
But if my algorithm is not that smart of an algorithm, then, even though the vehicle may be able to do it, the algorithm may not be able to compute that motion. You see what I mean? So having smart algorithms, which can solve these problems actually is an enabling technology, because it uses the vehicle’s full capabilities so that the vehicle can do its job the best. In some cases it can actually [only] do the job that way, otherwise it can’t. And there are many examples for this actually.
Listen to the full interview with Dr. Açikmeşe in the embedded player below or find it on Apple Podcasts | Spotify | Stitcher | Blubrry | Google Podcasts | iHeartRadio | Soundcloud | Youtube. If you prefer to read rather than listen, the transcript of the interview is available here.
If you are interested in appearing in an episode of the Catalyzing Computing podcast or want to contribute a guest post to the CCC blog, please complete this survey through Google Forms.
If you listen to the podcast, please take a moment to complete this listener survey – this survey will help us learn more about you and better tailor the show to the interests of our listeners.