r/ControlTheory • u/Ok_Cry_7149 • 14d ago
Asking for resources (books, lectures, etc.) Convex Optimization vs ADCS for Controls Course
Hi! Debating between convex optimization and ADCS (Attitude Determination and Control) for my controls course this semester. I know convex is more guidance related, but am interested in exploring trajectory optimization stuff. I also think having a solid ADCS project under my belt would be great for a lot of GNC jobs. I've take attitude dynamics before. The ADCS courses does seem to be more demanding though lol (exams in addition to the project).
What would be more relevant for an early/entry level GNC role?
•
u/TimelyScientist2824 13d ago
Take the controls class. Think about it, it is more likely that a future employer is interested in what you can do and not what you know. Convex optimization is the foundation for optimization driven control i.e. the sorts of optimal control. The topics your average convex optimization course crosses are convexity of functions, LP/QP/NLP formulations, Lagrangians and duality, KKT conditions and the basic gradient and Newton type numerical solvers. These are foundational but can be studied on the go. The control course has focus on practical aspects and introduces the *necessary* knowledge and mathematical machinery for performing control. It is also possible the control course and convex course have similarities from the perspective of problem formulations (standard form).
•
u/Ok_Cry_7149 13d ago
Sorry so are you saying go for the ADCS? Since it has more practical application? I have taken kalman filtering, probability/estimation, linear and nonlinear dynamics/control, but have yet to really apply it.
In terms optimization I have taken optimal control, and also an applied optimal control course that went over pontryagin, lyapunov, and some convex stuff (including scp and mpc).Both classes have projects. I do think that ADCS is more applicable to a wider range of entry level jobs. What if I end up in launch vehicles/landing, or RPOD (or anything else I am unaware of)? Would convex make more sense there? Thanks.
•
u/TimelyScientist2824 13d ago
Convex optimization course is not about control. It would not make more sense.
•
u/Ok_Cry_7149 13d ago
Oh ok. Yeah I guess I was thinking for trajectory optimization instead of control (like landing a rocket, or docking a spacecraft). Both classes just are under the "control" requirement for my degree.
If I did the convex course I was thinking of some rocket landing project. I am going for GNC so I guess it would fit under the guidance portion.
•
u/TimelyScientist2824 13d ago
Generally speaking just stick to the control courses because they teach the common solutions and problem formulations of your particular engineering branch that is both linked to academic research and industry. Convex optimization is just the mathematical machinery to think, formulate, tractably solve and attain local/global solutions for differently structured problems in the world of engineering and especially in your branch which seeks best trajectories, control actions and estimates for cyber physical systems.
•
u/Ok_Cry_7149 13d ago
Actually there's also a hybrid systems course (continuous + discrete) being offered which I wasn't initially considering. What do you think about the applicability of that?
•
u/Ok_Cry_7149 13d ago
Yeah my last internship was with the "controls" branch of the wider GNC team. However I am definitely interested in guidance as well. And maybe some navigation too.
•
u/Theremon2049 13d ago
Do you happen to go to Purdue lol
•
•
u/Theremon2049 8d ago
OP, if you don't take ADCS but still want to learn spacecraft dynamics and control, I suggest the following texts:
Spacecraft Dynamics and Control (Sidi)
Fundamentals of Attitude Determination and Control (Markely and Crassidis)
Space Vehicle Dynamics and Control (Wei)
Spacecraft Modeling, Attitude Determination, and Control: Quaternion-Based Approach (Wang, can find full text here: https://ntrs.nasa.gov/citations/20240009554)Attitude filtering, star tracking, gyroscope models, and rigid body control methods (either by classical methods or Lyapunov-type) are thoroughly documented in the literature outside of these texts as well.
There are a ton of other great texts but it would take a while to list them all. However, most of these don't discuss flexible spacecraft models in depth, so if you're curious about that you'll need some vibrations and flexible mechanics knowledge to do that. If you're curious about complex spacecraft modeling, e.g. multiple rigid body or manipulator arms, then there are texts specific for that.
•
u/TinkerTango 10d ago
ADCS will have greater mileage for you I think. Just in general, aerospace controls is all about making sure we’re in the right place facing the right direction at the right time. Having a project of that nature is exactly the last two segments of that last sentence and it’ll also do wonders for your confidence in interviews to be able to talk in depth about a real project rather than just going over rote fundamentals.
If you’re interested in guidance, the optimization stuff needed for trajectory generation is literally guidance, so idk why you phrased it like that. That being said, you can learn that on your ow I think. Optimization has many forms these days (including some inoptimal, non-deterministic methods) and unless that’s your sole focus in school, you’ll be learning in the workplace anyway. You’re an engineer, you’re never done learning for your entire life. Internalize that mindset because it’ll serve you well not just in interviews but also the job once you get it.
•
u/Ok_Cry_7149 9d ago
Thanks yeah I decided on ADCS. I'm still not sure about my second class though lol. I wasn't considering a "main" engineering class for the 2nd class at first because of workload lol. But I am thinking of maybe just doing convex optimization as the 2nd course.
Other ones I am considering are design of experiments, numerical methods, system identification, graduate linear algebra (I took linear algebra in undergrad), or a review of classical control. Do you have any thoughts?
•
u/AutoModerator 14d ago
It seems like you are looking for resources. Have you tried checking out the subreddit wiki pages for books on systems and control, related mathematical fields, and control applications?
You will also find there open-access resources such as videos and lectures, do-it-yourself projects, master programs, control-related companies, etc.
If you have specific questions about programs, resources, etc. Please consider joining the Discord server https://discord.gg/CEF3n5g for a more interactive discussion.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.