Commit Graph

624 Commits

Author SHA1 Message Date
Erwin Coumans
29cfac096b compile fix in pybullet.c 2017-12-28 12:57:49 -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
ec0a182a12 add pybullet unittests.py with travis support 2017-11-28 21:53:26 -08:00
erwincoumans
8ff75e11cd fixes related to torsional friction, due to recent cone friction update. 2017-11-28 20:09:56 -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
b1c2bdc72a pybullet: fix numpy compile issue on Windows, another fix 2017-11-24 16:50:36 -08:00
Erwin Coumans
82b51ac78d pybullet: fix Windows numpy build 2017-11-24 14:33:24 -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
Erwin Coumans
c88132b80f fix issue in pybullet_envs.agents
bump up to pybullet 1.6.9
2017-11-18 17:07:27 -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
Erwin Coumans
f483ccd8ef remote org configs 2017-11-16 16:49:25 +00:00
Erwin Coumans
7b030426c1 add a temp copy of TF agents (until the API stops changing or configs.py are included) 2017-11-16 16:47:14 +00:00
erwincoumans
e982efc18a fix in previous commit related to pybullet.c changeUserConstraint / pybullet_internalSetMatrix 2017-11-12 21:53:14 -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
d570730b8e fix pybullet and bump up version to 1.6.4 2017-11-07 21:11:16 -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
Erwin Coumans
4798d66f19 fixes in kuka/racecar environment. kuka still doesn't train well, work-in-progress 2017-11-01 18:06:47 -07:00
Erwin Coumans
e4f58ddc33 fix typo, add train_ppo kuka task 2017-10-31 16:33:13 -07:00
Erwin Coumans
3709e68645 fix discrete versions of kuka grasping environment
should fix issue 1386
2017-10-31 16:14:20 -07:00
Erwin Coumans
33d32d7ab4 add continuous version of kuka cam gym env test 2017-10-31 16:10:02 -07:00
Erwin Coumans
4e2dfbe58e add minitaur duck environment
see also  https://www.youtube.com/watch?v=SLwUCMZdKLo and
evolution strategies (hardmaru):
https://twitter.com/hardmaru/status/925074585984237568
2017-10-31 16:05:52 -07:00
Erwin Coumans
55f5e52ecd add continuous versions of kukaGymEnv, kukaCamGymEnv, racecarZEDGymEnv etc.
should be trainable with PPO or evolution strategies (ES) now
2017-10-31 15:50:34 -07: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
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
Erwin Coumans
9385f36505 add cartpole_bullet, should fix issue 1403 2017-10-25 08:37:01 -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
1998a62785 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-10-23 12:25:34 -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
Jonathan Tompson
03b2cfe991 Added gear info to getConstraintInfo return.
Fixed bug in GEAR constraint update.
2017-10-22 15:01:13 -07:00
erwincoumans
c149840264 Merge pull request #1396 from erwincoumans/master
API changes in TensorFlow Agents
2017-10-20 20:46:56 -07:00
Erwin Coumans
d18bfec1a9 API changes in TensorFlow Agents
See 164f620326 (diff-82bda908f176861c20aadc1d017c2527)
2017-10-20 20:32:49 -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
b67bccc575 Add inverse kinematics example for pole, which has a prismatic joint. 2017-10-19 14:30:37 -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
8750d49082 fix blocking plot.show() never terminating properly 2017-10-13 14:51:06 -07:00
erwincoumans
cb23e6c102 Fix pybullet.calculateInverseDynamics in the case where #dof != #joints (fixed joints). We still don't handle spherical joints in pybullet (even though the underlying inverse dynamics and forward dynamics support it)
Also, add a inverse_dynamics.py example, with URDF files. Thanks to Michiel Lutter for the report and repro case!
This fixes issue #1379 https://github.com/bulletphysics/bullet3/issues/1379
2017-10-13 14:19:25 -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
Erwin Coumans
91e08ec986 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-10-09 12:28:07 -07:00
erwincoumans
49a2771522 Implement the pybullet/Python equivalent of vr_kuka_setup_vrSyncPlugin.py
In vr_kuka_setup_vrSyncPython.py, the vr controller is synced in Python, introducing a small lag
Invr_kuka_setup_vrSyncPlugin.py, the vr controller is synced in C++ at the same frequency as the physics time step (240 Hz by default)
2017-10-09 10:52:25 -07:00
Erwin Coumans
91d164d886 remove obsolete CartPoleBulletEnv 2017-10-09 09:44:54 -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
b2edd81ef6 touch up createVisualShape.py example 2017-10-07 19:00:44 -07:00
erwincoumans
3826dddc83 fix asset paths, createVisualShape.py and duck.obj 2017-10-07 18:52:22 -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
127982ab88 fix more bugs, introduced in previous recent commits 2017-10-06 16:00:33 -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
a2d6a2e822 Merge pull request #1350 from bingjeff/add_mass_matrix
[pybullet] Add calculateMassMatrix.
2017-10-05 07:45:30 -07:00
erwincoumans
05b71a521d update unity3d/examples/NewBehaviourScript.cs to load a plane and cube, synchronize the world transform
added debug rendering from CjLib (with DrawLine from my fork here: https://github.com/erwincoumans/unity-cj-lib)
2017-10-04 12:21:52 -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
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
Erwin Coumans
cd88614a22 search for the controller, instead of using a hard-coded number. 2017-10-02 12:22:46 -07:00
Jeffrey Bingham
e04820af73 Add calculateMassMatrix to pybullet.c 2017-09-30 20:39:56 -07:00
erwincoumans
a632b6c6a4 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-29 08:01:11 -07:00
erwincoumans
dd2c7af2b2 Update pybullet autogenerated C# bindings, with very basic example script that runs inside Unity 3D 2017-09-29 07:47:31 -07:00
Erwin Coumans
0948ce5984 import missing functools 2017-09-28 10:42:02 -07:00
Erwin Coumans
345836d670 revert to original agents train/visualize scripts, but using pybullet envs in configs.py (agents lacks a convenient way to extend environments) 2017-09-28 10:19:41 -07:00
Jeffrey Bingham
cd231c030e more formatting. 2017-09-27 22:35:02 -07:00
Jeffrey Bingham
d8b80bce40 Fix the translation jacobian. 2017-09-27 22:25:39 -07:00
Jeffrey Bingham
6da931d0bd Adjust jacobian.py to show mismatch between joint state and link state. 2017-09-27 22:25:39 -07:00
Jeffrey Bingham
0b239e8bc0 [pybullet] Add an example for jacobian. 2017-09-27 22:25:39 -07:00
yunfeibai
54eada7579 Fix memory leak. 2017-09-27 16:42:29 -07:00
yunfeibai
85be3b43dd Merge remote-tracking branch 'upstream/master' 2017-09-27 15:20:11 -07:00
yunfeibai
113e103bc2 Modify the joint damping input check, and output error message when it doesn't pass the size check. Modify the kuka grasping example accordingly. Setting joint damping in this example was a no-op before. 2017-09-27 15:18:08 -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
Erwin Coumans
4dca5b3ef5 fix typos in agents config 2017-09-27 12:17:59 -07:00
Erwin Coumans
a716752915 add __init__.py file in agents folder 2017-09-27 10:30:05 -07:00
Erwin Coumans
5082d6af15 bump up pybullet version, instruction to visualize agents ppo:
python -m pybullet_envs.agents.visualize_ppo -config=pybullet_pendulum --logdir=pendulum/20170927T101514-pybullet_pendulum/ --outdir=vid

tensorboard --logdir=20170927T101514-pybullet_pendulum --port=2222
2017-09-27 10:26:45 -07:00
Erwin Coumans
e4a3b3fe38 add TensorFlow Agents PPO training script for various pybullet environments:
example:

python -m pybullet_envs.agents.train_ppo --config=pybullet_pendulum --logdir=pendulum
2017-09-27 10:20:38 -07:00
Erwin Coumans
c37919604f add minitaur environment randomizer, enable it by default
this improves PPO training ( more stable)
2017-09-27 09:07:21 -07:00
erwincoumans
12f28c5f76 fix compile issue on MSVC 2017-09-26 19:58:24 -07:00
erwincoumans
e72ebc95de Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-26 19:54: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
Erwin Coumans
b03e5dec5f return -1 for debugDrawItems in DIRECT mode, instead of failing the API 2017-09-26 11:40:38 -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
0f30c95734 fix a compile error on Windows (variables need to be declared together at the start of a block in C) 2017-09-25 07:38:00 -07:00
Erwin Coumans
705a59ea73 Merge remote-tracking branch 'bp/master' 2017-09-24 22:50:55 -07:00
Erwin Coumans
2d91e13886 tweak pybullet examples a bit (mac OSX OpenGL runs in mainloop, with python interpreter,
so it needs some 'ping' command
bump up pybullet to version 1.4.6
2017-09-24 21:37:31 -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
70364445b8 Merge remote-tracking branch 'bp/master' 2017-09-24 09:49:53 -07:00
erwincoumans
b1d6f58981 Update pybullet.c
fix compile issue
2017-09-24 09:16:54 -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
37cfce99b2 add arguments to plugin system 2017-09-23 07:52:10 -07:00
Erwin Coumans
3783dccaa3 create a C/C++ plugin system for pybullet / C-API. 2017-09-22 19:17:57 -07:00
erwincoumans
6a7efac4c3 Quick first prototype/test to integrate pybullet into Unity,
see readme.txt for details.
2017-09-20 23:18:18 -07:00