Discussion of future Bullet Example contributions (Join us!)

mobeen
Posts: 122
Joined: Thu May 05, 2011 11:47 am

Re: Discussion of future contributions and roadmap

Post by mobeen »

benelot wrote:Hello all! Sorry for being very busy, I could not yet contributes since I am finishing my master's presentation this week. After that, I will finish my tutorial parts. What is next on our roadmap? Should we discuss the tutorials written so far as soon as I am done?
I would suggest we add a few more tutorials to highlight all features of bullet. we could then discuss them here.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

Agreed, I am collecting tutorial ideas until I have more time to implement them.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

So I started working on my examples again (My master's thesis is done and over, getting the degree soon, yay!), and I would like to get he Newtonian pendulum hits properly, however, if one pendulum hits the 4 others, they all somehow move a bit and not only the one on the other side. Anybody knows how to fix this? I am using restitution to get the pendulum fully elastic (max restitution is 1, right?), also I found out that there is a hitFraction, but it does not do anything visible. Any idea on how to fix this? I appended my example file. The others stay the same.

Another problem I found was that if we continue to provide examples to the example browser, at some point we will run into collisions with different functions used for the slider callbacks. Also it would be more useful if the slider could also take object methods instead of only functions, because then the sliders could access objects directly.

Edit: I will open another thread to solve the newtonian problem to get special attention for this specific topic.
Attachments
NewtonianPendulum.cpp
(10.84 KiB) Downloaded 1040 times
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

I finished my two examples (except for the problem I am having with the force transmitting from one pendulum to the next: http://www.bulletphysics.org/Bullet/php ... =9&t=11170) and will start to write the tutorials.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

I was not very up to writing tutorials today, so I created another interesting example showing how to speed up and slow down your simulation. I also include changing the time step size of the simulation and additionally it changes the CFM and ERP according to the descriptions in the ODE wiki. I will make a separate article on the bullet wiki at some point. Currently I just drop a cube and reset its position/velocity/force when it touches ground.

Any ideas on what to simulate to show what goes wrong when the time step is too high? (Tunnelling would be something). I will also add possibilities to turn off all corrections separately to show what goes wrong.
Basroil
Posts: 463
Joined: Fri Nov 30, 2012 4:50 am

Re: Discussion of future contributions and roadmap

Post by Basroil »

benelot wrote:I was not very up to writing tutorials today, so I created another interesting example showing how to speed up and slow down your simulation. I also include changing the time step size of the simulation and additionally it changes the CFM and ERP according to the descriptions in the ODE wiki. I will make a separate article on the bullet wiki at some point. Currently I just drop a cube and reset its position/velocity/force when it touches ground.

Any ideas on what to simulate to show what goes wrong when the time step is too high? (Tunnelling would be something). I will also add possibilities to turn off all corrections separately to show what goes wrong.

Sorry for being gone so long, had personal matters to attend to. Putting the finishing touches on the potential tutorial and will update this post when I have the link ready.

As for step size/ERP here's a few cases:
  • Tunneling
  • Restitution, in a way it's related to constraint displacement, so if you have the math behind both might as well show it.
  • Constraint displacement, simplest way is three bodies (only two needed, third for show), one static, one 1 "kg", one 100+ "kg", such that the 100 is hanging from the 1 and 1 from static (your choice of constraint
  • Constraint motor explosion, a bit more difficult to show, but something similar to the above showing how the "enableMotor" type functions tend to use impulse rather than actual force
  • Performance considerations, smaller time steps vs more iterations
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

Hello Basroil,

Happy to have you still on board. We all have personal matters to do sometimes. I am working on implementing these problem cases to make the settable using buttons in the example browser. I already have tunneling and constraint displacement.
Basroil wrote:
As for step size/ERP here's a few cases:
  • Tunneling
  • Restitution, in a way it's related to constraint displacement, so if you have the math behind both might as well show it.
  • Constraint displacement, simplest way is three bodies (only two needed, third for show), one static, one 1 "kg", one 100+ "kg", such that the 100 is hanging from the 1 and 1 from static (your choice of constraint
  • Constraint motor explosion, a bit more difficult to show, but something similar to the above showing how the "enableMotor" type functions tend to use impulse rather than actual force
  • Performance considerations, smaller time steps vs more iterations
  • Restitution: So a bouncing ball with restitution 1 apparently does not properly bounce to the same height when I increase the time step > 60. I just tested this, however, how do we commonly fix this? Actually, I do not know. I did not know of this issue.
  • Constraint motor explosion: Basically I attach a box to the world with a motorized hinge constraint and make it lift using a constant force, and with higher step it starts to spin, that is what I get.
  • What would be the performance considerations in detail? Can we describe a simple rule or is the a reference paper to read or anything similar?
Edit:
I appended my current version of the TimeWarp example showing all the unwanted effects. They can be triggered via buttons on the right-hand side of the bullet example browser.

Edit2: Finished my beautiful example of TimeWarp and my other more basic examples, they all work amazingly well. I added a ton of explanations and details so that one can easily get what is going on. Next I am going to pull-request.
Attachments
TimeWarp.h
(1.09 KiB) Downloaded 1004 times
TimeWarp.cpp
(54.61 KiB) Downloaded 979 times
Last edited by benelot on Mon Jun 20, 2016 10:54 am, edited 1 time in total.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

My pull-request is up (the basic examples, not the TimeWarp):

https://github.com/bulletphysics/bullet3/pull/648
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

TimeWarp Pull request is up as well. Next up is a small and simple implementation of the game breakout to show how to load a mesh directly from an array, keep a ball at a constant speed and make some collision handling.

Who is still on the contributions project and what are you working on?
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

So people are no longer interested?
Xcoder79
Posts: 42
Joined: Sun Aug 07, 2011 5:27 am

Re: Discussion of future contributions and roadmap

Post by Xcoder79 »

Hi,

Benelot I am very Intrested, in contributing. Have you finshed the Newtons Cradel using Softbody ropes.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future contributions and roadmap

Post by benelot »

Hi,

Yes I finished the example, which in fact are two examples, one using rigidbodies and one using softbody ropes indeed. Do you have any contributions of your own in mind? Alternatively you can start with porting old examples to the example browser. I can guide you the way into it. I hope you are familiar with git branching and making pull requests, but do not worry if you are not, we get your example into the browser.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future Bullet Physics Example contribution

Post by benelot »

NN3DWalkers example is ready to be tested. If anybody has any comments on it, share them with me.
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future Bullet Physics Example contribution

Post by benelot »

For those interested in contributing, here is a list of old demos that need porting to the example browser:
http://bulletphysics.org/mediawiki-1.5. ... /Old_Demos
benelot
Posts: 350
Joined: Sat Jul 04, 2015 10:33 am
Location: Bern, Switzerland
Contact:

Re: Discussion of future Bullet Example contributions (Join

Post by benelot »

I am again searching for new contributors! It is not hard to get something done and it is very nice if things get accepted in the end! Come and join us!
Post Reply