Some "can i do that" questions from newbie

Post Reply
sikor
Posts: 2
Joined: Tue Dec 25, 2012 10:07 am

Some "can i do that" questions from newbie

Post by sikor »

Hi. I have some newbie questions like "can i do that in bullet".
Please don't tell me how to do it (if it's doable I'll try to find out myself how), just say if it's doable.
There are alot of physics engines but bullet drew the most of my attention.

So if you could tell me:
1. Can I add some "force" to the joints? For example I don't want to set joint angle between two rigid bodies but I want to set the force (you know... just like human muscles)

What I want to do is to create simple human body where I could control force of the muscles.
2. Is that doable?

Regards.
Tomek (Poland)
DannyChapman
Posts: 84
Joined: Sun Jan 07, 2007 4:29 pm
Location: Oxford, England
Contact:

Re: Some "can i do that" questions from newbie

Post by DannyChapman »

Yes (with joint motors) and yes.

One problem you'll have though, if you're intending this to be for realtime use (i.e. stepping physics at < 60Hz and just a handful of iterations), is that the iterative solver will not converge very quickly, which will mean you won't get anything like the control you might be needing, assuming a ragdoll model with around 20 joints. If you can use a much smaller timestep you should get more accurate results. It depends what you want to do, too.

I think Erwin is making progress with a Featherstone integration (or similar) - that should allow much more accurate drives with larger timesteps.
sikor
Posts: 2
Joined: Tue Dec 25, 2012 10:07 am

Re: Some "can i do that" questions from newbie

Post by sikor »

Thank you for your post.
While i was waiting for response from someone, I took the law in my own hands and tried to figure out things from bullet demos myself. I succeeded by applying generic6DOFConstraints to my ragdoll.
(here's a short example if someone is curious http://www.youtube.com/watch?v=14fn9Rd1V3E)

What I want to do is to use genetic algorithms to evolve virtual beings that can hold balance or walk.
So now i'm curious how to speed up simulation time. I was searching demos and experimenting with incrementing some values (for example frameDelta which is parameter for StepSimulation) but with no success.

What I would like to do is to have ability to "fast forward" my simulation. Is that possible?

DannyChapman, you were talking something about timeSteps. I think I didn't understand you correctly. Is that something that can speed up my simulation time?

------- EDIT--------
My bad! I have been using many projects and dependencies in my solution.
I managed to increase simulation speed by incrementing StepSimulation(_frameDelta) <--- _frameDelta value for method StepSimulation. I just had to rebuild projects to apply changes. It works just like i thought before.
DannyChapman
Posts: 84
Joined: Sun Jan 07, 2007 4:29 pm
Location: Oxford, England
Contact:

Re: Some "can i do that" questions from newbie

Post by DannyChapman »

sikor wrote:Thank you for your post.
here's a short example if someone is curious http://www.youtube.com/watch?v=14fn9Rd1V3E
That video is private... it would be nice to see it!
Basroil
Posts: 463
Joined: Fri Nov 30, 2012 4:50 am

Re: Some "can i do that" questions from newbie

Post by Basroil »

DannyChapman wrote: you're intending this to be for realtime use (i.e. stepping physics at < 60Hz and just a handful of iterations)
I have a 18 joint model that runs at 300Hz with 100 joint iterations in about 5ms with a 2.0GHz cpu, so you can easily increase it as long as you don't have a ridiculous number of joints or start using complicated joint motor controllers.
sikor wrote: What I want to do is to use genetic algorithms to evolve virtual beings that can hold balance or walk.
So now i'm curious how to speed up simulation time. I was searching demos and experimenting with incrementing some values (for example frameDelta which is parameter for StepSimulation) but with no success.

What I would like to do is to have ability to "fast forward" my simulation. Is that possible?

------- EDIT--------
My bad! I have been using many projects and dependencies in my solution.
I managed to increase simulation speed by incrementing StepSimulation(_frameDelta) <--- _frameDelta value for method StepSimulation. I just had to rebuild projects to apply changes. It works just like i thought before.
For actually running your GA, why not just ignore the visualizations? You can always record your data and use that to render a video later, and you'll be able to run as large a population as your memory can handle.
Post Reply