Commit Graph

1732 Commits

Author SHA1 Message Date
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
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
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
Erwin Coumans
0be9dde36c Merge remote-tracking branch 'bp/master' 2017-10-03 09:09:56 -07:00
Srajan Garg
05ad68015d add new example for btCompoundShape 2017-10-03 01:38:20 +05:30
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
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
erwincoumans
a632b6c6a4 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-29 08:01:11 -07:00
erwincoumans
e0dbd25cb7 remove some unneeded/debug BT_PROFILE markers 2017-09-29 07:50:48 -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
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
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
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
erwincoumans
6d68a67c79 fix a bug in a changeVisualShape/texture selection, out-of-bounds check was using the wrong array.
May fix some internal texture mug bug.
2017-09-25 11:11:48 -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
d3d1b51c3a fix compile warnings 2017-09-24 23:26:06 -07:00
Erwin Coumans
705a59ea73 Merge remote-tracking branch 'bp/master' 2017-09-24 22:50:55 -07:00
erwincoumans
27674e5289 Update b3PluginManager.cpp
pre/post tick were wrong order in initializer list
2017-09-24 22:39:20 -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
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
erwincoumans
b1d6f58981 Update pybullet.c
fix compile issue
2017-09-24 09:16:54 -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
erwincoumans
312e35964f make some code const correct. 2017-09-22 07:53:21 -07:00
Erwin Coumans
b9b1b2dbca add B3_SHARED_API to the remaining PhysicsClientC_API APIs 2017-09-21 16:40:19 -07:00
Erwin Coumans
37253443f9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-21 14:24:44 -07:00
Erwin Coumans
cc0c46c4b0 re-update the VR camera 2017-09-21 14:24:22 -07:00
Erwin Coumans
176c2512de add B3_SHARED_API definition for Mac / Linux / gcc 2017-09-21 08:37:00 -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
ae8f12e8ba more fixes for retina + glfw + opengl2 fallback 2017-09-20 13:09:18 -07:00
Erwin Coumans
fb05763093 support retina / scale factor between pixel size and screen coordinate size 2017-09-20 10:07:18 -07:00
Erwin Coumans
3e0b72b632 allow to configure glfw on Mac OSX, disabled by default 2017-09-20 08:12:59 -07:00
erwincoumans
b079277d51 minor fixes in GLFWOpenGLWindow 2017-09-19 21:40:17 -07:00
erwincoumans
cadce37141 add GLFWOpenGLWindow and glad (replacement for glew) 2017-09-19 21:16:24 -07:00
erwincoumans
390f111547 enable option to use GLFW, instead of our own cross-platform X11/Cocoa/Windows OpenGLWindow classes 2017-09-19 21:10:54 -07:00
erwincoumans
2919e51d9d fix loading of empty file (after header)
remove debug printf
2017-09-17 15:44:14 -07:00
Erwin Coumans
f4b28dddce fix rendering ("rgb_array") for pendulums/pendula 2017-09-15 16:33:22 -07:00
erwincoumans
1881f6679a fix issue with rendering of certain capsules from MJCF files. 2017-09-15 15:38:24 -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
Erwin Coumans
2e7c0cef38 pybullet/C-API: fix width/height when getCameraImage has a fallback from OpenGL hardware
to TinyRenderer
2017-09-14 15:39:22 -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
6942a9f8ef remove a debug printf 2017-09-13 13:48:37 -07:00
Erwin Coumans
c220513757 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-13 13:31:56 -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
97a62b33c0 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-13 12:07:59 -07:00
Erwin Coumans
2eaac410b5 remove memory of loadTexture. 2017-09-13 12:07:19 -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
erwincoumans
cc9995d44b fix uninitialized camera position in 'VR' / 'camera rendering' mode (causing broken specular reflections in VR)
use debug visualizer camera viewmatrix/projection matrix if not provided, in ER_BULLET_HARDWARE_OPENGL mode.
fix broken changeRGBAColor implementation, thanks to Laura for the report!
2017-09-12 22:14:00 -07:00
erwincoumans
9d804cfb97 avoid crash if swRenderInstances are not available 2017-09-12 17:27:18 -07:00
Erwin Coumans
19057c2004 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-11 21:49:58 -07:00
Erwin Coumans
3d3e391b6a Support SDF capsule and cylinder. 2017-09-11 21:49: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
20f97f78b8 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-11 09:39:20 -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
416c29daf7 fix with shared memory connection while disabling rendering 2017-09-11 09:30:39 -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
erwincoumans
6f51d81cbb Revert "Export targets in CMake and add include directories to target properties" 2017-09-10 21:20:54 -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
Markus Rickert
fbffb246fe Export targets in CMake and add include directories to target properties 2017-09-10 23:43:50 +02:00
Erwin Coumans
466c853489 add testMJCF.py script, to visualize MJCF file 2017-09-10 10:45:38 -07:00
Erwin Coumans
7c15767452 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-10 07:48:59 -07:00
Erwin Coumans
ec18adbf0a fix MJCF visual shape capsule conversion code (fromto case) 2017-09-10 07:48:43 -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
c895bd244f track down DL/dl issue 2017-09-09 13:05:45 -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
86840bf50d trigger travis 2017-09-07 17:24:17 -07:00
Erwin Coumans
cbe0d0aff2 pybullet fix: accidently enable self-collision 2017-09-07 14:27:00 -07:00
Erwin Coumans
9ecd345783 backwards compatibility... 2017-09-07 11:40:11 -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
c82131d16e cmake fixes 2017-09-06 14:18:35 -07:00
Erwin Coumans
7878f7ace9 Add Extras/BulletRobotics, will be installed as 'Extra Libs' using CMake
Reduce size of command-logfile (used in PhysicsServer (Logging) and PhysicsServer (Log Replay))
Make Bullet3Common and BulletInverseDynamics part of core Bullet libraries (not optional)
2017-09-06 13:18:39 -07:00
Erwin Coumans
ff0cd65346 fix __init__.py, add stadium without collision for testing 2017-09-05 21:47:35 -07:00
Erwin Coumans
a985d441bd Re-enable Physics Server (Logging) and Physics Server (Replay Log) 2017-09-04 19:00:50 -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
8dfa76e924 implement pybullet.createUserConstraint for maximalCoordinates (fixed, p2p, gear)
maximalCoordinates, make sure parent is bodyA, child is BodyB
2017-08-30 09:54:38 -07:00
Erwin Coumans
9d404f5316 bump up pybullet version, pre-sort visual shapes 2017-08-29 21:36:56 -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
erwincoumans
4ff6befc6d avoid flickering in visualizer window, when doing pybullet.getCameraImage 2017-08-29 12:13:21 -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
793904fc89 fix windows 64bit openvr/lib/win64/openvr_api.lib to find openvr64pi.dll (different name from 32bit version, to co-exist) 2017-08-27 18:30:12 -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
0d0caa7cbc Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-08-24 22:02:34 -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
Jonathan Tompson
29acd99d25 changed exit(0) to exit(EXIT_FAILURE) for OpenGLWindow functions, and changed printf to fprintf(stderr for error string printing. 2017-08-24 15:18:43 -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
5c5993edcb fix potential memory leaks for concave triangle meshes (<concave=true> or createCollisionShape with flags=1) 2017-08-24 09:16:11 -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
Erwin Coumans
c4112ec5cc Merge remote-tracking branch 'bp/master' 2017-08-19 16:16:56 -07:00
Erwin Coumans
b80a387a1e upgrade to latest OpenVR 1.0.9 (https://github.com/ValveSoftware/openvr)
enable experimental Mac OSX OpenVR, tested using Apple External Graphics Development Kit.
2017-08-19 09:48:32 -07:00
erwincoumans
a4f28e1589 Merge pull request #1219 from lunkhound/pr-nncg
NNCG solver: apply rolling friction consistently
2017-08-18 13:31:54 -07:00
erwincoumans
b940a83797 Merge pull request #1257 from erwincoumans/master
bump up pybullet setup.py version, make B3_NO_PYTHON_FRAMEWORK defaul…
2017-08-18 13:30:03 -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
Erwin Coumans
226aaedc46 bump up pybullet setup.py version, make B3_NO_PYTHON_FRAMEWORK default on Mac
minor fixes (arg name in header/cpp the same)
2017-08-18 08:53:46 -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
Erwin Coumans
99beb44625 fix build issues in previous commit 2017-08-15 10:46:09 -07:00
erwincoumans
9d0f875c5b fix compile issues due to API change (additional argument) 2017-08-15 09:34:44 -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
erwincoumans
dfaa717fed Merge pull request #1252 from erwincoumans/master
fix pybullet GUI performance issue on Mac OSX, fix potential memory leak in loadSDF when visuals have the same name.
2017-08-11 18:11:53 -07:00
erwincoumans
457312f94f fix leak in loadSDF in case of visuals with duplicate/identical names that have a material.
fix GUI performance issue on Mac OSX
fix issue introduced in previous commit (in btConvexHullComputer.cpp)
2017-08-11 17:14:52 -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
Erwin Coumans
0df8887990 improve pybullet performance of loadURDF/SDF/MJCF and 'createCollisionShape'/'createMultiBody' for GUI/VR/SHARED_MEMORY,
use p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0) before loading and
p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1) afterwards
2017-07-14 23:12:16 +01:00
Benjamin Ellenberger
a6aade2e21 Add nearly all gym environments using pybullet together with the latest tf model from the roboschool model zoo. 2017-07-14 23:38:15 +02:00
Lunkhound
e85e2ee127 MultiThreadedDemo: make it possible to dial in a single large island, and
tilt the ground and adjust rolling friction
2017-07-02 21:05:51 -07:00
Erwin Coumans
5178ad4abc add proper pointer casts 2017-07-01 10:28:28 -07:00
Erwin Coumans
9cf747b35b a few compile/warning fixes 2017-07-01 10:01:55 -07:00
Erwin Coumans
c17625a4d0 texture check fix 2017-07-01 09:15:00 -07:00
Erwin Coumans
88897cc744 implement pybullet.changeTexture. For now, the width/height has to match the target texture unique id, otherwise crashes may happen (a check for width/height match will be added)
See also examples\pybullet\examples\changeTexture.py
2017-06-30 19:11:43 -07:00
Erwin Coumans
dd3d55610b fixes in pybullet.loadTexture, changeVisualShape replacing texture.
(also works for OpenGL3 renderer now)
2017-06-30 13:35:07 -07:00
Erwin Coumans
dcaaed9238 also generate TinyRendererVisualShapeConverter for programmatically generated collision shapes
use similar random colors for TinyRenderer (if rgba colors are not specified)
2017-06-29 22:06:27 -07:00
Erwin Coumans
bf800e30d5 Added manually converted widowx.urdf from https://github.com/RobotnikAutomation/widowx_arm
Added simple pybullet file in Bullet/examples/pybullet/examples/widows.py (preliminary, both URDF and py file needs more work to be useful)
https://github.com/RobotnikAutomation/widowx_arm/blob/master/widowx_arm_description/package.xml
See also http://www.trossenrobotics.com/widowxrobotarm
2017-06-29 17:54:04 -07:00
erwincoumans
d5fe67cf57 Add pybullet transparent.py example, transparency with global per-object sort in GLInstancingRenderer 2017-06-24 19:38:31 -07:00
erwincoumans
a651cb9ab4 Implement first pass of transparent graphics object for GLInstancingRenderer
remove 'enableBlend' from API, graphics instances use alpha component instead
fix forward axis for SimpleCamera
2017-06-24 13:41:33 -07:00
erwincoumans
c777e61d48 fix pybullet compilation on some WIN32 version of MSVC 2017-06-23 20:36:19 -07:00
Erwin Coumans
65e22ba3e9 allow auxilary link to be used for gear btMultiBodyGearConstraint. 2017-06-23 20:24:04 -07:00