From: Sander v. D. <sgv...@gm...> - 2008-02-06 14:24:35
|
Hi Joschka et al (sorry for the double email Joschka), On Feb 6, 2008 10:16 AM, Joschka Boedecker < jos...@am...> wrote: > Hey Sander, > > (I copied the simspark-devel list, I hope you don't mind) > Not at all :-) > > > 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. > > 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? > 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. Most likely though this will be the case for most composite bodies. Regards, Sander |