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
e9f486eebb
narrow from double to float please
2020-09-13 18:32:52 -07:00
Erwin Coumans
0c2a54193c
fixes in cached textures (pointer re-use)
2020-09-13 16:49:13 -07:00
Erwin Coumans
f9a96442d1
disable texture caching in some place, due to pointer re-use issue
2020-09-13 16:24:42 -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
448dd1a244
Synchronize 'resetDebugVisualizeCamera' using GUI critical section instead of waiting for the render thread, to avoid slow-down
...
Fixes issue https://github.com/bulletphysics/bullet3/issues/3045
2020-09-09 09:45:38 -07:00
Erwin Coumans
ccdec68b1d
expose shadowmap intensity to PyBullet API
2020-09-07 16:52:14 -07:00
Steven
8a16ed5009
fix the issue "Inconsistency between rayTest and rayTestBatch of pybullet #2887 "
...
we should initialize these variables otherwise these will be random.
2020-09-03 20:30:14 +08: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
Erwin Coumans
55451b6bfc
Merge remote-tracking branch 'bp/master'
2020-08-20 17:16:07 -07:00
Erwin Coumans
9888e7b5a5
reset camera in the rendering thread to avoid artifacts
2020-08-20 09:08:37 -07:00
Erwin Coumans
bbb66370c6
reset camera in the rendering thread to avoid artifacts
2020-08-20 08:35:24 -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
8504384b63
Merge branch 'master' of github.com:erwincoumans/bullet3
2020-08-13 16:41:33 -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
erwincoumans
e52a30de68
Update TinyRendererVisualShapeConverter.cpp
...
only create a texture for a plane, not sphere (backward compatibility tests break)
2020-08-12 10:12:45 -07:00
Erwin Coumans
ff229baf1e
TinyRenderer: support plane shape (creating similar textured plane to OpenGL renderer)
...
TinyRenderer: perform clipping in double precision to improve accuracy
2020-08-10 20:19:00 -07:00
Erwin Coumans
7d9bcafda8
when using stablePDPlugin, approximate inertia by box for unsupported shapes.
2020-08-10 17:00:19 -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
1e8f39b492
improve premake4 build in case X11 headers are missing
...
improve video_sync_mp4.py example
allow to create a heightfield from file or programmatically in C++ robotics api. Example:
{
b3RobotSimulatorCreateCollisionShapeArgs shapeArgs;
shapeArgs.m_shapeType = GEOM_HEIGHTFIELD;
bool useFile = true;
if (useFile)
{
shapeArgs.m_fileName = "D:/dev/bullet3/data/heightmaps/gimp_overlay_out.png";
shapeArgs.m_meshScale.setValue(.05, .05, 1);
}
else
{
shapeArgs.m_numHeightfieldColumns = 256;
shapeArgs.m_numHeightfieldRows = 256;
shapeArgs.m_meshScale.setValue(.05, .05, 1);
shapeArgs.m_heightfieldData.resize(shapeArgs.m_numHeightfieldRows * shapeArgs.m_numHeightfieldColumns);
double heightPerturbationRange = 0.05;
for (int j = 0; j<int(shapeArgs.m_numHeightfieldColumns / 2); j++)
{
for (int i = 0; i < (int(shapeArgs.m_numHeightfieldRows / 2)); i++)
{
double height = ((double)rand() / (RAND_MAX)) * heightPerturbationRange;
shapeArgs.m_heightfieldData[2 * i + 2 * j * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + 1 + 2 * j * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + (2 * j + 1) * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + 1 + (2 * j + 1) * shapeArgs.m_numHeightfieldRows] = height;
}
}
}
int shape = sim->createCollisionShape(shapeArgs.m_shapeType, shapeArgs);
b3RobotSimulatorCreateMultiBodyArgs bodyArgs;
bodyArgs.m_baseCollisionShapeIndex = shape;
int groundId = sim->createMultiBody(bodyArgs);
int texId = sim->loadTexture(shapeArgs.m_fileName);
b3RobotSimulatorChangeVisualShapeArgs args;
args.m_objectUniqueId = groundId;
args.m_linkIndex = -1;
args.m_textureUniqueId = texId;
sim->changeVisualShape(args);
}
2020-07-24 18:09:13 -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
9de78ab6b3
fix array size in inverse kinematics orientation command
...
bump up shared memory version, since this was a potentially incompatible change
2020-07-06 22:57:03 -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
daaea3a4fb
Fix potentially send data to invalid port
2020-06-14 21:57:43 -04: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