Search found 4076 matches

by Erwin Coumans
Fri Jan 12, 2018 4:26 pm
Forum: PyBullet Support and Feedback
Topic: Limit video framerate of STATE_LOGGING_VIDEO_MP4
Replies: 2
Views: 92

Re: Limit video framerate of STATE_LOGGING_VIDEO_MP4

At the moment, the ffmpeg video stream is generated from the graphics thread, which runs asynchronously from the physics. It cannot be synchronized. We can add an option to force to synchronize them for this purpose, you could file an issue in our tracker ? Alternatively, just grab the individual im...
by Erwin Coumans
Fri Jan 12, 2018 4:21 pm
Forum: Links, Papers, Libraries, Demos, Movies, Comparisons
Topic: Conjugate Gradient based MLCP solver source
Replies: 4
Views: 131

Re: Conjugate Gradient based MLCP solver source

Thanks for sharing this, I'll give it a spin. Hopefully it is reasonably easy to build.

I wonder how the solver compares with the NNCG solver, which is a hybrid of PGS and CG? We have some implementation but it is mainly useful when the problem requires a very high iteration count in PGS.
by Erwin Coumans
Tue Jan 09, 2018 3:58 pm
Forum: General Bullet Physics Support and Feedback
Topic: Custom broadphase filter for city-sized world, need advice
Replies: 4
Views: 217

Re: Custom broadphase filter for city-sized world, need advice

The btDbvtBroadphase should be pretty fast in general, faster than btAxisSweep3/bt32AxisSweep3 and better raycast / aabb cast acceleration.

Bullet updates all AABBs, including the static object. You can use world->setForceUpdateAllAabbs(false) to improve performance.
by Erwin Coumans
Tue Jan 09, 2018 3:53 pm
Forum: General Bullet Physics Support and Feedback
Topic: Softbody and rigidbody collision
Replies: 4
Views: 187

Re: Softbody and rigidbody collision

drleviathan is right. a smaller timestep can improve things increase the soft body collision margin use the double-precision build make the softbody stiff enough by default we only collide with the vertices of a softbody, so you need to make sure there are no big gaps between the vertices enable col...
by Erwin Coumans
Wed Jan 03, 2018 5:06 pm
Forum: PyBullet Support and Feedback
Topic: Hollow shapes
Replies: 1
Views: 99

Re: Hollow shapes

Yes, you can create a convex decomposition of the object, using HACD. The duck and teddy bear URDF files are examples of this. https://github.com/bulletphysics/bullet3/blob/master/data/duck_vhacd.urdf https://github.com/bulletphysics/bullet3/blob/master/data/teddy_vhacd.urdf The test_vhacd executabl...
by Erwin Coumans
Wed Jan 03, 2018 4:11 pm
Forum: PyBullet Support and Feedback
Topic: vibrating object? is this expected behaviour?
Replies: 2
Views: 126

Re: vibrating object? is this expected behaviour?

You constraint to move the cube to [0,0,0] conflicts with the contact constraints between cube and plane, which is also at [0,0,0]. Either change the constraint or move the plane down, for example import pybullet as p p.connect(p.GUI) p.loadURDF("plane.urdf",[0,0,-0.2] ) cubeId = p.loadURDF("cube_sm...
by Erwin Coumans
Wed Jan 03, 2018 4:08 pm
Forum: PyBullet Support and Feedback
Topic: Saving and restoring full state?
Replies: 1
Views: 128

Re: Saving and restoring full state?

That is good timing, I just implemented a first start of saveState and restoreState. You can save the state to memory using saveState, or save the state to disk using saveBullet('filename') THen you can restore the state using restoreState(stateId) or restoreState('filename') Use the latest pybullet...
by Erwin Coumans
Wed Jan 03, 2018 4:04 pm
Forum: PyBullet Support and Feedback
Topic: can pybullet simulate air friction or other types of friction?
Replies: 1
Views: 85

Re: can pybullet simulate air friction or other types of friction?

You can change the linear damping to emulate very simple air resistence.
Use pybullet.changeDynamics for this, see the pybullet quickstart guide.

More advanced force fields need to be written as custom code, either in python or as a pybullet C/C++ plugin.
by Erwin Coumans
Sat Dec 30, 2017 4:18 pm
Forum: General Bullet Physics Support and Feedback
Topic: Capsule-Plane collision detection
Replies: 1
Views: 161

Re: Capsule-Plane collision detection

Bullet uses contact caching for various combinations of collision shape types. This cache allow to accumulate multiple contact points, even when using a collision detector that only computes a single points (such as GJK/EPA). Secondly, this caching allows to store solver information for warmstarting...
by Erwin Coumans
Fri Dec 22, 2017 11:39 pm
Forum: General Bullet Physics Support and Feedback
Topic: Bullet Physics and X64
Replies: 7
Views: 2582

Re: Bullet Physics and X64

This is not really a Bullet issue but cmake issue, you may want to search elsewhere for cmake advise. Alternatively, you can just add the Bullet source files directly into your own project, instead of using a separate cmake file. Finally, you can also use premake, it creates projects that can switch...
by Erwin Coumans
Fri Dec 22, 2017 11:36 pm
Forum: General Bullet Physics Support and Feedback
Topic: Set hinge angle
Replies: 2
Views: 177

Re: Set hinge angle

This is only available if you use btMultiBody using revolute joints, which are like hinges. Note that you can mix btMultiBody and btRigidBody in the same dynamics world. Generally you cannot just set the link state in a btTypeConstraint, since you would need to update the position of both attached b...
by Erwin Coumans
Tue Dec 19, 2017 6:07 am
Forum: PyBullet Support and Feedback
Topic: Hand bouncing off to infinity
Replies: 3
Views: 151

Re: Hand bouncing off to infinity

Remove the line

Code: Select all

p.changeDynamics(hand, linkIndex=-1, angularDamping=35.0)
since it is better to leave the damping as default and the value is out-of-range (we don't check against meaningless values at the moment)
by Erwin Coumans
Wed Dec 13, 2017 2:18 am
Forum: PyBullet Support and Feedback
Topic: Problem when importing mesh as ground
Replies: 2
Views: 56

Re: Problem when importing mesh as ground

Use the flags=GEOM_FORCE_CONCAVE_TRIMESH in the createCollisionShape command.
by Erwin Coumans
Wed Dec 13, 2017 2:17 am
Forum: PyBullet Support and Feedback
Topic: how to change joint position
Replies: 2
Views: 70

Re: how to change joint position

The main way to create a robot is creating a URDF file. Aside from that, you can use createMultiBody. get the Bullet source code, and see Bullet/examples/pybullet/examples/createMultiBodyLinks.py for an example (this is in the Pybullet Quickstart Guide) The 'createConstraint' is only to attach multi...
by Erwin Coumans
Mon Dec 11, 2017 8:19 pm
Forum: PyBullet Support and Feedback
Topic: Built-in box visual object has incorrect normals, when created via loading a urdf
Replies: 4
Views: 64

Re: Built-in box visual object has incorrect normals, when created via loading a urdf

What is 'incorrect' about the normals? I get a similar image than you. What kind of normals would you expect? The built-in cube likely uses interpolated vertex normals, instead of face normals. If you want unique normals that point in the face direction,why don't you use Bullet/data/cube.obj? by the...