erwincoumans
012f4534fd
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-01-17 12:49:27 -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
c6a350b807
BulletInverseDynaimcs: re-applied fix
...
PyBullet: increase humanoid training from 30 to 300M (need to figure out the right hyperparameters...)
2018-01-16 21:54:46 -08:00
erwincoumans
055930817e
apply a maximum velocity for the KUKA arm, otherwise motion can become very unrealistic
2018-01-16 10:17:57 -08:00
erwincoumans
851ca5bfb3
Improve PyBullet ports of Roboschool envs: fix reset (it kept adding stadium objects, causing slowdown), now reset uses saveState/restoreState and reset becomes a few orders of magnitude faster.
...
Use python -m pybullet_envs.examples.testEnv --env AntBulletEnv-v0 --render=1 --steps 1000 --resetbenchmark=1
Added environments: HumanoidFlagrunBulletEnv-v0, HumanoidFlagrunHarderBulletEnv-v0, StrikerBulletEnv-v0, ThrowerBulletEnv-v0, PusherBulletEnv-v0, ReacherBulletEnv-v0, CartPoleBulletEnv-v0 and register them to OpenAI Gym.
Allow numpy/humanoid_running.py to use abtch or non-batch update (setJointMotorControl2/setJointMotorControlArray)
2018-01-15 12:48:32 -08:00
erwincoumans
387d3f16db
PyBullet: fix memory leak in case connection to shared memory cannot be made
...
PyBullet: allow setJointMotorControl2 to use maxVelocity in combination with obsolete 'bodyIndex'
2018-01-15 08:33:19 -08:00
erwincoumans
ed890f23e6
add implicit plane_implicit.urdf and use it in humanoid_running.py (numpy version)
2018-01-13 13:47:28 -08:00
erwincoumans
1b569c0701
Add humanoid_running.py using just numpy (no tensorflow, no gym) for testing
2018-01-13 13:39: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
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
erwincoumans
bf6d805228
fix compile issues on Windows after recent softbody patch
2018-01-09 08:43:00 -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
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
Erwin Coumans
f4b28dddce
fix rendering ("rgb_array") for pendulums/pendula
2017-09-15 16:33:22 -07:00
Erwin Coumans
81bf709ad7
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-09-15 13:12:06 -07:00
Erwin Coumans
3d7ee317db
fix pybullet gym environments: InvertedDoublePendulumBulletEnv-v0,
...
InvertedPendulumBulletEnv-v0, InvertedPendulumSwingupBulletEnv-v0
motors were not disabled, extra gains applied etc.
2017-09-15 13:09:05 -07:00
erwincoumans
ffb05d74da
Merge pull request #1308 from benelot/fix-gyms
...
Fix gyms to make them work just like robotschool
2017-09-14 07:40:51 -07:00
Benelot
3f57fb655a
Enable randomized reset for Humanoid.
2017-09-14 12:53:12 +02:00
Benelot
2e8a86462f
Remove tweaks added by me but not part of roboschool.
2017-09-14 12:52:21 +02:00
Erwin Coumans
74475479cf
fix pybullet, checked wrong type after connection
2017-09-13 17:05:23 -07:00
Erwin Coumans
7e0ca070e0
fix return values in pybullet to be Pythonic.
2017-09-13 16:08:30 -07:00
Erwin Coumans
340a8f4704
add sigaction handler to Example Browser, to always shutdown shared memory
...
make GUI_SERVER more reliable
next attempt to connect to SHARED_MEMORY in Gym envs, if available, before DIRECT/GUI
allow software rendering fallback, even if ER_BULLET_HARDWARE_OPENGL is chosen in getCameraImage
2017-09-13 13:30:16 -07:00
Erwin Coumans
c250a5f0b9
re-enable shared memory connection for pybullet Gym envs (with fallback to GUI or DIRECT)
...
suppress shared memory connection warnings
add fallback from ER_BULLET_HARDWARE_OPENGL to TinyRenderer if not available
2017-09-13 09:56:39 -07:00
Erwin Coumans
ec25f663c2
fix getAABB.py on mac osx
...
fix humanoid_benchmark.py and explain how to read/interpret that file in Google Chrome
2017-09-11 19:46:54 -07:00
Erwin Coumans
3891602784
enable continuous action space for racecarZEDGymEnv
...
disable SHARED_MEMORY connection (it was just some debug test)
2017-09-11 17:34:06 -07:00
Erwin Coumans
105c2c948f
add simple 'runServer.py' script, that lets you run a GUI shared memory server to connect to
2017-09-11 09:38:55 -07:00
Erwin Coumans
f38b2cf14d
use SHARED_MEMORY as first connection attempt, to make visualization/OpenGL rendering easier
2017-09-11 09:23:14 -07:00
Erwin Coumans
ee082396d1
fixes in libdl/DL cmake
...
minor tweaks in pybullet OpenAI gym locomotion envs (connect to shared memory before going GUI/DIRECT)
bump up pybullet version to 1.3.6
2017-09-10 16:22:45 -07:00
Erwin Coumans
466c853489
add testMJCF.py script, to visualize MJCF file
2017-09-10 10:45:38 -07:00
Erwin Coumans
125380ce15
revert feet related reward in ant
2017-09-09 22:35:48 -07:00
Erwin Coumans
de28334a70
tweak to testEnv.py, sample usage:
...
python testEnv.py --rgb=1 --render=1 --step=100000 --env="HumanoidBulletEnv-v0"
2017-09-09 16:36:42 -07:00
Erwin Coumans
ce64aff7af
ant env, fix feet_collision reward issue
2017-09-09 16:00:03 -07:00
Erwin Coumans
666c824b81
enable pybullet_env Ant Gym rendering, tinyRenderer has some issue with the ant.xml file though
2017-09-09 15:27:10 -07:00
Erwin Coumans
4f47a223ef
more fixes in Gym Ant to make reward the same as Roboschool,
...
apparently feet_collision_cost is not properly updated in Roboschool,
for now, disable it in pybullet too: see https://github.com/openai/roboschool/issues/63
2017-09-09 12:36:53 -07:00
Erwin Coumans
c144d9c045
add simple script to test some of the pybullet gym environments (work-in-progress/experimental)
2017-09-08 15:25:16 -07:00
Erwin Coumans
c30e9aea92
revert minitaur.urdf to previous (backward compatibility) and add _v1 for better version.
2017-09-07 11:23:41 -07:00
Erwin Coumans
b0e50d0d5a
pybullet Gym envs: add more sleep in the enjoy functions to see what's happening.
2017-09-07 11:17:38 -07:00
Erwin Coumans
3d702879c5
pybullet: improvements in Gym Ant environment (work-in-progress)
2017-09-07 11:06:42 -07:00
Erwin Coumans
cfc07565ac
fix dumpLog.py
2017-09-06 14:34:10 -07:00
Erwin Coumans
ff0cd65346
fix __init__.py, add stadium without collision for testing
2017-09-05 21:47:35 -07:00
Erwin Coumans
3f21e528f0
revert name 'v' -> 'u' (backward compatibility) and 'u' -> 't'
...
make vr_kuka_setup.py load faster, by disabling rendering during loading
allow to setRealTimeSimulation(0) in VR
2017-09-02 11:35:54 -07:00
erwincoumans
8319fa0380
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-09-02 01:06:47 -07:00
erwincoumans
1221c6d91d
quadruped.py test, use generalized coordinates (not maximal coordinates) by default
2017-09-02 01:06:33 -07:00
erwincoumans
eb97e06280
fix minitaur.urdf: move lower-leg inertia to center, add missing collision for one of the motors, add contact parameters for friction_anchor, spinning friction, compliance (stiffness/damping)
...
fix in indexing for maximal coordinates (unused by default, still experimental, requires many iterations for Minitaur due to extreme mass-ratio, hence use of reduces/generalized coordinates)
modify quadruped.py to test maximal coordinates
wrap angular servo (positional) target within [-PI,PI] in btGeneric6DofSpring2Constraint
add 'j' key to show body frames in wireframe/debug mode
2017-09-02 01:05:42 -07:00
Erwin Coumans
6d940d7a02
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-08-31 10:00:24 -07:00
Erwin Coumans
6d0e2cd527
update pybullet docs, add getList to pybullet_envs
2017-08-31 09:59:40 -07:00
erwincoumans
ee30479a28
add option to log joint torques (due to user applied torques and/or motor torques)
...
See quadruped.py for an example:
p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof = 16, logFlags = p.STATE_LOG_JOINT_TORQUES)
Thanks to JulianYG, in pull request https://github.com/bulletphysics/bullet3/pull/1273
2017-08-30 19:41:15 -07:00
erwincoumans
1f7db4519e
enable motor control for maximal coordinates robots (btRigidBody, btTypedConstraint) for force, velocity, position control.
2017-08-29 19:14:27 -07:00
Erwin Coumans
029b4debad
fix in minitaur.py and add render function in minitaur_gym_env.py
2017-08-28 19:28:20 -07:00
Erwin Coumans
1900966805
small rename
2017-08-27 19:54:20 -07:00
Erwin Coumans
3f00c7bd49
small tweak in vr_kuka_setup.py example
2017-08-27 19:53:38 -07:00
Erwin Coumans
c8cb0a5f42
add missing sphere_small.urdf, add vr_kuka_setup.py example.
2017-08-27 19:41:40 -07:00
Erwin Coumans
1569f3845c
more fixes in pybullet_gym envs/data.
...
implement pybullet.setAdditionalSearchPath
2017-08-27 19:34:00 -07:00
Erwin Coumans
d9faea8c1c
add more URDF files to pybullet_data
2017-08-27 19:26:53 -07:00
Erwin Coumans
659e869b86
pybullet a bit more refactoring, moving around files.
...
pybullet: move data to pybullet_data package, with getDataPath() method
2017-08-27 18:08:46 -07:00
Erwin Coumans
e267f5c3d2
move pybullet.connect into the Gym environment.
...
If you like to enable rendering, call the env.render(mode="human") before calling the first env.reset
2017-08-26 14:58:48 -07:00
Erwin Coumans
51b7e1040f
more fixes in the pybullet gym environments: use main instead of demo_run,
...
add missing main to some eaxmples.
pip install pybullet
train:
python -m pybullet_envs.examples.train_pybullet_cartpole
enjoy:
python -m pybullet_envs.examples.enjoy_pybullet_cartpole
enjoy pretrained environments:
python -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HalfCheetahBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HopperBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HumanoidBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedDoublePendulumBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedPendulumBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedPendulumSwingupBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_Walker2DBulletEnv_v0_2017may
Run some gym environment test:
python -m pybullet_envs.examples.racecarGymEnvTest
Create/Import a specific Gym environment:
python
import pybullet_envs
env = gym.make("AntBulletEnv-v0")
env = gym.make("HalfCheetahBulletEnv-v0")
env = gym.make("HopperBulletEnv-v0")
env = gym.make("HumanoidBulletEnv-v0")
env = gym.make("Walker2DBulletEnv-v0")
env = gym.make("InvertedDoublePendulumBulletEnv-v0")
env = gym.make("InvertedPendulumBulletEnv-v0")
env = gym.make("MinitaurBulletEnv-v0")
env = gym.make("RacecarBulletEnv-v0")
env = gym.make("KukaBulletEnv-v0")
env = gym.make("CartPoleBulletEnv-v0")
2017-08-26 13:13:53 -07:00
Erwin Coumans
bcc60224f0
all methods (except connect, obviously) have the physicsClientId argument, even if they don't use it. This makes it easier to create a wrapper API to store the physics client. This allows easier multi-threaded versions with multiple Bullet DIRECT instances (or SHARED_MEMORY, TCP, UDP etc).
...
See for example https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py and https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/minitaur.py
2017-08-25 14:04:45 -07:00
Erwin Coumans
1fc148d5d0
fixes in racecarGymEnv: implement 'render' rgb image, fix in naming,
...
fix in observation bounds.
2017-08-24 22:01:45 -07:00
Erwin Coumans
a975d094c3
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-08-24 13:33:58 -07:00
Erwin Coumans
cb6914fa4c
use better defauls values for minitaur
2017-08-24 13:33:45 -07:00
Erwin Coumans
f0c32b84c0
allow continuous control for MIT racecar gym environment, use differential drive version
2017-08-23 23:12:26 -07:00
Erwin Coumans
8a4f51baa4
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-08-23 21:45:05 -07:00
Erwin Coumans
ff4270a517
fix pybullet racecarGymEnv to use thread-safe pybullet
2017-08-23 18:22:20 -07:00
Erwin Coumans
75231d63e8
use name MinitaurBulletEnv
2017-08-23 17:45:41 -07:00
Erwin Coumans
0851b45f39
update minitaur gym env
2017-08-23 17:41:34 -07:00
Erwin Coumans
8866840712
Clarify in naming that the environment uses MJCF xml files with Bullet, it doesn't use MuJoCo.
2017-08-23 15:03:57 -07:00
Erwin Coumans
f19f28b5ed
more fixes in pybullet/resources, moved enjoy/train/test in 'examples' folder.
2017-08-22 10:07:47 -07:00
Erwin Coumans
21ca6a90f0
more fixes for pybullet
2017-08-22 09:32:16 -07:00
Erwin Coumans
dd4cc5f4ef
add minitaur quadruped
2017-08-22 09:00:46 -07:00
Erwin Coumans
e064d4b837
more fixes in pybullet_envs: fix path, add missing data resources
2017-08-22 08:59:39 -07:00
Erwin Coumans
21f9d1b816
refactor pybullet/gym to allow instantiating environments directly from a pybullet install:
...
work-in-progress (need to add missing data files, fix paths etc)
example:
pip install pybullet
pip install gym
python
import gym
import pybullet
import pybullet_envs
env = gym.make("HumanoidBulletEnv-v0")
2017-08-22 00:42:02 -07:00
Erwin Coumans
c06ea72a4c
improve the new pybullet gym environments, follow camera, disable 2D GUI, disable rendering during loading (makes it faster)
...
disable vsync on Mac
fix setup.py file
2017-08-20 18:11:53 -07:00
erwincoumans
c0984b80e5
Merge pull request #1231 from benelot/bullet-gym
...
Add nearly all gym environments using pybullet together with the…
2017-08-18 13:29:43 -07:00
Benelot
3191291748
Split pendula robot from the pendula envs due to changes in the underlying mujoco xml base env.
2017-08-17 00:25:16 +02:00
Benelot
9f20e40541
Rename old humanoid gym to simple humanoid gym.
2017-08-17 00:06:01 +02:00
Benelot
f74a9299a8
Unversion manipulators for now. They come back as they are ready.
2017-08-16 22:43:40 +02:00
Erwin Coumans
a66576f034
revert API to be backward compatible, add b3CreateInProcessPhysicsServerAndConnectSharedMemory
...
same for BulletURDFImporter constructor
2017-08-16 12:33:25 -07:00
Benelot
68106d66dd
Split locomotion environments.
2017-08-16 08:08:24 +02:00
erwincoumans
2e0a987750
pybullet only allow one GUI/GUI_SERVER instance.
...
Fix LINK_FRAME/WORLD_FRAME coordinate issue in pybullet applyExternalForce
2017-08-15 14:15:30 -07:00
Benelot
cab3de35e4
Remove duplicate assets and use other assets. Rename classes appropriately for robot-scene-env split refactoring.
2017-08-15 15:31:24 +02:00
Erwin Coumans
60b60ef9fd
add pybullet.connect(pybullet.GUI_SERVER) option. This allows shared memory connections, acting as a physics server. You can connect using SHARED_MEMORY to this GUI_SERVER.
2017-08-14 17:02:20 -07:00
Erwin Coumans
aafaa7e33e
Expose optional "globalScaling" factor to pybullet.loadURDF and pybullet.loadSDF. This will scale the visual, collision shapes and transform locations.
...
Fix two_cubes.sdf (was lacking collision shape for second cube)
2017-08-14 14:59:41 -07:00
Benelot
4771bae9fa
Merge branch 'master' into bullet-gym
2017-08-10 22:50:12 +02:00
erwincoumans
0eb3898c76
Merge pull request #1244 from erwincoumans/master
...
add 'createObstacleCourse.py' example, helps reproducing
2017-07-29 13:20:14 +02:00
Erwin Coumans
d28dd2f80a
add 'createObstacleCourse.py' example, helps reproducing
...
Parkour paper: https://arxiv.org/abs/1707.02286
2017-07-29 13:18:49 +02:00
yunfeibai
cfc7917586
Add init function and module for pybullet with EGL.
2017-07-18 13:52:29 -07:00
Erwin Coumans
c9b41737c0
add example of faster URDF/SDF loading in VR/GUI mode,
...
by temporary disabling rendering
2017-07-14 23:32:53 +01:00