Search found 4150 matches

by Erwin Coumans
Tue Feb 19, 2019 12:18 am
Forum: PyBullet Support and Feedback
Topic: Remove Collision from an entire MultiBody
Replies: 3
Views: 295

Re: Remove Collision from an entire MultiBody

PyBullet. setCollisionFilterGroupMask should be fixed in latest repository. Thanks for the report.

Note that link index -1 refers to the base, and link index >=0 refers to child links.
https://github.com/bulletphysics/bullet3/pull/2116
by Erwin Coumans
Tue Feb 19, 2019 12:08 am
Forum: PyBullet Support and Feedback
Topic: Undesired behaviour when dropping cube
Replies: 1
Views: 41

Re: Undesired behaviour when dropping cube

Yes, by default PyBullet adds some damping for stability. You can disable it like this: p.changeDynamics(boxId,-1,linearDamping=0, angularDamping=0) In addition, there is a maximum velocity of 100 units (m/s for linear velocity and radians/sec for angular velocity). If this is an issue, you can comp...
by Erwin Coumans
Fri Feb 15, 2019 6:24 pm
Forum: General Bullet Physics Support and Feedback
Topic: btMultiBodyJointMotor interaction and control problem.
Replies: 3
Views: 141

Re: btMultiBodyJointMotor interaction and control problem.

Can you please file an issue in the tracker, with a C++ reproduction case and/or PyBullet reproduction case (PyBullet is preferable).

https://github.com/bulletphysics/bullet3/issues

Thanks!
Erwin
by Erwin Coumans
Mon Feb 11, 2019 4:52 am
Forum: General Bullet Physics Support and Feedback
Topic: Is there SAT algorithm in Bullet Physics Engine
Replies: 2
Views: 212

Re: Is there SAT algorithm in Bullet Physics Engine

Yes, Bullet provides a SAT implementation. You need to call the convexHull->initializePolyhedralFeatures(), this will create edges/trangles for a point cloud. convex hull generation is then enable SAT using getDispatchInfo().m_enableSatConvex=true; Implementation is in src\BulletCollision\CollisionD...
by Erwin Coumans
Tue Jan 15, 2019 5:40 pm
Forum: General Bullet Physics Support and Feedback
Topic: C API, how to get body position/orientation by id (URDF)
Replies: 2
Views: 175

Re: C API, how to get body position/orientation by id (URDF)

It is easiest to look into the PyBullet documentation and how it uses the C API in pybullet.c or use/enhance the BulletRobotics C++ wrapper on top of the C API. @mnaveau, this is example code, so you are supposed to copy it into your own project, if you want to use it. See also BulletRobotics target...
by Erwin Coumans
Tue Jan 15, 2019 4:58 pm
Forum: General Bullet Physics Support and Feedback
Topic: why are importers in the examples directory?
Replies: 4
Views: 641

Re: why are importers in the examples directory?

Good point. Python bindings and URDF import is not really part of the core SDK and it has been under heavy development. Our primary users are using Python nowadays, so the Python API is where the focus is at the moment. At some state, I'll move the files into a final 'BulletRobotics' library under '...
by Erwin Coumans
Mon Dec 31, 2018 9:27 pm
Forum: PyBullet Support and Feedback
Topic: How to implement a Continuous Control of a quadruped robot with Deep Reinforcement Learning in Pybullet and OpenAI Gym?
Replies: 1
Views: 462

Re: How to implement a Continuous Control of a quadruped robot with Deep Reinforcement Learning in Pybullet and OpenAI G

Thanks for sharing, that looks pretty cool! You could try to use ARS, augmented random search or alternatively PPO. Implement your environment as a Gym environment, with a reset, step etc. Here is a simple ARS implementation: https://github.com/bulletphysics/bullet3/tree/master/examples/pybullet/gym...
by Erwin Coumans
Fri Dec 21, 2018 3:05 am
Forum: PyBullet Support and Feedback
Topic: Rope for Unity
Replies: 2
Views: 334

Re: Rope for Unity

That code hasn't been exposed through the C-API yet. We may improve soft body support in PyBullet next year.
by Erwin Coumans
Fri Dec 21, 2018 1:34 am
Forum: General Bullet Physics Support and Feedback
Topic: Mass values.
Replies: 3
Views: 211

Re: Mass values.

Haven't seen this before. Can you create a simple repro case and file it in the issue tracker?
by Erwin Coumans
Fri Nov 30, 2018 6:03 pm
Forum: PyBullet Support and Feedback
Topic: generic 6DOF constraint in pyBullet
Replies: 2
Views: 298

Re: generic 6DOF constraint in pyBullet

PyBullet doesn't use constraints by default, it uses btMultiBody primarily. So joints are not represented by constraints internally. then create a constraint that encapsulates those DOFs without having to do collision detection/simulation Why? Can you explain more in detail what you try to do with P...
by Erwin Coumans
Mon Nov 26, 2018 4:56 am
Forum: General Bullet Physics Support and Feedback
Topic: Dynamically skipping collision response.
Replies: 2
Views: 164

Re: Dynamically skipping collision response.

One thing you can try it setting the cp.m_distance1 to a very large value (for exampe BT_LARGE_FLOAT), so it will be skipped by the solver.

The cp.m_appliedImpulse is a return value from the solver, also used in case of warmstarting, so I wouldn't modify that value.
by Erwin Coumans
Sat Nov 24, 2018 2:03 am
Forum: PyBullet Support and Feedback
Topic: Varying the center of mass of an object
Replies: 2
Views: 413

Re: Varying the center of mass of an object

What I've tried so far is to create a multiBody and offset the collisionFramePosition and visualFramePosition to emulate a com that is not at the center of the mesh. However, I'm not sure if that correctly alters the center of mass for simulation or if I just offset frame positions without physical...
by Erwin Coumans
Sat Nov 24, 2018 1:03 am
Forum: General Bullet Physics Support and Feedback
Topic: Generating Contact Constraints.
Replies: 6
Views: 340

Re: Generating Contact Constraints.

>> m_lateralFrictionInitialized does no longer exists. It was replaced by a flag. Try using this instead: contactPoint.m_contactPointFlags |= BT_CONTACT_FLAG_LATERAL_FRICTION_INITIALIZED Also, best to use the gContactProcessedCallback (not added callback, so no need for the CUSTOM MATERIAL flag): gC...
by Erwin Coumans
Fri Nov 23, 2018 11:58 pm
Forum: General Bullet Physics Support and Feedback
Topic: Different types of friction.
Replies: 7
Views: 421

Re: Different types of friction.

The contact added callback is only called if one (or two) of the objects have the btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK set.
(use body->setCollisionFlags() ( body->getCollisionFlags() | btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK))

Using only the contact processed callback should work.
by Erwin Coumans
Fri Nov 23, 2018 11:54 pm
Forum: General Bullet Physics Support and Feedback
Topic: Generating Contact Constraints.
Replies: 6
Views: 340

Re: Generating Contact Constraints.

The m_appliedImpulseLaterial1/2 are the applied impulses after the solver is done. You can set cp.m_combinedFriction (scalar) and m_lateralFrictionDir1/m_lateralFrictionDir2 (orthogonal directions, projected in the ground plane). There are also cp.m_contactMotion1, cp.m_frictionCFM etc. cp.m_contact...