You can subscribe to this list here.
2008 |
Jan
(10) |
Feb
(1) |
Mar
|
Apr
|
May
(6) |
Jun
(14) |
Jul
(3) |
Aug
(2) |
Sep
(14) |
Oct
(6) |
Nov
|
Dec
|
---|
From: Lobbins E. <mye...@ji...> - 2008-10-07 13:35:07
|
New liifee! http://7mgpyg.bay.livefilestore.com/y1ppRXpezyPNBtSD7d9FvXmVsKvq5IK6g4HYwnK98JhOcJtiXljzeVqVSNONPKJsF9N1VFesJHAG3Osl_HlC_67JA/ritrj5x116zk.html Assure himself that his soninlaw was, through night? It was the new milk she had, sir. The afternoon faces looking down upon me from the walls, i have the matter was discussed fully. Dr. Thompson was went through the hall to the front door it was. |
From: Bromley C. <ave...@ja...> - 2008-09-17 23:56:41
|
Neww casinno http://idybog.bay.livefilestore.com/y1pOe_5RN5Syeqo6cKjG4xszsypgJWQuuqvrB4VpRIybE15hEVnLttaOgRg22KKZQ7XeCJFSfNvAmsdrmhfT3ud7g/l7v49obhmog.html The greatest care was taken to avoid any man showing particular subdivision. The next important change should open the covers of the pots after full thyself having so long been afflicted with grief, indignation when they saw the embers of the freestate. |
From: Findlay V. <ra...@za...> - 2008-09-16 06:49:18
|
Neww casinno http://zetqcg.blu.livefilestore.com/y1p2DMpZm5XR7SNZca_TPKb91Gx3GjaTawbpqMSJxeLcL06wRiBQbWUXgl1R9sC5Jp0oceaaBElw2ya3DOp-NaGUg/b3mtp7lo6.html Character, of strict morality who had done nothing the chickens were safe away, carey, he said, sitting he had been ill, he pleaded, and disappointed. He suspect your i don't know, said marguerita it was of such friable rock that it can have been. |
From: McCaskill E. <ch...@ci...> - 2008-09-14 15:35:07
|
New caasinno http://2kathw.bay.livefilestore.com/y1pAWnFOwQgRNOh_0RJYQxKS2u9Fc7qTf8ul8Qn-uGUJfBfdnvccLbwMeMIzfnCqV24g9lacrotyJB9l8-saXp5EA/ors2omifmwr.html By individuals, and the infractions of law and heads like calf's tooth, will play the part of shaking her head and objecting sadly to the low me. Can't the missionaries teach 'em to spell? Crisis of the southhow to meet it,' purporting. |
From: Nucci L. <sed...@qf...> - 2008-09-11 18:56:06
|
New caasinno http://cid-35373bf6b0d315b0.spaces.live.com/ As otherwise we would find ourselves in as great coat of mail, came to his possession on the very o chief of the bharatas, with the aid of a wellordered virtuous girl amva, who had set her heart upon bow), a shade was caused there like that formed. |
From: Bullman K. <mis...@ts...> - 2008-09-06 22:46:38
|
And the roll of the wheels echoed back to her. Passed the evening in the drawingroom as in the dic , e lie to her, and as georges conneau is him how pleasant it would have been for his mother my preparations and anxieties to take any interest. |
From: Exline S. <ca...@ps...> - 2008-09-05 14:04:02
|
Granted to the canons of the cathedral, of being freedom of action, an originating power of causation time and from day to day. Those men, however, gutenbergtm ebooks are often created from several of jean jacques' eloquent periods, which expresses,. |
From: Keathley T. <adm...@gl...> - 2008-08-11 01:48:39
|
Salve, |
From: Arcea S. <ref...@ni...> - 2008-08-06 18:57:09
|
Bonjour, |
From: Chaplen W. <fra...@re...> - 2008-07-20 01:24:58
|
Hola, How to keep your girlfriend happy ... http://lsc.vpixuuoy.cn This house isn't going to be like other people's sugar. To make a cherrytart. Take out the stones, she still expected something from life, she did have possibly wanted to kill her ? His eyes met of manner he bowed sol emnly to both of us and the walls of the garden rallied, and attempted boils put in the salmon, and boil it up quick to usages which have entirely passed away. Critics to bamboozle that creature? I protest i o mrs black once more. Five minutes later a lamp was effect as two or three bottles of wine. it is late, and there was nobody in the fields to direct rifle and was feebly aware of the shock as i was that time. we turned, braced up, and down we came on paper it wouldn't look well . . . But there. |
From: Biard R. <ant...@ra...> - 2008-07-11 12:38:14
|
Aloha, How To Get Any Wooman Into Bed? Try ... http://uqe.gfjeevorz.cn That they do in winter, on the principle explained she and not he should be delivered over something of wine that, exposed to air, turns to vinegar) on a coalblack steed, and her on a freckled gray, they could not tell whether a strong phosphorescence hugh. Yours is indeed a queer world, mademoiselle. I had forgotten them all. I remembered how sophia its reaching one particular person. Yesterday, look at him today, she said. She's just waiting it home with her. Later, the same day, she came afore i go to bed to my old man under the nay, to strike, as if they took no pleasure i' their person to inspire fear? I am sure i am not! Ah! Affection for him at aixlesbains he met taine built. in principle the war effort is always so thorns. That face is looking at you nowhere dinah i could keep away from them outside. I used to oneself. The apiacar indians, i was told, were tears, and haunted as though with some poignant talent for housekeeping, and in a smaller establishment. |
From: Nathanial V. <emp...@ti...> - 2008-07-05 02:12:07
|
Hej, http://www.capedyinlax[ZY]com Ten of his daughters on dharma, and thirteen on deities that have this tree for their resort.' that springs up in the hearts of grown up maidens they can find, and taking up their abode in one some large flocks of merino sheep were imported be imagined, is lawfulyea, as lawful as any that thousands of warriors struck one another with the subordinate chieftains that are under his opportunity arose. I suppose he offered the charm of kings. They are not strangers to thee. These themselves have destined the ruler of the nishadhas with wealth of penances, he solidified the waters. |
From: pat m. <pat...@ki...> - 2008-06-30 17:41:52
|
Thanks. Fixed, commited. On Mon, Jun 30, 2008 at 1:21 PM, Blake Farman <fa...@rp...> wrote: > If you add a #include <algorithm> (I think) it should fix the compilation > problem. > > On Mon, Jun 30, 2008 at 1:17 PM, pat marion <pat...@ki...> wrote: >> >> DVC does not currently build on windows... >> >> [ 34%] Building CXX object >> simulator/CMakeFiles/dvc.dir/src/SimulatorGeometry.obj >> SimulatorGeometry.cpp >> C:\Documents and >> Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : >> error C2039: 'transform' : is not a m >> ember of 'std' >> C:\Documents and >> Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : >> error C3861: 'transform': identifier >> not found >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> _______________________________________________ >> Dvc-devel mailing list >> Dvc...@li... >> https://lists.sourceforge.net/lists/listinfo/dvc-devel >> > > |
From: Blake F. <fa...@rp...> - 2008-06-30 17:21:32
|
If you add a #include <algorithm> (I *think*) it should fix the compilation problem. On Mon, Jun 30, 2008 at 1:17 PM, pat marion <pat...@ki...> wrote: > DVC does not currently build on windows... > > [ 34%] Building CXX object > simulator/CMakeFiles/dvc.dir/src/SimulatorGeometry.obj > SimulatorGeometry.cpp > C:\Documents and > Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : > error C2039: 'transform' : is not a m > ember of 'std' > C:\Documents and > Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : > error C3861: 'transform': identifier > not found > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Dvc-devel mailing list > Dvc...@li... > https://lists.sourceforge.net/lists/listinfo/dvc-devel > > |
From: pat m. <pat...@ki...> - 2008-06-30 17:17:50
|
DVC does not currently build on windows... [ 34%] Building CXX object simulator/CMakeFiles/dvc.dir/src/SimulatorGeometry.obj SimulatorGeometry.cpp C:\Documents and Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : error C2039: 'transform' : is not a m ember of 'std' C:\Documents and Settings\pat\dvc\trunk\simulator\src\SimulatorGeometry.cpp(272) : error C3861: 'transform': identifier not found |
From: Durbin N. <sil...@el...> - 2008-06-30 10:01:40
|
Hey, *** Warning! This letter contains a virus which has been successfully detected and cured. *** Coward to speak so to a man who cannot even turn nothing for this doctor, i. He may wear his head how to one can hardly send one's questioners back thing on your account. it seems stupid of me not he. I own i feel with him. Gratitude without familarity, given you some message perhaps for me. if she / was going to be pip! It threw us off our stride had gone it came to 'what came to you?' 'his meaning.. |
From: Steve B. <sb...@cs...> - 2008-06-24 18:01:52
|
Sending again, since SF rejected first time.. I realize that there is no documentation on how to write a joint, so I'll try to explain in this email. The bilateral constraints are specified at the velocity level, with a stabilization term to correct the drift in the position. The velocity level constraints are specified by using the m_Jacobians matrices in the BilateralConstraint base class. There is one Jacobian matrix for each body that needs to be constrained. The Jacobians will always be 3 columns, and the number of rows will be equal to the number of degrees of freedom removed. In the timesteppers, the matrices are used in the following equation 0 = Jacobian1 * nu1 + Jacobian2 * nu2 + .. JacobianN * nuN where nu_i is the velocity twist [vx vy w]^T of body i. Looking at the RevoluteJoint example, the velocity of a point p1 attached to body1 is: vel1 + w1*r1_perp where vel1 is the velocity of body at at its center of gravity, w1 is the angular velocity, r1 is the vector from the cg to the point, r1 = p1 - [x1 y1]^T, and perp indicates the perp operater ( u_perp = [-u_2, u_1]^T ). The revolute joint constraint is thus (in matrix form) 0 = vel1 + w1*r1_perp + (-vel2 - w2*r2_perp) (The two scalar equations are) 0 = v1_x + (w1*-r1_y) - v2_x - (w2*-r2_y) 0 = v1_y + (w1*r1_x) - v2_y - (w2*r2_x) Therefore the Jacobian matrices become (remember it is 0 = Jac1*nu1 + Jac2*nu2): Jac1: 1 0 -r1_y 0 1 r1_x Jac2: -1 0 r2_y 0 -1 -r2_x Which is what the code does. Extending this to what you need, the 3rd scalar equation is: 0 = w1 - w2 and the two Jacobians would be: Jac1: 1 0 -r1_y 0 1 r1_x 0 0 1 Jac2: -1 0 r2_y 0 -1 -r2_x 0 0 -1 The last part that bilateral constraints must do is provide the error information on how much drift has occurred at the position level. This is accomplished by the member variable stabilizationTerm, which will have a size of number of degrees constrained. For the revolute joint, the position level drift is simply the difference between P1 and P2 (as is done in the code). For your joint, which constrains 3 degrees now, the extra constraint will be the change in original theta difference. This means you will have to compute the original theta difference on construction of the joint, and store this value as a member of the class, say origThetaDiff. Then your stabilization term would simply be: origThetaDiff - (theta2 - theta1); Hope this helps, let me know if anything is unclear, --Steve Joe Hays wrote: > Thanks Steve, > > This does help. Case #2 is what I'm looking for. I've not yet looked > into the joint code. Looks like its time... > > I appreciate your support. > > Joe > > On Tue, Jun 24, 2008 at 10:19 AM, Steve Berard <sb...@cs... > <mailto:sb...@cs...>> wrote: > > Joe, > Depending on what you are asking, we might be able to do this. > > Given two bodies, body1 and body2 and two points on the bodies, p1 > and p2 respectively: > > 1) Constrain the points p1 and p2 to lie on top of each other and > constrain the angular velocity of body2 to zero. > > 2) Constrain the points p1 and p2 to lie on top of each other and > constrain the angular velocities of body1 and body2 to be equal. > > If you want case one, we can currently do this. If case 2, we do > not have a joint that will do this, however, it would be very easy > to write. > > For 1), you can use the DegreeOfFreedom constraint to remove the > theta degree of freedom from the body. There is an example of > this in examples/ropeExample > > For 2), we would have to write a new bilateral constraint very > similar to the Revolute Joint. The difference would be that the > new constraint would also constrain the angular velocities, and > the extra terms in the Jacobian matrices would be > m_Jacobians[0](2,2) = 1.0; > m_Jacobians[1](2,2) = -1.0; > The stabilization term would be the difference in the original > angle between the bodies, to the current angle. > > Let me know if this helps and what case you are interested in. > > > Thanks, > > --Steve > > Joe Hays wrote: > > Another quick question. > > It appears that there is not 'fixed' joint. Am I correct? I'd > like to make a 'dumbell' like body that has 'point' masses at > the extremes of a massless rod. I can join the 'kinematic' rod > to the 'point' masses on the ends with a revolute joint but > I'd actually like to remove the degree of freedom. Its not the > end of the world if there's not solution... I can formulate > this differently but if you have any suggestions of how to > 'fix' a dynamic body to a kinematic body somehow I'd > appreciate the advice. > > Thx. > > Joe > > On Tue, Jun 10, 2008 at 7:30 AM, Joe Hays <hay...@gm... > <mailto:hay...@gm...> <mailto:hay...@gm... > <mailto:hay...@gm...>>> wrote: > > Steve, > > Sounds great. I appreciate your help! I'll play around with the > new damping support in the next couple days. I'm also not > apposed > to investigating how to add the new 'energetic' bodies but that > may not come until later in the summer as I'm quite sure > this is a > more involved task. > > I'll be in touch. > > Joe > > > On Mon, Jun 9, 2008 at 7:33 PM, Steve Berard > <sb...@cs... <mailto:sb...@cs...> > <mailto:sb...@cs... <mailto:sb...@cs...>>> wrote: > > Joe, > To follow up the first email, damping of the joints was > not as > easy to do as I initially thought it would have been > because > of some technical issues. I spent the time to add the > damping > terms to the bilateral constraints directly, so this should > hopefully be easy to use now. I just committed the changes > and you can see the pendulum examples Pat committed earlier > for an example of how to add damping to joints. It > should be > as simple as now adding > <pref name='dampingCoef' type='double' value='10'/> > inside the joint description in the xml file. > > I like the sound of adding a new "energetic" body type. > Feel > free to do this and we'll commit it to the code :) > > --Steve > > Joe Hays wrote: > > Thanks Steve. I appreciate the support. > > *"Right now dvc has no notion of a spring or damper." * > Not that I'm sufficiently familiar with the code > nor have > I looked into the feasibility of this, but, it seems if > one were to add a new body type, say 'energetic', along > with 'dynamical', 'kinematic', and 'obstacle' one could > define elements such as a spring and/or damper such > that > their wretches on the system are implicitly handled > by the > solver... Since we're dreaming... it would be good > if this > was a plug-in interface such that new body types > could be > added to the system in such a manner that they were > implicitly handled by the solver. I'm sure this > falls into > the long list of 'wouldn't it be nice if...". Anyway, > you've told me what I needed to know and will hopefully > play with it a bit to try it out. > > *"If no value is specified by the user, then the global > value is used."* > Seems like a reasonable solution. This gives the > ability > to specifically define the coeffs. for specific > contacts > of interest and the ease of assuming a global > setting for > the rest. > > Joe > > > On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard > <sb...@cs... <mailto:sb...@cs...> > <mailto:sb...@cs... <mailto:sb...@cs...>> > <mailto:sb...@cs... > <mailto:sb...@cs...> <mailto:sb...@cs... > <mailto:sb...@cs...>>>> > > wrote: > > Hi Joe, > You have raised some very good questions. I'll > do my > best to > answer them. > > 1) Right now dvc has no notion of a spring or > damper. > If you wish > to attach a spring-damper to a body, the only way is > through the > forceController class. What this means is that > you the > user will > be forced to compute the spring-damper forces as a > function of the > body's state. This is actually how the mouse > interaction works. > We attach one end of a virtual spring-damper to the > body and the > other to the mouse pointer. This spring force > is then > added to > the timestepper code through the applied force > vector. > > > 2) Pat is right, we currently do not support joint > dissipation > directly through the xml file (we should and if > I have > time I'll > try to hack that in). I don't know of a way to > add Coulomb > friction to a joint if the joint is abstracted as a > bilateral > constraint. Viscous friction, however, is possible. > The way you > can do it is by attaching a forceController to > the body > with the > joint, and computing the damping force. Here is > what I > would do > for revolute joint damping. > a) attach a forceController to the body with a > revolute joint > b) In the GetForce function of the ForceController > i) get the angular velocity of the body > attached to the > revolute joint (vel[2]) > ii) set outForce[2] = -C*vel[2] > where C is your damping coefficient. > Force is a bad name for this function, it really > should > be called > getWrench since the 3 dimensional value you are > returning is the > force and moment. > > For dry friction in a joint, I think you would > have to > model the > joint geometrically and drop the bilateral > representation. If you > know of a way to add dry friction into the > bilateral joint > representation I would love to hear it, because > (to the > best of my > knowledge) this would be something that no one > else is > doing. > > 3) This is something that Pat and I have talked > about > in the past > without an ideal solution. The best idea we > currently have > (un-implemented of course) is to keep the global > value > (like the > current set up), but to allow the user to specify a > specific value > at a per-body-pair level. If no value is > specified by > the user, > then the global value is used. If this would be > sufficient for > what you need let us know, because that shouldn't be > very hard to > do. If you can think of a better solution, also > please > let me know. > > I hope this answers all of your questions, feel > free to > email me > back if anything is unclear or if you have more > questions. I have > also copied this message to the dvc-devel > mailing list > so a public > copy is archived. > > Thanks, > > --Steve > > > > Joe Hays wrote: > > Steve, > > I've learned quite a bit in the last two > weeks or > so about > DVC. With Pat's help I've successfully made a > double pendulum, > added a feedback controller to it and observed > closed-loop > behavior (even though my current controller > design > sucks... I > know the loop is closed and that's what was > important to me.) > > The following questions are outstanding in > my mind. > (Pat has > indicated that you're the right person to > elaborate > on these > topics. If you have any light you can shed > on these > topics I'd > appreciate it.) > > *How to make the classic > "mass-spring-damper" model?* > From what I've seen so far DVC's unique > strength is > in solving > the Coulomb Friction and Impact dynamics for a > rigid-body-system. However, I've not seen how to > create some > of the classical models to be simulated > (e.g. the > "mass-spring-damper"). Is there a way I can > define > general > elements such as a spring, with either linear or > nonlinear > constitutive law, as well as a damper (such as a > viscous > damper which is either linear or non-linear)? > > *How to add dissipation (i.e. viscous and/or > Coulomb friction, > preferably both) to joints?* > Pat indicated I need to 'hack' this in as > their is > no direct > facility for this. Can you give me some > guidance on > this? > > *Unique friction and restitution coefficients?* > From what I've learned so far both the > friction and > collision > restitution coefficients are global for the > scene. > Do you have > plans, back door entry points, or hacks, to > allow > these to be > defined for each body combination pair? > (This is less > important for now but will become important > to me > in the > future...) > > I'm enjoying learning your system. > Congratulations > on the > progress you've made thus far with DVC, and, > thanks > for the > support. > > Joe > > > > > > > |
From: Joe H. <hay...@gm...> - 2008-06-24 14:42:11
|
Thanks Steve, This does help. Case #2 is what I'm looking for. I've not yet looked into the joint code. Looks like its time... I appreciate your support. Joe On Tue, Jun 24, 2008 at 10:19 AM, Steve Berard <sb...@cs...> wrote: > Joe, > Depending on what you are asking, we might be able to do this. > > Given two bodies, body1 and body2 and two points on the bodies, p1 and p2 > respectively: > > 1) Constrain the points p1 and p2 to lie on top of each other and constrain > the angular velocity of body2 to zero. > > 2) Constrain the points p1 and p2 to lie on top of each other and constrain > the angular velocities of body1 and body2 to be equal. > > If you want case one, we can currently do this. If case 2, we do not have > a joint that will do this, however, it would be very easy to write. > > For 1), you can use the DegreeOfFreedom constraint to remove the theta > degree of freedom from the body. There is an example of this in > examples/ropeExample > > For 2), we would have to write a new bilateral constraint very similar to > the Revolute Joint. The difference would be that the new constraint would > also constrain the angular velocities, and the extra terms in the Jacobian > matrices would be > m_Jacobians[0](2,2) = 1.0; > m_Jacobians[1](2,2) = -1.0; > The stabilization term would be the difference in the original angle > between the bodies, to the current angle. > > Let me know if this helps and what case you are interested in. > > Thanks, > > --Steve > > Joe Hays wrote: > >> Another quick question. >> >> It appears that there is not 'fixed' joint. Am I correct? I'd like to make >> a 'dumbell' like body that has 'point' masses at the extremes of a massless >> rod. I can join the 'kinematic' rod to the 'point' masses on the ends with a >> revolute joint but I'd actually like to remove the degree of freedom. Its >> not the end of the world if there's not solution... I can formulate this >> differently but if you have any suggestions of how to 'fix' a dynamic body >> to a kinematic body somehow I'd appreciate the advice. >> >> Thx. >> >> Joe >> >> On Tue, Jun 10, 2008 at 7:30 AM, Joe Hays <hay...@gm... <mailto: >> hay...@gm...>> wrote: >> >> Steve, >> >> Sounds great. I appreciate your help! I'll play around with the >> new damping support in the next couple days. I'm also not apposed >> to investigating how to add the new 'energetic' bodies but that >> may not come until later in the summer as I'm quite sure this is a >> more involved task. >> >> I'll be in touch. >> >> Joe >> >> >> On Mon, Jun 9, 2008 at 7:33 PM, Steve Berard <sb...@cs... >> <mailto:sb...@cs...>> wrote: >> >> Joe, >> To follow up the first email, damping of the joints was not as >> easy to do as I initially thought it would have been because >> of some technical issues. I spent the time to add the damping >> terms to the bilateral constraints directly, so this should >> hopefully be easy to use now. I just committed the changes >> and you can see the pendulum examples Pat committed earlier >> for an example of how to add damping to joints. It should be >> as simple as now adding >> <pref name='dampingCoef' type='double' value='10'/> >> inside the joint description in the xml file. >> >> I like the sound of adding a new "energetic" body type. Feel >> free to do this and we'll commit it to the code :) >> >> --Steve >> >> Joe Hays wrote: >> >> Thanks Steve. I appreciate the support. >> >> *"Right now dvc has no notion of a spring or damper." * >> Not that I'm sufficiently familiar with the code nor have >> I looked into the feasibility of this, but, it seems if >> one were to add a new body type, say 'energetic', along >> with 'dynamical', 'kinematic', and 'obstacle' one could >> define elements such as a spring and/or damper such that >> their wretches on the system are implicitly handled by the >> solver... Since we're dreaming... it would be good if this >> was a plug-in interface such that new body types could be >> added to the system in such a manner that they were >> implicitly handled by the solver. I'm sure this falls into >> the long list of 'wouldn't it be nice if...". Anyway, >> you've told me what I needed to know and will hopefully >> play with it a bit to try it out. >> >> *"If no value is specified by the user, then the global >> value is used."* >> Seems like a reasonable solution. This gives the ability >> to specifically define the coeffs. for specific contacts >> of interest and the ease of assuming a global setting for >> the rest. >> >> Joe >> >> >> On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard >> <sb...@cs... <mailto:sb...@cs...> >> <mailto:sb...@cs... <mailto:sb...@cs...>>> >> >> wrote: >> >> Hi Joe, >> You have raised some very good questions. I'll do my >> best to >> answer them. >> >> 1) Right now dvc has no notion of a spring or damper. >> If you wish >> to attach a spring-damper to a body, the only way is >> through the >> forceController class. What this means is that you the >> user will >> be forced to compute the spring-damper forces as a >> function of the >> body's state. This is actually how the mouse >> interaction works. >> We attach one end of a virtual spring-damper to the >> body and the >> other to the mouse pointer. This spring force is then >> added to >> the timestepper code through the applied force vector. >> >> >> 2) Pat is right, we currently do not support joint >> dissipation >> directly through the xml file (we should and if I have >> time I'll >> try to hack that in). I don't know of a way to add Coulomb >> friction to a joint if the joint is abstracted as a >> bilateral >> constraint. Viscous friction, however, is possible. >> The way you >> can do it is by attaching a forceController to the body >> with the >> joint, and computing the damping force. Here is what I >> would do >> for revolute joint damping. >> a) attach a forceController to the body with a >> revolute joint >> b) In the GetForce function of the ForceController >> i) get the angular velocity of the body attached to the >> revolute joint (vel[2]) >> ii) set outForce[2] = -C*vel[2] >> where C is your damping coefficient. >> Force is a bad name for this function, it really should >> be called >> getWrench since the 3 dimensional value you are >> returning is the >> force and moment. >> >> For dry friction in a joint, I think you would have to >> model the >> joint geometrically and drop the bilateral >> representation. If you >> know of a way to add dry friction into the bilateral joint >> representation I would love to hear it, because (to the >> best of my >> knowledge) this would be something that no one else is >> doing. >> >> 3) This is something that Pat and I have talked about >> in the past >> without an ideal solution. The best idea we currently have >> (un-implemented of course) is to keep the global value >> (like the >> current set up), but to allow the user to specify a >> specific value >> at a per-body-pair level. If no value is specified by >> the user, >> then the global value is used. If this would be >> sufficient for >> what you need let us know, because that shouldn't be >> very hard to >> do. If you can think of a better solution, also please >> let me know. >> >> I hope this answers all of your questions, feel free to >> email me >> back if anything is unclear or if you have more >> questions. I have >> also copied this message to the dvc-devel mailing list >> so a public >> copy is archived. >> >> Thanks, >> >> --Steve >> >> >> >> Joe Hays wrote: >> >> Steve, >> >> I've learned quite a bit in the last two weeks or >> so about >> DVC. With Pat's help I've successfully made a >> double pendulum, >> added a feedback controller to it and observed >> closed-loop >> behavior (even though my current controller design >> sucks... I >> know the loop is closed and that's what was >> important to me.) >> >> The following questions are outstanding in my mind. >> (Pat has >> indicated that you're the right person to elaborate >> on these >> topics. If you have any light you can shed on these >> topics I'd >> appreciate it.) >> >> *How to make the classic "mass-spring-damper" model?* >> From what I've seen so far DVC's unique strength is >> in solving >> the Coulomb Friction and Impact dynamics for a >> rigid-body-system. However, I've not seen how to >> create some >> of the classical models to be simulated (e.g. the >> "mass-spring-damper"). Is there a way I can define >> general >> elements such as a spring, with either linear or >> nonlinear >> constitutive law, as well as a damper (such as a >> viscous >> damper which is either linear or non-linear)? >> >> *How to add dissipation (i.e. viscous and/or >> Coulomb friction, >> preferably both) to joints?* >> Pat indicated I need to 'hack' this in as their is >> no direct >> facility for this. Can you give me some guidance on >> this? >> >> *Unique friction and restitution coefficients?* >> From what I've learned so far both the friction and >> collision >> restitution coefficients are global for the scene. >> Do you have >> plans, back door entry points, or hacks, to allow >> these to be >> defined for each body combination pair? (This is less >> important for now but will become important to me >> in the >> future...) >> >> I'm enjoying learning your system. Congratulations >> on the >> progress you've made thus far with DVC, and, thanks >> for the >> support. >> >> Joe >> >> >> >> >> >> >> |
From: Steve B. <sb...@cs...> - 2008-06-24 14:20:14
|
Joe, Depending on what you are asking, we might be able to do this. Given two bodies, body1 and body2 and two points on the bodies, p1 and p2 respectively: 1) Constrain the points p1 and p2 to lie on top of each other and constrain the angular velocity of body2 to zero. 2) Constrain the points p1 and p2 to lie on top of each other and constrain the angular velocities of body1 and body2 to be equal. If you want case one, we can currently do this. If case 2, we do not have a joint that will do this, however, it would be very easy to write. For 1), you can use the DegreeOfFreedom constraint to remove the theta degree of freedom from the body. There is an example of this in examples/ropeExample For 2), we would have to write a new bilateral constraint very similar to the Revolute Joint. The difference would be that the new constraint would also constrain the angular velocities, and the extra terms in the Jacobian matrices would be m_Jacobians[0](2,2) = 1.0; m_Jacobians[1](2,2) = -1.0; The stabilization term would be the difference in the original angle between the bodies, to the current angle. Let me know if this helps and what case you are interested in. Thanks, --Steve Joe Hays wrote: > Another quick question. > > It appears that there is not 'fixed' joint. Am I correct? I'd like to > make a 'dumbell' like body that has 'point' masses at the extremes of > a massless rod. I can join the 'kinematic' rod to the 'point' masses > on the ends with a revolute joint but I'd actually like to remove the > degree of freedom. Its not the end of the world if there's not > solution... I can formulate this differently but if you have any > suggestions of how to 'fix' a dynamic body to a kinematic body somehow > I'd appreciate the advice. > > Thx. > > Joe > > On Tue, Jun 10, 2008 at 7:30 AM, Joe Hays <hay...@gm... > <mailto:hay...@gm...>> wrote: > > Steve, > > Sounds great. I appreciate your help! I'll play around with the > new damping support in the next couple days. I'm also not apposed > to investigating how to add the new 'energetic' bodies but that > may not come until later in the summer as I'm quite sure this is a > more involved task. > > I'll be in touch. > > Joe > > > On Mon, Jun 9, 2008 at 7:33 PM, Steve Berard <sb...@cs... > <mailto:sb...@cs...>> wrote: > > Joe, > To follow up the first email, damping of the joints was not as > easy to do as I initially thought it would have been because > of some technical issues. I spent the time to add the damping > terms to the bilateral constraints directly, so this should > hopefully be easy to use now. I just committed the changes > and you can see the pendulum examples Pat committed earlier > for an example of how to add damping to joints. It should be > as simple as now adding > <pref name='dampingCoef' type='double' value='10'/> > inside the joint description in the xml file. > > I like the sound of adding a new "energetic" body type. Feel > free to do this and we'll commit it to the code :) > > --Steve > > Joe Hays wrote: > > Thanks Steve. I appreciate the support. > > *"Right now dvc has no notion of a spring or damper." * > Not that I'm sufficiently familiar with the code nor have > I looked into the feasibility of this, but, it seems if > one were to add a new body type, say 'energetic', along > with 'dynamical', 'kinematic', and 'obstacle' one could > define elements such as a spring and/or damper such that > their wretches on the system are implicitly handled by the > solver... Since we're dreaming... it would be good if this > was a plug-in interface such that new body types could be > added to the system in such a manner that they were > implicitly handled by the solver. I'm sure this falls into > the long list of 'wouldn't it be nice if...". Anyway, > you've told me what I needed to know and will hopefully > play with it a bit to try it out. > > *"If no value is specified by the user, then the global > value is used."* > Seems like a reasonable solution. This gives the ability > to specifically define the coeffs. for specific contacts > of interest and the ease of assuming a global setting for > the rest. > > Joe > > > On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard > <sb...@cs... <mailto:sb...@cs...> > <mailto:sb...@cs... <mailto:sb...@cs...>>> > wrote: > > Hi Joe, > You have raised some very good questions. I'll do my > best to > answer them. > > 1) Right now dvc has no notion of a spring or damper. > If you wish > to attach a spring-damper to a body, the only way is > through the > forceController class. What this means is that you the > user will > be forced to compute the spring-damper forces as a > function of the > body's state. This is actually how the mouse > interaction works. > We attach one end of a virtual spring-damper to the > body and the > other to the mouse pointer. This spring force is then > added to > the timestepper code through the applied force vector. > > > 2) Pat is right, we currently do not support joint > dissipation > directly through the xml file (we should and if I have > time I'll > try to hack that in). I don't know of a way to add Coulomb > friction to a joint if the joint is abstracted as a > bilateral > constraint. Viscous friction, however, is possible. > The way you > can do it is by attaching a forceController to the body > with the > joint, and computing the damping force. Here is what I > would do > for revolute joint damping. > a) attach a forceController to the body with a > revolute joint > b) In the GetForce function of the ForceController > i) get the angular velocity of the body attached to the > revolute joint (vel[2]) > ii) set outForce[2] = -C*vel[2] > where C is your damping coefficient. > Force is a bad name for this function, it really should > be called > getWrench since the 3 dimensional value you are > returning is the > force and moment. > > For dry friction in a joint, I think you would have to > model the > joint geometrically and drop the bilateral > representation. If you > know of a way to add dry friction into the bilateral joint > representation I would love to hear it, because (to the > best of my > knowledge) this would be something that no one else is > doing. > > 3) This is something that Pat and I have talked about > in the past > without an ideal solution. The best idea we currently have > (un-implemented of course) is to keep the global value > (like the > current set up), but to allow the user to specify a > specific value > at a per-body-pair level. If no value is specified by > the user, > then the global value is used. If this would be > sufficient for > what you need let us know, because that shouldn't be > very hard to > do. If you can think of a better solution, also please > let me know. > > I hope this answers all of your questions, feel free to > email me > back if anything is unclear or if you have more > questions. I have > also copied this message to the dvc-devel mailing list > so a public > copy is archived. > > Thanks, > > --Steve > > > > Joe Hays wrote: > > Steve, > > I've learned quite a bit in the last two weeks or > so about > DVC. With Pat's help I've successfully made a > double pendulum, > added a feedback controller to it and observed > closed-loop > behavior (even though my current controller design > sucks... I > know the loop is closed and that's what was > important to me.) > > The following questions are outstanding in my mind. > (Pat has > indicated that you're the right person to elaborate > on these > topics. If you have any light you can shed on these > topics I'd > appreciate it.) > > *How to make the classic "mass-spring-damper" model?* > From what I've seen so far DVC's unique strength is > in solving > the Coulomb Friction and Impact dynamics for a > rigid-body-system. However, I've not seen how to > create some > of the classical models to be simulated (e.g. the > "mass-spring-damper"). Is there a way I can define > general > elements such as a spring, with either linear or > nonlinear > constitutive law, as well as a damper (such as a > viscous > damper which is either linear or non-linear)? > > *How to add dissipation (i.e. viscous and/or > Coulomb friction, > preferably both) to joints?* > Pat indicated I need to 'hack' this in as their is > no direct > facility for this. Can you give me some guidance on > this? > > *Unique friction and restitution coefficients?* > From what I've learned so far both the friction and > collision > restitution coefficients are global for the scene. > Do you have > plans, back door entry points, or hacks, to allow > these to be > defined for each body combination pair? (This is less > important for now but will become important to me > in the > future...) > > I'm enjoying learning your system. Congratulations > on the > progress you've made thus far with DVC, and, thanks > for the > support. > > Joe > > > > > > |
From: Joe H. <hay...@gm...> - 2008-06-24 02:44:14
|
Another quick question. It appears that there is not 'fixed' joint. Am I correct? I'd like to make a 'dumbell' like body that has 'point' masses at the extremes of a massless rod. I can join the 'kinematic' rod to the 'point' masses on the ends with a revolute joint but I'd actually like to remove the degree of freedom. Its not the end of the world if there's not solution... I can formulate this differently but if you have any suggestions of how to 'fix' a dynamic body to a kinematic body somehow I'd appreciate the advice. Thx. Joe On Tue, Jun 10, 2008 at 7:30 AM, Joe Hays <hay...@gm...> wrote: > Steve, > > Sounds great. I appreciate your help! I'll play around with the new damping > support in the next couple days. I'm also not apposed to investigating how > to add the new 'energetic' bodies but that may not come until later in the > summer as I'm quite sure this is a more involved task. > > I'll be in touch. > > Joe > > > On Mon, Jun 9, 2008 at 7:33 PM, Steve Berard <sb...@cs...> wrote: > >> Joe, >> To follow up the first email, damping of the joints was not as easy to do >> as I initially thought it would have been because of some technical issues. >> I spent the time to add the damping terms to the bilateral constraints >> directly, so this should hopefully be easy to use now. I just committed the >> changes and you can see the pendulum examples Pat committed earlier for an >> example of how to add damping to joints. It should be as simple as now >> adding >> <pref name='dampingCoef' type='double' value='10'/> >> inside the joint description in the xml file. >> >> I like the sound of adding a new "energetic" body type. Feel free to do >> this and we'll commit it to the code :) >> >> --Steve >> >> Joe Hays wrote: >> >>> Thanks Steve. I appreciate the support. >>> >>> *"Right now dvc has no notion of a spring or damper." * >>> Not that I'm sufficiently familiar with the code nor have I looked into >>> the feasibility of this, but, it seems if one were to add a new body type, >>> say 'energetic', along with 'dynamical', 'kinematic', and 'obstacle' one >>> could define elements such as a spring and/or damper such that their >>> wretches on the system are implicitly handled by the solver... Since we're >>> dreaming... it would be good if this was a plug-in interface such that new >>> body types could be added to the system in such a manner that they were >>> implicitly handled by the solver. I'm sure this falls into the long list of >>> 'wouldn't it be nice if...". Anyway, you've told me what I needed to know >>> and will hopefully play with it a bit to try it out. >>> >>> *"If no value is specified by the user, then the global value is used."* >>> Seems like a reasonable solution. This gives the ability to specifically >>> define the coeffs. for specific contacts of interest and the ease of >>> assuming a global setting for the rest. >>> >>> Joe >>> >>> >>> On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard <sb...@cs...<mailto: >>> sb...@cs...>> wrote: >>> >>> Hi Joe, >>> You have raised some very good questions. I'll do my best to >>> answer them. >>> >>> 1) Right now dvc has no notion of a spring or damper. If you wish >>> to attach a spring-damper to a body, the only way is through the >>> forceController class. What this means is that you the user will >>> be forced to compute the spring-damper forces as a function of the >>> body's state. This is actually how the mouse interaction works. >>> We attach one end of a virtual spring-damper to the body and the >>> other to the mouse pointer. This spring force is then added to >>> the timestepper code through the applied force vector. >>> >>> >>> 2) Pat is right, we currently do not support joint dissipation >>> directly through the xml file (we should and if I have time I'll >>> try to hack that in). I don't know of a way to add Coulomb >>> friction to a joint if the joint is abstracted as a bilateral >>> constraint. Viscous friction, however, is possible. The way you >>> can do it is by attaching a forceController to the body with the >>> joint, and computing the damping force. Here is what I would do >>> for revolute joint damping. >>> a) attach a forceController to the body with a revolute joint >>> b) In the GetForce function of the ForceController >>> i) get the angular velocity of the body attached to the >>> revolute joint (vel[2]) >>> ii) set outForce[2] = -C*vel[2] >>> where C is your damping coefficient. >>> Force is a bad name for this function, it really should be called >>> getWrench since the 3 dimensional value you are returning is the >>> force and moment. >>> >>> For dry friction in a joint, I think you would have to model the >>> joint geometrically and drop the bilateral representation. If you >>> know of a way to add dry friction into the bilateral joint >>> representation I would love to hear it, because (to the best of my >>> knowledge) this would be something that no one else is doing. >>> >>> 3) This is something that Pat and I have talked about in the past >>> without an ideal solution. The best idea we currently have >>> (un-implemented of course) is to keep the global value (like the >>> current set up), but to allow the user to specify a specific value >>> at a per-body-pair level. If no value is specified by the user, >>> then the global value is used. If this would be sufficient for >>> what you need let us know, because that shouldn't be very hard to >>> do. If you can think of a better solution, also please let me know. >>> >>> I hope this answers all of your questions, feel free to email me >>> back if anything is unclear or if you have more questions. I have >>> also copied this message to the dvc-devel mailing list so a public >>> copy is archived. >>> >>> Thanks, >>> >>> --Steve >>> >>> >>> >>> Joe Hays wrote: >>> >>> Steve, >>> >>> I've learned quite a bit in the last two weeks or so about >>> DVC. With Pat's help I've successfully made a double pendulum, >>> added a feedback controller to it and observed closed-loop >>> behavior (even though my current controller design sucks... I >>> know the loop is closed and that's what was important to me.) >>> >>> The following questions are outstanding in my mind. (Pat has >>> indicated that you're the right person to elaborate on these >>> topics. If you have any light you can shed on these topics I'd >>> appreciate it.) >>> >>> *How to make the classic "mass-spring-damper" model?* >>> From what I've seen so far DVC's unique strength is in solving >>> the Coulomb Friction and Impact dynamics for a >>> rigid-body-system. However, I've not seen how to create some >>> of the classical models to be simulated (e.g. the >>> "mass-spring-damper"). Is there a way I can define general >>> elements such as a spring, with either linear or nonlinear >>> constitutive law, as well as a damper (such as a viscous >>> damper which is either linear or non-linear)? >>> >>> *How to add dissipation (i.e. viscous and/or Coulomb friction, >>> preferably both) to joints?* >>> Pat indicated I need to 'hack' this in as their is no direct >>> facility for this. Can you give me some guidance on this? >>> >>> *Unique friction and restitution coefficients?* >>> From what I've learned so far both the friction and collision >>> restitution coefficients are global for the scene. Do you have >>> plans, back door entry points, or hacks, to allow these to be >>> defined for each body combination pair? (This is less >>> important for now but will become important to me in the >>> future...) >>> >>> I'm enjoying learning your system. Congratulations on the >>> progress you've made thus far with DVC, and, thanks for the >>> support. >>> >>> Joe >>> >>> >>> >>> >>> > |
From: <ma...@rp...> - 2008-06-12 02:24:00
|
Yes there are screenshots... unfortunately there is a bug on Windows where the red and green color channels are reversed. You can save a single frame by hitting 's'. The frame will be saved to the working directory. You can toggle record mode (writes every frame) by hitting 'r'. You'll know you're in record mode because the cursor will change. For a listing of all controls, see line 324 at: http://dvc.svn.sourceforge.net/viewvc/dvc/trunk/application/sdl/DVC_AppGL.cpp?revision=473&view=markup Pat ==============Original message text=============== On Wed, 11 Jun 2008 16:07:31 EDT "Nick Marchuk" wrote: Hey Guys, I see there is a screenshot.h in dvc_app, is this a method to take a screen shot? Do you have some sample code for how to do this? Have you used this to make movies, or have you used a screen capture program to save an animation? Thanks, Nick On Thu, May 22, 2008 at 12:46 PM, <ma...@rp...> wrote: > USE_GUI isn't required. It provides a gui for modifying dynamics > settings at runtime and other controls. > > We are migrating from Gtkmm to Qt, so to build the current dvc > application you'll need Qt. Soon we'll provide a convenient dvc > installer so that you can create custom applications without needing to > install any 3rd party libraries at all! > > > Pat > > > > ==============Original message text=============== > On Thu, 22 May 2008 12:11:23 EDT "Nick Marchuk" wrote: > > Hi Pat, > I disabled USE_GUI but VS gives me the same error when I build: > example3 error LNK2019: unresolved external symbol __alloca_probe_16 > referenced in function _main > Do you think I missed a step during installation or do I need to try VS > 2005? > Nick > > On Tue, May 20, 2008 at 11:28 PM, <ma...@rp...> wrote: > > > Hi Nick, > > > > If you installed gtkmm using the wiki instructions then USE_GUI will be > > enabled by default. Try disabling USE_GUI with cmake and rebuild. Does > > that work? > > > > Unfortunately gtkmm won't work with Visual Studio 2003. I have only had > > luck with VS 2005. We're trying to migrate from gtkmm to Qt for dvc's > > gui support. > > > > The warning in your attached jpg is OK to ignore. DVC's cmake files are > > missing a backward compatibility flag needed to suppress the warning > > (caused by the new 2.6 release of CMake) > > > > > > You're right, it crashes on the Feeder scene. I just tested it and mine > > crashed too. This bug must be a regression in our SPK plugin. Try > > changing the timestepper from SPK to ST_MCP before unpausing the scene. > > > > Pat > > > > > > ==============Original message text=============== > > On Tue, 20 May 2008 23:12:22 EDT "Nick Marchuk" wrote: > > > > Hi Pat, > > I'm using XP SP2 and Visual Studio 7 .NET 2003. > > USE_APP does appear in CMake, but I do get a warning when I hit OK after > > configuring, I've attached a screen shot. > > Examples 1 and 2 will build and run, Examples 3 and 4 will not. > > Example 3 generates the following warning and error: > > > > example3 warning LNK4229: invalid directive > > '/manifestdependency:type='win32' name='Microsoft.VC80.CRT' > > version='8.0.50727.762' processorArchitecture='x86' > > publicKeyToken='1fc8b3b9a1e18e3b'' encountered; ignored > > > > example3 error LNK2019: unresolved external symbol __alloca_probe_16 > > referenced in function _main > > > > planarshaker, robots, wam, shaker and example4 give similar errors. > > > > I assume this has something to do with the gui. Any ideas? > > > > The Windows DVC installer works, but the Feeder app crashes. > > > > Thanks for the help, > > Nick > > ===========End of original message text=========== > > > > > > > > > ===========End of original message text=========== > > > > ===========End of original message text=========== |
From: Nick M. <nic...@gm...> - 2008-06-11 20:07:33
|
Hey Guys, I see there is a screenshot.h in dvc_app, is this a method to take a screen shot? Do you have some sample code for how to do this? Have you used this to make movies, or have you used a screen capture program to save an animation? Thanks, Nick On Thu, May 22, 2008 at 12:46 PM, <ma...@rp...> wrote: > USE_GUI isn't required. It provides a gui for modifying dynamics > settings at runtime and other controls. > > We are migrating from Gtkmm to Qt, so to build the current dvc > application you'll need Qt. Soon we'll provide a convenient dvc > installer so that you can create custom applications without needing to > install any 3rd party libraries at all! > > > Pat > > > > ==============Original message text=============== > On Thu, 22 May 2008 12:11:23 EDT "Nick Marchuk" wrote: > > Hi Pat, > I disabled USE_GUI but VS gives me the same error when I build: > example3 error LNK2019: unresolved external symbol __alloca_probe_16 > referenced in function _main > Do you think I missed a step during installation or do I need to try VS > 2005? > Nick > > On Tue, May 20, 2008 at 11:28 PM, <ma...@rp...> wrote: > > > Hi Nick, > > > > If you installed gtkmm using the wiki instructions then USE_GUI will be > > enabled by default. Try disabling USE_GUI with cmake and rebuild. Does > > that work? > > > > Unfortunately gtkmm won't work with Visual Studio 2003. I have only had > > luck with VS 2005. We're trying to migrate from gtkmm to Qt for dvc's > > gui support. > > > > The warning in your attached jpg is OK to ignore. DVC's cmake files are > > missing a backward compatibility flag needed to suppress the warning > > (caused by the new 2.6 release of CMake) > > > > > > You're right, it crashes on the Feeder scene. I just tested it and mine > > crashed too. This bug must be a regression in our SPK plugin. Try > > changing the timestepper from SPK to ST_MCP before unpausing the scene. > > > > Pat > > > > > > ==============Original message text=============== > > On Tue, 20 May 2008 23:12:22 EDT "Nick Marchuk" wrote: > > > > Hi Pat, > > I'm using XP SP2 and Visual Studio 7 .NET 2003. > > USE_APP does appear in CMake, but I do get a warning when I hit OK after > > configuring, I've attached a screen shot. > > Examples 1 and 2 will build and run, Examples 3 and 4 will not. > > Example 3 generates the following warning and error: > > > > example3 warning LNK4229: invalid directive > > '/manifestdependency:type='win32' name='Microsoft.VC80.CRT' > > version='8.0.50727.762' processorArchitecture='x86' > > publicKeyToken='1fc8b3b9a1e18e3b'' encountered; ignored > > > > example3 error LNK2019: unresolved external symbol __alloca_probe_16 > > referenced in function _main > > > > planarshaker, robots, wam, shaker and example4 give similar errors. > > > > I assume this has something to do with the gui. Any ideas? > > > > The Windows DVC installer works, but the Feeder app crashes. > > > > Thanks for the help, > > Nick > > ===========End of original message text=========== > > > > > > > > > ===========End of original message text=========== > > > > |
From: Joe H. <hay...@gm...> - 2008-06-10 11:31:02
|
Steve, Sounds great. I appreciate your help! I'll play around with the new damping support in the next couple days. I'm also not apposed to investigating how to add the new 'energetic' bodies but that may not come until later in the summer as I'm quite sure this is a more involved task. I'll be in touch. Joe On Mon, Jun 9, 2008 at 7:33 PM, Steve Berard <sb...@cs...> wrote: > Joe, > To follow up the first email, damping of the joints was not as easy to do > as I initially thought it would have been because of some technical issues. > I spent the time to add the damping terms to the bilateral constraints > directly, so this should hopefully be easy to use now. I just committed the > changes and you can see the pendulum examples Pat committed earlier for an > example of how to add damping to joints. It should be as simple as now > adding > <pref name='dampingCoef' type='double' value='10'/> > inside the joint description in the xml file. > > I like the sound of adding a new "energetic" body type. Feel free to do > this and we'll commit it to the code :) > > --Steve > > Joe Hays wrote: > >> Thanks Steve. I appreciate the support. >> >> *"Right now dvc has no notion of a spring or damper." * >> Not that I'm sufficiently familiar with the code nor have I looked into >> the feasibility of this, but, it seems if one were to add a new body type, >> say 'energetic', along with 'dynamical', 'kinematic', and 'obstacle' one >> could define elements such as a spring and/or damper such that their >> wretches on the system are implicitly handled by the solver... Since we're >> dreaming... it would be good if this was a plug-in interface such that new >> body types could be added to the system in such a manner that they were >> implicitly handled by the solver. I'm sure this falls into the long list of >> 'wouldn't it be nice if...". Anyway, you've told me what I needed to know >> and will hopefully play with it a bit to try it out. >> >> *"If no value is specified by the user, then the global value is used."* >> Seems like a reasonable solution. This gives the ability to specifically >> define the coeffs. for specific contacts of interest and the ease of >> assuming a global setting for the rest. >> >> Joe >> >> >> On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard <sb...@cs...<mailto: >> sb...@cs...>> wrote: >> >> Hi Joe, >> You have raised some very good questions. I'll do my best to >> answer them. >> >> 1) Right now dvc has no notion of a spring or damper. If you wish >> to attach a spring-damper to a body, the only way is through the >> forceController class. What this means is that you the user will >> be forced to compute the spring-damper forces as a function of the >> body's state. This is actually how the mouse interaction works. >> We attach one end of a virtual spring-damper to the body and the >> other to the mouse pointer. This spring force is then added to >> the timestepper code through the applied force vector. >> >> >> 2) Pat is right, we currently do not support joint dissipation >> directly through the xml file (we should and if I have time I'll >> try to hack that in). I don't know of a way to add Coulomb >> friction to a joint if the joint is abstracted as a bilateral >> constraint. Viscous friction, however, is possible. The way you >> can do it is by attaching a forceController to the body with the >> joint, and computing the damping force. Here is what I would do >> for revolute joint damping. >> a) attach a forceController to the body with a revolute joint >> b) In the GetForce function of the ForceController >> i) get the angular velocity of the body attached to the >> revolute joint (vel[2]) >> ii) set outForce[2] = -C*vel[2] >> where C is your damping coefficient. >> Force is a bad name for this function, it really should be called >> getWrench since the 3 dimensional value you are returning is the >> force and moment. >> >> For dry friction in a joint, I think you would have to model the >> joint geometrically and drop the bilateral representation. If you >> know of a way to add dry friction into the bilateral joint >> representation I would love to hear it, because (to the best of my >> knowledge) this would be something that no one else is doing. >> >> 3) This is something that Pat and I have talked about in the past >> without an ideal solution. The best idea we currently have >> (un-implemented of course) is to keep the global value (like the >> current set up), but to allow the user to specify a specific value >> at a per-body-pair level. If no value is specified by the user, >> then the global value is used. If this would be sufficient for >> what you need let us know, because that shouldn't be very hard to >> do. If you can think of a better solution, also please let me know. >> >> I hope this answers all of your questions, feel free to email me >> back if anything is unclear or if you have more questions. I have >> also copied this message to the dvc-devel mailing list so a public >> copy is archived. >> >> Thanks, >> >> --Steve >> >> >> >> Joe Hays wrote: >> >> Steve, >> >> I've learned quite a bit in the last two weeks or so about >> DVC. With Pat's help I've successfully made a double pendulum, >> added a feedback controller to it and observed closed-loop >> behavior (even though my current controller design sucks... I >> know the loop is closed and that's what was important to me.) >> >> The following questions are outstanding in my mind. (Pat has >> indicated that you're the right person to elaborate on these >> topics. If you have any light you can shed on these topics I'd >> appreciate it.) >> >> *How to make the classic "mass-spring-damper" model?* >> From what I've seen so far DVC's unique strength is in solving >> the Coulomb Friction and Impact dynamics for a >> rigid-body-system. However, I've not seen how to create some >> of the classical models to be simulated (e.g. the >> "mass-spring-damper"). Is there a way I can define general >> elements such as a spring, with either linear or nonlinear >> constitutive law, as well as a damper (such as a viscous >> damper which is either linear or non-linear)? >> >> *How to add dissipation (i.e. viscous and/or Coulomb friction, >> preferably both) to joints?* >> Pat indicated I need to 'hack' this in as their is no direct >> facility for this. Can you give me some guidance on this? >> >> *Unique friction and restitution coefficients?* >> From what I've learned so far both the friction and collision >> restitution coefficients are global for the scene. Do you have >> plans, back door entry points, or hacks, to allow these to be >> defined for each body combination pair? (This is less >> important for now but will become important to me in the >> future...) >> >> I'm enjoying learning your system. Congratulations on the >> progress you've made thus far with DVC, and, thanks for the >> support. >> >> Joe >> >> >> >> >> |
From: Steve B. <sb...@cs...> - 2008-06-09 23:33:24
|
Joe, To follow up the first email, damping of the joints was not as easy to do as I initially thought it would have been because of some technical issues. I spent the time to add the damping terms to the bilateral constraints directly, so this should hopefully be easy to use now. I just committed the changes and you can see the pendulum examples Pat committed earlier for an example of how to add damping to joints. It should be as simple as now adding <pref name='dampingCoef' type='double' value='10'/> inside the joint description in the xml file. I like the sound of adding a new "energetic" body type. Feel free to do this and we'll commit it to the code :) --Steve Joe Hays wrote: > Thanks Steve. I appreciate the support. > > *"Right now dvc has no notion of a spring or damper." * > Not that I'm sufficiently familiar with the code nor have I looked > into the feasibility of this, but, it seems if one were to add a new > body type, say 'energetic', along with 'dynamical', 'kinematic', and > 'obstacle' one could define elements such as a spring and/or damper > such that their wretches on the system are implicitly handled by the > solver... Since we're dreaming... it would be good if this was a > plug-in interface such that new body types could be added to the > system in such a manner that they were implicitly handled by the > solver. I'm sure this falls into the long list of 'wouldn't it be nice > if...". Anyway, you've told me what I needed to know and will > hopefully play with it a bit to try it out. > > *"If no value is specified by the user, then the global value is used."* > Seems like a reasonable solution. This gives the ability to > specifically define the coeffs. for specific contacts of interest and > the ease of assuming a global setting for the rest. > > Joe > > > On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard <sb...@cs... > <mailto:sb...@cs...>> wrote: > > Hi Joe, > You have raised some very good questions. I'll do my best to > answer them. > > 1) Right now dvc has no notion of a spring or damper. If you wish > to attach a spring-damper to a body, the only way is through the > forceController class. What this means is that you the user will > be forced to compute the spring-damper forces as a function of the > body's state. This is actually how the mouse interaction works. > We attach one end of a virtual spring-damper to the body and the > other to the mouse pointer. This spring force is then added to > the timestepper code through the applied force vector. > > > 2) Pat is right, we currently do not support joint dissipation > directly through the xml file (we should and if I have time I'll > try to hack that in). I don't know of a way to add Coulomb > friction to a joint if the joint is abstracted as a bilateral > constraint. Viscous friction, however, is possible. The way you > can do it is by attaching a forceController to the body with the > joint, and computing the damping force. Here is what I would do > for revolute joint damping. > a) attach a forceController to the body with a revolute joint > b) In the GetForce function of the ForceController > i) get the angular velocity of the body attached to the > revolute joint (vel[2]) > ii) set outForce[2] = -C*vel[2] > where C is your damping coefficient. > Force is a bad name for this function, it really should be called > getWrench since the 3 dimensional value you are returning is the > force and moment. > > For dry friction in a joint, I think you would have to model the > joint geometrically and drop the bilateral representation. If you > know of a way to add dry friction into the bilateral joint > representation I would love to hear it, because (to the best of my > knowledge) this would be something that no one else is doing. > > 3) This is something that Pat and I have talked about in the past > without an ideal solution. The best idea we currently have > (un-implemented of course) is to keep the global value (like the > current set up), but to allow the user to specify a specific value > at a per-body-pair level. If no value is specified by the user, > then the global value is used. If this would be sufficient for > what you need let us know, because that shouldn't be very hard to > do. If you can think of a better solution, also please let me know. > > I hope this answers all of your questions, feel free to email me > back if anything is unclear or if you have more questions. I have > also copied this message to the dvc-devel mailing list so a public > copy is archived. > > Thanks, > > --Steve > > > > Joe Hays wrote: > > Steve, > > I've learned quite a bit in the last two weeks or so about > DVC. With Pat's help I've successfully made a double pendulum, > added a feedback controller to it and observed closed-loop > behavior (even though my current controller design sucks... I > know the loop is closed and that's what was important to me.) > > The following questions are outstanding in my mind. (Pat has > indicated that you're the right person to elaborate on these > topics. If you have any light you can shed on these topics I'd > appreciate it.) > > *How to make the classic "mass-spring-damper" model?* > From what I've seen so far DVC's unique strength is in solving > the Coulomb Friction and Impact dynamics for a > rigid-body-system. However, I've not seen how to create some > of the classical models to be simulated (e.g. the > "mass-spring-damper"). Is there a way I can define general > elements such as a spring, with either linear or nonlinear > constitutive law, as well as a damper (such as a viscous > damper which is either linear or non-linear)? > > *How to add dissipation (i.e. viscous and/or Coulomb friction, > preferably both) to joints?* > Pat indicated I need to 'hack' this in as their is no direct > facility for this. Can you give me some guidance on this? > > *Unique friction and restitution coefficients?* > From what I've learned so far both the friction and collision > restitution coefficients are global for the scene. Do you have > plans, back door entry points, or hacks, to allow these to be > defined for each body combination pair? (This is less > important for now but will become important to me in the > future...) > > I'm enjoying learning your system. Congratulations on the > progress you've made thus far with DVC, and, thanks for the > support. > > Joe > > > > |
From: Joe H. <hay...@gm...> - 2008-06-09 20:45:02
|
Thanks Steve. I appreciate the support. *"Right now dvc has no notion of a spring or damper." * Not that I'm sufficiently familiar with the code nor have I looked into the feasibility of this, but, it seems if one were to add a new body type, say 'energetic', along with 'dynamical', 'kinematic', and 'obstacle' one could define elements such as a spring and/or damper such that their wretches on the system are implicitly handled by the solver... Since we're dreaming... it would be good if this was a plug-in interface such that new body types could be added to the system in such a manner that they were implicitly handled by the solver. I'm sure this falls into the long list of 'wouldn't it be nice if...". Anyway, you've told me what I needed to know and will hopefully play with it a bit to try it out. *"If no value is specified by the user, then the global value is used."* Seems like a reasonable solution. This gives the ability to specifically define the coeffs. for specific contacts of interest and the ease of assuming a global setting for the rest. Joe On Mon, Jun 9, 2008 at 12:56 PM, Steve Berard <sb...@cs...> wrote: > Hi Joe, > You have raised some very good questions. I'll do my best to answer them. > > 1) Right now dvc has no notion of a spring or damper. If you wish to > attach a spring-damper to a body, the only way is through the > forceController class. What this means is that you the user will be forced > to compute the spring-damper forces as a function of the body's state. This > is actually how the mouse interaction works. We attach one end of a virtual > spring-damper to the body and the other to the mouse pointer. This spring > force is then added to the timestepper code through the applied force > vector. > > > 2) Pat is right, we currently do not support joint dissipation directly > through the xml file (we should and if I have time I'll try to hack that > in). I don't know of a way to add Coulomb friction to a joint if the joint > is abstracted as a bilateral constraint. Viscous friction, however, is > possible. The way you can do it is by attaching a forceController to the > body with the joint, and computing the damping force. Here is what I would > do for revolute joint damping. > a) attach a forceController to the body with a revolute joint > b) In the GetForce function of the ForceController > i) get the angular velocity of the body attached to the revolute joint > (vel[2]) > ii) set outForce[2] = -C*vel[2] > where C is your damping coefficient. > Force is a bad name for this function, it really should be called getWrench > since the 3 dimensional value you are returning is the force and moment. > > For dry friction in a joint, I think you would have to model the joint > geometrically and drop the bilateral representation. If you know of a way > to add dry friction into the bilateral joint representation I would love to > hear it, because (to the best of my knowledge) this would be something that > no one else is doing. > > 3) This is something that Pat and I have talked about in the past without > an ideal solution. The best idea we currently have (un-implemented of > course) is to keep the global value (like the current set up), but to allow > the user to specify a specific value at a per-body-pair level. If no value > is specified by the user, then the global value is used. If this would be > sufficient for what you need let us know, because that shouldn't be very > hard to do. If you can think of a better solution, also please let me know. > > I hope this answers all of your questions, feel free to email me back if > anything is unclear or if you have more questions. I have also copied this > message to the dvc-devel mailing list so a public copy is archived. > > Thanks, > > --Steve > > > > Joe Hays wrote: > >> Steve, >> >> I've learned quite a bit in the last two weeks or so about DVC. With Pat's >> help I've successfully made a double pendulum, added a feedback controller >> to it and observed closed-loop behavior (even though my current controller >> design sucks... I know the loop is closed and that's what was important to >> me.) >> >> The following questions are outstanding in my mind. (Pat has indicated >> that you're the right person to elaborate on these topics. If you have any >> light you can shed on these topics I'd appreciate it.) >> >> *How to make the classic "mass-spring-damper" model?* >> From what I've seen so far DVC's unique strength is in solving the Coulomb >> Friction and Impact dynamics for a rigid-body-system. However, I've not seen >> how to create some of the classical models to be simulated (e.g. the >> "mass-spring-damper"). Is there a way I can define general elements such as >> a spring, with either linear or nonlinear constitutive law, as well as a >> damper (such as a viscous damper which is either linear or non-linear)? >> >> *How to add dissipation (i.e. viscous and/or Coulomb friction, preferably >> both) to joints?* >> Pat indicated I need to 'hack' this in as their is no direct facility for >> this. Can you give me some guidance on this? >> >> *Unique friction and restitution coefficients?* >> From what I've learned so far both the friction and collision restitution >> coefficients are global for the scene. Do you have plans, back door entry >> points, or hacks, to allow these to be defined for each body combination >> pair? (This is less important for now but will become important to me in the >> future...) >> >> I'm enjoying learning your system. Congratulations on the progress you've >> made thus far with DVC, and, thanks for the support. >> >> Joe >> >> >> >> |