jietan
f4ca3f5963
Fix a bug that createVisualShape(Array) does not have the correct color. Add urdfEditor.py to pybullet_utils. Remove all unnecessary changes of white spaces.
2018-03-14 21:14:44 -07:00
jietan
d91a58e050
Merge remote-tracking branch 'bp/master' into pullRequest
2018-03-14 20:19:31 -07:00
jietan
413be3547b
fix a bug that createVisualShape(Array) does not have the correct color. Add urdfEditor.py to pybullet_utils.
2018-03-12 21:06:19 -07:00
erwincoumans
b62501d04d
fix loadTexture for tinyrenderer
2018-03-12 19:40:13 -07: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
Erwin Coumans
b578361acf
Use kF_UseGjkConvexCastRaytest by default for raycast in PyBullet (it is more robust/accurate, but a bit slower)
...
Use 10*EPSILON, as suggested in Gino's paper:
http://www.continuousphysics.com/ftp/pub/test/files/physics/papers/jgt04raycast.pdf
2018-03-07 14:51:51 -08:00
a
2348c6ba0a
Fix for #1582
2018-03-05 23:05:22 +01:00
erwincoumans
73a4334e30
explicitly remove textures during resetSimulation
...
move glViewport to Win32Window
2018-02-21 23:22:16 -08:00
Erwin Coumans
b0984de046
preparation to replace glew by glad
2018-02-20 19:44:02 -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
a6849de99c
Merge pull request #1555 from JanMatas/softBody-opengl-rendering
...
Implemented support for softbodies in OpenGL renderer
2018-02-18 10:48:46 -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
Jan Matas
817fb40fb5
Revert "Create a new pointer in btCollisionShape instead of just using userPtr."
...
This reverts commit d2d987a5ed .
After discussion, we decided to use userPtr.
2018-02-12 11:26:39 +00:00
Jan Matas
d2d987a5ed
Create a new pointer in btCollisionShape instead of just using userPtr.
2018-02-08 13:49:36 +00:00
Jan Matas
82214eb99f
Implemented support for softbodies in OpenGL renderer
2018-02-08 13:31:40 +00:00
erwincoumans
a92423b6f7
minor clarification in UrdfRenderingInterface
2018-01-21 11:15:35 -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
erwincoumans
df89ce6f92
small refactor of LinkVisualShapesConverter / TinyRendererVisualShapeConverter, it allows to use it in a Python module and in a PyBullet plugin.
2018-01-16 17:58:19 -08:00
Erwin Coumans
af43e6465d
fix wrong enum type
2018-01-15 15:13:11 -08:00
erwincoumans
9d405fde67
PyBullet: free cached textures
...
PyBullet: bool PhysicsServerCommandProcessor::pickBody, disable collision filtering to allow picking of all objects
2018-01-15 08:36:08 -08:00
erwincoumans
3c770e56fb
PyBullet/C-API: only free handle if we found it
2018-01-14 12:35:40 -08:00
erwincoumans
0919ce0f30
PyBullet: fix issue when picking an object while it is remove using PyBullet.removeBody
2018-01-14 11:01:57 -08:00
erwincoumans
22b4809891
leave m_useGlobalVelocities to false, until enabled, for backward compatibility
...
use URDF_GLOBAL_VELOCITIES_MB flag in PyBullet loadURDF.
fix robot_bases.py due to new fields in getJointInfo.
backward compabitibility: BulletMJCFImporter, keep creating btMultiSphereShape for MJCF capsules with fromto, instead of shifted btCapsuleShapeZ, unless if CUF_USE_IMPLICIT_CYLINDER is used.
2018-01-10 11:16:50 -08:00
erwincoumans
c4b1b84687
Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
...
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
erwincoumans
e138e85bca
allow to enable/disable implicit cylinder conversion through an API
...
p.loadURDF("r2d2.urdf", flags=p.URDF_USE_IMPLICIT_CYLINDER)
allow to enable/disable deterministicOverlappingPairs through an API
p.setPhysicsEngineParameter(deterministicOverlappingPairs = False)
2018-01-09 10:10:36 -08:00
YunfeiBai
de3b8bf3c9
Merge branch 'master' into master
2018-01-08 18:13:03 -08:00
Erwin Coumans
e97b751781
further work on urdfEditor.py, fix some serialization issues
2018-01-08 12:25:56 -08:00
yunfeibai
d3bc98e245
Add filename as an argument in the softbody loading function.
2018-01-07 19:56:46 -08:00
yunfeibai
d077bdec07
Change the API names for loading softbody.
2018-01-07 19:24:37 -08:00
yunfeibai
e3e9546960
Load the deformable object through obj file. Modify the demo for two way coupling between multibody and softbody.
2018-01-07 19:06:09 -08:00
Erwin Coumans
a85a4f387b
more work on UrdfEditor.py
2018-01-06 15:00:20 -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
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
erwincoumans
8ff75e11cd
fixes related to torsional friction, due to recent cone friction update.
2017-11-28 20:09:56 -08:00
erwincoumans
29aa9cb789
Bullet bump up to version 2.88
...
add preliminary support to import btMultiBody from a .bullet file (will help save/restore state)
fix some Windows char/widechar issues
2017-11-22 18:12:02 -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
81146a4090
pybullet: move RGB,depth, segmentation mask preview windows to the right
...
remove some dead code from PhysicsServerCommandProcessor.cpp
2017-11-18 13:21:20 -08:00
erwincoumans
a9b59b4511
Finally refactored the PhysicsServerCommandProcessor::processCommand switch statements into over 50 separate functions.
...
Over time, some of those functions can be moved into separate plugins, similar to vrSyncPlugin (either statically/dynamically linked plugins or dynamically loaded at run-time)
2017-11-17 16:14:18 -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
erwincoumans
7524e37124
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-10-25 08:15:14 -07:00
erwincoumans
ed8de36ffa
pybullet: allow to replace existing text, to avoid flickering (remove/add)
...
allow texture caching (disable using the disable file caching)
2017-10-25 08:15:01 -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