Hi, a long post to explain clearly what is my problem...
I optimize controlers for robots with optimization algos, I use physics engine to simulate a given candidate controler. I have some pretty results with totally artificial robots. By artificial robots, I mean I didn't care too much about size, weights, torque, I just pick the value that didn't make the physic engine unstable. Needless to say that accuracy is more important than speed, for my task.
Now, I'am trying to do the same with more realistic robots :
* Realistic weights : the robots parts have weights ranging from 1g to 80g
* Realistic sizes : the parts have dimensions ranging from 5mm to 100mm
* Accurate collision volumes : the parts are union of boxes, 1 to 3 boxes per part, around 100 parts to make a full robot
* Realistic torque for the engines
Some stuffs about those robots and about me :
* The parts could be concave, U-shaped as instance
* All the joints are motorized hinges, 20 hinges is the usual number of hinges
And guess what, the physics engine became too much unstable (Parkinson-like hinges, Moon-like/sponge-like moves) to allow any optimizations, even a rought one. I made a little abstraction layer so I can quickly try to simulate my robots with whatever engine. So far, I worked with
* Newton Game Dynamics 1.53, accuracy setting
* ODE 0.8, double precision, dWorldStep for integration, no fast-math
* 0.01 sec step size for integration, collisions disabled between liked bodies
Questions :
* BulletDynamics could help for my problem ? (I read the manual and was frigthened by the recommandations about the scales and the weights ratios)
* Is there some a bit unknown physic engine that don't care so much about speed, but more about accuracy ?
* Same questions but about a do-your-physic-engine-yourself library (I'am a bersek-coder) ?
Robots simulations
-
- Posts: 126
- Joined: Wed Jul 27, 2005 10:28 am
- Location: SCEE London
Re: Robots simulations
you may also be interested in having a look at:Marmakoide wrote:Hi, a long post to explain clearly what is my problem...
I optimize controlers for robots with optimization algos, I use physics engine to simulate a given candidate controler. I have some pretty results with totally artificial robots. By artificial robots, I mean I didn't care too much about size, weights, torque, I just pick the value that didn't make the physic engine unstable. Needless to say that accuracy is more important than speed, for my task.
Now, I'am trying to do the same with more realistic robots :
* Realistic weights : the robots parts have weights ranging from 1g to 80g
* Realistic sizes : the parts have dimensions ranging from 5mm to 100mm
* Accurate collision volumes : the parts are union of boxes, 1 to 3 boxes per part, around 100 parts to make a full robot
* Realistic torque for the engines
Some stuffs about those robots and about me :
* The parts could be concave, U-shaped as instance
* All the joints are motorized hinges, 20 hinges is the usual number of hinges
And guess what, the physics engine became too much unstable (Parkinson-like hinges, Moon-like/sponge-like moves) to allow any optimizations, even a rought one. I made a little abstraction layer so I can quickly try to simulate my robots with whatever engine. So far, I worked with
* Newton Game Dynamics 1.53, accuracy setting
* ODE 0.8, double precision, dWorldStep for integration, no fast-math
* 0.01 sec step size for integration, collisions disabled between liked bodies
Questions :
* BulletDynamics could help for my problem ? (I read the manual and was frigthened by the recommandations about the scales and the weights ratios)
* Is there some a bit unknown physic engine that don't care so much about speed, but more about accuracy ?
* Same questions but about a do-your-physic-engine-yourself library (I'am a bersek-coder) ?
http://darwin2k.sourceforge.net/
http://dynamechs.sourceforge.net/
cheers,
Antonio
-
- Posts: 117
- Joined: Fri Aug 12, 2005 3:47 pm
- Location: Newyork, USA
Re: Robots simulations
I'm working (on and off) on a more accurate physics model for Bullet. Right now, the dynamics + friction parts are finished. I need to work on the joints and then clean up the code a bit before releasing it. We've been using our methods to model many robots and it's quite stable and accurate.Marmakoide wrote:Hi, a long post to explain clearly what is my problem...
I optimize controlers for robots with optimization algos, I use physics engine to simulate a given candidate controler. I have some pretty results with totally artificial robots. By artificial robots, I mean I didn't care too much about size, weights, torque, I just pick the value that didn't make the physic engine unstable. Needless to say that accuracy is more important than speed, for my task.
Now, I'am trying to do the same with more realistic robots :
* Realistic weights : the robots parts have weights ranging from 1g to 80g
* Realistic sizes : the parts have dimensions ranging from 5mm to 100mm
* Accurate collision volumes : the parts are union of boxes, 1 to 3 boxes per part, around 100 parts to make a full robot
* Realistic torque for the engines
Some stuffs about those robots and about me :
* The parts could be concave, U-shaped as instance
* All the joints are motorized hinges, 20 hinges is the usual number of hinges
And guess what, the physics engine became too much unstable (Parkinson-like hinges, Moon-like/sponge-like moves) to allow any optimizations, even a rought one. I made a little abstraction layer so I can quickly try to simulate my robots with whatever engine. So far, I worked with
* Newton Game Dynamics 1.53, accuracy setting
* ODE 0.8, double precision, dWorldStep for integration, no fast-math
* 0.01 sec step size for integration, collisions disabled between liked bodies
Questions :
* BulletDynamics could help for my problem ? (I read the manual and was frigthened by the recommandations about the scales and the weights ratios)
* Is there some a bit unknown physic engine that don't care so much about speed, but more about accuracy ?
* Same questions but about a do-your-physic-engine-yourself library (I'am a bersek-coder) ?
-
- Posts: 126
- Joined: Wed Jul 27, 2005 10:28 am
- Location: SCEE London
Re: Robots simulations
any links to papers related to what you are implementing so we can get a taste of it?ngbinh wrote: I'm working (on and off) on a more accurate physics model for Bullet. Right now, the dynamics + friction parts are finished. I need to work on the joints and then clean up the code a bit before releasing it. We've been using our methods to model many robots and it's quite stable and accurate.
cheers,
Antonio
-
- Posts: 861
- Joined: Sun Jul 03, 2005 4:06 pm
- Location: Kirkland, WA
Re: Robots simulations
IIRC it is the Stewart/Trinkle solver...
-
- Posts: 117
- Joined: Fri Aug 12, 2005 3:47 pm
- Location: Newyork, USA
Re: Robots simulations
You are right.Dirk Gregorius wrote:IIRC it is the Stewart/Trinkle solver...
Here is the talk I gave at ICCOPT 07 (a math conference http://iccopt-mopta.mcmaster.ca/ )
http://www.cs.rpi.edu/~nguyeb2/docs/ICCOPT_talk.zip
In there, I talked about our methods and how we come up with that. Stewart-Trinkle is a natural derivation when you apply time stepping method to "normal continuous model". It also has a bit of a new fully implicit method where everything is non-linear and collision detection and dynamics are "couple" together (no separation between collision detection and dynamics).
You can find more details on papers by David Stewart, Jeff Trinkle, Mihai Anitescu.
-
- Posts: 861
- Joined: Sun Jul 03, 2005 4:06 pm
- Location: Kirkland, WA
Re: Robots simulations
Will you also contribute a direct LCP solver as well (I think I remember you talking about some modified Lemke) or will you use Bullets iterative solver?
-
- Posts: 117
- Joined: Fri Aug 12, 2005 3:47 pm
- Location: Newyork, USA
Re: Robots simulations
For now, it will be released with PATH. My main interest is (specialized ) solvers for LCP/NCP (arose from simulation). A specialized Lemke solver (with linear running time claim) will follow. For our system, iterative solvers have to run for thousands of iterations to stabilize so it's not a choice at least now.Dirk Gregorius wrote:Will you also contribute a direct LCP solver as well (I think I remember you talking about some modified Lemke) or will you use Bullets iterative solver?