Erwin Coumans
552cb5852a
PyBullet: add signed distance field support, with example/signedDistanceField.py
...
See also data\toys\concave_box.urdf and data\toys\concave_box.cdf
data\toys\concave_box.cdf was generated from concave_box.obj using
//GenerateSDF.exe -r "32 32 32" -d "-1.6 -1.6 -.6 1.6 1.6 .6" concave_box.obj
//SDF is based on code from DiscreGrid, https://github.com/InteractiveComputerGraphics/Discregrid
2018-04-16 22:57:43 +02:00
erwincoumans
b53facfc25
Merge pull request #1629 from erwincoumans/master
...
Preparation to add signed distance field collision detection.
2018-04-12 00:02:25 -07:00
erwincoumans
ffc808784b
PyBullet: add planar reflection example,
...
See examples/pybullet/examples/addPlanarReflection.py
2018-04-11 01:03:36 -07:00
erwincoumans
78a90719b0
Merge pull request #1630 from YunfeiBai/master
...
Update the projective texture shader to solve the texture interpolati…
2018-04-09 20:55:37 -07:00
YunfeiBai
b032a1fd60
Update the projective texture shader to solve the texture interpolation artifact.
2018-04-09 17:15:42 -07:00
erwincoumans
507d024f25
add example of a free moving sphere controlled by external torque
...
add some toy shape sorter cube (not finished yet)
2018-04-01 15:55:32 -07:00
erwincoumans
31ab72a0ed
Merge pull request #1609 from YunfeiBai/master
...
Add PyBullet API to set projective texture.
2018-03-26 16:27:14 -07:00
Hervé Audren
a2e9ecd957
Fix jacobian computation
2018-03-26 18:40:42 +09:00
yunfeibai
37696dd87e
Add Bullet C API and pybullet API to set projective texture matrices.
2018-03-18 18:45:54 -07:00
yunfeibai
fd7aa8d0e1
Expose using projective texture as a flag in pybullet getCameraImage API.
2018-03-18 17:01:23 -07:00
Erwin Coumans
f5d7e5bed3
example for Issue #1586
2018-03-10 19:49:30 -08:00
Erwin Coumans
69d343386d
PyBullet/C-API: implement createVisualShapeArray, with multiple visual shapes (require 1 texture max, since visual shapes are merged)
2018-03-09 18:02:06 -08:00
erwincoumans
3508a4523b
Merge pull request #1560 from YunfeiBai/master
...
Add shader and example for projective texture.
2018-02-21 10:23:18 -08:00
yunfeibai
5494aa72fa
Set the perspective projection for projective texture mapping. Change the demo to two bears with the same view projection matrix for the camera and the projector.
2018-02-20 18:32:09 -08:00
erwincoumans
01f58f8f02
PyBullet: soft bodies are rendered, so we don't need to also render wireframes in regular mode.
...
Use glBufferSubData instead of glMapBuffer/glUnmapBuffer, much faster soft body vertex sync.
Don't use a separate btSoftBodyWorldInfo, use the existing one in btSoftMultiBodyDynamicsWorld.
2018-02-18 11:09:42 -08:00
erwincoumans
ddf304ca78
PyBullet: expose internal edge utility, to adjust edge normals to prevent object penetrating along triangle edges of concave triangle meshes
...
(due to local convex-triangle collisions causing opposite contact normals, use the pre-computed edge normal)
PyBullet: expose experimental continuous collision detection for maximal coordinate rigid bodies, to prevent tunneling.
2018-02-16 19:44:33 -08:00
yunfeibai
ef0ae4935b
Minor change.
2018-02-15 18:37:23 -08:00
yunfeibai
2947cd54ce
Add shader for projective texture.
2018-02-11 21:29:02 -08:00
yunfeibai
08548e1ef0
Add example for projective texture.
2018-02-11 13:50:45 -08:00
erwincoumans
40482e0925
fix urdfEditor.py
2018-01-29 19:19:34 -08:00
erwincoumans
329a1f5a74
PyBullet: move TinyRenderer into a plugin, default statically loaded. You can also dynamically load a render plugin, as shown in renderPlugin.py example. premake has a way to compile the tinyRendererPlugin.
2018-01-17 12:48:48 -08:00
Erwin Coumans
79051b7611
allow to use colors from MJCF file as option (default to random Google colors), use p.loadMJCF(filename, flags=p.URDF_MJCF_COLORS_FROM_FILE
...
fix quadruped.py example.
add PyBullet.isConnected() API, more friendly than PyBullet.getConnectionInfo()["connected"]
2018-01-11 21:04:08 -08:00
YunfeiBai
de3b8bf3c9
Merge branch 'master' into master
2018-01-08 18:13:03 -08:00
yunfeibai
0e0d3da2b5
Add python binding and a pybullet example for loading softbody from obj.
2018-01-08 18:10:28 -08:00
Erwin Coumans
90c5d66e1b
fix for Python 2.x
2018-01-08 16:15:54 -08:00
Erwin Coumans
e97b751781
further work on urdfEditor.py, fix some serialization issues
2018-01-08 12:25:56 -08:00
Erwin Coumans
a85a4f387b
more work on UrdfEditor.py
2018-01-06 15:00:20 -08:00
Erwin Coumans
9a9aa5e9e7
example of joint motor with friction
2018-01-06 13:43:07 -08:00
Erwin Coumans
c59a3763e5
tweak ImportMJCFSetup.cpp example MJCF humanoid a bit, clamp target positions to be within joint limits to avoid solver problems (conflicting constraints)
...
add humanoid_manual_control.py PyBullet example which is similar to ImportMJCFSetup.cpp
2018-01-04 13:14:11 -08:00
Erwin Coumans
79d78a325a
Start of a urdfEditor.py, limited support to extract a URDF from a PyBullet body.
...
Use btCylinderShapeZ for URDF cylinder, instead of converting it to a btConvexHullShape.
Implement PyBullet.getCollisionShapeData
Extend PyBullet.getDynamicsInfo / b3GetDynamicsInfo, remove flag (don't rely on API returning a fixed number of elements in a list!)
Extend PyBullet.getJointInfo: add parentIndex
2018-01-03 19:17:28 -08:00
Erwin Coumans
35b44f8a85
implement pybullet.saveState command, for in-memory storage of state.
...
bump up pybullet API version (SHARED_MEMORY_MAGIC_NUMBER) to 201801010
2017-12-31 15:37:16 -08:00
Erwin Coumans
20e00d11d8
further work on saveRestoreState.py
2017-12-30 21:57:42 -08:00
Erwin Coumans
9c55b61315
pybullet.createVisualShape: process sphere radius, box half extents, capsule+cylinder radius/length
...
fixes issue #1427 , https://github.com/bulletphysics/bullet3/issues/1427
2017-12-30 17:42:13 -08:00
Erwin Coumans
0326fa93a8
made some progress in saving and restoring the state during the simulation, with identical results.
...
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
Erwin Coumans
5517cbc4e0
add segmask_linkindex.py example using p.getCameraImage(320,200,flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX)
...
to extract object unique id and link index from segmentation mask in getCameraImage
2017-12-28 12:37:07 -08:00
Erwin Coumans
97547eda0d
preliminary work towards saveState/restoreState and saveRestoreState.py example (not implemented yet)
...
allow multiple options in connect, for example: p.connect(p.GUI, options="--width=640, --height=480")
2017-12-28 10:05:51 -08:00
erwincoumans
41f9bb89e5
expose API to change the local inertia diagonal, pybullet.ChangeDynamics(objectUid, linkIndex, localInertiaDiagonal=[xx,yy,zz])
2017-12-20 16:56:31 -08:00
erwincoumans
eb35cba740
expose local inertia diagonal in C-API, PyBullet, through the 'getDynamicsInfo'
...
render the inertia boxes in examples/pybullet/examples/quadruped.py and examples/pybullet/examples/reset_dynamic_info.py
fix an issue where the original margin (0.04) was used to compute the inertia, instead of latest margin
2017-12-20 14:54:32 -08:00
Erwin Coumans
c556ad651d
expose pybullet 'enableConeFriction' to switch between pyramid and cone friction model.
2017-12-01 10:07:07 -08:00
Erwin Coumans
6baf82d6d8
improve testrender/np to render faster/interactive on Mac with matplotlib
2017-11-24 18:57:16 -08:00
erwincoumans
c5f79fe979
pybullet testrender.py/testrender_np.py examples, improve matplotlib rendering performance (headless DIRECT and OpenGL/GUI)
2017-11-24 18:09:20 -08:00
erwincoumans
9936a1cc92
friction cone test
2017-11-23 18:14:29 -08:00
erwincoumans
ab843b26f0
expose a maximum velocity due to the joint motor in position control.
...
see also pybullet/examples/motorMaxVelocity.py
this fixes issue 1444
2017-11-21 17:05:28 -08:00
erwincoumans
6be7e34dd6
pybullet vr_kuka_setup.py: add a gear joint, to keep the gripper centered,
...
vr_kuka_control.py: control all joints, use analogue button to close gripper
remove some debug warnings/prints
pybullet, avoid crash in changeUserConstraint if not passing a [list]
allow some gym environments (pybullet_pendulum and locomotors) to re-use an existing physics client connection.
2017-11-12 10:36:30 -08:00
Erwin Coumans
48f0f29812
add integrate.py example
2017-10-27 18:26:32 -07:00
erwincoumans
c042c8f9b6
premake pybullet, use enable_static_vr_plugin
...
add examples\pybullet\examples\vr_kitchen_setup_vrSyncPython.py (doesn't work well, need C++ sync and some optimizations)
2017-10-25 10:20:34 -07:00
erwincoumans
c1ba04a580
Merge pull request #1404 from erwincoumans/master
...
perform IK in local body-fixed frame , add jointFrictionDamping.py example
2017-10-25 00:52:16 +00:00
Erwin Coumans
7a1dbf2e59
allow IK on a floating base, see video:
...
add inverse_kinematics_husky_kuka.py example
fix spacing in inverse_dynamics.py
2017-10-25 00:32:47 -07:00
Erwin Coumans
ca7d599838
add jointFrictionDamping.py example
...
modify testrender.py to add shadow for tiny renderer
2017-10-23 12:25:04 -07:00
yunfeibai
b67bccc575
Add inverse kinematics example for pole, which has a prismatic joint.
2017-10-19 14:30:37 -07:00