Live data from Hacker News

Robotics 501: Mathematics for Robotics

github.com

51–60 of 64 posts

Re: Robotics 501: Mathematics for Robotics

#51
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

> What is the point of explaining, say the QR factorization (...) engineers? As a personal data point, I'm a mathematician that regularly teaches the QR and SVD factorizations to engineers. Not because I find them interesting, but because they need it for their daily jobs and they ask me to. More precisely, they are engineers working in the geometrical modelling of satellite sensors, doing "computer vision" from sate…

Right, in this case you are totally right.

In my school however, it is explained for general-size systems. With this I do have issues.

Thanks for your feedback.

Re: Robotics 501: Mathematics for Robotics

#53
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

Having learned both the implementation details of various QR methods and seen QR pop up in proofs elsewhere I think that it can be helpful as a building block rather than useful standalone.

That being said I’ve seen lots of algorithms that are only practical given that the matrix is in a special form for decomposition/inversion/etc and if you’re trying to implement an existing algorithm, tweak it, etc. that knowledge is critical.

Re: Robotics 501: Mathematics for Robotics

#54
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

*Replying to the answers received as of 17:02 20220127 GMT+1.* Thanks A HUGE LOT to all and sundry for taking the time. I am the first one to understand that theory is the only way to really grasp a problem (this is why differential equations and calculus and linear algebra are key in the education of an Engineer). This is something I guess all of you agree on (as a matter of fact, I am a pure mathematician by educat…

OH MY!

I intended to say Gauss-Seidel and said Gauss-Jordan!

What a mess I have created. Sorry to all for the confusion.

Of course, Gauss' reduction method is key to understanding systems/linear maps. Gauss/Seidel is totally different, though.

My apologies.

Re: Robotics 501: Mathematics for Robotics

#55
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

[deleted]

Re: Robotics 501: Mathematics for Robotics

#56
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

In robotics specifically, understanding how methods like QR factorization work (and fail) is necessary to debug robot code, even if roboticists rarely have to implement QR factorization from scratch.

Take a look at GTSAM, a library used widely in robotics for mapping and localization. To read the intro tutorial for the library, you need to understand most of the topics listed in the OP repo:

https://gtsam.org/tutorials/intro.html

If anything, the Michigan course doesn't cover enough, since it's missing Lie theory, which is becoming standard in robotics code these days.

Re: Robotics 501: Mathematics for Robotics

#57

Earlier quoted context omitted.

The most mathematically-relevant stuff I remember was inverse kinematics and using numerical approximation to really cut down on computation when switching between coordinate spaces. This gets more important as the degrees of freedom increase. For instance, you'd like to know that when a state-space matrix is not full rank, you lose some control. In practical terms, a robot arm can usually move in any arbitrary Carte…

Yes, of course, but those are not specific algorithms (except possibly the Gauss reduction method which deserves a special treatment because it is not "just a method of computing" but "a way of understanding" by itself).

Yep. I haven't really had much need for the techniques I learned in my graduate linear algebra course and found the in-class examples to really lack specific usefulness in the real world.

I just looked up my old class: linear algebra basics; Gaussian/LU/Choleski decomp; determinants; normed spaces; condition number; iterative methods; Euclidean spaces; QR decomp; Hermitian geometry; Eigenscheissen; spectral theorems; finite elements method; SVD and pseudoinverses; quadratic optimization.

Can confirm, totally useless in the non-research world. The most applicable task was computing spline curves. Even the Google Images result for "hermitian geometry" is mostly images of research papers. How is that real-world relevant?

The useful robotics stuff for me is either already written as a library I can call or pseudocode I can find in AIMA. Then again, all of that stuff had to come from somewhere and receive the optimization treatment.

I'd liken that entire Michigan mathematics course to the first week of my FEA course. "Here's how to calculate, by hand, a basic example of stress and strain in a very simple geometry using matrix operations. Cool, now that you see how much of a real hassle that is, never do it again because we have Ansys and Solidworks."

-----

On the other hand, a paper such as http://ras.papercept.net/images/temp/IROS/files/3131.pdf would seem totally inaccessible without a class like this Robotics 501. Maybe that constains good examples of the math being instructed. (Disclaimer: I didn't do more than glance at the course material and watch a few moments from the lectures.)

Re: Robotics 501: Mathematics for Robotics

#58
post #25

Earlier quoted context omitted.

Modern Robotics adopts the Product of Exponentials (PoE) mathematical approach (also known as screw-theoretic) over Denavit-Hartenberg (D-H) for forward kinematics . Do robotics companies use PoE in their written software or is D-H still the practical choice?

I work for Viam[0] and while all of our actual calculations are made using Spatial Vector Algebra[1], inputs can be made in a number of different ways and supporting DH is crucial for allowing pre-existing configurations to be easily brought over to our platform. SVA can also conveniently be easily used for both kinematics and dynamics. Personally I find SVA way more intuitive than DH or PoE. [0] https://www.viam.com…

BTW, we use Featherstone algos too (ABA, RNEA, CRBA etc) but use URDF to describe our robots.

Re: Robotics 501: Mathematics for Robotics

#59
post #36
post #18

Earlier quoted context omitted.

It sort of depends upon the course. This particular syllabus looks like a really standard linear algebra course (I have no idea what is robotics-specific about it), and so of course Gauss-Jordan would show up there. More generally, though, I think there are two main reasons to put algorithms like Gauss-Jordan in the engineering curriculum. 1. While it would be nice to treat linear algebra solvers as a perfect black b…

> 2. Personally, though, I find the topic of numerical stability to be a little bit depressing, since it focuses on all the ways computers don't work! Maybe a way to more positively reformulate this would be: There is no a priori reason to assume that floating point numbers are well behaved. The fact that we were able to come up with a structure so that it approximates real numbers adequately, that arithmetic operati…

Computers work perfectly fine. Engineering was done for a long time with slide rules to avoid the tedium of looking up values in a book and grinding out results by hand or adding machine. Using them correctly requires knowing their limitations just as knowing the limitations of a computer is important. They aren't magic oracles that always give correct answers.

Re: Robotics 501: Mathematics for Robotics

#60
post #18
post #6

Honest question (am a prof. of Maths for engineering at a Spanish Univ. and am wondering about this a lot): What is the point of explaining, say the QR factorization or iterative methods like Gauss-Jordan to engineers ? I think of them as the method of integration of rational functions (the complete method, not the basic cases): totally useless today ... I understand, for example, the Jordan decomposition theorem in…

It sort of depends upon the course. This particular syllabus looks like a really standard linear algebra course (I have no idea what is robotics-specific about it), and so of course Gauss-Jordan would show up there. More generally, though, I think there are two main reasons to put algorithms like Gauss-Jordan in the engineering curriculum. 1. While it would be nice to treat linear algebra solvers as a perfect black b…

> To take a more positive view, a huge fraction of the algorithms in an undergraduate CS course -- from finite automata to parsing to relational algebra to graph traversals -- can be understood as basically doing linear algebra using modules over different semirings (rather than just the reals). Eg, for all-pairs shortest paths, the Floyd-Warshall algorithm is doing an LU decomposition, and Kleene's algorithm is doing Gauss-Jordan.

The blew my mind! I loved these undergrad and grad courses but never realized they are connected. Could you please forward me to few books or resources that go over these relationships?

Post reply on HN