kimhc6028
0d07ae03b7
[fixed] gym_manipulator_envs typo
2018-01-23 18:22:53 +09:00
Erwin Coumans
69007dcc61
fix MJCF loading (use self-collision)
2018-01-20 12:07:35 -08:00
deq2
e30f2624f9
Added kuka environment with multiple diverse objects. ( #1508 )
...
* Added new diverse object environment
2018-01-18 08:49:00 -08:00
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