Erwin Coumans
6afa0a463d
unsupported: expose collisionMargin to changeDynamics/getDynamicsInfo.
...
add cube_convex.urdf for testing this collisionMargin. Test script:
import pybullet as p
import time
p.connect(p.GUI)
plane = p.loadURDF("plane_implicit.urdf")
cube = p.loadURDF("cube_convex.urdf",[0,0,1])
p.setGravity(0,0,-10)
while (1):
p.stepSimulation()
pts = p.getContactPoints()
p.changeDynamics(plane,-1,collisionMargin=0.3)
p.changeDynamics(cube,-1,collisionMargin=0.3)
print("===================")
print("cube pos=", p.getBasePositionAndOrientation(cube)[0])
print("margin=", p.getDynamicsInfo(plane,-1)[11])
#time.sleep(1./10.)
2020-02-14 17:36:40 -08:00
Erwin Coumans
b3ff3ebcb1
add pendulum of 5 links
2020-02-12 13:05:51 -08:00
Erwin Coumans
e7ad8a9d67
add urdf file for testing
2020-02-11 15:10:22 -08:00
Erwin Coumans
6195f40c02
fix compile issue in pybullet.c
2020-02-06 09:11:18 -08:00
Tigran Gasparian
34db76d263
Adds an option to syncUserData to specify the bodies for which to sync.
2020-01-23 14:46:33 +01:00
Tigran Gasparian
a88ffea416
.
2020-01-17 13:30:26 +01:00
Tigran Gasparian
68d3fb28e0
Adds support for loading user data from URDF files.
2020-01-17 11:55:42 +01:00
Erwin Coumans
1be6a1d16b
fix loadpanda video generation
...
remove duplicate code (formerly Windows ffpmeg needed different settings?)
2020-01-12 08:07:54 -08:00
Erwin Coumans
84e2ea918c
add xarm, modify loadpanda to work with pybullet_robots module
2020-01-12 07:20:32 -08:00
Erwin Coumans
fb15aea414
add example robots in pybullet_robots module
2020-01-12 07:11:57 -08:00
Erwin Coumans
3ca233193f
:
2020-01-12 07:03:38 -08:00
Erwin Coumans
2f08938110
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2020-01-11 16:52:01 -08:00
erwincoumans
a9615258d3
Merge pull request #2580 from erwincoumans/master
...
add --mp4fps=30 command line parameter for ExampleBrowser, various other fixes
2020-01-11 15:14:11 -08:00
Erwin Coumans
3f11b03255
add friction anchors for Panda gripper (prevents/reduces sliding objects out of gripper)
2020-01-11 13:13:28 -08:00
Erwin Coumans
8f8bbbee3b
example how to create a video using PyBullet using GUI mode with ffmpeg, synchronizing video with stepSimulation at specific frame rate (240 Hz for example)
2020-01-11 13:06:45 -08:00
erwincoumans
2dcb372080
Merge pull request #2565 from araffin/feat/sb-example
...
Add Stable-Baselines example with SAC and TD3
2020-01-08 11:51:35 -08:00
Erwin Coumans
3cdbc4cc29
fix CartPoleBulletEnv-v1 and add CartPoleContinuousBulletEnv-v0 (continuous version)
2020-01-02 19:33:57 -08:00
Erwin Coumans
3c8cf390d4
one more fix in previous commit related to bullet_client.py
2020-01-02 14:45:42 -08:00
Antonin RAFFIN
adad4dc402
Update buffer size
2020-01-02 14:47:30 +01:00
Antonin RAFFIN
59c61a46bb
Simplify imports
2020-01-02 11:12:45 +01:00
Antonin RAFFIN
da0483b03a
Add colab notebook
2020-01-02 11:06:39 +01:00
Antonin RAFFIN
9c969614bc
Add Stable-Baselines example with SAC and TD3
2020-01-02 11:00:45 +01:00
Erwin Coumans
c39afa61cb
revert bullet_client.py
2020-01-01 20:27:27 -08:00
Erwin Coumans
a9455ce891
add 'runServer.py' script in pybullet_utils, this will run a GUI server
...
that accepts SHARED_MEMORY connections. Handy if you run a pybullet_envs Gym environment
and want to visualize it. By default, bullet_client will try to connect to a shared memory connection first.
2020-01-01 18:53:32 -08:00
Erwin Coumans
b6dea7ba64
fix a few pybullet Gym environments for rendering in stable_baselines
...
if PYBULLET_EGL environment is set, try to enable EGL for faster rendering
bump up pybullet to 2.6.2
2020-01-01 18:47:46 -08:00
Erwin Coumans
528bd28e34
increase plane from 30 to 200 (to allow quadrupeds to run further, not fall off cliff)
...
fix issue with gym.wrappers in pybullet_envs.agents.visualize_ppo.py
2019-12-31 18:13:49 -08:00
Erwin Coumans
ffc76fbf6d
add xarm 6 example with inverse kinematics (IK) that runs about 150 microseconds (Ryzen 3900x)
2019-12-22 17:17:37 -08:00
Erwin Coumans
7241fe19b9
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-12-13 09:21:00 -08:00
Erwin Coumans
30b42a14f0
add single-link arm urdf files for debugging
2019-12-13 09:20:46 -08:00
Erwin Coumans
3668bc5e2a
tweak premake4 default batch file.
...
add manual control for joint angles in XArm6 example.
2019-12-12 07:02:27 -08:00
Erwin Coumans
1a245f4e11
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-12-11 16:49:04 -08:00
Erwin Coumans
2f6eb59e16
add z-up version of Laikago, centered along the chassis center of mass
2019-12-11 16:47:52 -08:00
Erwin Coumans
202cf18995
allow to compile using clang-cl on visual studio (disable SSE)
2019-12-11 13:07:53 -08:00
Erwin Coumans
d254b65fee
Merge remote-tracking branch 'bp/master'
2019-12-10 15:48:24 -08:00
Erwin Coumans
e7778502e7
fix pybullet_envs path
2019-12-10 15:48:07 -08:00
erwincoumans
6c722f8f94
Merge pull request #2528 from jackson-waschura/master
...
Actually use self collisions when specified
2019-12-09 09:35:06 -08:00
erwincoumans
880faef997
Merge pull request #2535 from erwincoumans/master
...
Googley colors for xarm (debugging) and tweak example with table etc.…
2019-12-09 09:26:47 -08:00
Erwin Coumans
1a491dc700
Googley colors for xarm (debugging) and tweak example with table etc. Add missing link6_vhacd.obj
2019-12-09 09:25:15 -08:00
erwincoumans
e0a43fb116
Merge pull request #2534 from erwincoumans/master
...
remove duplicate xarm6.urdf
2019-12-09 08:57:00 -08:00
Erwin Coumans
0a8ade5233
remove duplicate xarm6.urdf
2019-12-09 08:54:56 -08:00
erwincoumans
1b8d7be2b6
Merge pull request #2533 from erwincoumans/master
...
also enable simplified convex decomposition collision meshes for xarm…
2019-12-09 08:53:27 -08:00
Erwin Coumans
67905efd0f
also enable simplified convex decomposition collision meshes for xarm6_robot.urdf
2019-12-09 08:51:02 -08:00
David Rusu
dd3bdf0da1
Use pybullet_utils.bullet_client for all our BulletClient needs
2019-12-08 20:10:12 -05:00
jackson-waschura
0b33d940e4
Actually use self collisions when specified
2019-12-08 13:54:38 +01:00
Erwin Coumans
70329ca2ad
added Apache 2 license for Panda Franka URDF
2019-12-08 00:40:10 -08:00
Erwin Coumans
4cfd30f19c
add Franka Panda URDF and example (python3 -m pybullet_envs.examples.loadpanda)
...
add XArm6 URDF with optimized collision meshes and example (XArm gripper needs more work) python3 -m pybullet_envs.examples.xarm
2019-12-08 00:38:49 -08:00
Erwin Coumans
146a751eb4
enable intermediate log for walk, so you can restart if stuck in local maximum
2019-12-05 08:34:34 -08:00
erwincoumans
c74b88b436
Merge pull request #2522 from erwincoumans/master
...
update Laikago robot with textures, and a version with toes to enable…
2019-12-04 21:14:21 -08:00
Erwin Coumans
7c5796b67d
update Laikago robot with textures, and a version with toes to enable inverse kinematics.
2019-12-04 14:48:28 -08:00
erwincoumans
ef08e9b415
Merge pull request #2517 from erwincoumans/master
...
enable self-collision for deep_mimic pybullet_envs, fix Mac Catalina pybullet pip build
2019-12-04 08:56:42 -08:00
erwincoumans
44f21e462a
Merge pull request #2509 from xhan0619/separate-bending-stiffness
...
Separate in-plane and bending stiffness for mass spring model
2019-12-04 07:34:28 -08:00
Erwin Coumans
7f9f514b7e
enable self-collision for deep_mimic pybullet_envs and make it easier to try it out:
...
python3 -m pybullet_envs.deep_mimic.testrl
2019-11-30 13:19:28 -08:00
Erwin Coumans
cf67e7af0a
Merge remote-tracking branch 'bp/master'
2019-11-29 08:06:53 -08:00
Erwin Coumans
56d0b7a09a
deep_mimic, read velocity from poseInterpolator, not kinematic model
...
This fixes issue #2401
2019-11-29 08:05:54 -08:00
Xuchen Han
7bce5d61f4
separate in-plane and bending stiffness for mass spring model for easier parameter tuning
2019-11-27 11:40:10 -08:00
Xuchen Han
39df98465e
set a smaller dt for deformable_ball.py for stability and typo fix
2019-11-25 17:07:00 -08:00
Xuchen Han
f237a40621
add a pybullet example to compare the result of soft body and deformable body
2019-11-21 00:09:32 -08:00
Xuchen Han
fa7cb25c95
revert the default world to SOFT_MULTIBODY_WORLD
2019-11-20 23:47:15 -08:00
Xuchen Han
edffb0cc55
update pybullet examples
2019-11-19 23:10:13 -08:00
Erwin Coumans
66951ac102
fix Mac version of deformable_anchor.py
2019-11-19 19:35:28 -08:00
Erwin Coumans
96deb42aa5
pybullet.createSoftBodyAnchor
2019-11-19 19:20:08 -08:00
Erwin Coumans
1f6d504e44
fix memory issues in btSparseSDF.h
...
(hash function on structure with uninitialized padding, and Reset not called in destructor)
expose sparseSdfVoxelSize in PyBullet.setPhysicsEngineParameter
don't call deformable wireframe drawing in the wrong thread/place (it can cause crashes)
2019-11-18 10:22:56 -08:00
Xuchen Han
bca87426f4
enable real time simulation
2019-11-15 22:38:47 -08:00
Xuchen Han
a86710c5b6
add python binding to allow loading deformable objects
2019-11-15 21:25:11 -08:00
Erwin Coumans
72e0e7c223
fix load_soft_body.py example.
...
add optional flags in pybullet.resetSimulation.
fix compile issue due to SKIP_DEFORMABLE_WORLD
fix issue in .obj importer (todo: replace with tiny_obj_loader)
todo: replace std::ifstream fs; by fileIO usage.
2019-11-14 21:20:42 -08:00
Erwin Coumans
24a76614f8
PyBullet: fix memory leak in changeTexture command
...
Fixes #2481
2019-11-14 17:07:08 -08:00
Erwin Coumans
9f44d76b67
fix issue in BulletClient (pybullet_utils.bullet_client) that may disconnect multiple times, causing issues when repeatedly creating a gym env
...
bump up pybullet to version 2.5.7
2019-11-07 10:47:56 -08:00
Erwin Coumans
b5715c96cf
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-11-04 15:46:23 -08:00
Erwin Coumans
f1f04aef53
add simple sceneAABB example
2019-11-04 15:45:58 -08:00
Krishnan Srinivasan
0d4108f307
Fix call to convert_to_leg_model
...
Fix call to convert_to_leg_model which is defined as a static method without an underscore in MinitaurExtendedEnv
2019-10-29 16:00:55 -07:00
Chuyuan Fu
e74ffa2f65
add body type info to dynamics info
2019-09-28 14:43:40 -07:00
Erwin Coumans
95a7488310
PyBullet: fix createMultiBodyBatch.py example
2019-09-13 07:38:00 -07:00
Erwin Coumans
64ea8e9f27
PyBullet createMultiBody(Batch), return all body unique ids
...
PyBullet: fix crash: always check for existance m_multibodyWorld in ::render method
2019-09-09 16:41:25 -07:00
erwincoumans
9cf50846d6
Merge pull request #2393 from muupan/fix-typo-duration
...
Fix typo: s/duraction/duration/g
2019-09-04 09:37:57 -07:00
Chuyuan Fu
ecc28d6472
revert testing example
2019-09-03 14:35:33 -07:00
Chuyuan Fu
e4a5f9e06e
add body type info to dynamics info
2019-09-03 14:27:19 -07:00
muupan
4c209a4834
Fix typo: s/duraction/duration/g
2019-09-03 17:29:43 +09:00
Erwin Coumans
648844e898
minor fixes, bump up pybullet to 2.5.5
2019-08-14 21:30:10 -07:00
Erwin Coumans
88d1788ee5
PyBullet: allow to update an existing heightfield shape
...
Also, use flags = p.GEOM_CONCAVE_INTERNAL_EDGE to enable internal edge filtering for heightfield (disabled by default)
See https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/examples/heightfield.py
2019-08-14 21:06:10 -07:00
Erwin Coumans
e0b642d730
pybullet: fix calculateInverseKinematics2
2019-08-11 17:02:16 -07:00
Erwin Coumans
f9b232b153
pybullet: allow programmatic creation of heightfield. See https://github.com/erwincoumans/bullet3/tree/master/examples/pybullet/examples/heightfield.py
...
premake4: allow to build example browser without C++11, re-enable stable PD control plugin using --enable_stable_pd=True
2019-08-11 13:59:24 -07:00
Artur Ryt
c39c842fe3
Fix examples\pybullet\premake4.lua parsing error
...
There is missing } after previous edit (226819), which leads
to error when using build_visual_studio_vr_pybullet_double.bat
Adding it back fixed the error.
2019-08-09 13:58:36 +02:00
erwincoumans
fc95415c0e
Merge pull request #2359 from erwincoumans/master
...
premake add enable_stable_pd option, so Bullet can be compiled withou…
2019-08-08 09:58:32 -07:00
erwincoumans
226819b839
premake add enable_stable_pd option, so Bullet can be compiled without C++11 (Visual Studio 2010 etc)
...
PyBullet: improve sleeping: if the base is static and all joints in the chain between this link and the base are fixed, then this link is static too (doesn't merge islands)
Fix PyBullet compilation of Visual Studion 2010
2019-08-07 21:57:05 -07:00
erwincoumans
666e1a8bad
Merge pull request #2357 from fuchuyuan/setWarmStartFactor
...
API and pybullet bindings for setting warmstarting factor
2019-08-07 17:34:58 -07:00
erwincoumans
1981493a65
Merge pull request #2356 from erwincoumans/master
...
sync graphics server at resetJointState, resetSimulation, load*
2019-08-06 15:54:43 -07:00
Chuyuan Fu
2e64b27a31
bindings for setting warmstarting factor
...
fix space
2019-08-06 15:53:31 -07:00
Erwin Coumans
bf90b6a1d5
update PyBullet quickstart guide pdf version
...
tweak profileTiming example
2019-08-05 08:32:45 -07:00
erwincoumans
3ac4959e95
Update DeepMimic_Optimizer.py
2019-08-02 07:08:51 -07:00
erwincoumans
4a4c807381
Update DeepMimic_Optimizer.py
...
remove timing
2019-08-01 21:24:28 -07:00
Erwin Coumans
6d844e5df1
pybullet: more detailed nested timings
2019-08-01 19:15:02 -07:00
Erwin Coumans
7263439c4b
improved for inserting profile timings from Python, to analyzer performance of pybullet programs.
...
See examples/pybullet/examples/profileTiming.py for an example. Note that python and c++ is properly interleaved.
Open a timings with a name, close the timing without a name. Note that timings can be recursive, added/popped as a stack.
2019-08-01 19:12:16 -07:00
Erwin Coumans
38d56a42de
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-29 20:29:29 -07:00
Erwin Coumans
51fba6f78d
export btHeightfieldTerrainShape to PyBullet. Note that tinyrenderer doesn't support rendering it (it would be too slow on CPU)
...
fix rare getKeyboardEvents threading issue
change texture color to default plane.urdf blue
2019-07-29 20:23:38 -07:00
Erwin Coumans
4bb5d07e3e
pybullet_envs.deep_mimic: add pretrained spinkick model (only trained for 20 million steps, may need more for nicer mimic)
2019-07-29 08:22:57 -07:00
Erwin Coumans
cc2d15cd89
pybullet_envs.deep_mimic add pretrained jump weights
2019-07-29 08:11:15 -07:00
Erwin Coumans
3ba34f45b7
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-28 18:13:48 -07:00
Erwin Coumans
020e569ece
pybullet_envs.deep_mimic add pretrained crawl policy
2019-07-28 18:01:37 -07:00
Erwin Coumans
09bea429f7
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-28 17:24:37 -07:00
Erwin Coumans
1e21000d07
pybullet_envs.deep_mimic: update humanoid3d_cartwheel pretrained policy
2019-07-28 17:23:54 -07:00
Erwin Coumans
45c393e86e
Merge remote-tracking branch 'bp/master'
2019-07-27 10:25:31 -07:00
erwincoumans
d2665d3d80
Merge pull request #2305 from BartMoyaers/parse_contact_bodies
...
parse fall contact bodies
2019-07-27 10:09:36 -07:00
Erwin Coumans
36f3adc03f
copy/move heightfield files around (part of pybullet_data)
...
prepare for heightfield support in pybullet (first step, needs a bit more)
2019-07-25 13:01:26 -07:00
Erwin Coumans
3eedb2a6f2
fix rotational friction between btMultiBody and btRigidBody
2019-07-24 22:07:16 -07:00
Erwin Coumans
654a91057b
remove temp file
2019-07-23 18:15:15 -07:00
Erwin Coumans
a0b7b2a47c
add friction_anchor to microtaur.urdf
2019-07-23 18:13:54 -07:00
Erwin Coumans
bd9fe7afc0
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-23 07:27:55 -07:00
Erwin Coumans
2e85490b6b
deep_mimic: replace retrained backflip policy
2019-07-23 07:27:17 -07:00
Erwin Coumans
bb962bdb6f
remove some left-over debugging from deep_mimic
...
pybullet bump up to 2.5.3
2019-07-22 17:47:02 -07:00
Erwin Coumans
b9d4206053
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-22 17:19:33 -07:00
Erwin Coumans
b433e07d33
pybullet_envs.deep_mimic: use getLinkStates for faster 'getReward'
...
pybullet_envs.deep_mimic: add profile timers for each thread to optimize training
2019-07-22 17:18:41 -07:00
Erwin Coumans
0630c245c8
update walk policy trained using latest PyBullet 2.5.2. Still need to update backflip policy.
2019-07-22 14:00:19 -07:00
Erwin Coumans
bf3696e5b4
fix a leak in previous commit
2019-07-22 09:28:27 -07:00
Erwin Coumans
d82c2043f0
enable useArray for deep_mimic reward
2019-07-21 13:56:10 -07:00
Erwin Coumans
0cf6685041
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-07-21 13:13:25 -07:00
Erwin Coumans
39a4e8dcd9
Implement faster array versions of PyBullet: getJointStatesMultiDof, getLinkStates, setJointMotorControlMultiDofArray, resetJointStatesMultiDof,
...
Implement StablePD in C++ through setJointMotorControlMultiDofArray method for pybullet_envs.deep_mimic, see testHumanoid.py and examples/pybullet/examples/humanoidMotionCapture.py
Minor fix in ChromeTraceUtil in case startTime>endTime (why would it happen?)
2019-07-21 13:08:22 -07:00
Erwin Coumans
4732acfcb1
remove tabs from urdf
2019-07-17 12:57:44 -07:00
Erwin Coumans
ac0bfb0bfa
remove trailing whitespace
2019-07-17 12:55:13 -07:00
Erwin Coumans
dff277ad7b
add laikago urdf with toes (for inverse kinematics, and control over stiffness/damping to model rubber)
2019-07-17 12:30:49 -07:00
Erwin Coumans
ee9575167d
expose PyBullet.calculateInverseKinematics2 that allows to specify multiple IK end effector locations (not multiple orientations)
...
usage example:
jointPoses = p.calculateInverseKinematics2(bodyUniqueId, [endEffectorLinkIndices], [endEffectorTargetWorldPositions])
2019-07-10 17:21:18 -07:00
Erwin Coumans
bb8f621bf9
revert SHARED_MEMORY_GUI test
2019-07-03 12:10:24 -07:00
Erwin Coumans
9db6acd97d
support changeVisualShape(rgbaColor) through GraphicsServer/Client
...
support getCameraInfo through GraphicsServer/Client
2019-07-02 09:48:34 -07:00
Bart Moyaers
2e2169690c
parse fall contact bodies
2019-06-24 15:52:27 +02:00
Erwin Coumans
d4aac235fc
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-06-19 12:08:52 -07:00
Erwin Coumans
16542aa740
tweak Mini Cheetah URDF/MTL
...
use /tmp/timings on Linux/Mac as default location to save profile timings (when you press 'p' in example browser)
fix in Graphics Server Example when rendering is disabled
2019-06-19 12:07:26 -07:00
Erwin Coumans
ed4515ae17
for the GraphicsServer, expose a sync transform interval: only synchronize the transform once the stepSimulation exceeds this time interval.
...
(for example, run the simulation at 1kHz but sync the graphics transforms to remove graphics server at 30Hz)
2019-06-19 09:45:29 -07:00
Erwin Coumans
c3b7f39aaf
expose shadowMapResolution (texture resolution) and shadowMapWorldSize (size in meters in world space)
...
expose pybullet.ConfigureOpenGLVisualizerRequest(lightPosition=[x,y,z], shadowMapWorldSize=10.5, shadowMapResolution=16384)
See examples/pybullet/examples/configureDebugVisualizer.py for an example.
This reimplements https://github.com/bulletphysics/bullet3/pull/2295 but without creating a new command/status and explicitly referring to the debug visualizer
(since the 'getCameraImage' also has a lightPosition)
2019-06-19 09:01:16 -07:00
Erwin Coumans
7e76ee0ad7
make pybullet.getMeshData work for softbody
2019-06-17 21:43:38 -07:00
Chuyuan Fu
229e87c3c9
get mesh data api
...
fix compile
fix typo
2019-06-17 19:00:53 -07:00
Erwin Coumans
9d21deb712
use GUI mode in IK example
2019-06-15 12:58:02 -07:00
Erwin Coumans
e286fbd9f2
fixes for RemoteGUIHelper
2019-06-15 10:30:48 -07:00
Erwin Coumans
ee3680765e
fixes for RemoteGUIHelper
2019-06-14 14:34:56 -07:00
Erwin Coumans
4318221d6d
Merge remote-tracking branch 'bp/master'
2019-06-14 07:51:09 -07:00
erwincoumans
e1326adff5
Revert "C api refactor build"
2019-06-14 07:49:24 -07:00
Erwin Coumans
95a79800ec
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-06-13 23:24:42 -07:00
Erwin Coumans
6160b52fd7
graphicsServer to workaround OpenGL issues on some servers.
2019-06-13 23:24:22 -07:00
Erwin Coumans
8f9fac99bd
add kinematic version that also updates the base position/orientation from the base
2019-06-13 13:26:52 -07:00
bla
3e32cf94e7
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-06-06 21:54:47 +00:00
bla
6ab09fe06e
fix testlaikago and pd_controller_stable
2019-06-06 21:54:22 +00:00
erwincoumans
36896db828
Merge remote-tracking branch 'bp/master'
2019-06-01 07:29:31 -07:00
erwincoumans
5e1d645a09
Merge pull request #2221 from goretkin/c_api_refactor_build
...
C api refactor build
2019-05-31 19:06:18 -07:00
Erwin Coumans
4247104050
add toes to Mini Cheetah
2019-05-31 15:04:53 -07:00
Erwin Coumans
3c74ae8366
Add approximate Mini Cheetah URDF and example in pybullet
...
Thanks to Sangbae Kim and Donghyun Kim at the MIT Biomimetics Robotics Lab
2019-05-31 14:21:10 -07:00
Erwin Coumans
1933661124
change quadruped, remove old files
2019-05-30 14:55:47 -07:00
erwincoumans
7a7652fd43
Merge pull request #2265 from akien-mga/dos2unix
...
Convert DOS (CRLF) source files to Unix (LF) line endings
2019-05-30 09:41:35 -07:00
Erwin Coumans
093986f1ee
revert to previous leg style of Microtaur
2019-05-22 23:42:32 -04:00
Erwin Coumans
e13df4ce48
add toe endeffectors for IK of Microtaur
2019-05-22 22:08:45 -04:00
Erwin Coumans
d7e863e51a
update microtaur URDF and example, to be compatible with minitaur_rainbow_dash
2019-05-22 10:59:20 -04:00
Rémi Verschelde
d85b800702
Convert DOS (CRLF) source files to Unix (LF) line endings
...
Excluded `examples/pybullet/gym/pybullet_data/` which has many (3000+)
CRLF data files (obj, mtl, urdf), and `docs/pybullet_quickstart_guide`
which has generated .js and .htm files with CRLF line endings too.
2019-05-22 10:01:32 +02:00
Erwin Coumans
af5bfb4089
added Microtaur URDF file, with basic system identification
...
See https://www.youtube.com/watch?v=UmGnLgpEVTE
2019-05-21 22:33:16 -04:00
Erwin Coumans
36ed4419bf
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-05-07 19:43:33 -07:00
Erwin Coumans
de8013ff75
add minitaur extended to pybullet_envs
2019-05-07 19:43:02 -07:00
Chuyuan Fu
3be2ce0adf
set softbody start position and orientation in pybullet
2019-05-03 11:56:13 -07:00
Chuyuan Fu
3fb0a7c19b
add set starting position and orientation to softbody
2019-05-01 16:56:40 -07:00
Gustavo Goretkin
aff54a2397
Refactor C API part of pybullet out
2019-04-29 11:28:17 -04:00
Gustavo Goretkin
9009ca914e
Run cmake-format
...
cmake-format --command-case upper --dangle-parens true CMakeLists.txt
2019-04-29 11:03:41 -04:00
Erwin Coumans
61c099460c
apply yapf
2019-04-27 14:22:02 -07:00
Erwin Coumans
efe73670ef
Merge remote-tracking branch 'bp/master'
2019-04-27 14:19:58 -07:00
Erwin Coumans
ef9570c315
add yapf style and apply yapf to format all Python files
...
This recreates pull request #2192
2019-04-27 07:31:15 -07:00
erwincoumans
1da207efaa
Merge pull request #2209 from YungKC/patch-2
...
Should sort best directions that gives the highest rewards
2019-04-26 16:43:32 +02:00
Erwin Coumans
0d4392af58
rename laikago_walk.json -> txt
2019-04-18 14:18:34 -07:00
YungKC
61987dea85
Should sort best directions that gives the highest rewards
...
Found bug where the sort order would incorporate the lowest N rewards, instead of the highest. With this fix, one can now use fewer best directions instead.
2019-04-16 12:20:08 -07:00
erwincoumans
bf0eb4703d
Merge pull request #2200 from YungKC/patch-1
...
Fix render issue in server render mode (e.g., docker)
2019-04-16 06:31:58 -07:00
erwincoumans
a929e8f2e5
Merge pull request #2203 from erwincoumans/master
...
implement stablePD control version of testLaikago, fix getCameraImage in VR, only report solver analytics if enabled using setPhysicsEngineParameter
2019-04-15 08:52:03 -07:00
erwincoumans
e97a7d77af
only report solver analytics if enabled using setPhysicsEngineParameter(reportSolverAnalytics=1)
2019-04-14 18:20:20 -07:00
YungKC
8f9ff5e674
Fix render issue in server render mode (e.g., docker)
...
px is an 1D array, and cause a runtime error when trying to strip the color channels into RGB. I fixed this by first reshape the px array into am image compatible format first.
2019-04-12 17:42:26 -07:00
erwincoumans
154c65ae4d
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-04-11 22:19:12 -07:00
erwincoumans
5ff52e47d9
report constraint solver analytics data, currently for each island the number of solver iterations used and remaining residual error.
2019-04-11 22:19:02 -07:00
Jannik Vogel
4ca8b997f9
Reduce visibility of Bullet symbols in PyBullet
...
Avoids version conflicts in programs using PyBullet, which also link against Bullet libraries
2019-04-08 02:59:24 +02:00
Erwin Coumans
4ae24083ee
implement stablePD control version of testLaikago, in preparation for quadruped DeepMimic
2019-04-05 16:45:33 -07:00
erwincoumans
024af08320
Added laikago mocap data for a DeepMimic compatible walk cycle
...
Added testLaikago.py script to test this mocap data.
2019-04-04 19:40:21 -07:00
erwincoumans
76918ca26d
Merge remote-tracking branch 'bp/master'
2019-04-03 20:08:05 -07:00
erwincoumans
6951aaf26a
implement PyBullet removeState command. Fixes Issue #2163
...
https://github.com/bulletphysics/bullet3/issues/2163
2019-04-03 20:06:40 -07:00
erwincoumans
4d3f2e5b17
Merge branch 'master' into SIblock
2019-03-27 16:18:36 -07:00
Erwin Coumans
4898887265
temporary disable experimental BulletRobotics examples
2019-03-26 15:07:55 -07:00
Erwin Coumans
2ba8c22397
add actuatornet code
2019-03-26 10:05:45 -07:00
Chuyuan Fu
19f3ec8b80
fix conflut
2019-03-25 14:12:00 -07:00
iory
a8146024fd
[pybullet/gym/pybullet_envs] Modified register's timestep_limit to max_episode_steps for gym
2019-03-24 03:32:20 +09:00
Erwin Coumans
94d8ee74f7
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-03-20 15:11:03 -07:00
Erwin Coumans
f725d1201d
fix memory leak in PyBullet.calculateInverseKinematics when joint limits are provided
...
Fixes Issue #2164
2019-03-20 15:09:48 -07:00
erwincoumans
28148eb1ed
Merge remote-tracking branch 'bp/master'
2019-03-18 10:12:55 -07:00
Erwin Coumans
3acac372da
add vision 60 urdf (from Ghost Robotics) and zipped random urdfs
2019-03-15 13:19:59 -07:00
erwincoumans
9662ae4ba0
Update kuka_diverse_object_gym_env.py
...
Fix issue in glob to separate training/test data pattern. See https://github.com/bulletphysics/bullet3/issues/2158
Thank to @TomoyaFukui
2019-03-14 09:33:48 -07:00
Damian Bemben
2ca6172f1a
Fixing issue where mass of motors is uneven
...
Mass of motors was being tilted to the left, due to FL hip motor and RL hip motor having a mass of 1.095 and FR hip motor and BR hip motor having a mass of 0.241. This led to issues with the laikago tilting. May require further investigation to see if the laikago is at the proper center of mass!
2019-03-11 10:12:38 -07:00
erwincoumans
550f4c4785
expose maxJointVelocity through PyBullet.changeDynamics, this Fixes Issue #1890
...
bump up PyBullet to version 2.4.8
2019-03-11 10:12:38 -07:00
erwincoumans
ce531e6015
allow to PyBullet.changeDynamics for all links in maximal coordinate rigid bodies
...
change snake.py to use useMaximalCoordinate = True by default
2019-03-11 10:12:38 -07:00
erwincoumans
a1f15ae01a
Expose anisotropic friction, add snake demo. Simple snake slither locomotion from > 15 years ago, thanks to Michael Ewert @ Havok!
...
Visit http://www.snakerobots.com to see one of these in the wild
2019-03-11 10:12:38 -07:00
Damian Bemben
b027bc92df
Fixing issue where mass of motors is uneven
...
Mass of motors was being tilted to the left, due to FL hip motor and RL hip motor having a mass of 1.095 and FR hip motor and BR hip motor having a mass of 0.241. This led to issues with the laikago tilting. May require further investigation to see if the laikago is at the proper center of mass!
2019-03-10 22:41:40 +00:00
erwincoumans
4ea907aacf
expose maxJointVelocity through PyBullet.changeDynamics, this Fixes Issue #1890
...
bump up PyBullet to version 2.4.8
2019-03-09 09:23:16 -08:00
erwincoumans
32e93d9f91
allow to PyBullet.changeDynamics for all links in maximal coordinate rigid bodies
...
change snake.py to use useMaximalCoordinate = True by default
2019-03-08 09:20:32 -08:00
erwincoumans
9408e4f2d0
Expose anisotropic friction, add snake demo. Simple snake slither locomotion from > 15 years ago, thanks to Michael Ewert @ Havok!
...
Visit http://www.snakerobots.com to see one of these in the wild
2019-03-07 21:13:00 -08:00
Erwin Coumans
bd0501d3fc
fix example meshScale
2019-03-02 12:11:59 -08:00
Erwin Coumans
3997ac2b61
fix issue with retina scale and picking in createVisualShape.py example
2019-03-02 12:08:25 -08:00
erwincoumans
4d711ed411
Merge remote-tracking branch 'origin/physx' into physx_clean
2019-02-28 17:52:59 -08:00
erwincoumans
2ae03f50b1
revert to original humanoidMotionCapture.py example. Add a showJointMotorTorques variable (false by default)
2019-02-27 10:01:54 -08:00
erwincoumans
8e1c1448ab
Expose motor drive torque reporting for motors in spherical joints in getJointStateMultiDof.
2019-02-27 09:54:12 -08:00
Erwin Coumans
03e897d1f5
replace deep_mimic policies by versions trained using PyBullet, backflip works better now.
2019-02-24 20:12:18 -08:00
erwincoumans
a9996088c8
Implement PyBullet.getCameraImage for PhysX backend.
...
PhysX backend, allow arbitrary plane normal, a few other fixes.
2019-02-24 14:09:42 -08:00
erwincoumans
9ecc1cc485
Implement CustomProfilerCallback, hooking up to Bullet profiling
...
test dominoes
2019-02-22 09:17:55 -08:00
erwincoumans
71b1191947
texture caching and geometry caching (PhysX) for much faster loading of many same objects, helps benchmarking/comparison.
...
add command-line args for PhysX (numCores=..., solver=tgs, )
2019-02-21 19:24:18 -08:00
erwincoumans
3bf27cf8f2
implement rudimentary contact callback. Does PhysX have a way to report ALL contact points, every frame, so we can update contact forces etc, and report all contacts?
2019-02-20 21:38:37 -08:00
erwincoumans
adf31c8f64
remove PhysXClient.*, it was not needed (use PhysicsDirect instead)
2019-02-20 19:57:10 -08:00
Erwin Coumans
6d2ed912f5
Merge remote-tracking branch 'bp/master'
2019-02-18 19:11:03 -08:00
erwincoumans
7e5ac33cf1
Merge pull request #2105 from Somedaywilldo/master
...
Add Human3.6M Support for deep_mimic Environment
2019-02-18 18:07:47 -08:00
erwincoumans
bdf9b10246
more work on pybullet_envs.deep_mimic.
...
allow btMultiBody to not wakeup (for some RL experiments)
move deep_mimic motion files to data/motions folder, so we can use the args files unmodified.
2019-02-18 17:57:02 -08:00
erwincoumans
79a273f644
deep_mimic: add option for spherical joint drive motor, next to stable PD control
...
(existing policies won't work with those motors, needs tuning and re-training)
2019-02-12 20:42:05 -08:00
erwincoumans
85ee4c2934
allow batch creation of objects through PyBullet.createMultiBody, see createMultiBodyBatch.py example.
...
expose minGraphicsUpdateTimeMs through PyBullet.connect(p.GUI, options="minGraphicsUpdateTimeMs=32000"), by default OpenGL rendering runs at 4000microseconds intervals.
allow a maximum of 128k objects
fix meshScale for PyBullet.createCollisionShape for custom mesh
expose Pybullet.setPhysicsEngineParameter(minimumSolverIslandSize=...), larger minimum batches group solver constraints together in the same island, to reduce calling overhead (even if they are not related)
2019-02-12 10:36:01 -08:00
Somedaywilldo
59d58ce430
add Human3.6M support for deep_mimic env
2019-02-13 00:13:56 +08:00
bla
a94a24959f
add deep_mimic pre-trained policies
2019-02-11 11:06:15 -08:00
Erwin Coumans
aaae366a21
towards python 2.x support for deep_mimic (still issue with Logger.print2)
2019-02-11 10:03:26 -08:00
Erwin Coumans
786ddec076
disable GUI in deep_mimic, it slows down too much on Mac OSX
2019-02-11 09:44:59 -08:00
Erwin Coumans
30290dfba1
add missing __init__.py for pip
2019-02-11 09:20:44 -08:00
Erwin Coumans
2728294c53
more fixes in deep_mimic env
2019-02-11 09:15:42 -08:00
Erwin Coumans
1bd201eb43
fixes in PyBullet deep_mimic to allow running in pip version
2019-02-11 08:51:07 -08:00
erwincoumans
12e6478689
Merge pull request #2103 from erwincoumans/master
...
PyBullet deep_mimic backflip re-using original DeepMimic policy from Jason Peng
2019-02-11 05:45:21 -08:00
erwincoumans
d4292fdac3
PyBullet deep_mimic fix computeAngVelRel
2019-02-10 21:37:34 -08:00
erwincoumans
bb15800964
add pre-trained backflip policy thanks to Jason Peng from https://github.com/xbpeng/DeepMimic
2019-02-10 21:06:00 -08:00
erwincoumans
be20ed6aa2
remove obsolete deep_mimic files (use the one in deep_mimic/env)
...
add plane_implicit.urdf
2019-02-10 21:04:28 -08:00
erwincoumans
9bddca873c
allow pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_args.txt to perform a backflip. Can only backflip twice, then drops on ground.
...
this deepmimic is still very slow, due to slow mass matrix/inverse dynamics computation. once spherical motor drive is enabled, it should be fast(er)
move pd_controller_stable to pybullet_utils for easier re-use
add plane_transparent.urdf to pybullet_data
allow spacebar in keyboardEvents (Windows for now)
2019-02-10 20:56:31 -08:00
erwincoumans
b574a360f5
Merge pull request #2055 from xantares/pybullet
...
Pybullet enhancements
2019-02-10 20:25:47 -08:00
erwincoumans
28c9ea3aad
PyBullet: add domino asset and example
2019-02-10 19:44:39 -08:00
erwincoumans
054c0b8e58
PyBullet+PhysX backend: expose getJointState reading link position/velocity
2019-02-05 10:24:41 -08:00
erwincoumans
42369aa47d
PyBullet.changeDynamics: expose jointDamping
...
PyBullet: Implement a few more APIs of PhysX backend, resetJointState and setJointMotorControl2
allow useMaximalCoordinate=True for PhysX loadURDF (only for single rigid bodies, articulations require reduced coordinates at the moment)
2019-02-04 21:06:43 -08:00
Erwin Coumans
2eace2f715
update mpi usage
2019-02-01 19:20:08 -08:00
Erwin Coumans
176edeff1e
add mpi_run version (not working yet)
2019-02-01 17:57:31 -08:00
Erwin Coumans
6c42cd3e1b
add policy
2019-02-01 17:45:50 -08:00
Erwin Coumans
1cef924973
deepmimic fix: reference initialization wasn't spread over all frames
2019-02-01 17:18:13 -08:00
Erwin Coumans
7cc2685faf
enable deepmimic training on mac
2019-02-01 16:24:48 -08:00
erwincoumans
63e781b88b
PyBullet env for DeepMimic (preliminary work-in-progress)
2019-01-31 21:32:51 -08:00
erwincoumans
5d871806eb
enable stable PD plugin in premake4.lua PyBullet
...
add a normalize in the setRotation axis/angle to be sure.
Add more code from the DeepMimic project, training doesn't work yet.
2019-01-31 21:31:26 -08:00
Erwin Coumans
b257bd731b
PyBullet: allow createVisualShape to pass vertices, indices, normals and uv coordinates. This can be combined with changeVisualShape to set the texture.
2019-01-29 12:03:11 -08:00
Erwin Coumans
63683e8f02
fix Issue 2039
2019-01-28 16:24:44 -08:00
Erwin Coumans
0818112ede
fix some gym envs
2019-01-28 16:21:52 -08:00
erwincoumans
c97d1041ed
Merge pull request #2037 from araffin/update-gym
...
Update gym envs
2019-01-28 10:14:09 -08:00
Erwin Coumans
0e4d6b0376
tweak premake files for ExampleBrowser, allow non-GUI mode for humanoidMotionCapture
2019-01-28 07:35:57 -08:00
erwincoumans
505cb15600
proto2csv
2019-01-27 12:11:40 -08:00
erwincoumans
6c2568bf5e
PyBullet Minitaur: Fix Minitaur logging (binary file)
...
PyBullet Minitaur: Add minitaur_raibert_controller_example.py
2019-01-27 11:37:35 -08:00
erwincoumans
a6244d714e
more PyBullet PhysX preliminary work.
2019-01-25 10:14:54 -08:00
erwincoumans
03549ca7c6
pass force as array instead of value
2019-01-23 17:24:10 -08:00
erwincoumans
225db2e385
Merge remote-tracking branch 'bp/master'
2019-01-23 08:55:38 -08:00
erwincoumans
e02f82f172
fix some memory leaks in PyBullet.resetJointStateMultiDof and setJointMotorControlMultiDof
...
Fixes Issue 2065
2019-01-23 08:54:17 -08:00
Maxime Busy
b4eca192fb
Parse physicsClientId before calling getPhysicsClient
2019-01-23 12:02:17 +01:00
erwincoumans
ae8e83988b
Add preliminary PhysX 4.0 backend for PyBullet
...
Add inverse dynamics / mass matrix code from DeepMimic, thanks to Xue Bin (Jason) Peng
Add example how to use stable PD control for humanoid with spherical joints (see humanoidMotionCapture.py)
Fix related to TinyRenderer object transforms not updating when using collision filtering
2019-01-22 21:08:37 -08:00
xantares
e793bd22bb
Cancel built time print changes
2019-01-15 10:24:11 +01:00
Michel Zou
fd40544637
On OSX link with dynamic_lookup
2019-01-12 11:36:28 +01:00
Michel Zou
46e2d280a8
Print build time only in debug mode
2019-01-11 21:57:41 +01:00
Michel Zou
ea515048e9
OSX Python extension is .so
2019-01-11 21:57:41 +01:00
Michel Zou
04d3b6aee7
Add pybullet install rule
2019-01-11 21:57:38 +01:00
erwincoumans
101429e6a3
Merge pull request #2041 from gsp-27/gsp-27-patch-1
...
Added code for issue #2036
2019-01-04 07:56:14 -08:00
Erwin Coumans
19aafd5221
PyBullet: handle the switch from fixed base to floating base when changing mass from zero to non-zero
2019-01-03 17:35:12 -08:00
Erwin Coumans
bf9efffa4b
Increase mesh allocation for vertices/indices in PyBullet.createCollisionShape
...
See createMesh.py for an example.
The data has to fit in shared memory, hence the limit on Mac is lower than Windows and Linux:
#ifdef __APPLE__
#define B3_MAX_NUM_VERTICES 8192
#define B3_MAX_NUM_INDICES 32768
#else
#define B3_MAX_NUM_VERTICES 131072
#define B3_MAX_NUM_INDICES 524288
#endif
2019-01-03 16:19:28 -08:00
gaurav pathak
7f73081a89
Added code for issue #2036
...
Made necessary changes to ```humanoid_deep_mimic_env.py``` file, setting ```initial_frame``` to new position after simulation steps and setting ```SimTime``` using this new initial frame time
2019-01-03 18:17:08 -05:00
Antonin RAFFIN
f9fdf89c06
Fix indentation
2018-12-31 12:52:43 +01:00
Antonin RAFFIN
1c61b629e3
Fix formating issues
2018-12-31 12:48:42 +01:00
Antonin RAFFIN
0df3527884
Fix gym deprecation warnings
2018-12-28 14:30:05 +01:00
erwincoumans
78de1f070f
add example comparing explicit PD control (Python), explicit PD control (plugin), position constraint and stable PD control (Python)
2018-12-19 20:12:19 -08:00
erwincoumans
192d27743a
enable pybullet.calculateInverseDynamics for floating bodies
...
Using calculateInverseDynamics with zero target acceleration allows to compute the non-linear dynamics forces (coriolis/gyroscopic) and/or gravity force.
2018-11-27 08:49:56 -08:00
Erwin Coumans
2e30a9565b
add humanoid_deepmimic_gym_env.py for HumanoidDeepMimicBulletEnv-v1 (still untested)
2018-11-25 15:33:28 -08:00
erwincoumans
bb6f4fb17c
improve the ARS implementation: add multiprocessing Gym environment stepping, add command-line parameters to resume a policy, --render, --movie, --steps, --env
2018-11-24 11:54:36 -08:00
erwincoumans
ca36a82c62
add deepmimic args file (for testing)
...
implement deepmimic reward function (only joint angles/velocities for now)
fix an out-of-date comment, related to contactPoint.m_lateralFrictionInitialized in btSequentialImpulseConstraintSolver.cpp
2018-11-23 18:32:23 -08:00
erwincoumans
5f0dcb575f
add DeepMimic helper utils
2018-11-23 18:01:39 -08:00
erwincoumans
7669fc92c5
add shiftCenterOfMass.py example.
2018-11-23 18:01:00 -08:00
erwincoumans
121cdc91b0
more work on PyBullet implementation of DeepMimic humanoid mimic of motion capture.
...
b3Quaternion, deal with zero-length axis (in axis,angle constructor)
2018-11-21 11:09:10 -08:00
erwincoumans
f93e4e4553
fix mjcf2urdf.py for Python 3 (utf) and don't export visuals (let it auto-convert from collision element)
2018-11-21 11:07:05 -08:00
erwincoumans
41e28e3587
Add link/joint names for DeepMimic humanoid urdf
2018-11-20 21:40:20 -08:00
Erwin Coumans
bded2968ea
add PyBullet.rotateVector method
...
add missing walk humanoid3d_walk.txt
2018-11-19 10:10:33 -08:00
erwincoumans
f9f8d0fbb0
example for fileIOPlugin.py loading SDF and its assets from a single zipfile,
...
also show how to disable file caching (used in the fileIOPlugin)
2018-11-17 14:11:01 -08:00
erwincoumans
9e99f5cdbc
Expose PyBullet.calculateVelocityQuaternion, getAxisAngleFromQuaternion, getQuaternionFromAxisAngle, getDifferenceQuaternion
...
Add preparation for DeepMimic humanoid environment, replicating parts of https://github.com/xbpeng/DeepMimic
Loading humanoid.urdf and applying motion action: examples/pybullet/gym/pybullet_envs/mimic/humanoid.py
Loading MotionCapture data: examples/pybullet/gym/pybullet_envs/mimic/motion_capture_data.py
Little test: examples/pybullet/gym/pybullet_envs/mimic/humanoid_test.py
2018-11-16 17:29:03 -08:00
erwincoumans
7dd524075c
Implement btMultiBodySphericalJointMotor, able to track a quaternion position target.
...
Expose this btMultiBodySphericalJointMotor through PyBullet.setJointMotorControlMultiDof
Expose PyBullet.getQuaternionSlerp
Improve PyBullet.setJointMotorControlMultiDof
Improve humanoidMotionCapture.py with slerp and using setJointMotorControlMultiDof
Expose btMultiBody::spatialTransform
Fix btMultiBody::setupPlanar from DeepMimic codebase
Add support for multidof joints in btMultiBody::compTreeLinkVelocities, thanks to DeepMimic codebase @xbpeng
2018-11-13 14:32:18 -08:00
erwincoumans
a06b5de7b6
add converted humanoid from DeepMimic ( https://github.com/xbpeng/DeepMimic ,
...
thanks to Jason Peng), and motion capture playback example.
See also https://www.youtube.com/watch?v=vw3EKnKrgqw
2018-11-11 20:15:47 -08:00
erwincoumans
0b2142414d
fix usage of btMultiBody::setJointPosMultiDof/setJointVelMultiDof
2018-11-11 19:04:07 -08:00
erwincoumans
17219f84c6
make setJointPosMultiDof and setJointVelMultiDof argument const.
...
add PyBullet.resetJointStateMultiDof / getJointStateMultiDof, for preliminary support for spherical and planar joints
2018-11-10 14:26:31 -08:00
erwincoumans
49b098854e
PyBullet: avoid calling syncBodies for each DOF in pdControl.
...
Allow PD_CONTROL in setJointMotorControlArray.
2018-11-07 09:29:19 -08:00
Erwin Coumans
8b53e47fe8
add simpler ARS implementation, thanks to Alexis Jacq and Hadelin de Ponteves
...
(will add save/restore of policy and rendering movies through command-line arguments soon)
2018-11-02 11:19:46 -07:00
Erwin Coumans
f6ea2a7379
fix a potential data race condition.
...
remove createObstacleCourse programmatic creation part until we can steam vertices/indices.
2018-11-01 10:20:54 -07:00
Erwin Coumans
131535a99f
remove debug stats
2018-10-31 21:24:44 -07:00
Erwin Coumans
8e82de1b00
add rudimentary MuJoCo mjcf xml to ROS URDF file, based on
...
pybullet_utils.urdfEditor
2018-10-31 11:02:19 -07:00
Erwin Coumans
47b8b98a64
PyBullet: call the right method (although equivalent at the moment)
2018-10-30 22:16:13 -07:00
Erwin Coumans
44976780fa
remove ARS files
2018-10-29 19:23:54 -07:00
Erwin Coumans
c2b9dc9361
update to CartPoleBulletEnv-v1 and check with latest baselines v0.1.5, works fine.
...
(make it more similar to classical control cartpole)
2018-10-29 16:44:12 -07:00
erwincoumans
df9b4fb005
remove printf from demo
2018-10-27 11:56:04 -07:00
Erwin Coumans
bebe12d6d8
tweak tensorflow humanoid_running.py demo to be more robust against mouse dragging
...
(mouse dragging adds energy in the system that can cause explosions/instability):
use solverResidualThreshold and increase number of sub steps, also clamp the max force.
2018-10-27 11:48:21 -07:00
Erwin Coumans
0511a36a67
add Laikago quadruped model, thanks to Unitree for the cad meshes.
...
If you use the Laikago URDF, please add a citation to PyBullet:
@MISC{coumans2018,
author = {Erwin Coumans and Yunfei Bai},
title = {PyBullet, a Python module for physics simulation for games, robotics and machine learning},
howpublished = {\url{http://pybullet.org }},
year = {2016--2018}
}
2018-10-26 18:49:58 -07:00
erwincoumans
a44df2b0a6
PyBullet: allow to pass vertices (for convex) and vertices+indices (for concave) to createCollisionShape
...
See createObstacleCourse.py for an example use. At the moment a limit of 1024 vertices and 1024 indices.
Will be lifted once we implement the streaming version (soon).
2018-10-26 10:18:51 -07:00
Erwin Coumans
2d224cf319
revert backward compabitility in API
2018-10-20 19:44:39 -07:00
erwincoumans
ed49edc1af
PyBullet change API (since it was broken): pybullet_changeVisualShape with textureUniqueId ==-1 will clear the texture
...
b3InitUpdateVisualShape doesn't take textureUniqueId by default. new API b3UpdateVisualShapeTexture to change texture (-1 will clear texture)
PyBullet/BulletRobotics: allow to reset the textureUniqueId to -1, to clear a texture
PyBullet/BulletRobotics: save all texture handles
2018-10-20 15:56:56 -07:00
erwincoumans
b5e475aec3
enable planar reflection in MinitaurGymEnv
...
enable follow cam in other Gym locomotion environments
add testing assets for multi-material obj files -> sdf conversion.
Also use ER_NO_SEGMENTATION_MASK flag for TinyRenderer/EGL plugin renderer
2018-10-14 15:10:19 -07:00
erwincoumans
c1e20c448f
Implement InMemoryFile for memory caching for fileIO plugin.
...
Support SDF loading through fileIO plugin.
Replace strcspn by C code (not crossplatform)
Add flag for loadURDF to use color from MTL file (instead from URDF link material)
pybullet.URDF_USE_MATERIAL_COLORS_FROM_MTL and pybullet.URDF_USE_MATERIAL_TRANSPARANCY_FROM_MTL
2018-10-14 12:54:34 -07:00
erwincoumans
a24c1436af
state 2 of FileIO plugin: adding/removing FileIO types, search through all registered FileIO types.
...
(not enabled by default yet)
Example:
fileIO = p.loadPlugin("fileIOPlugin")
print("fileIO=",fileIO)
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/plane.zip", [p.AddFileIOAction,p.ZipFileIO])
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/test2.zip", [p.AddFileIOAction,p.ZipFileIO])
planeId = p.loadURDF("plane.urdf")
duckId = p.loadURDF("duck_vhacd.urdf",[0,0,1])
2018-10-11 14:39:31 -07:00
erwincoumans
bb305c6ebc
allow to provide rayCastBatch in local 'from'/'to' with a parent/link index, b3RaycastBatchSetParentObject
...
If parentObjectUniqueId provided, convert local from/to into world space coordinates
AddUserDebugLins: don't block when replacing an item
Fix examples/pybullet/examples/inverse_kinematics.py
2018-10-10 23:31:50 -07:00
erwincoumans
a1543714f1
Merge pull request #1919 from erwincoumans/master
...
btMultiBody: fix indexing issue causing wrong friction to be reported, remove obsolete BT_PYBULLET_GRPC and PYBULLET_EGL
2018-10-06 19:02:09 -07:00
erwincoumans
c2486bb1a6
add contactFriction.py example
2018-10-06 15:27:56 -07:00
erwincoumans
c0e38cd921
Merge pull request #1896 from jviereck/jviereck_add_lateral_contact_info
...
Adding support for lateral friction to getContactPoints()
2018-10-06 15:27:14 -07:00
Erwin Coumans
da2ee638ef
remove obsolete BT_PYBULLET_GRPC and PYBULLET_EGL
2018-10-05 21:47:13 -07:00
Erwin Coumans
90f002e07d
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-10-05 19:41:10 -07:00
Erwin Coumans
8a0d96edce
tweaks in pybullet/examples for Mac OSX
2018-10-05 19:40:52 -07:00
erwincoumans
9a7cc7bcd7
add getCameraImageTest.py to compare GUI (with OpenGL3 GLInstancingRenderer), TinyRenderer and DIRECT+eglPlugin (with OpenGL3 GLInstancingRenderer)
2018-10-05 19:31:03 -07:00
Erwin Coumans
24ca5afe95
reverse ER_SEGMENTATION_MASK to ER_NO_SEGMENTATION_MASK so segmentation
...
mask is rendered by default
2018-10-04 14:14:24 -07:00
erwincoumans
da37f1d559
add glViewport after call to startRendering (some renderers call glViewport)
2018-10-02 07:49:13 -07:00
erwincoumans
5bcd43711a
PyBullet OpenGL/EGL hardware getCameraImage: use glViewport to reduce the glReadPixels calling cost dramatically for small images
...
PyBullet Allow OpenGL/EGL hardware to render segmentation mask. Use pybullet.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX or pybullet.ER_SEGMENTATION_MASK
PyBullet.removeBody fix indexing bug (use foundIndex, not i)
PyBullet bump up version to 2.2.3
2018-09-30 07:10:40 -07:00
Erwin Coumans
cd2f111a10
update pybullet version, include *.* from OpenGLWindow
2018-09-25 17:06:32 -07:00
Erwin Coumans
f20b7bb07c
tweak pole IK demo
2018-09-25 06:22:06 +00:00
Julian Viereck
219dfc757a
Adding support for lateral friction to getContactPoints()
2018-09-24 10:03:43 -04:00
erwincoumans
ab8f16961e
Code-style consistency improvement:
...
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
erwincoumans
b73b05e9fb
add getClosestPoints.py example.
...
allow to perform a getClosestPoints query with a collisionShape and world transform (position, orientation) that isn't part of the world.
(use createCollisionShape to create it)
add optional removeCollisionShape, for collision shapes only used in a query (and not used to create a body)
2018-09-22 14:18:21 -07:00
erwincoumans
cdf8c908ad
add getClosestPoints.py example.
...
allow to perform a getClosestPoints query with a collisionShape and world transform (position, orientation) that isn't part of the world.
(use createCollisionShape to create it)
2018-09-22 13:17:09 -07:00
erwincoumans
616192f80a
use grpc port -1 by default in PyBullet. add grpcClient.py and grpcServer.py
2018-09-20 09:07:47 -07:00
erwincoumans
e6d74580c1
add single step rendering feature:
...
while (1):
stepSimulation()
pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SINGLE_STEP_RENDERING, 1)
disable single step using
pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SINGLE_STEP_RENDERING, 0)
2018-09-14 17:17:11 -07:00
Erwin Coumans
d909448ee3
bump up pybullet version again
2018-09-12 21:03:07 -07:00
erwincoumans
9553892770
PyBullet / BulletRobotics:
...
Implement collisionFilterPlugin, use setCollisionFilterPair to enable or disable collision detection between specific pairs of objects.
Also, expose setCollisionFilterGroupMask as PyBullet API and in urdf using the tag <collision group="1" mask="2"/>.
See examples/pybullet/examples/collisionFilter.py for an example.
PyBullet default: Lower the warmstarting factor, for maximal coordinates rigid bodies for more stable simulation.
Add btCollisionWorld::refreshBroadphaseProxy to easier recreate the broadphase proxy without adding/removing objects to the world.
2018-09-12 19:30:49 -07:00
Erwin Coumans
1efee29c27
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-12 08:20:03 -07:00
Erwin Coumans
c83fa30daa
use numpy to reshape image data to matplotlib compatible format
...
fixes issue #1871
2018-09-12 08:19:30 -07:00
Erwin Coumans
23ecbab7b3
fix setup.py and pybullet to work better with eglPlugin on Linux
2018-09-11 13:24:35 -07:00
Erwin Coumans
9fa3e44539
fixes related to egl plugin
2018-09-10 23:31:54 -07:00
erwincoumans
684a9f6a99
move stb_image/stb_image_write.cpp into a cpp file instead of random files with the magic 'STB_IMAGE_WRITE_IMPLEMENTATION' define
...
move setup.py back to eglRenderer extension, use pkgutil.get_loader('eglRenderer').get_filename()
disable dlmopen by default, unless B3_USE_DLMOPEN is defined.
2018-09-10 23:18:34 -07:00
bla
6992195ba8
add pybullet example for eglRendererPlugin, will use EGL in a plugin on Linux, Win32OpenGLWindow in a plugin on Windows
2018-09-09 23:03:07 -07:00
bla
8f711462e0
fix setup.py to work better on Windows and Linux (with default eglPlugin static built-in,
...
just use pybullet.loadPlugin("eglRendererPlugin") before loading/creating any objects.
use end/startRendering (swap buffers) before the rendering in the eglPlugin
2018-09-09 22:58:08 -07:00
erwincoumans
dc7feb9027
Merge remote-tracking branch 'bp/master'
2018-09-09 10:48:58 -07:00
erwincoumans
233a7083d1
Merge pull request #1790 from BlGene/egl-plugin
...
OpenGL render plugin
2018-09-09 09:27:15 -07:00
Joshua Aduol
cc4c02edc7
Fixed bugs mistaking forearm_roll_joint for upper_arm_roll_joint
2018-09-09 00:17:06 +01:00
erwincoumans
63f4a63e15
since parent collision is always disabled by default for self-collision, we add a new flag
...
URDF_USE_SELF_COLLISION_INCLUDE_PARENT, to force self-collision between direct parent/child (not recommended in general)
2018-09-08 14:46:43 -07:00
erwincoumans
5164f2f9a7
remove pre-build proto/grpc files (they differ for each platform and proto/grpc version)
2018-09-07 15:44:33 -07:00
erwincoumans
0efc67841d
allow pybullet to connect to GRPC server. (need to use flag --enable_grpc in premake build system)
...
add grpcPlugin, it can work in GUI, SHARED_MEMORY_SERVER, DIRECT and other modes.
example script to start server from pybullet:
import pybullet as p
p.connect(p.GUI)
#if statically linked plugin
id = p.loadPlugin("grpcPlugin")
#dynamics loading the plugin
#id = p.loadPlugin("E:/develop/bullet3/bin/pybullet_grpcPlugin_vs2010_x64_debug.dll", postFix="_grpcPlugin")
#start the GRPC server at hostname, port
if (id>=0):
p.executePluginCommand(id, "localhost:1234")
Only in DIRECT mode, since there is no 'ping' you need to call to handle RCPs:
numRPC = 10
while (1):
p.executePluginCommand(id, intArgs=[numRPC])
2018-09-05 17:58:14 -07:00
erwincoumans
710e660763
Merge pull request #1855 from erwincoumans/master
...
more work on grpc/proto/pybullet.proto
2018-09-04 12:11:03 -07:00
erwincoumans
9b66074949
add some missing GRPC files
2018-09-04 09:10:57 -07:00
erwincoumans
9e2f6c7935
more GRPC work
2018-09-03 23:13:15 -07:00
Tigran Gasparian
a670041793
Small fix in executePluginCommand, now you can pass int arguments while keeping floats null without errors.
2018-09-03 10:41:38 +02:00
Max Argus
c1d6c6b07d
clean test scripts
2018-08-30 13:24:25 +02:00
Max Argus
bdc0f82a8b
added syncronized render test script
2018-08-30 13:24:25 +02:00
Max Argus
e15fb0866c
rendertest + parallel pip + no debug for plugin
2018-08-30 13:24:25 +02:00
Max Argus
6e828688e7
activate EGL + add rendertest.py
2018-08-30 13:24:25 +02:00
Erwin Coumans
186ddb81d8
fix tab/space issue in Python file
...
fix determinism issue introduced in previous commit
2018-08-26 17:17:42 -07:00
Erwin Coumans
ff43cea263
Fix some deactivation issues with btMultiBodyDynamicsWorld, should also improve performance for PyBullet with larger worlds
...
(even when sleeping is disabled, islands are split)
2018-08-26 16:14:36 -07:00
Erwin Coumans
61b7591b8e
expose choice of contraint solver in PyBullet, with switchConstraintSolver example
2018-08-23 23:04:17 -07:00
Erwin Coumans
90e08b41a5
bump up pybullet version
2018-08-09 16:53:11 -07:00
Erwin Coumans
08b5e6d766
add collisionFilterPlugin to pybullet plugin, also apply quat->euler fix for singular cases
2018-07-30 17:53:37 +02:00
Erwin Coumans
2cab56d6ef
prepare build system(s) for collisionFilterPlugin
2018-07-27 15:48:24 +02:00
erwincoumans
3d5c921495
Merge pull request #1782 from RanTig/userdata
...
Changes UserData to use global identifiers and makes linkIndex optional.
2018-07-09 11:36:51 +02:00
Erwin Coumans
f8cc33f3a3
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-07-08 11:24:37 +02:00
Erwin Coumans
127b82ec1b
expose texture unique id after loading URD file, so you can restore to the original texture after changing it to a custom texture. See also getTextureUid.py example.
2018-07-08 11:23:12 +02:00
Tigran Gasparian
9c7aa3a863
Changes UserData to use global identifiers and makes linkIndex optional.
...
This removes the need to specify the body id/link index when retrieving a user data entry.
Additionally, user data can now optionally be set to visual shapes as well.
The following public pybullet APIs have changed (backwards incompatible)
addUserData and getUserDataId
Makes linkIndex parameter optional (default value is -1)
Adds optional visualShapeIndex parameter (default value is -1)
getUserData and removeUserData
Removes required parameters bodyUniqueId and linkIndex
getNumUserData
Removes required bodyUniqueId parameter
getUserDataInfo
Removes required linkIndex parameter
Changes returned tuple from (userDataId, key) to (userDataId, key, bodyUniqueId, linkIndex, visualShapeIndex)
2018-07-03 17:45:19 +02:00
erwincoumans
23f235e449
PyBullet: add example to enable another physics engine backend (DART, MuJoCo)
2018-07-01 14:49:34 -07:00
erwincoumans
0d8564db22
PyBullet: added preliminary DART and MuJoCo backend files, MuJoCo can loadMJCF, stepSimulation and getBasePositionAndOrientation, DART is empty.
...
PyBullet: add 2d biped example.,
2018-07-01 14:42:32 -07:00
erwincoumans
49b0ec08e1
PyBullet: allow to replace existing debug lines in addUserDebugLine through the replaceItemUniqueId argument
...
See batchRayCast.py for example usage
2018-06-22 16:47:20 -07:00
Erwin Coumans
092e39a9e5
PyBullet urdfEditor example, use the pybullet_utils version (more up-to-date)
2018-06-22 09:18:55 -07:00
Erwin Coumans
fcde193d52
PyBullet.setPhysicsEngineParameter: only update solverResidualThreshold if valid values is given
2018-06-20 13:18:08 -07:00
erwincoumans
7924d51665
PyBullet: deal with backward compatibility of b3RaycastBatchAddRay:
...
use b3RaycastBatchAddRays API to enable MAX_RAY_INTERSECTION_BATCH_SIZE_STREAMING num rays.
Old API (b3RaycastBatchAddRay) sticks to 256 rays, MAX_RAY_INTERSECTION_BATCH_SIZE.
2018-06-16 12:28:21 -07:00
erwincoumans
cb1fce7899
revert exposing getSharedMemoryStreamBuffer / adding to command structure
...
use 16k rays by default
add uploadRaysToSharedMemory method
2018-06-16 08:14:00 -07:00
erwincoumans
23f9250e04
Merge remote-tracking branch 'bp/master'
2018-06-16 06:58:10 -07:00
erwincoumans
d660042d76
Merge pull request #1763 from YunfeiBai/master
...
Add the pdControlPlugin to the joint control C API, and add the PD co…
2018-06-16 06:57:50 -07:00