From: Joschka B. <jos...@am...> - 2008-02-07 11:05:54
|
Hi Sander, On Feb 6, 2008, at 11:22 PM, Sander van Dijk wrote: > > I also changed Collider::OnLink to encapsulate colliders that have > > a transform collider as their parent into it. > > I'm not sure if I understand this. Do you mean, you changed the code > of the Collider class so that it does what Markus described above for > the code of the Collider class in the simspark repository (associate > with a TransformCollider instance parent)? > > Oops, I didn't look into the SimSpark CVS well enough and missed > parts of Markus' code. So now it turns out I mostly duplicated some > stuff he already did :-) I will go further with his implementation, > mine gives segfaults in ruby at the moment. Still was a good > exercise in understanding the simulation server, though. > BTW, I didn't mean to criticize, just asked for my understanding ;-) > > > The new files and a patch with this code are attached. > > > > Great, thanks a bunch! I really appreciate your work on this :-) > Seems like we can finally get rid of the hacks used in the Soccerbot > RSG file and have better robot models (with complex shapes) that > cause a lot less trouble for the ODE solver :-D I'll have a look into > the patch as soon as I can (which will probably not be before the > weekend :-/). > > That's no problem, don't have it working yet anyway :-) Regarding > the complex shaped robot models, I also looked into the ODE TriMesh > geometry, which enables you to use any triangular mesh you'd like. > However, this brings more complexity to the simulation, so might be > something to consider some other time? If we really need a very detailed collision model, we should consider the TriMesh collider. I remember the guy who did UChilSim used it for the lower leg part of his Aibos, back in 2004 and said he was surprised how well it performed (even though it was still very experimental at that time). Still more complex than a few composed boxes I guess. > > > I'm not completely sure whether this is correct. In your example, > there is one Collider directly below the Body and another one below a > TransformCollider. If the Body is to be modeled as a composite > object, I think all of the Colliders will have to be placed below a > TransformCollider node. > > I believe it is not necessary to have a TransformCollider for each > Collider. If I understand the ODE documentation correctly, any > geometry (collider) can be placed next to any other one. Only when > one geometry needs to be moved or rotated relative to the body's > center a transform geometry is needed. Yes, I think you're right. Cheers, Joschka |