Search found 4172 matches

by Erwin Coumans
Fri Apr 12, 2019 1:38 am
Forum: General Bullet Physics Support and Feedback
Topic: Load File from URDF and convert to Rigidbody (RobotSimulator)
Replies: 2
Views: 157

Re: Load File from URDF and convert to Rigidbody (RobotSimulator)

There is a better way to limit motion for reduced coordinate (btMultiBody): instead of using a free base, use a fixed base and add additional degrees of freedom to enable motion along the axis you want. See the biped2d example how this is done: https://github.com/bulletphysics/bullet3/blob/master/ex...
by Erwin Coumans
Fri Apr 12, 2019 1:33 am
Forum: PyBullet Support and Feedback
Topic: Manipulating Kuka-robot joint using Torque-control
Replies: 2
Views: 297

Re: Manipulating Kuka-robot joint using Torque-control

You need to first unlock/disable the default velocity/position motor: pybullet.setJointMotorControl2(objUid, linkIndex, p.VELOCITY_CONTROL, force=0) Otherwise, your force/torque has to exceed the default motor. Instead of using 0, you can also use a very small force limit, to mimic joint friction. I...
by Erwin Coumans
Tue Apr 09, 2019 6:13 am
Forum: General Bullet Physics Support and Feedback
Topic: why call the computeAccelerationsArticulatedBodyAlgorithmMultiDoft twice?
Replies: 2
Views: 100

Re: why call the computeAccelerationsArticulatedBodyAlgorithmMultiDoft twice?

Good point, the second pass is used for joint feedback (using results from the constraint solver).

We can add a check for 'body->internalNeedsJointFeedback()' around line 720 of btMultiBodyDynamicsWorld. Mind sending a patch to github?
by Erwin Coumans
Thu Mar 21, 2019 9:36 pm
Forum: PyBullet Support and Feedback
Topic: Spherical Joints
Replies: 10
Views: 939

Re: Spherical Joints

Actually my implementation of DeepMimic in PyBullet is working fine. We ignore the inertia data from URDF and recompute it based on collision shapes, and that data is identical from the original DM. We can re-use the original policy with stable PD control, so all is fine. You can use 1200Hz, but by ...
by Erwin Coumans
Wed Mar 20, 2019 1:56 pm
Forum: General Bullet Physics Support and Feedback
Topic: 2 Dynamic objects Oscillating
Replies: 2
Views: 236

Re: 2 Dynamic objects Oscillating

You should always use the very latest Bullet version from github. Aside from that, you can 1) use btBoxShape 2) use a smaller time step or increase the number of substeps 3) use more solver iterations or use a direct solver (Dantzig) 4) avoid large mass ratio If you have issues, always create a smal...
by Erwin Coumans
Fri Mar 15, 2019 4:18 am
Forum: General Bullet Physics Support and Feedback
Topic: MultiBody and RigidBody: architectural design of an application
Replies: 4
Views: 314

Re: MultiBody and RigidBody: architectural design of an application

You can attach btMultiBody and btMultiBody/btRigidBody using constraints. I would recommend checking out PyBullet to create a prototype, it uses btMultiBody by default under the hood. When using 'useMaximalCoordinates=True' it uses btRigidBody.
by Erwin Coumans
Sun Mar 10, 2019 12:19 am
Forum: PyBullet Support and Feedback
Topic: Spherical Joints
Replies: 10
Views: 939

Re: Spherical Joints

You didn't disable the motors, as is done in humanoidMotioncapture.py, add this block: #disable motors for j in range (p.getNumJoints(model)): ji = p.getJointInfo(model,j) targetPosition=[0] jointType = ji[2] if (jointType == p.JOINT_SPHERICAL): targetPosition=[0,0,0,1] p.setJointMotorControlMultiDo...
by Erwin Coumans
Sat Mar 09, 2019 1:26 am
Forum: PyBullet Support and Feedback
Topic: Spherical Joints
Replies: 10
Views: 939

Re: Spherical Joints

The humanoidMotionCapture.py example shows how to use spherical drives. Also one of the humanoids in that example use resetJointStateMultiDof to set its state. Both modes works just fine with me. Please check it.
by Erwin Coumans
Sat Mar 09, 2019 1:24 am
Forum: PyBullet Support and Feedback
Topic: Position control for robot base?
Replies: 7
Views: 1382

Re: Position control for robot base?

You can attach the base to the (fixed) world frame with a couple of degrees of freedom. Then you can apply setJointMotorContro2 in POSITION_CONTROL mode, or VELOCITY_CONTROL mode to those degrees of freedom to move the base.
by Erwin Coumans
Sat Mar 09, 2019 1:21 am
Forum: PyBullet Support and Feedback
Topic: Simulating indirect drives
Replies: 1
Views: 185

Re: Simulating indirect drives

We currently don't have an API to exceed the maximum RPM of 100, but we probably should add it.

There is an old issue here, I should implement it:
https://github.com/bulletphysics/bullet3/issues/1890
by Erwin Coumans
Sat Mar 09, 2019 1:18 am
Forum: PyBullet Support and Feedback
Topic: Moving from Bullet 2 to Pybullet
Replies: 5
Views: 737

Re: Moving from Bullet 2 to Pybullet

>> The visualization will be done using a 3D engine. >> - Motion states. Is your 3d engine also Python or C++? How do you want to synchronize the graphics transforms? Through C++ / shared memory, or using Python? If it happens in Python, we could add a method that receives only the updated objects. ...
by Erwin Coumans
Sat Mar 09, 2019 1:13 am
Forum: PyBullet Support and Feedback
Topic: PyBullet and ROS?
Replies: 1
Views: 196

Re: PyBullet and ROS?

It should be reasonably easy to write a bridge between ROS and PyBullet, for example in Python. PyBullet can already load URDF and SDF files and you can get all information and control through Python. Python can communicate to a PyBullet simulator and share ROS topics. There is no out-of-the box sol...
by Erwin Coumans
Thu Mar 07, 2019 4:15 am
Forum: General Bullet Physics Support and Feedback
Topic: Friction problem - Sphere isnt rolling on a straight line.
Replies: 8
Views: 2187

Re: Friction problem - Sphere isnt rolling on a straight line.

@Steven: Rolling friction works fine now, as long as you use btMultiBody, since we clamp against an implicit cone now, not against a pyramid. The fix is here: https://github.com/bulletphysics/bullet3/blob/master/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp#L116 The fix hasn't been...
by Erwin Coumans
Mon Mar 04, 2019 1:15 am
Forum: General Bullet Physics Support and Feedback
Topic: Friction problem - Sphere isnt rolling on a straight line.
Replies: 8
Views: 2187

Re: Friction problem - Sphere isnt rolling on a straight line.

OK, I got around implementing cone friction for rolling friction, so the two rolling friction directions are coupled and clamped against the friction cone together (instead of each rolling friction direction clamped against a friction pyramid).

https://github.com/bulletphysics/bullet3/pull/2138
by Erwin Coumans
Fri Mar 01, 2019 4:22 am
Forum: General Bullet Physics Support and Feedback
Topic: Friction problem - Sphere isnt rolling on a straight line.
Replies: 8
Views: 2187

Re: Friction problem - Sphere isnt rolling on a straight line.

Rolling friction indeed has an issue. We need to use cone friction for rolling friction (as we do for lateral friction). Will be fixed in a little while, see this issue: https://github.com/bulletphysics/bullet3/issues/2117 For now, disable rolling friction and manually apply some force (or use dampi...