Erwin Coumans
dd444fc6c4
reshuffle args
2018-06-05 21:09:00 -07:00
erwincoumans
cb6d76d6b5
fix another parameter name in header, in enableJointForceTorqueSensor
2018-06-05 19:59:00 -07:00
erwincoumans
dff04c7f59
fix parameter name in header, computeForwardKinematics
2018-06-05 19:57:21 -07:00
erwincoumans
4083088a3a
people are actually using this internal API, add a new one and keep old one backward compatible
...
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect3 is the new one,
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect2 old
2018-06-05 19:44:33 -07:00
Erwin Coumans
ad35beb61f
fix typo
2018-06-05 16:25:43 -07:00
erwincoumans
b6f5cb4c34
enable pdControlPlugin by default (requires pdControlPlugin.cpp and b3RobotSimulatorClientAPI_NoDirect.cpp)
...
add pdControl.py example, make pdControlPlugin functional
reduce memory usage
fix examples/pybullet/gym/pybullet_data/random_urdfs/948/948.urdf, fixes issue #1704
2018-06-05 15:59:01 -07:00
erwincoumans
d7cbe8dd26
Merge remote-tracking branch 'bp/master'
2018-06-05 08:15:11 -07:00
Erwin Coumans
7bd84740d7
PyBullet / BulletRobotics: prepare for pdControlPlugin and collisionFilterPlugin
...
Split examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.* and move to examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.cpp and examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp
2018-06-05 11:41:41 +10:00
Erwin Coumans
e4cd88e24f
PyBullet: allow to choose the shared memory key when starting SHARED_MEMORY_SERVER
2018-06-05 11:36:54 +10:00
Tigran Gasparian
bb72a91080
Clears the user data cache when syncUserData is called.
...
Adds unit test for the UserData functons.
Changes the char pointer in btHashString to std::string. There were
problems where the object owning the string memory would deallocate the
string, making the btHashString object invalid.
2018-06-04 15:10:48 +02:00
erwincoumans
4997eb8da2
add new file related to PyBullet userData
2018-06-02 13:52:00 -07:00
erwincoumans
b6120e760a
PyBullet.addUserData / getUserData / removeUserData / getUserDataId / getNumUserData / getUserDataInfo
...
See examples/pybullet/examples/userData.py how to use it. TODO: add to PyBullet Quickstart Guide.
Thanks to Tigran Gasparian for the contribution!
2018-06-02 13:40:08 -07:00
erwincoumans
cb6b7a7c38
PyBullet: expose flags to createMultiBody
2018-06-02 11:37:14 -07:00
erwincoumans
68ea22bfd0
undo git merge conflict mess-up with IK
2018-06-01 22:50:06 -07:00
erwincoumans
92579f9196
Merge branch 'master' of https://github.com/erwincoumans/bullet3
...
# Conflicts:
# examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2018-06-01 09:35:15 -07:00
erwincoumans
2d40a18315
picking shouldn't activate (wakeup) sleeping objects
2018-06-01 09:34:18 -07:00
erwincoumans
3463d0a879
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-05-31 16:06:33 -07:00
erwincoumans
edc70582dd
implement accurate inverse kinematics in C++. PyBullet.calculateInverseKinematics gets "maxNumIterations=20", "residualThreshold=1.04" to tune
...
allow to provide current joint positions in IK, overriding the body joint positions, also IK target will be in local coordinates.
expose b3ComputeDofCount in C-API
2018-05-31 16:06:15 -07:00
erwincoumans
150a0e050e
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-05-30 19:47:47 -07:00
Erwin Coumans
491ecf2a20
export object auto-deactivation (sleeping) to pybullet (needs some more testing/configuring)
2018-05-30 18:37:08 -07:00
Erwin Coumans
14c6dee6a3
const char* for path
2018-05-30 14:37:49 -07:00
erwincoumans
1dec33d44b
move default linearslop to 0
2018-05-30 12:31:29 -07:00
Erwin Coumans
8ace9251aa
pass by pointer instead of reference to satisy compiler
2018-05-23 14:22:22 +10:00
Erwin Coumans
77c332bd88
PyBullet: add option to cache graphics shapes for URDF files, handy for benchmarks with many duplicate robots
...
See https://github.com/erwincoumans/pybullet_robots ANYmal.py for an example.
PyBullet: Expose p.setPhysicsEngineParameter(solverResidualThreshold=1e-2) (b3PhysicsParamSetSolverResidualThreshold), increases solver performance a lot
PyBullet: Expose p.setPhysicsEngineParameter(contactSlop) Set it to zero, to avoid issues with restitution.
PyBullet: Expose isNumpyEnabled, return True is PyBullet was compiled with NUMPY support for 'getCameraImage'.
PyBullet: Expose p.ChangeDynamics(objectUid, linkIndex, contactProcessingThreshold), to avoid issues of speculative/predictive contacts with restitution.
See also http://twvideo01.ubm-us.net/o1/vault/gdc2012/slides/Programming%20Track/Vincent_ROBERT_Track_ADifferentApproach.pdf
2018-05-23 13:26:00 +10:00
Erwin Coumans
0b2c9ea645
PyBullet: avoid a crash in SHARED_MEMORY_SERVER
2018-05-20 12:20:06 +10:00
erwincoumans
8f4d1e722e
Merge pull request #1686 from yuchenericwu2/master
...
Expose CFM parameters
2018-05-16 16:18:45 -07:00
Yuchen Wu
f03ae5a857
Expose CFM parameters in PhysicsClient.
...
Add b3PhysicsParamSetDefaultGlobalCFM() and
b3PhysicsParamSetDefaultFrictionCFM().
2018-05-16 13:46:19 -07:00
erwincoumans
b432daed65
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-05-16 12:11:29 -07:00
erwincoumans
0ca2c5f925
use Bullet3Common/b3AlignedObjectArray.h instead of LinearMath version in SharedMemory/PhysicsClientSharedMemory
2018-05-16 12:10:34 -07:00
Erwin Coumans
28b86ba0a4
fix some tsan issues (thread sanitizer)
2018-05-16 08:32:21 -07:00
Erwin Coumans
d17d496f97
fix potential asan/tsan issue
2018-05-15 13:24:28 -07:00
erwincoumans
e5a9b42f9a
expose PyBullet.setPhysicsEngineParameter(jointFeedbackMode)
...
use p.JOINT_FEEDBACK_IN_JOINT_FRAME if you want the joint feedback expressed in joint frame (instead of link inertial frame)
use p.JOINT_FEEDBACK_IN_WORLD_SPACE if you want the joint feedback in world space coordinates, instead of local link/joint coordinates.
Example: p.setPhysicsEngineParameter(jointFeedbackMode=p.JOINT_FEEDBACK_IN_WORLD_SPACE+p.JOINT_FEEDBACK_IN_JOINT_FRAME)
2018-05-11 19:52:06 -07:00
erwincoumans
06a23ecd6d
PyBullet TinyRenderer, fix cylinder (don't add caps like a capsule), also convert colors stored in visual shapes, if needed.
2018-05-10 18:37:48 -07:00
Erwin Coumans
414b3ef9bb
PyBullet urdfEditor improvements: saveUrdf mesh scale, fix incorrect index, add getCameraImage in examples/combineUrdf.py
2018-05-09 10:28:12 -07:00
Erwin Coumans
0b5785421b
PyBullet: re-add API to header
2018-05-07 16:59:06 -07:00
Erwin Coumans
7bc85c7d43
PyBullet.SHARED_MEMORY_SERVER, use secondary key for server
2018-05-07 16:01:38 -07:00
Erwin Coumans
7383843b24
expose PyBullet.SHARED_MEMORY_SERVER
...
connect from 1 different PyBullet client using PyBullet.SHARED_MEMORY)
(don't use more than 1 other client to submit commands in parallel)
2018-05-07 15:57:36 -07:00
Erwin Coumans
84b20bda80
don't use the URDF inertia element, unless flag CUF_USE_URDF_INERTIA is set, not for the diagonal and also not for the inertial frame shift.
2018-05-03 14:24:16 -07:00
Erwin Coumans
4a8ad1a54e
fix posix memory release issues
...
fix compile problems on Mac OSX
reduce shared memory size on Mac (>512*1024 fails to allocate)
2018-05-02 15:39:16 -07:00
erwincoumans
1f6afcda30
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-05-02 14:32:59 -07:00
erwincoumans
3a5f778b70
expose lsMemory destroy function to release thread memory
2018-05-02 14:32:43 -07:00
erwincoumans
cee3ecde2b
Merge pull request #1664 from erwincoumans/master
...
PyBullet: fix some memory leaks
2018-05-02 13:54:07 -07:00
erwincoumans
d7e81590b5
fix a memory leak
2018-05-02 12:24:31 -07:00
Jan Matas
b1f85268f0
Check for null
2018-04-30 19:01:53 +01:00
Jan Matas
21418934e0
Reset sparsesdf to free memory.
2018-04-25 16:17:28 +01:00
erwincoumans
391b0e4061
Merge pull request #1588 from GaborPuhr/Fix-#1582
...
Fix for #1582
2018-04-12 13:32:51 -07:00
erwincoumans
25cb37a0d7
Merge remote-tracking branch 'bp/master'
2018-04-12 12:48:37 -07:00
Erwin Coumans
11008d8110
fixes, backwards compatibility
2018-04-12 09:28:30 -07:00
erwincoumans
b0d421fa11
Merge pull request #1632 from erwincoumans/master
...
upgrade from tinyxml to tinyxml2
2018-04-12 07:30:05 -07:00
erwincoumans
9c77e07494
upgrade from tinyxml to tinyxml2
2018-04-12 00:09:44 -07: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
Erwin Coumans
0832d3fd22
disable velocity clamp (maxVelocity) in velocity control mode,
...
remove some warnings
2018-04-10 17:21:14 -07:00
erwincoumans
db4960b1ac
Merge pull request #1624 from ikalevatykh/master
...
Add VR/OpenVR support on Linux
2018-04-05 09:55:03 -07:00
Erwin Coumans
380e59be6a
explicit cast from double to float in TinyRendererVisualShapeConverter plugin
2018-04-04 16:34:28 -07:00
Igor Kalevatykh
7c163f2163
Add VR/OpenVR support on Linux
2018-04-05 00:14:08 +02:00
erwincoumans
ec68290497
PyBullet createVisualShape/createVisualShapeArray: postpone visual shape conversion until we know the link inertial transform
2018-03-28 19:08:18 -07:00
yunfeibai
6b97e1e604
Expose API to set projective texture instead of using global.
2018-03-20 21:28:47 -07: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
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
159fef5818
PyBullet: explicit sync transform right before hardware OpenGL getCameraImage
2018-03-09 09:56:03 -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
Erwin Coumans
e134dcdb0b
increase shared memory block size ( to reduce image copy steps)
...
reduce vertices in r2d2 finger stl files
bump up pybullet vesion
2018-03-07 09:47:28 -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
c2b59776ed
CMakeLists glew to glad
2018-02-20 21:09:31 -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
erwincoumans
d3fe21ef17
Add option GUI_MAIN_THREAD for running OpenGL in the main thread (Python thread). This already happens on Mac OSX by default.
...
Pass all argc/argc from options to InProcessPhysicsClientSharedMemoryMainThread
2018-02-14 16:49:44 -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
Erwin Coumans
c0781fa9f1
fix cmake build
2018-02-09 19:06:00 -08:00
Erwin Coumans
508550c5e9
fix premake build for linux, thanks to @consultit
...
See also issue #1538
2018-02-09 18:46:26 -08: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
3fb26e4835
fix issue with plugin manager (store plugin uid instead of pointer)
2018-02-06 08:56:24 -08:00
erwincoumans
df0305462d
refactor b3RobotSimulatorClientAPI into a main part without GUI dependencies (no OpenGL, gwen, glew etc)
...
so that App_RobotSimulator_NoGUI can link against BulletRobotics and App_RobotSimulator links against BulletRobotics and some extra files.
2018-02-02 18:33:29 -08:00
Erwin Coumans
5776f61a73
fix issue that prevents p/invoke c# generation from PhysicsClientC_API.h
2018-01-29 19:16:01 -08:00
Erwin Coumans
bddbb3f9dd
TinyRenderer color pick: fix out-of-bounds issue
2018-01-25 16:02:47 -08:00
erwincoumans
a92423b6f7
minor clarification in UrdfRenderingInterface
2018-01-21 11:15:35 -08:00
erwincoumans
3073d60845
Update tinyRendererPlugin.cpp
2018-01-17 12:53:00 -08:00
erwincoumans
585f858842
PyBullet: bump up API version due to move of tinyrenderer into a plugin
2018-01-17 12:51:19 -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
erwincoumans
32d615565d
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-01-16 13:39:54 -08:00
erwincoumans
68c2253f82
reduce dependency: PhysicsServerCommandProcessor -> PhysicsCommandProcessorInterface
2018-01-16 13:39:37 -08:00
Erwin Coumans
af43e6465d
fix wrong enum type
2018-01-15 15:13:11 -08:00
erwincoumans
9ffb05eb3b
fix double->float issue by cast, fixes issue #1510
...
fix possible out-of-bounds access in btMultiBody
2018-01-15 11:59:00 -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
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
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
15a429f1bf
premake build system fixes
2018-01-09 12:23:25 -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
9523df2519
warning fix (param name different in header/cpp)
2018-01-04 15:48:59 -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
36c258fd3d
fix PhysicsLoopBack
2018-01-03 21:38:09 -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
afd1066c50
pybullet.getCameraImage: preparation to expose link index in segmentation mask buffer
2017-12-28 10:18:35 -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
Erwin Coumans
799d030874
restore multibody world transform and joint angles/velocities from a .bullet file.
2017-12-22 14:45:36 -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
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
76772fd301
reduce stack usage
2017-11-22 15:30:56 -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
Erwin Coumans
3e17f3387a
reduce MAX_SDF_BODIES to 512, it causes stack overflow failures in some internal tests
2017-11-20 11:05:31 -08:00
Erwin Coumans
88289c032e
fix canvas issues from previous commit
2017-11-18 17:20:21 -08:00
erwincoumans
099a6f65f3
tweak zbuffer visualization, show targetpos in example browser
2017-11-18 15:18:46 -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
b2a1eeb754
Merge remote-tracking branch 'bp/master'
2017-11-17 16:21:09 -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
848be4710e
Merge pull request #1440 from erwincoumans/master
...
remove obsolete 'register' from BussIK
2017-11-17 14:13:16 -08:00
erwincoumans
e2d29d4048
also enable depth and segmentation mask preview window in example browser/pybullet
...
You can disable/enable all preview windows using:
p.configureDebugVisualizer(p.COV_ENABLE_RGB_BUFFER_PREVIEW,0/1)
p.configureDebugVisualizer(p.COV_ENABLE_DEPTH_BUFFER_PREVIEW,0/1)
p.configureDebugVisualizer(p.COV_ENABLE_SEGMENTATION_MASK_PREVIEW,0/1)
2017-11-17 13:33:27 -08:00
erwincoumans
f31f552ee3
Merge pull request #1439 from mbreyer/bugfix-TinyRenderer
...
Fix wrong depth values returned by TinyRenderer
2017-11-17 09:39:55 -08:00
Michel Breyer
f7e593f8e9
Simplify the depth value transformations to reduce the number of operations
2017-11-17 15:15:11 +01:00
Michel Breyer
bb2ee12b86
Initialize TinyRenderer's depth buffer properly.
2017-11-17 14:59:24 +01:00
Michel Breyer
5138fe2c55
Fix wrong depth values returned by TinyRenderer
2017-11-17 14:48:41 +01: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
b5bf70cb80
fix potential memory leak when manually loading a texture (pybullet.loadTexture), due to URDF/SDF texture caching (manually loading textures are not cached)
2017-11-09 11:09:07 -08:00
Erwin Coumans
5701b5b152
expose COV_ENABLE_Y_AXIS_UP to pybullet
...
increase MAX_SDF_BODIES from 512 to 1024 (botlab needs it)
2017-11-04 12:51:13 -07:00
erwincoumans
6a9300809d
premake4 add option --enable_static_vr_plugin to statically link the VR sync plugin
...
fix texture caching from previous commit (what happened there?)
2017-10-25 10:00:45 -07: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
Erwin Coumans
41a1362bc5
perform IK in local body-fixed frame
...
For now, Jacobian, mass matrix and inverse dynamics return results in local coordinates of the tree.
2017-10-24 21:06:44 -07:00
Jonathan Tompson
cbc2732cbd
Also added fix for Direct.
2017-10-22 16:07:00 -07:00
Jonathan Tompson
03b2cfe991
Added gear info to getConstraintInfo return.
...
Fixed bug in GEAR constraint update.
2017-10-22 15:01:13 -07:00
erwincoumans
28ea41bfe6
Merge pull request #1393 from YunfeiBai/master
...
Expose IK solver options: DLS and SDLS.
2017-10-20 13:22:56 -07:00
yunfeibai
dda1b05f4a
Expose IK solver options including DLS and SDLS.
2017-10-19 14:00:53 -07:00
Erwin Coumans
c178c101a8
fix the pybullet.changeDynamics linear/angular damping
...
expose pybullet.getConstraintState
2017-10-18 19:15:35 -07:00
Erwin Coumans
10527e12eb
fix Mac OSX build, openvr 32bit/64bit was not selected, library out-of-date
2017-10-11 17:20:26 -07:00
erwincoumans
de44e4811a
fix pybullet.addUserDebugText borders around letters
...
bump up pybullet version
In a few pybullet examples, first connect to SHARED_MEMORY, if not connected use GUI mode
2017-10-10 22:11:32 -07:00
erwincoumans
c155e105a5
unlock thread at exitPhysics
...
pybullet: don't crash in inverse kinematic if #dofs don't match due to free base
C-API: don't crash if status/statusHandle = 0
2017-10-10 11:10:42 -07:00
erwincoumans
e5d4c73c40
fix very rare threading issue, let main thread compute the UID for user debug items
...
add collision model to cartpole.urdf
2017-10-09 22:40:53 -07:00
erwincoumans
6b4f69f733
Merge remote-tracking branch 'bp/master'
2017-10-09 21:09:23 -07:00
yunfeibai
55b60e90f7
Modify inverse kinematics to also support robot model with fixed joint.
2017-10-09 18:28:52 -07:00
Erwin Coumans
d48e2a20af
fix a string check issue
2017-10-09 12:28:39 -07:00
Jonathan Tompson
2dee1638f4
quick update to SAVE_WORLD for JOINT_GEAR.
2017-10-09 10:48:03 -07:00
erwincoumans
7d7f5ee7d4
Merge pull request #1371 from jonathantompson/userConstraintResultArgs_fix
...
Fixed setting of m_userConstraintResultArgs.
2017-10-08 22:56:56 -07:00
Jonathan Tompson
a57c7e7fcf
Fixed setting of m_userConstraintResultArgs (not sure how it ever worked for anyone). It was filling up the userConstraintData with stale memory.
2017-10-08 21:31:29 -07:00
erwincoumans
2f2f070ab5
allow changeVisualShape (rgbaColor, specularColor and texture) for maximal coordinates rigid body (btRigidBody)
...
Make the examples\pybullet\examples\createVisualShape.py a bit more interesting
2017-10-08 11:34:42 -07:00
erwincoumans
cec8da3d85
Implement first draft of pybullet.createVisualShape and add createVisualShape.py example
...
add normals to duck.obj for nicer appearance
fix plane100.urdf (so collision shape matches visual shape size)
2017-10-07 18:50:23 -07:00
Erwin Coumans
1034c7e720
reorder initializer
2017-10-06 17:30:10 -07:00
Erwin Coumans
dbd82f26ba
fix TinyRenderer activateShapeTexture
2017-10-06 17:19:14 -07:00
Erwin Coumans
027178ae6f
fix some compile issues/bugs
2017-10-06 15:34:25 -07:00
Erwin Coumans
26d32f2aa8
improve loading performance of large textures:
...
option to disable tinyrenderer, use p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
also make sure to use p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0) before loadURDF, and enable rendering afterwards using p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1)
reorder 2 loops, making the flip texels twice as fast (cache coherency),
single memcpy of entire texture in tinyrenderer, instead of per-pixel copy (memory layout is the same)
add lots of B3_PROFILE timings, to see where time is going
2017-10-06 13:46:24 -07:00
erwincoumans
b572fe43f9
fix signal handling in ExampleBrowser on linux/mac on termination
...
expose all analogue axes from OpenVR (5 controllers, each x,y -> 10 floats) in pybullet.getVREvents(allAnalogAxes=1)
2017-10-05 12:59:58 -07:00
erwincoumans
822ff077c7
expose some parameters through pybullet.getPhysicsEngineParameters (C-API: b3InitRequestPhysicsParamCommand + b3GetStatusPhysicsSimulationParameters)
2017-10-05 11:43:14 -07:00
erwincoumans
1262adeaec
build a named tuple for 'getConnectionInfo'
...
remove debug code
2017-10-05 09:57:17 -07:00
erwincoumans
9303891468
Allow to configure Y=up, default is Z=up, using pybullet.configureDebugVisualizer(COV_ENABLE_Y_AXIS_UP,0/1)
...
Implement pybullet.getConnectionInfo, returns [isConnected, connectionMethod], where isConnected=0 or 1
2017-10-05 09:02:33 -07:00
erwincoumans
f467f325f7
store mass matrix in streaming part of shared memory (no support for unlimited mass matrix sizes at the moment)
2017-10-05 08:23:10 -07:00
erwincoumans
a2d6a2e822
Merge pull request #1350 from bingjeff/add_mass_matrix
...
[pybullet] Add calculateMassMatrix.
2017-10-05 07:45:30 -07:00
erwincoumans
1b03871b4d
use explicit size for name, to avoid issue converting/marshalling data to C#
...
example to call b3VisualShapeInformation from C# and marshall b3VisualShapeData (after loadURDF)
See examples\pybullet\unity3d\examples\NewBehaviourScript.cs
2017-10-03 18:01:53 -07:00
erwincoumans
9577875fe9
remove debug printf
2017-10-03 16:16:09 -07:00
Erwin Coumans
acbe457d31
add option to statically link a plugin, select the postFix (to avoid naming conflict of multiple plugins functions ('initPlugin' becomes initPlugin_postFix)
...
pass events (keyboard, mouse, vr controllers etc) to the plugin, and clear them after the tick callback, so that it doesn't interfere with Python 'getEvents'
2017-10-03 15:00:52 -07:00
Jeffrey Bingham
d9782f953d
Add calculateMassMatrix to physics server command processor.
2017-09-30 13:56:40 -07:00
Jeffrey Bingham
7dfed65287
Add calculateMass to shared memory interface.
2017-09-30 13:39:11 -07:00
Jeffrey Bingham
31ee8bf8bc
Fix small typo in b3PluginArguments.
2017-09-30 13:17:48 -07:00
Jeffrey Bingham
d49fade704
fix some formatting.
2017-09-27 22:30:32 -07:00
Jeffrey Bingham
d8b80bce40
Fix the translation jacobian.
2017-09-27 22:25:39 -07:00
yunfeibai
85be3b43dd
Merge remote-tracking branch 'upstream/master'
2017-09-27 15:20:11 -07:00
yunfeibai
adcece7927
Adjust the IK setup to address the inverse kinematics issues mentioned in #1249 .
2017-09-27 14:14:57 -07:00
erwincoumans
8a265b8af2
expose gear erp/relative position target to C-API/pybullet
...
finish much better C++ vrSyncPlugin, running in-the-loop with the physics at high frequency, see also vr_kuka_setup_vrSyncPlugin.py
2017-09-26 19:54:36 -07:00
erwincoumans
b1f8eb74a4
bump up shared memory version number
...
add option to recompute forward kinematics, to be consistent with link velocities in pybullet.getLinkState (..., computeForwardKinematics=0/1), thanks to Jeff Bingham for bringing up this inconsistency
2017-09-26 10:05:17 -07:00
erwincoumans
270a036cd7
add experimental vrSyncPlugin, that syncs the position/orientation of a vr controller to a gripper (through a constraint)
...
This is in C++ and the sync runs at the simulation speed (240 Hz), so there is less lag than in Python.
Modify the pybullet/examples/vr_kuka_setup.py at the end to do this:
plugin = p.loadPlugin("e:/develop/bullet3/bin/pybullet_vrSyncPlugin_vs2010_x64_release.dll")
controllerId = 3
p.executePluginCommand(plugin ,"bla", [controllerId,pr2_cid],[50])
2017-09-25 18:14:50 -07:00
Erwin Coumans
d3d1b51c3a
fix compile warnings
2017-09-24 23:26:06 -07:00
erwincoumans
27674e5289
Update b3PluginManager.cpp
...
pre/post tick were wrong order in initializer list
2017-09-24 22:39:20 -07:00
Jeffrey Bingham
ee30ca93c5
[sharedmemory] Fill-out calculateJacobian command.
...
The server command processor actually didn't do anything with
the local point that was passed along with the calculateJacobian
command. Added in the necessary bit of math to return the
corresponding jacobian.
Also, fixed a typo in pybullet that was returning the same
jacobian for translation and rotation.
2017-09-24 18:57:48 -07:00
Erwin Coumans
97509dc9d0
add some missing files for premake, thanks to Jeff Bingham for the report
2017-09-24 16:10:14 -07:00
Erwin Coumans
70364445b8
Merge remote-tracking branch 'bp/master'
2017-09-24 09:49:53 -07:00
Erwin Coumans
63ee841bea
trigger build system
2017-09-23 21:01:56 -07:00
Jeffrey Bingham
1727e47beb
[pybullet] Add calculateJacobian.
...
* Add the calculateJacobian method to the pybullet API.
* Adjust the shared memory interface to handle fixed/floating bases
in the calculateJacobian method.
* Fix a few comments.
2017-09-23 19:58:59 -07:00
erwincoumans
8e496036c6
More work on the C/C++ plugin system for pybullet/C-API:
...
Add preTickPluginCallback/postTickPluginCallback
User pointer for b3PluginContext, to store objects (class/struct instances)
Pass ints and floats as optional argument for plugin executePluginCommand
2017-09-23 18:05:23 -07:00
erwincoumans
5373ca39e1
add example snippet for the testPlugin/testplugin.cpp
2017-09-23 09:26:51 -07:00
erwincoumans
815a56c9bc
Allow to load a urdf file in the testplugin.cpp, as first quick test, example pybullet script:
...
import pybullet as p
p.connect(p.GUI)
pluginUid = p.loadPlugin("E:/develop/bullet3/bin/pybullet_testplugin_vs2010_x64_debug.dll")
commandUid = 0
argument = "plane.urdf"
p.executePluginCommand(pluginUid,commandUid,argument)
p.unloadPlugin(pluginUid)
2017-09-23 09:25:00 -07:00
erwincoumans
37cfce99b2
add arguments to plugin system
2017-09-23 07:52:10 -07:00
erwincoumans
240fff575d
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-09-23 07:22:50 -07:00
Erwin Coumans
3783dccaa3
create a C/C++ plugin system for pybullet / C-API.
2017-09-22 19:17:57 -07:00