]]>

You are right. The orthonormalization is not expressed correctly on that slide -the second set of equations is correct.

Correct expressions for orthonormalization are as follows:

(e0)1 = (g0)1/norm((g0)1)

(e0)3 = cross((g0)1,(g0)2)/norm(cross((g0)1,(g0)2))

(e0)2 = cross((e0)3 ,(e0)1)

Let me know if you still have questions. Also, you can always double-check the expressions in Chrono's shell element class.

Best,

Antonio

Statistics: Posted by recuero — Wed Dec 07, 2016 7:00 pm

]]>

;-)

It's tricky for instance when you have vehicle model with hundreds of degree of freedom and need to come up with a velocity for all of them.

Also, think if you have tires made up of FEA elements - you'd have to deal with a large problem...

Cheers,

Dan

Statistics: Posted by Dan Negrut — Wed Dec 07, 2016 4:47 pm

]]>

Thank you!

-Dan

Statistics: Posted by danielpiombino — Wed Dec 07, 2016 4:35 pm

]]>

Here's how people go about it in the general case.

Imagine you have 9 constraints and have a mechanism that has two bodies. If you go to r-w formulation (instead of r-p), it means that you need to specify for your two bodies a set of 12 velocities.

You already have 9 constraints (the set of velocity kinematic constraint equations). That means that the 12 velocities must satisfy 9 conditions right off the bat. Which means that you are free to specify 3 additional velocity conditions.

There are many ways in which you can specify these 3 conditions. The simplest way, is to impose 3 values for 3 of the 12 velocities that you need to come up with based on how you want the mechanism to start at t=0. You would do this only at the beginning of the simulation, to come up with a consistent set of initial conditions. Thereafter, the dynamics solution takes care of everything.

Does this make sense?

Keep in mind that you don't necessarily need to specify the value of 3 of the 12 velocities. For instance, you might consider prescribing 3 additional GCONs at t=0, just to get you going with a good/consistent set of initial conditions. You would have to make these additional/helper GCONs disappear right after the velocity analysis at t=0.

Let me know if this doesn't make sense. If it doesn't, stop by tomorrow morning before 10:30 am - I can explain in 10 mins what i tried to type in here.

Dan

P.S. If you go the r-p formulation, first find r-w, then use the G transformation to get p_dot once you have w.

Statistics: Posted by Dan Negrut — Wed Dec 07, 2016 4:19 pm

]]>

I'm confused on how to go about choosing the excess velocities. Can you just pick any velocities at random and assign them arbitrary values? I would think that doing that could wind up in accidentally picking values that do not have a consistent solution. I'm not sure how to go about picking terms and values without already knowing what the initial velocities need to be in order to be consistent.

For the N-bar mechanism I'm pretty sure I know how I could implement initial constraints with f_dot terms that would account for the initial velocities and bring the number of DOF to zero in order to perform the velocity analysis, but that's only because it's a fairly simple system. I wouldn't know how to apply that to something in a more unusual initial position.

Thanks,

-Dan

Statistics: Posted by danielpiombino — Wed Dec 07, 2016 3:03 pm

]]>

Thank you for your help!

-Lijing

Statistics: Posted by lijingyang — Fri Dec 02, 2016 12:26 pm

]]>

I hope this helps.

Dan

Statistics: Posted by Dan Negrut — Mon Nov 21, 2016 6:06 pm

]]>

1. Assignment4 problem5, "to prove the value of pi_dot is consistent", I could understand the explanation after that though.

2. Slide 7 of lecture1005, "for a set of virtual displacements to be consistent some constraint equations should hold".

3. In the answer from Dan to Milad's question "How Constraints are satisfied", the GCON in some configuration q may or may not be consistent.

Thanks.

Lijing

Statistics: Posted by lijingyang — Mon Nov 21, 2016 5:07 pm

]]>

By imposing x_ri - x_rj = 0, y_ri - y_rj = 0, and z_ri - z_rj = 0, we ended up using the CD basic GCon three times to essentially enforce your ri=rj.

Being lazy, we want to implement the minimal number of GCon primitives that can be combined in various ways to produce all the high level physical joints that you encounter in practical applications.

I hope this makes sense.

On a different note, here's a question that requires some thinking, and might be a good exam question. Recall that we have the D Gcon. Why can't I enforce a spherical joint (which typically calls for a set of three constraints) by simply using *one* D GCon that demands that the distance between two points is *zero*?

Dan

Statistics: Posted by Dan Negrut — Mon Nov 21, 2016 3:23 pm

]]>

Thanks

Guru

Statistics: Posted by f13-759-gsubramani — Mon Nov 21, 2016 2:39 pm

]]>

You will have to compute omega_bar and r_dot (or p_dot and r_dot, if you prefer to go that way).

You are going to have to satisfy the velocity constraints.

Incidentally, you will have less constraints than unknowns, which means that you can choose some velocity/velocities the way you want.

Say you have four kinematics constraints and six velocities. You can choose two velocities and compute the other four using the four constraint equations. This amounts to solving a linear system of dimension 4 by 4.

Other way to go about it (which probably you should not pursue) is to provide an initial guess and find the closest set of velocities that verify the kinematic constraint equations. This is a minimization problem subject to the velocity constraints.

Please let me know if this makes sense.

Dan

P.S. Before you compute the velocities, you will have to have a consistent configuration in positions; i.e., a set of positions that satisfies the kinematic constraint equations at the position level.

Statistics: Posted by Dan Negrut — Wed Nov 16, 2016 10:51 pm

]]>

I am really struggling figuring out how to prescribe initial velocities so that they align with the velocity constraints. I've looked around online and through ADAMs documentation, and it seems like it involves setting up another constraint? Not sure.

Currently I've set the system to start from rest. It solves, but doesn't generate the motion described in the benchmark. Any insights would be helpful

- Samuel

Statistics: Posted by samuelacuna — Wed Nov 16, 2016 5:05 pm

]]>

Statistics: Posted by Dan Negrut — Fri Nov 11, 2016 6:37 pm

]]>

Statistics: Posted by f13-759-gsubramani — Fri Nov 11, 2016 8:37 am

]]>