Commit Graph

777 Commits

Author SHA1 Message Date
erwincoumans
58cde7b598 Merge pull request #4181 from erwincoumans/master
rename tiny_obj_loader.h namespace to bt_tinyobj to avoid conflicts
2022-02-24 09:22:53 -08:00
Erwin Coumans
9bfca83a8f rename tiny_obj_loader.h namespace to bt_tinyobj to avoid conflicts 2022-02-24 08:32:34 -08:00
Chuyuan Kelly Fu
372c8e07bc fix inded in loop 2022-02-18 17:51:47 -08:00
erwincoumans
22ef34bb69 Revert "Add deformable contact forces info" 2022-02-18 16:14:53 -08:00
erwincoumans
ccafe333d1 Merge pull request #3979 from johbrust/deformableForces
Add deformable contact forces info
2021-11-13 22:32:43 -08:00
erwincoumans
88c04a8eae Merge pull request #4016 from stephentu/patch-1
Fix bug in server handling of inverse dynamics
2021-11-12 05:28:32 +00:00
Chuyuan Fu
a2aada62ae add user data to deformable urdf 2021-10-29 17:46:03 -07:00
Stephen Tu
63446558cd Fix bug in server handling of inverse dynamics
The current implementation of processInverseDynamicsCommand has two issues:

1. For floating bases, the handler is not properly copying over the position and orientation from the client inputs.
2. For floating bases, the handler is ignoring the position of the joint angles from the client inputs. 

This CL fixes both issues. While the fix for (2) is straightforward, I am not sure whether or not the right pybullet API convention is to have (x, y, z, orn) passed in, or instead (orn, x, y, z). The former makes more sense to me and is what I implemented.
2021-10-28 12:52:15 -07:00
Johannes Brust
61d5bdb783 Fix bug due to missing swap 2021-10-21 17:38:13 +02:00
Johannes Brust
5795bd676f Add deformable contact forces info
- add contact information for collisions between rigid and soft bodies
- collisions between different soft bodies are not supported
- uses impulse acting on tetrahedral nodes for calculation of forces
- contact points are approximated by node positions
- multiple forces acting on identical nodes are accumulated
2021-09-28 22:39:31 +02:00
erwincoumans
9c37ca5185 Merge pull request #3950 from bttner/fix_external_force_command
Fix: reference frame issue of external force command processor (Physics Server)
2021-09-20 14:34:52 -07:00
Erwin Coumans
87605ca4c8 revert linkNames in createMultiBody, we cannot pass pointers pointing to local memory (storing the string) around into shared memory or over the network. 2021-09-20 12:22:30 -07:00
erwincoumans
b638300fe4 Merge pull request #3951 from erwincoumans/master
implement resetMeshData for deformable bodies, fix tiny_renderer standalone example
2021-09-02 18:03:23 -07:00
Erwin Coumans
b6df08b553 implement resetMeshData for deformable bodies, this allows better reset for reinforcement learning algorithms. 2021-09-02 17:27:05 -07:00
Felix Büttner
4b6ec20b30 External force and torque frame fix 2021-09-02 17:40:18 +02:00
Chuyuan Fu
e16c9bb1cc implement request deformable contact info 2021-08-18 18:48:35 -07:00
erwin coumans
e952ac6f63 Add pybullet.configureDebugVisualizer(rgbBackground=[red,green,blue]) (each component a float in the range [0,1])
This is an alternative to passing options="--background_color_red=red --background_color_green=green --background_color_blue=blue" in the connect method.
2021-05-06 18:08:22 -07:00
Erwin Coumans
c915e82d49 Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-22 16:20:31 -07:00
erwin coumans
a5761f2b10 pybullet: getDynamicsInfo report local inertia diagonal for useMaximalCoordinates 2021-04-20 20:20:55 -07:00
erwin coumans
e58e5bdf95 PyBullet:
expose pybullet.changeDynamics(sleepThreshold), default 0.05, for both useMaximalCoordinates=False and True
When the dot(vel,vel) < sleepThreshold for longer than 2 seconds (this timeout is hard coded) objects that have the ACTIVATION_STATE_ENABLE_SLEEPING enabled with be deactivated
Example:
p.changeDynamics(ob, -1, activationState=p.ACTIVATION_STATE_ENABLE_SLEEPING, sleepThreshold=0.05)
2021-04-20 11:29:27 -07:00
erwin coumans
78f5b141f9 fix for 'useMaximalCoordinates' rigid body in PyBullet: activate a rigid body after picking 2021-04-20 10:24:09 -07:00
Erwin Coumans
973d8c128f Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-07 22:13:18 -07:00
erwin coumans
8b8c1af6a4 Cleaned-up/fixed version of this Pull Request #3239, thanks to Wenlong Lu 2021-04-05 11:40:45 -07:00
Erwin Coumans
58d47935a3 Merge remote-tracking branch 'bp/master' 2021-03-26 11:53:37 -07:00
erwin coumans
d1c4c41b9a add performCollisionDetection (stepSimulation also calls this, but does more, including solving constraints and integration) 2021-03-26 10:31:13 -07:00
erwincoumans
93be7e6440 Merge pull request #3311 from erwincoumans/master
allow to compile pybullet using btDiscreteDynamicsWorld (no btMultiBody, no btSoftBody, no btDeformableBody)
2021-03-26 10:29:04 -07:00
erwin coumans
0196edd4d2 update single aabb, during resetJointState/resetBasePositionAndOrientation, to allow raycast/collision queries. 2021-03-26 09:11:59 -07:00
erwin coumans
6f7d458679 add missing line in previous commit 2021-03-16 18:17:23 -07:00
erwin coumans
5cf8ee3360 Allow to compile pybullet using btDiscreteDynamicsWorld (no multibodies and no deformables), this allows to create Jacobian and Mass matrix (and A=J*M-1*J_transpose) with MLCP solvers
Add examples/pybullet/gym/pybullet_utils/readwriteurdf.py, this allows to read a URDF and write the URDF with more reasonable inertia tensors (based on mass and collision volumes)
2021-03-15 22:44:55 -07:00
yycho0108
6f65a12b3a no nullptr 2021-01-20 16:45:23 +09:00
yycho0108
c0d9553d65 add link names args to CreateMultibody 2021-01-20 15:53:24 +09:00
Erwin Coumans
93575a2e38 fix changeDynamics for to set lower/upper joint limits and joint limit max force 2020-12-15 16:24:24 -08:00
erwincoumans
272c7099d3 Merge pull request #3090 from ErikGartner/master
Revert 32277c
2020-11-25 09:25:46 -08:00
erwincoumans
875a6a4446 Merge pull request #3153 from WenlongLu/kinematic_multibody_interface
SharedMemory interface to set and get dynamic types
2020-11-18 11:05:03 -08:00
erwincoumans
464bbc4ddd Merge pull request #3089 from Steven89Liu/fixDOF
we should use the m_jointMotorForceMultiDof which is indexed by degree
2020-11-13 10:06:52 -08:00
WenlongLu
21836afb97 Add share memory commands for user to change object dynamic types 2020-11-11 22:41:33 -08:00
Erwin Coumans
ad0994022d allow streaming of data 2020-10-07 10:12:02 -07:00
Erwin Coumans
bc51ac3f0f Support getCachedReturnData for PhysicsLoopBack
re-use existing code path for streaming plugin return data (work-in-progress)
2020-10-07 08:24:33 -07:00
Erwin Coumans
954ceff2ec Add an option for a plugin to report return data after calling executePluginCommand. Also add python binding.
Currently the return data has to fit in shared memory, 8MB (Linux, Windows) or 1MB (Apple)
Preparation for streaming is added (to allow unlimited return data, see CMD_CUSTOM_COMMAND_STREAM_RETURN_DATA)

New C-API: b3GetStatusPluginCommandReturnData
PyBullet reports return data if available, in pybullet_executePluginCommand

For the plugin developer:
plugin can provide additional return data for executePluginCommand in the b3PluginContext, during executePluginCommand.
Lifetime of this m_returnData pointer is minimum of next call to the next executePluginCommand or plugin termination.
2020-10-06 20:19:39 -07:00
Erwin Coumans
6b91ecc0c5 allow to set changeDynamics(body, link, contactProcessingThreshold) for multibodies
(set to 0 if restitution is important)
2020-10-05 16:33:41 -07:00
Erik Gärtner
777ab5a5ab Revert "in case of substeps use the compensated delta time / numSubSteps to convert between force and impulse."
This reverts commit 32277c7bd5.
2020-10-02 15:49:23 +02:00
Steven89Liu
104789ca99 we should use the m_jointMotorForceMultiDof which is indexed by degree
of freedom.
2020-10-01 15:58:45 +08:00
Erwin Coumans
d0dc96aa05 Merge remote-tracking branch 'bp/master' 2020-09-20 16:36:45 -07:00
Erwin Coumans
1bd82e7d81 allow rendering of (textured) heightfield in TinyRenderer and EGL.
Also update normals, if heightfield is updated.
2020-09-20 16:03:56 -07:00
erwincoumans
7f4fdb16b3 Merge pull request #3061 from fuchuyuan/addAttributes
add configurable parameters to urdf
2020-09-18 16:59:43 -07:00
Erwin Coumans
4f8f28233c allow alternative deformable indexing (internal use/testing) 2020-09-17 03:15:44 -07:00
Chuyuan Fu
7d8379bad4 add configurable parameters to urdf 2020-09-14 12:34:21 -07:00
Erwin Coumans
0c2a54193c fixes in cached textures (pointer re-use) 2020-09-13 16:49:13 -07:00
Erwin Coumans
f8288e029e fix color for deformables, if texture is not specified 2020-09-13 16:07:42 -07:00
Erwin Coumans
9ae41971bc re-enable pybullet.getVisualShapeData for deformables
(was broken in previous commit)
2020-09-13 15:08:42 -07:00