Commit Graph

3142 Commits

Author SHA1 Message Date
erwincoumans
687780af6b
Merge pull request #2745 from xhan0619/fix-rayTest-crash
fix rayTest crash for btSoftBody
2020-04-21 07:57:30 -07:00
Erwin Coumans
9cf93cebfd allow createCollisionShape to load stl. Still, it is best to convert it to obj and use v-hacd for concave shapes. 2020-04-20 20:59:32 -07:00
Erwin Coumans
01e8f363bf Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-04-17 19:23:47 -07:00
Erwin Coumans
e5b26fb323 fix tinyrenderer size of mjcf box (mjcf box size is half-sizes (half-extents) 2020-04-17 19:23:33 -07:00
Erwin Coumans
a8e2eb44e9 remote origin coordinate frame debug lines from egl renderer 2020-04-16 09:44:19 -07:00
Xuchen Han
ed3b697320 fix rayTest crash for btSoftBody 2020-04-14 17:13:00 -07:00
Erwin Coumans
89a7907f45 add vesion of laikago with limits. 2020-04-14 13:39:43 -07:00
erwincoumans
a144ce6d54
Merge pull request #2722 from BlGene/master
improve EGL context creation
2020-04-14 12:49:40 -07:00
erwincoumans
f7577863a2
Merge pull request #2736 from erwincoumans/master
remove old unused methods from btMultiBody.
2020-04-13 08:59:50 -07:00
Erwin Coumans
b45d697d28 always use python release version (not debug) on Windows, similar hack as pybind11 2020-04-10 09:19:51 -07:00
Xuchen Han
5498c575c8 add guard agaist non-manifold geometry in vtk files 2020-04-09 11:16:28 -07:00
Chuyuan Fu
59ddea6fa4 bodyUniqueId can be 0 2020-04-07 13:38:26 -07:00
Max Argus
5bd9e4ec9b improve EGL context creation 2020-04-07 20:38:41 +02:00
erwincoumans
9d1a2c4c57
Merge pull request #2711 from fuchuyuan/loadURDF
Load urdf
2020-04-06 20:31:28 -07:00
stolk
4c2eb79f29 Fix compiler warning. 2020-04-03 09:47:28 -07:00
Chuyuan Fu
f51c76f0c9 fix space 2020-04-01 21:34:12 -07:00
Chuyuan Fu
3829887ced twin torus 2020-04-01 21:27:48 -07:00
Chuyuan Fu
c2ea0293d8 fix mesh finding and notification 2020-04-01 20:48:09 -07:00
erwincoumans
ec2b6dd920
Merge pull request #2704 from stolk/master
Compiler warnings.
2020-04-01 19:19:37 -07:00
erwincoumans
c661179554
Merge pull request #2709 from xhan0619/master
Tune deformable collision parameters for more stable deformable vs. d…
2020-04-01 19:14:51 -07:00
Erwin Coumans
d2ffab8905 fix previous leak fix 2020-04-01 18:32:58 -07:00
Xuchen Han
80aa523825 Tune deformable collision parameters for more stable deformable vs. deformable contact 2020-04-01 17:46:37 -07:00
stolk
f4d8f5d6de Don't go out of bounds. 2020-04-01 11:28:50 -07:00
Chuyuan Fu
3c46e6a584 load deformable object from URDF files 2020-03-31 20:55:47 -07:00
Erwin Coumans
05efff3c4f move pickup.zip inside pickup2.zip 2020-03-30 14:59:41 -07:00
Erwin Coumans
d725b3fd0e add pickup2.zip (that contains pickup.zip) 2020-03-30 14:35:28 -07:00
Erwin Coumans
762c21601f cache zipfile, and also allow to read zipfile from memory
this allows zipfiles to be stored anywhere in already registed fileIO (such as zipfiles inside other zipfiles)
see Bullet/examples/pybullet/examples/fileIOPlugin.py
enable vhacd, fileIO and zipFileIO in premake version of PyBullet
fix potential memory leak in mtl loading
2020-03-30 14:24:20 -07:00
Erwin Coumans
e20b858a28 add pybullet_utils.transformations from ROS geometry:
https://github.com/ros/geometry/blob/melodic-devel/tf/src/tf/transformations.py
2020-03-24 10:34:02 -07:00
erwincoumans
dd2f2e3128
Merge pull request #2682 from xhan0619/master
Add support for getPose for deformable objects and separate deformable vs. rigid face contact and deformable vs. multibody face contact for flexibility.
2020-03-22 18:44:18 -07:00
erwincoumans
eab851635e
Merge pull request #2679 from erwincoumans/master
Embed TCP remote graphics server in PyBullet (enable WFH), fixes for compilation on Visual C++ for Python 9.0
2020-03-22 14:04:35 -07:00
Erwin Coumans
bd8c537c86 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-03-22 20:12:21 -07:00
Erwin Coumans
7d499c4e2d fix userDataTest.py 2020-03-22 20:12:07 -07:00
Erwin Coumans
0b6457d318 fix cmake/premake builds 2020-03-22 11:58:39 -07:00
Erwin Coumans
377069bfa5 add laikago/xarm in pybullet_robots 2020-03-22 11:37:08 -07:00
Antonin RAFFIN
a6314958a6 Add CheckpointCallback and load best automatically 2020-03-22 13:44:05 +01:00
Erwin Coumans
e09dc74bd8 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-03-21 18:52:30 -07:00
Erwin Coumans
d71a787481 more tcp networking stuff (remove shared memory from tcp example) 2020-03-21 18:47:55 -07:00
Erwin Coumans
663c7ddc54 more TCP remote fixes 2020-03-20 21:12:45 -07:00
Erwin Coumans
1e3bc22483 linux fixes 2020-03-20 20:19:15 -07:00
Erwin Coumans
c4898ed3e3 more tcp tuning 2020-03-20 18:46:10 -07:00
Erwin Coumans
6cedf26f24 more tcp fixes 2020-03-20 17:47:13 -07:00
Erwin Coumans
4cbc8c2a8d set tcp timeouts for send/receive 2020-03-20 16:58:18 -07:00
Erwin Coumans
99c7c32b10 tcp fixes and allow to run graphics server on mainloop (for Mac) 2020-03-20 16:50:44 -07:00
Erwin Coumans
911355fe62 fixes for Mac OSX 2020-03-20 15:57:19 -07:00
Erwin Coumans
344bd629ee embed TCP graphics server in PyBullet for easier working-from-home
This allows to render at a different machine, sending all assets across the TCP network, using port 6667 by default.
You can use ssh port forwarding to get this working:
ssh -R 6667:localhost:6667 username@remotehost.com -v

python3 -m pybullet_utils.graphicsServer
python3 -m pybullet_utils.graphicsClient

Note that there are still some tcp networking issues that can cause a hang, just restart graphics server and graphics client if it hangs.
2020-03-20 15:43:52 -07:00
Erwin Coumans
c06859723b Embed graphics server (shared memory) in PyBullet. Use pybullet.connect(pybullet.GRAPHICS_SERVER) to enable it.
TODO: enable for Mac OSX on mainloop, add tcp bridges from and to shared memory.
2020-03-19 14:18:35 -07:00
Xuchen Han
5d26efd988 formatting and minor bug fix 2020-03-19 12:29:00 -07:00
Xuchen Han
19ed1c952a separate face contact between deformable and rigid and multibodies 2020-03-18 17:58:46 -07:00
Xuchen Han
cab8b84a8f Support get body state for deformable objects so that it retrieves the best fit rigid transform 2020-03-18 17:11:20 -07:00
Erwin Coumans
d3fdf434ed few more fixes in pybullet setup.py 2020-03-17 10:38:51 -07:00
Erwin Coumans
88ce0be26b fix int64_t 2020-03-17 17:20:57 -07:00
Erwin Coumans
d31c248751 fixes for compilation on Visual C++ for Python 9.0
bump up to PyBullet 2.6.9
2020-03-17 17:10:47 -07:00
Erwin Coumans
fde6cffecc create BulletRoboticsGUI CMake target, pybullet links against it
fix BulletRobotics header install
2020-03-16 23:15:18 -07:00
Erwin Coumans
1640eef937 pybullet: enable getMeshData for multibody/rigid body (and filter on collisionShapeIndex for compound shapes) 2020-03-17 00:38:12 -07:00
Erwin Coumans
7991012f9d pybullet: fixes in polyhedral feature generation 2020-03-16 23:32:26 -07:00
Erwin Coumans
27fbbfee7f pybullet removeAllParameters (sliders, buttons)
pybullet addUserDebugParameter adds button instead of slider, if min > max.
2020-03-16 21:29:30 -07:00
erwincoumans
07b9194e15
Merge pull request #2667 from xhan0619/teleport
Teleport deformables
2020-03-15 21:12:26 -07:00
Xuchen Han
27d2cdaef0 Merge remote-tracking branch 'xuchen/master' into teleport 2020-03-15 19:29:06 -07:00
erwincoumans
e8c873a5cd
Merge pull request #2672 from erwincoumans/master
embed V-HACD directly into PyBullet
2020-03-15 19:18:11 -07:00
Erwin Coumans
17c6839a77 add example of using vhacd in pybullet 2020-03-15 18:15:14 -07:00
Erwin Coumans
f0528db5e9 embed V-HACD directly into Pybullet to make it easier to use:
pip3 install pybulle
import pybullet as p
p.connect(p.DIRECT)
p.vhacd("teddy.obj", "teddy_large_newout.obj", "newlog.txt", depth=2,resolution=1000000)
2020-03-16 00:38:52 -07:00
erwincoumans
8721482e7b
Merge pull request #2670 from erwincoumans/master
convert upper/lower limits in urdfEditor.py
2020-03-15 12:53:54 -07:00
Erwin Coumans
2d5e8ea1f3 convert upper/lower limits in urdfEditor.py 2020-03-13 20:49:39 -07:00
Xuchen Han
0a66818841 Use latest mouse position for picking force 2020-03-13 14:52:13 -07:00
Xuchen Han
4730dab4bb Address PR comments 2020-03-13 14:52:13 -07:00
Chuyuan Fu
f43c40f694 fix space 2020-03-13 14:52:13 -07:00
Chuyuan Fu
b4bfe4fa99 fix rigidbody activation 2020-03-13 14:52:13 -07:00
Erwin Coumans
4d0d8a189c increase the number of steps from 1000 to 2000, to mimic multiple cycles 2020-03-13 14:52:13 -07:00
Erwin Coumans
ca5061fac3 set correct reward for deep_mimic gymenv (max episode = 1000 steps, 1 reward at each step)
terminate testrl.py at 1000, show reward
2020-03-13 14:52:12 -07:00
Erwin Coumans
9ecd0884d9 Connect deep_mimic_env.py to internal pybullet_deep_mimic_env.py
This adds two untested Gym environments to pybullet_envs. todo: train using PPO2 etc
HumanoidDeepMimicBackflipBulletEnv-v1
HumanoidDeepMimicWalkBulletEnv-v1
2020-03-13 14:52:12 -07:00
Erwin Coumans
812c675d4c prepare towards HumanoidDeepMimicBackflipBulletEnv-v1 and HumanoidDeepMimicWalkBulletEnv-v1
remove unused SubprocVecEnv from stable_baselines/enjoy.py
2020-03-13 14:52:12 -07:00
Erwin Coumans
55de20b945 add flag to assure deterministicOverlappingPairs 2020-03-13 14:52:12 -07:00
Erwin Coumans
91df837a79 use PyBullet's own visualizer for enjoy script, + add a time.sleep since it is way too fast (1000FPS for cart pole) 2020-03-13 14:52:12 -07:00
Xuchen Han
4b35af3830 change deformable teleport to absolute pose 2020-03-12 16:40:25 -07:00
Xuchen Han
6e97302610 activate deformable after teleporting 2020-03-12 16:39:28 -07:00
Xuchen Han
cbf282fb2f Add support for teleporting deformables 2020-03-12 16:39:28 -07:00
Xuchen Han
7dfef92267 Add support for picking deformable with mouse 2020-03-09 11:19:08 -07:00
Xuchen Han
41ca8b9e59 More parameter tuning for cloth-like behavior 2020-03-06 16:29:32 -08:00
Xuchen Han
ec0e9892b5 add slider demo 2020-03-06 16:04:34 -08:00
Chuyuan Fu
d02989cc96 fix space 2020-03-05 10:50:54 -08:00
Chuyuan Fu
b37448278a fix rigidbody activation 2020-03-05 10:48:56 -08:00
Xuchen Han
4efc983ca5 bug fixes and parameter tuning 2020-03-04 17:22:46 -08:00
erwincoumans
8a3e2e9fa6
Merge pull request #2653 from xhan0619/master
Bug fix in barycentric weight calculation
2020-03-03 11:53:22 -08:00
Xuchen Han
1cb9a0630f bug fix in barycentric weight calculation 2020-03-02 22:48:25 -08:00
erwincoumans
acb7f7ee8a
Merge pull request #2652 from xhan0619/master
Support separate render and simulation obj & fix sleeping issue for deformable.
2020-03-02 17:06:37 -08:00
erwincoumans
2b1e27834b
Merge pull request #2649 from erwincoumans/master
use PyBullet's own visualizer for enjoy script, + add a time.sleep si…
2020-03-02 16:43:21 -08:00
Xuchen Han
62537436f2 more Motor->NonContactInner 2020-03-02 16:03:27 -08:00
Xuchen Han
4f36e09747 Motor->NonContactInner 2020-03-02 16:00:40 -08:00
Xuchen Han
c86da93d58 fix type error 2020-03-02 13:29:59 -08:00
Erwin Coumans
1f3c0057e5 increase the number of steps from 1000 to 2000, to mimic multiple cycles 2020-03-02 12:52:14 -08:00
Xuchen Han
a6bc125945 formatting 2020-03-02 12:12:04 -08:00
Xuchen Han
dbf2050269 extrapolate render mesh 2020-03-02 12:12:04 -08:00
erwincoumans
44ddb17c0c
Merge pull request #2645 from xhan0619/master
Separate motor constraint iterations and expose API.
2020-03-01 21:48:22 -08:00
Erwin Coumans
6b393dffca set correct reward for deep_mimic gymenv (max episode = 1000 steps, 1 reward at each step)
terminate testrl.py at 1000, show reward
2020-03-01 21:27:30 -08:00
Erwin Coumans
81c1daacbb Connect deep_mimic_env.py to internal pybullet_deep_mimic_env.py
This adds two untested Gym environments to pybullet_envs. todo: train using PPO2 etc
HumanoidDeepMimicBackflipBulletEnv-v1
HumanoidDeepMimicWalkBulletEnv-v1
2020-03-01 21:13:10 -08:00
Erwin Coumans
7c5073d3ab prepare towards HumanoidDeepMimicBackflipBulletEnv-v1 and HumanoidDeepMimicWalkBulletEnv-v1
remove unused SubprocVecEnv from stable_baselines/enjoy.py
2020-03-01 13:11:47 -08:00
Erwin Coumans
7ecb769a9c add flag to assure deterministicOverlappingPairs 2020-03-01 12:22:47 -08:00
Erwin Coumans
da5ac61baa use PyBullet's own visualizer for enjoy script, + add a time.sleep since it is way too fast (1000FPS for cart pole) 2020-02-29 22:02:01 -08:00
Erwin Coumans
8e8955571f workaround for Tensorflow 2.x breaking API:
try:
  import tensorflow.compat.v1 as tf
except Exception:
  import tensorflow as tf
2020-02-29 20:35:05 -08:00
Xuchen Han
7ad19fde6f formatting 2020-02-26 14:16:51 -08:00
Xuchen Han
84117b8440 separate motor constraint iterations and expose API 2020-02-26 14:11:41 -08:00
Erwin Coumans
36738b7676 release memory of m_deformableBodySolver in ClothFriction demo. 2020-02-22 10:40:31 -08:00
erwincoumans
279a5c19d5
Merge pull request #2640 from erwincoumans/master
PyBullet: add option to merge fixed links in URDF file, capsule field init
2020-02-21 17:49:51 -08:00
erwincoumans
3f4299d588
Merge pull request #2630 from vabr-g/vabr-g-dlerror-patch
Include dlerror() in handling of failed dlopen()
2020-02-21 17:26:13 -08:00
erwincoumans
e78eb2706d
Merge pull request #2627 from araffin/feat/sb-enjoy
Add enjoy script for Stable Baselines
2020-02-21 17:25:39 -08:00
erwincoumans
49960d18df
Update UrdfParser.cpp
fix cast
2020-02-21 16:49:05 -08:00
Erwin Coumans
0fd8598ca3 fix pybullet constants in previous commit 2020-02-21 16:16:13 -08:00
Erwin Coumans
f5afe9a1d1 Merge remote-tracking branch 'bp/master' 2020-02-21 15:12:17 -08:00
Erwin Coumans
e29ba9fe5c add option to merge fixed links in URDF file (improves performance, can handle URDF files with many fixed links)
add option to ignore visual and collision shapes in URDF file
2020-02-21 15:04:26 -08:00
Erwin Coumans
6910fc9229 initialize capsule from_to field 2020-02-21 02:05:01 -08:00
erwincoumans
bfba4ac2b6
Merge pull request #2637 from drigz/tf-compat
Replace tensorflow with tf.compat.v1
2020-02-20 10:56:21 -08:00
Rodrigo Queiro
d18531cc6a Replace tensorflow with tf.compat.v1
This means they won't break when using TensorFlow 2.0.
2020-02-19 17:35:48 +01:00
Antonin RAFFIN
21efd84c18 Add enjoy script for Stable Baselines 2020-02-15 21:06:10 +01:00
Erwin Coumans
0617f4f3cd expose computeDofCount to pybullet
expose computeDofCount and calculateMassMatrix to BulletRobotics C++ API
(all untested)
2020-02-14 19:58:32 -08:00
Erwin Coumans
56e6893ed9 Merge remote-tracking branch 'bp/master' 2020-02-14 17:37:18 -08:00
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
erwincoumans
665c04fbed
Merge pull request #2622 from marcel303/NoGL-fixes
NoGL fixes
2020-02-14 14:54:14 -08:00
erwincoumans
f80806db49
Merge pull request #2623 from marcel303/TinyRender-namespace2
Put TinyRender functions and classes inside a TinyRender namespace.
2020-02-14 14:53:33 -08:00
vabr-g
dd8fcad6d8
Include dlerror() in handling of failed dlopen()
X11OpenGLWindow::X11OpenGLWindow() ends up calling dlopen() to get libX11.
When this fails, it only reports that it failed, and what filename it was looking for.
This commit adds dlerror() to the error message, which makes investigating failures easier.
2020-02-14 15:32:40 +01:00
Marcel Smit
bdb0cc2f3e LuaDemo compile fix. 2020-02-14 12:07:39 +01:00
Marcel Smit
40e44caedd Put TinyRender functions and classes inside a TinyRender namespace. The TinyRender library defines some classes with very generic names, such as vec, Matrix, Model, which in my case, when compiling the example browser using a different library for graphics, is giving me name clashes. 2020-02-14 11:54:25 +01:00
Marcel Smit
3b0f5812c9 NoGL: double to btScalar. 2020-02-14 11:30:45 +01:00
Marcel Smit
04f03d78af NoGL: Update ExampleBrowserInterface and EmptyBrowser, with interface methods added to the OpenGL example browser, but didn't get added to the interface and empty interface. Required to compile the in-process example browser without OpenGL dependency. 2020-02-14 11:23:28 +01:00
Marcel Smit
df0910e5a8 NoGL: Cleanup inverse kinematics example. It was still including an OpenGL-related header file, even though not using any OpenGL. 2020-02-14 11:12:47 +01:00
erwincoumans
b06cdd5fc1
Merge pull request #2612 from xhan0619/master
Improve intra-deformable collision and deformable self collision
2020-02-12 19:30:46 -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
Xuchen Han
b9c0456d85 fix split impulse demo 2020-02-07 13:22:41 -08:00
Xuchen Han
3bc701c487 Improve intra-deformable collision and deformable self collision 2020-02-06 17:01:20 -08:00
Erwin Coumans
6195f40c02 fix compile issue in pybullet.c 2020-02-06 09:11:18 -08:00
erwincoumans
b809cdef5b
Merge pull request #2608 from erwincoumans/master
implement b3RobotSimulatorClientAPI_NoDirect::createVisualShape
2020-02-06 09:00:05 -08:00
Erwin Coumans
d0f895fbbd Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-02-04 20:59:26 -08:00
Erwin Coumans
401abd9ebc implement b3RobotSimulatorClientAPI_NoDirect::createVisualShape 2020-02-04 20:58:15 -08:00
Tigran Gasparian
19075f75b2 Only clear the user data cache when a full user data sync is requested. 2020-02-03 15:24:12 +01:00
erwincoumans
7380a55ba7
Merge pull request #2594 from RanTig/SyncSingleBodyUserData
Adds an option to syncUserData to specify the bodies for which to sync.
2020-01-29 19:23:44 -08:00
erwincoumans
9ac1dd6194
Merge pull request #2597 from erwincoumans/master
made char* in addUserDebugParameter const
2020-01-24 09:45:35 -08:00
Erwin Coumans
4c6e3daf5e made char* in addUserDebugParameter const 2020-01-24 08:43:20 -08:00
Tigran Gasparian
2403a22ebf Bump up shared memory magic number. 2020-01-23 16:58:32 +01: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
899d53ee29 Added null check. 2020-01-21 19:40:22 +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
66ffa329c8
Merge pull request #2577 from xhan0619/master
Add position error into deformable vs. rigid contact
2020-01-11 16:05:15 -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
d328406cfa Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-01-11 13:17:00 -08:00