Skip to content

Add Eigen kinematics example - #737

Open
chiphogg wants to merge 1 commit into
mainfrom
chiphogg/eigen-example#529
Open

Add Eigen kinematics example#737
chiphogg wants to merge 1 commit into
mainfrom
chiphogg/eigen-example#529

Conversation

@chiphogg

Copy link
Copy Markdown
Member

This shows off a nice simplification of some Eigen code. We get good
mileage out of automatic unit conversions, and even the gravity
constant.

Along the way, we tweak the naming and ordering in the index file, to be
more consistent with the titles that show up in the sidebar.

This shows off a nice simplification of some Eigen code.  We get good
mileage out of automatic unit conversions, and even the gravity
constant.

Along the way, we tweak the naming and ordering in the index file, to be
more consistent with the titles that show up in the sidebar.
@chiphogg
chiphogg marked this pull request as ready for review August 24, 2026 20:10
@chiphogg
chiphogg requested a review from a team August 24, 2026 20:10

Au's Eigen support makes it easier to get your units right _robustly_, and often makes your code
easier to read. Lifetime safety is the one thing it leaves exactly as it found it, for better and
for worse, so make sure you're familiar with the Eigen [safety guide] before you start using Au with

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, I was curious what kind of documentation Eigen had for all this. Mostly because I was thinking this could be simplified to "before you start using Eigen" (because Au doesn't add anything).

Having checked it out, we should leave it as you wrote it. The Eigen stuff is a little more scary ("don't use auto unless you are 100% sure)...

const Velocity &v,
const Acceleration &a,
QuantityD<Seconds> dt) {
return x + v * dt + 0.5 * a * dt * dt;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to use int_pow here?

Suggested change
return x + v * dt + 0.5 * a * dt * dt;
return x + v * dt + 0.5 * a * int_pow<2>(dt);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants