Commit Graph

731 Commits

Author SHA1 Message Date
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
Erwin Coumans
bd1bd36bc6 allow to change texture for deformables 2020-09-12 20:12:46 -07:00
Erwin Coumans
c58a54174e allow to set color of deformables for debug visualizer
don't render deformables for TinyRenderer/EGL if p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
Fix segmentation mask in tinyrenderer for deformables
2020-09-12 19:41:10 -07:00
Erwin Coumans
e00691e132 more deformable rendering fixes, egl and tinyrenderer 2020-09-12 18:15:51 -07:00
Erwin Coumans
1452cae641 * add textured models of ball.vtk (obj/mtl) and torus (obj/mtl) and cloth.
1) allow to render deformables in 'getCameraImage', for TinyRenderer (tested OK) and EGL (untested)
2) allow to have textures for deformables. See deformable_ball.py, deformable_anchor.py and deformable_torus.py for examples
3) deformables: allow to request simulation mesh data (even if there is a render mesh) See deformable_anchor.py for an example usage
   data = p.getMeshData(clothId, -1, flags=p.MESH_DATA_SIMULATION_MESH)
4) fix deletion of deformables, thanks to Fychuyan, https://github.com/bulletphysics/bullet3/pull/3048
5) allow to enable and disable double-sided rendering, p.changeVisualShape(objectUid, linkIndex, flags=p.VISUAL_SHAPE_DOUBLE_SIDED)
6) fix GripperGraspExample, model not found
7) Fix deformable anchor not attaching to multibody with object unique id of 0
8) Fix issue with assignment of unique ids in TinyRenderer/EGL renderer (always use broadphase uid)
9) Avoid crash/issue of simulation with pinned vertices (mass 0) in btDeformableBackwardEulerObjective::applyExplicitForce
10) Store uv/normal in btSoftBody::RenderNode to allow textured meshes
11) (uncomment in btSoftBodyHelpers.cpp): dump vertices and indices in obj wavefront format, when loading a VTK file, for quicker creation of a (textured) surface mesh
12) allow interpolateRenderMesh also for old position-based soft bodies (not only the shiny new FEM deformables)
13) fix a few premake targets
14) update build_visual_studio_vr_pybullet_double_cmake.bat so it suits c:\python37 and installs locally
    for local install of Bullet, see also this example https://github.com/erwincoumans/hello_bullet_cmake
2020-09-12 01:03:04 -07:00
Erwin Coumans
ccdec68b1d expose shadowmap intensity to PyBullet API 2020-09-07 16:52:14 -07:00
Erwin Coumans
f9abae073b PyBullet: fix cases where contact point objects are swapped, reported here
https://github.com/bulletphysics/bullet3/issues/3023
Thanks to ichumuh for the report and reproduction!
2020-09-01 09:27:05 -07:00
erwincoumans
2c9a55da54
Update PhysicsServerCommandProcessor.cpp
fix potential crash, if user doesn't provide valid body unique id in pybullet.setCollisionFilterGroupMask
2020-08-14 16:59:56 -07:00
Erwin Coumans
306245d68b fix potential memory leak in createMultiBody, reported by Fei Xia here (thanks for report/repro!)
https://github.com/bulletphysics/bullet3/issues/2898
2020-08-13 16:40:37 -07:00
Erwin Coumans
d12d886e13 raycast filter masks can be negative, always apply the mask (-1 default). Thanks to Tingnan for reporting/reproduction case. 2020-08-03 11:00:14 -07:00
Erwin Coumans
1de2269b6e add removeState in C++ API, see also Issue https://github.com/bulletphysics/bullet3/issues/2935 2020-07-17 15:04:54 -07:00
Erwin Coumans
caa8b26ce5 Fixes in TinyAudio, play sound on collision impact, can be configured in URDF/SDF file.
Requires a modified setup.py (or use premake4 to compile)

Example script:
import pybullet as p
import time
p.connect(p.GUI)
plane = p.loadURDF("plane_with_collision_audio.urdf")
box = p.loadURDF("cube.urdf",[0,0,1])
p.setGravity(0,0,-10)
while (1):
  p.stepSimulation()
  time.sleep(1./240.)
2020-07-13 14:07:58 -07:00
Erwin Coumans
d88d0e92ef also update m_jointLowerLimit/m_jointUpperLimit in multibody link. 2020-07-07 19:49:29 -07:00
Erwin Coumans
c517c434e6 pybullet allow to enable/change joint limits:
pybullet.changeDynamicsInfo(objectUniqueId, linkIndex, jointLowerLimit=..., jointUpperLimit=...) # jointLowerLimit <= jointUpperLimit

and joint limit max force:
pybullet.changeDynamicsInfo(objectUniqueId, linkIndex, jointLimitForce=...)

For example:
p.changeDynamics(sphereUid,linkIndex, jointLowerLimit=1, jointUpperLimit=3, jointLimitForce=10.5)

add b3ChangeDynamicsInfoSetJointLimit/b3ChangeDynamicsInfoSetJointLimitForce
add getConstraintType for btMultiBodyConstraint
2020-07-07 19:42:23 -07:00
Erwin Coumans
4c63a5019e fix removeConstraint for deformables, thanks to Daniel Seita for reporting the issue. 2020-06-30 16:39:15 -07:00
erwincoumans
036e51c637
Merge pull request #2870 from erwincoumans/master
Fix applyExternalForce command for multibody links. Thanks to Avik fo…
2020-06-18 20:52:47 -07:00
Erwin Coumans
ebef331bbf Fix applyExternalForce command for multibody links. Thanks to Avik for the report. 2020-06-19 03:37:30 -07:00
erwincoumans
01bfdc643c
Merge pull request #2858 from CGJiaxiLiu/fix_softbody
Fix potential undefined softbody member in PhysicsServerCommandProcessor
2020-06-18 20:45:59 -07:00
Xuchen Han
f23e745666 clang format PhysicsServerCommandProcessor and BulletSoftBody 2020-06-17 17:20:39 -07:00
Erwin Coumans
4786ca1df2 Merge remote-tracking branch 'bp/master' 2020-06-16 16:20:17 -07:00
Erwin Coumans
a7b8b54c44 implement mouse picking for deformable objects in PyBullet (the one using p.resetSimulation(p.RESET_USE_DEFORMABLE_WORLD), not position based dynamics version) 2020-06-16 11:54:50 -07:00
Jiaxi
f034e64cc6 Check for availability of soft body 2020-06-14 21:42:32 -04:00
Jiaxi
a848c1d6e9 Check for availability of soft body 2020-06-14 21:26:54 -04:00
erwincoumans
da50438c3c
Merge pull request #2826 from xhan0619/grav-factor
Deformable gravity factor
2020-06-05 10:07:27 -07:00
Erwin Coumans
a2cdadb9b4 add check to avoid crash, if link is out of bounds. 2020-06-04 00:24:51 -07:00
Erwin Coumans
e82a4ecc6d Apply patch to apply force at softbody nodes, thanks to Robert Lee, see
https://github.com/bulletphysics/bullet3/issues/2699#issuecomment-610734583
2020-06-04 00:09:11 -07:00
Erwin Coumans
c09007e005 Merge branch 'master' of github.com:erwincoumans/bullet3 2020-06-04 00:00:44 -07:00
Erwin Coumans
e6a0206d47 Allow to remove soft body anchors, using pybullet.removeConstraint (untested).
Usage example:
anchors = []
anchors.append(p.createSoftBodyAnchor(clothId  ,0,-1,-1))
anchors.append(p.createSoftBodyAnchor(clothId ,3,boxId,-1, [0.5,-0.5,0]))
for a in anchors:
  p.removeConstraint(a)
2020-06-04 00:00:19 -07:00
Xuchen Han
8c0192d639 turn on deformable rigid face contact 2020-05-26 16:52:40 -07:00
Xuchen Han
8a189763df support configuring gravity factor from client 2020-05-26 16:51:45 -07:00
erwincoumans
5233b72160
Merge pull request #2800 from xhan0619/splitImpulseMulti
Stability improvements for deformable.
2020-05-21 09:47:33 -07:00
Erwin Coumans
7d61b3514c use memcpy instead of manual copy, alignment issue? 2020-05-20 07:19:26 -07:00
Erwin Coumans
32277c7bd5 in case of substeps use the compensated delta time / numSubSteps to convert between force and impulse. 2020-05-19 11:00:53 -07:00
erwincoumans
d4c7687b29
Merge pull request #2809 from erwincoumans/master
add pybullet.unsupportedChangeScaling feature for some small experime…
2020-05-17 19:22:40 -07:00
Erwin Coumans
3f0b8c938b fix for https://github.com/bulletphysics/bullet3/pull/2797 2020-05-17 14:09:42 -07:00
Erwin Coumans
754dbd5fda add pybullet.unsupportedChangeScaling feature for some small experiments, this is not general and has many limitations that are not likely are going to be resolved,
so unless it does what you want, ignore this api, it is unsupported!
2020-05-17 13:46:11 -07:00
Xuchen Han
f07042723c bug fix in damping mode 2020-05-11 17:40:00 -07:00
Xuchen Han
ce237ec7ec fix API for different damping modes for mass spring 2020-05-11 17:08:33 -07:00
Xuchen Han
644fd5f311 add API for two different damping modes for mass spring 2020-05-11 16:42:17 -07:00
Tigran Gasparian
faa708db49 Fixes bug where user data defined in a URDF link wasn't being applied on
the correct link.
2020-05-11 19:27:04 +02:00
Erwin Coumans
53b65b795f add fractionEpsilon to filter rays with similar hit fraction
remove debug printf
2020-05-09 02:42:47 -07:00
Erwin Coumans
f0cccf0faa add collisionFilterMask to rayTestBatch and rayTest
This will allow to exclude (filter) certain bodies.
By default, static bodies have collision group 2, and dynamic (mass=1) bodies have collision group 1.
As long as mask & group != 0, a raytest will be performed.
2020-05-08 11:57:25 -07:00
Erwin Coumans
daa0a27403 add reportHitNumber to allow reporting a specific ray intersection hit
(by default, pybullet.rayTestBatch reports the closest hit, so you can report 2nd closest or 3rd closest hit etc)
Fix pybullet.createCollisionShape, in some cases (concave trimesh, convex mesh) two instances were created.
2020-05-07 23:23:24 -07:00
Erwin Coumans
8719ac6c95 soft body is not enabled in the test 2020-05-05 02:46:19 +00:00
erwincoumans
ca50714996
Merge pull request #2775 from xhan0619/splitImpulse
Split impulse
2020-04-29 20:00:00 -07:00
Xuchen Han
eefec255cf Merge remote-tracking branch 'origin/master' into splitImpulse 2020-04-27 20:29:06 -07:00
Chuyuan Fu
4e1fa56104 updateVisualShape for softbody
fix

fix space
2020-04-27 20:08:32 -07:00