Commit Graph

2335 Commits

Author SHA1 Message Date
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
49684144dc Some minor formatting fixes 2018-07-05 16:01:03 +02:00
Tigran Gasparian
8a6db042de Removes int initializer in SharedMemoryUserDataHashKey, changes '>>' into '> >' for nexted templates. 2018-07-04 14:25:48 +02:00
Tigran Gasparian
7c7e8af717 Increases the shared memory magic number. 2018-07-04 10:22:44 +02:00
Erwin Coumans
2ce1e65b53 PyBullet: tweak in TCP server for VR - ROS bridge 2018-07-03 16:30:54 -07: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
98fc4b1510 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-07-01 14:42:48 -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
Erwin Coumans
bfc85ff1fd PyBullet: TCP connection, optimized getVREvents to allow faster Windows -> Linux Vive tracking state communication. 2018-06-27 23:43:42 -07:00
Erwin Coumans
ac59886960 fix hidden API 2018-06-27 07:39:56 -07:00
Erwin Coumans
dffff4d3b6 Merge remote-tracking branch 'bp/master' 2018-06-26 08:58:38 -07:00
erwincoumans
e023d94b32
Merge pull request #1775 from bingjeff/marios_fix_global_variables
remove some debug globals from third_party/bullet
2018-06-26 08:58:27 -07:00
Erwin Coumans
21b089b0d7 Merge remote-tracking branch 'bp/master' 2018-06-26 08:57:44 -07:00
YunfeiBai
812c229736 Remove the pdController when maxForce = 0 2018-06-24 17:06:16 -07:00
Jeffrey Bingham
f2afb4af35 remove some debug globals from third_party/bullet
There are some debug global variables that prevent using bullet safely on multi-threaded environments (tsan failures).

PATCH from marioprats@
2018-06-23 22:01:41 -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
erwincoumans
6b2cae1b1d
Merge pull request #1769 from RanTig/parallel_raycast_fix
Several fixes for the parallel raycasts
2018-06-22 15:49:56 -07:00
Tigran Gasparian
618e3230a4 Fix: Use function context reference instead of value 2018-06-22 20:41:02 +02:00
erwincoumans
784f0fdc04 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-06-22 09:28:14 -07:00
erwincoumans
55e185fe39 PyBullet loadURDF in useMaximalCoordinated=True (btRigidBody), support lower/upper limits for revolute joints. 2018-06-22 09:28:07 -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
Tigran Gasparian
b84eb8af74 Several fixes for the parallel raycasts
- Limits the maximum number of threads to 64, since btThreadSupportPosix
and btThreadsupportWin32 don't support more than 64 bits at this moment,
due to the use of UINT64 bitmasks. This could be fixed by using
std::bitset or some other alternative.
- Introduces a threadpool class, b3ThreadPool, which is a simple wrapper
around btThreadSupportInterface and uses this instead of the global task
scheduler for parallel raycasting. This is actually quite a bit faster
than the task scheduler (~10-15% in my tests for parallel raycasts),
since the advanced features (parallelFor) are not necessary for the
parallel raycasts.
- Puts 16*1024 of MAX_RAY_INTERSECTION_MAX_SIZE_STREAMING in
parentheses, since it otherwise causes problems with other operators
of equal precedence and introduces a smaller constant for Apple targets.
- Refactors the parallel raycasts code and adds some more profiling.
2018-06-19 18:41:42 +02:00
erwincoumans
42c9d9aa3c lazy creation of batch scheduler, it causes issues with the physics. 2018-06-16 13:59:03 -07:00
erwincoumans
c55720fb41 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-06-16 12:28:38 -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
Erwin Coumans
b94df12081 add missing pthread link in App_HelloBulletRobotics 2018-06-16 10:20:43 -07:00
erwincoumans
04d03d10be Fix memory leak due to batchRayCast never deleting the btTaskScheduler.
(and issue with TaskScheduler/btTaskScheduler.cpp, add JobQueue::exit, call it first, since it uses the m_threadSupport which was deleted before the destrucor was called.
Use a hashmap to store user timers, to avoid allocating many identical strings.
2018-06-16 09:37:53 -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
erwincoumans
75ec8f3fd9 PyBullet: add batchRayCast.py example 2018-06-16 06:20:15 -07:00
erwincoumans
f517b03534 Expose pushProfileTimer / pop ProfileTimer in PhysicsClient API to benchmark Python parts of PyBullet.
reduce 'm_cooldownTime' from 1000 microseconds to 100 microseconds (overhead in raycast is too large)
If needed, we can expose this cooldown time.
Replace malloc by btAlignedObjectArray (going through Bullet's memory allocator)
2018-06-16 06:19:49 -07:00
erwincoumans
bb8cbcdaae Merge remote-tracking branch 'bp/master' 2018-06-16 06:06:18 -07:00
erwincoumans
5b3e43d4d8
Merge pull request #1760 from RanTig/ParallelRaycasts
Adds multithreading support for batch ray casts.
2018-06-16 05:54:34 -07:00
Alexis David Jacq
6adea4964f
forgot one "isAlive" to change 2018-06-16 14:00:05 +02:00
Alexis David Jacq
50b5edd7b5
isDone instead of isAlive 2018-06-16 13:53:05 +02:00
Erwin Coumans
fbbd675ed6 expose PyBullet API to wakeup/put objects to sleep, enable/disable deactivation
fix wakeup -> reset deactivation clock
2018-06-15 21:26:26 -07:00
YunfeiBai
1c0de3c4cb Add the pdControlPlugin to the joint control C API, and add the PD control mode (also available in pybullet). Modify the pdControl pybullet example to use the PD control mode with setJointMotorControl API. 2018-06-15 17:59:26 -07:00
Alexis David Jacq
292a3f1cf6
methode isAlive
Method def isAlive(self), which defaults to return self._alive < 0, and each environment can override this method (Half Cheetah would implement return False)

(In response to bea468fb93)
2018-06-15 17:55:20 +02:00
Tigran Gasparian
54986593c5 . 2018-06-15 17:46:31 +02:00
Tigran Gasparian
0b1dca3d9c Updates the documentation for the pybullet function rayTestBatch to include the numThreads parameter. 2018-06-15 17:46:12 +02:00
Alexis David Jacq
a57c480f28
Update gym_locomotion_envs.py
As suggested in https://github.com/bulletphysics/bullet3/pull/1759. The default isDone lets done = alive<0, and a special case is made for halfcheetah, forcing done=False. 
I had to pass the 'alive' condition as an additive parameter of WalkerBaseBulletEnv.
2018-06-15 17:38:35 +02:00
Erwin Coumans
976fea4eca fix saveRestoreState.py example 2018-06-15 08:31:39 -07:00
Tigran Gasparian
d244cf6061 Changes the default number of rays per thread from 32 to 16, when the user lets Bullet decide. 2018-06-15 17:13:10 +02:00
Tigran Gasparian
08409cae9f Adds multithreading support for batch ray casts.
To enable the feature, enable the BULLET2_MULTITHREADING option.

Increases the number of rays that can go in a batch request by storing
them in the shared memory stream instead of the shared memory command.
Adds the API b3RaycastBatchSetNumThreads to specify the number of
threads to use for the raycast batch, also adds the argument numThreads
to the pybullet function rayTestBatch.
Rays are distributed among the threads in a greedy fashion there's a shared
queue of work, once a thread finishes its task, it picks the next
available ray from the task. This works better than pre-distributing the
rays among threads, since there's a large variance in computation time per ray.

Some controversial changes:
- Added a pointer to PhysicsClient to the SharedMemoryCommand struct, this
was necessary to keep the C-API the same for b3RaycastBatchAddRay, while
adding the ray to the shared memory stream instead of the command
struct. I think this may be useful to simplify other APIs as well, that
take both a client handle and a command handle.
- Moved #define SHARED_MEMORY_MAX_STREAM_CHUNK_SIZE to
SharedMemoryPublic. This was necessary for the definition of
MAX_RAY_INTERSECTION_BATCH_SIZE.
2018-06-15 16:47:04 +02:00
erwincoumans
25c5e87dc2 PyBullet.loadURDF, expose flags=URDF_INITIALIZE_SAT_FEATURES 2018-06-13 15:35:56 -07:00
Erwin Coumans
c27fb4003e path -> const 2018-06-12 21:26:34 -07:00
erwincoumans
4f0959a136
Update b3RobotSimulatorClientAPI_NoDirect.h 2018-06-12 21:17:43 -07:00
Erwin Coumans
e24da97140 revert GJK change yet again, some degenerate case / regression 2018-06-12 19:52:38 -07:00
erwincoumans
08d84d6ce3 fix getLinkState usage 2018-06-12 17:00:16 -07:00
erwincoumans
4d6741f5cd PyBullet: expose STATE_LOGGING_ALL_COMMANDS and STATE_REPLAY_ALL_COMMANDS
See examples/pybullet/examples/commandLogAndPlayback.py for an example.
2018-06-12 16:56:45 -07:00
erwincoumans
459d07a302 add example for enableSAT, using separating axis test (instead of GJK) for contact between polyhedral convex hull shapes (and convex hull vs triangle in a concave triangle mesh) 2018-06-12 16:10:49 -07:00
erwincoumans
97c6937388 Simplify GJK. Still needs double precision for large differences of feature scales.
Extract faces directly from btConvexHullComputer (in initializePolyhedralFeatures), instead of reconstructing them, thanks to Josh Klint in #1654
PyBullet: use initializePolyhedralFeatures for convex hulls and boxes (to allow SAT)
PyBullet: expose setPhysicsEngineParameter(enableSAT=0 or 1) to enable Separating Axis Test based collision detection for convex vs convex/box and convex versus concave triangles (in a triangle mesh).
2018-06-12 16:08:46 -07:00
erwincoumans
a342af0382 remove getLinkState from API, it automatically calculated forwardKinematics and propagates velocities, which is very expensive. 2018-06-11 23:49:34 -07:00
erwincoumans
62485abafe PyBullet: disable deterministic pairs by default
PyBullet: Only set static when sleeping is enables (todo: figure out issue with determinism)
2018-06-11 17:32:44 -07:00
Erwin Coumans
38469deec7 getNumLinks -> getNumDofs, to make sure fixed objects don't transfer activation state 2018-06-11 11:41:33 -07:00
erwincoumans
6fb3cf7a43 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-06-11 08:34:37 -07:00
Erwin Coumans
e74f86d148 remove ANYmal meshes 2018-06-11 07:44:05 -07:00
erwincoumans
3eebcd40ca exposed a few more methods in the C++ b3RobotSimulatorClientAPI (_NoDirect base class) 2018-06-09 19:40:12 -07:00
erwincoumans
7ac3e263ab add saveStateToMemory/restoreStateFromMemory/setAdditionalSearchPath/getAPIVersion to Bullet Robotics API. 2018-06-09 13:54:22 -07:00
erwincoumans
0cec85626f enable more unit tests in PyBullet.
return Py_None if no user data found, to pass the test.
enable m_deterministicOverlappingPairs by default.
if m_deterministicOverlappingPairs, sort the collision pairs.
2018-06-09 12:19:29 -07:00
erwincoumans
046a86cd84 add premake4.lua build for BulletRobotics target, C++ API, similar to PyBullet. Use BulletRobotics target for App_HelloBulletRobotics (without GUI) and App_RobotSimulator 2018-06-08 19:14:03 -07:00
Erwin Coumans
6ca3fe18f5 fix previous commit 2018-06-06 16:33:52 -07:00
Erwin Coumans
1bcb54dc29 remove some warnings 2018-06-06 16:10:20 -07:00
Erwin Coumans
dd444fc6c4 reshuffle args 2018-06-05 21:09:00 -07:00
erwincoumans
cb6d76d6b5 fix another parameter name in header, in enableJointForceTorqueSensor 2018-06-05 19:59:00 -07:00
erwincoumans
dff04c7f59 fix parameter name in header, computeForwardKinematics 2018-06-05 19:57:21 -07:00
erwincoumans
72d3f45b05 use new API b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect3 (not 2) 2018-06-05 19:54:08 -07:00
erwincoumans
4083088a3a people are actually using this internal API, add a new one and keep old one backward compatible
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect3 is the new one,
b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect2 old
2018-06-05 19:44:33 -07:00
erwincoumans
5ede227e94
Update robot_bases.py
remove print
2018-06-05 19:33:28 -07:00
Erwin Coumans
ad35beb61f fix typo 2018-06-05 16:25:43 -07:00
erwincoumans
b6f5cb4c34 enable pdControlPlugin by default (requires pdControlPlugin.cpp and b3RobotSimulatorClientAPI_NoDirect.cpp)
add pdControl.py example, make pdControlPlugin functional
reduce memory usage
fix examples/pybullet/gym/pybullet_data/random_urdfs/948/948.urdf, fixes issue #1704
2018-06-05 15:59:01 -07:00
erwincoumans
49eb83c24e Avoid static multibody to activate/wake up sleeping objects.
Couldn't reproduce an issue related to this.
2018-06-05 12:20:42 -07:00
erwincoumans
fa648a028e fix a few problems introduced in #1730
https://github.com/bulletphysics/bullet3/pull/1730
2018-06-05 09:16:00 -07:00
erwincoumans
d7cbe8dd26 Merge remote-tracking branch 'bp/master' 2018-06-05 08:15:11 -07:00
Tigran Gasparian
aefd5a9d66 Uses SHARED_MEMORY_SERVER instead of GUI_SERVER when starting a bullet server in the unit test. 2018-06-05 09:28:38 +02:00
Erwin Coumans
7bd84740d7 PyBullet / BulletRobotics: prepare for pdControlPlugin and collisionFilterPlugin
Split examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.* and move to examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.cpp and examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp
2018-06-05 11:41:41 +10:00
Erwin Coumans
e4cd88e24f PyBullet: allow to choose the shared memory key when starting SHARED_MEMORY_SERVER 2018-06-05 11:36:54 +10:00
Tigran Gasparian
c49e060e81 Starts bullet server when testsuite is ran, uses pybullet_utils to manage clients. 2018-06-04 19:40:16 +02:00
Tigran Gasparian
bb72a91080 Clears the user data cache when syncUserData is called.
Adds unit test for the UserData functons.
Changes the char pointer in btHashString to std::string. There were
problems where the object owning the string memory would deallocate the
string, making the btHashString object invalid.
2018-06-04 15:10:48 +02:00
erwincoumans
4997eb8da2 add new file related to PyBullet userData 2018-06-02 13:52:00 -07:00
erwincoumans
b6120e760a PyBullet.addUserData / getUserData / removeUserData / getUserDataId / getNumUserData / getUserDataInfo
See examples/pybullet/examples/userData.py how to use it. TODO: add to PyBullet Quickstart Guide.
Thanks to Tigran Gasparian for the contribution!
2018-06-02 13:40:08 -07:00
erwincoumans
cb6b7a7c38 PyBullet: expose flags to createMultiBody 2018-06-02 11:37:14 -07:00
Erwin Coumans
39c9ffa4c3 PyBullet IK: backward compatible changes related to joint damping 2018-06-01 23:25:47 -07:00
erwincoumans
68ea22bfd0 undo git merge conflict mess-up with IK 2018-06-01 22:50:06 -07:00
erwincoumans
92579f9196 Merge branch 'master' of https://github.com/erwincoumans/bullet3
# Conflicts:
#	examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2018-06-01 09:35:15 -07:00
erwincoumans
2d40a18315 picking shouldn't activate (wakeup) sleeping objects 2018-06-01 09:34:18 -07:00
Erwin Coumans
e74cd05e37 add space 2018-05-31 21:21:50 -07:00
erwincoumans
4c75e022c8 Use dofCount and not numJoints in PyBullet.calculateInverseKinematics, fixes null space demo
See baxter_ik_demo at https://github.com/erwincoumans/pybullet_robots
2018-05-31 21:07:04 -07:00
Erwin Coumans
70b3d4d0f4 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-31 18:16:57 -07:00
Erwin Coumans
76e88dddc5 add space to make conversion work 2018-05-31 18:16:40 -07:00
erwincoumans
309a07c21b
Merge branch 'master' into master 2018-05-31 18:05:50 -07:00
Erwin Coumans
378de87286 Merge remote-tracking branch 'bp/master' 2018-05-31 18:03:56 -07:00
Erwin Coumans
93a51e19d9 fix different arg name in header versus cpp 2018-05-31 17:58:12 -07:00
erwincoumans
75eaaecf49
Merge pull request #1722 from erwincoumans/master
implement accurate inverse kinematics in C++, exposed through PyBullet.calculateInverseKinematics
2018-05-31 16:50:52 -07:00
erwincoumans
3463d0a879 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-31 16:06:33 -07:00
erwincoumans
edc70582dd implement accurate inverse kinematics in C++. PyBullet.calculateInverseKinematics gets "maxNumIterations=20", "residualThreshold=1.04" to tune
allow to provide current joint positions in IK, overriding the body joint positions, also IK target will be in local coordinates.
expose b3ComputeDofCount in C-API
2018-05-31 16:06:15 -07:00
erwincoumans
8567f6bb7c PyBullet: rename sleepObjectAutoDeactivation -> sleeping.py
PyBullet: allow maximal coordinate rigid bodies to sleep/deactivate
2018-05-30 21:14:35 -07:00
erwincoumans
292e198a57
Merge pull request #1719 from erwincoumans/master
const char* for path, bump up pybullet version
2018-05-30 19:48:25 -07:00
erwincoumans
150a0e050e Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-30 19:47:47 -07:00
Erwin Coumans
491ecf2a20 export object auto-deactivation (sleeping) to pybullet (needs some more testing/configuring) 2018-05-30 18:37:08 -07:00
Erwin Coumans
14c6dee6a3 const char* for path 2018-05-30 14:37:49 -07:00
erwincoumans
1dec33d44b move default linearslop to 0 2018-05-30 12:31:29 -07:00
erwincoumans
afa5ab25a6
Merge pull request #1715 from eastskykang/b3RobotAPI
added functions to b3RobotSimulatorClientAPI_NoGUI
2018-05-30 14:08:27 +10:00
Erwin Coumans
39808ddfdf allow to run minitaur environment examples from pip version, like this:
python -m pybullet_envs.minitaur.envs.minitaur_trotting_env_example
python -m pybullet_envs.minitaur.envs.minitaur_reactive_env_example
2018-05-29 09:28:31 -07:00
donghokang
325ccad258 getDynamicsInfo function now works. Changed to call b3GetDynamicsInfo in getDynamicsInfo. 2018-05-29 16:41:37 +02:00
donghokang
6bd7a52bf8 solverResidualThreshold now can be set. 2018-05-29 16:25:28 +02:00
donghokang
a3e4582bef getCollisionShapeData and getVisualShapeData were added to RobotSimulatorClinetAPI_NoGUI. b3RobotSimulatorJointMotorArrayArgs initialization bug fix. 2018-05-29 16:23:17 +02:00
Erwin Coumans
dcc9c4d0d9 fix HelloBulletRobotics example from b3Vector3 -> btVector3 2018-05-27 10:55:53 +10:00
Erwin Coumans
57b3e0d221 Move from b3Vector3 to btVector3 to support double precision in examples/RobotSimulator/b3RobotSimulatorClientAPI_NoGUI API. 2018-05-27 10:42:33 +10:00
Erwin Coumans
efe9161670 fix cmake build 2018-05-26 08:46:12 +10:00
Erwin Coumans
5de53d7355 PyBullet: add ANYmal.py quadruped example, usage:
pip install pybullet
python -m pybullet_envs.examples.ANYmal
2018-05-25 07:54:38 +10:00
Erwin Coumans
ab7bbf4396 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-24 15:50:02 +10:00
Erwin Coumans
ff4d0b1777 add HelloBulletRobotics C++ example with similar API to PyBullet
Add ANYmal quadruped robot URDF to pybullet_data
2018-05-24 15:48:45 +10:00
erwincoumans
abeae7e1e7
Merge pull request #1701 from erwincoumans/master
PyBullet: add option to cache graphics shapes for URDF files, handy f…
2018-05-23 14:47:01 +10:00
Erwin Coumans
8ace9251aa pass by pointer instead of reference to satisy compiler 2018-05-23 14:22:22 +10:00
Erwin Coumans
94da262906 case sensitive header include 2018-05-23 13:51:51 +10:00
Erwin Coumans
77c332bd88 PyBullet: add option to cache graphics shapes for URDF files, handy for benchmarks with many duplicate robots
See https://github.com/erwincoumans/pybullet_robots ANYmal.py for an example.
PyBullet: Expose p.setPhysicsEngineParameter(solverResidualThreshold=1e-2) (b3PhysicsParamSetSolverResidualThreshold), increases solver performance a lot
PyBullet: Expose p.setPhysicsEngineParameter(contactSlop) Set it to zero, to avoid issues with restitution.
PyBullet: Expose isNumpyEnabled, return True is PyBullet was compiled with NUMPY support for 'getCameraImage'.
PyBullet: Expose p.ChangeDynamics(objectUid, linkIndex, contactProcessingThreshold), to avoid issues of speculative/predictive contacts with restitution.
See also http://twvideo01.ubm-us.net/o1/vault/gdc2012/slides/Programming%20Track/Vincent_ROBERT_Track_ADifferentApproach.pdf
2018-05-23 13:26:00 +10:00
erwincoumans
f1b4ffaf98
Merge pull request #1699 from benelot/fix-pendula-with-pbclient
Fix pendulum & manipulator envs with pybullet client
2018-05-23 08:20:40 +10:00
Benelot
4a16032820 Fix manipulators too. 2018-05-22 18:12:45 +02:00
Benelot
7b219e0ea6 Fix pendula to use the bullet-client. 2018-05-22 16:40:10 +02:00
Erwin Coumans
f5952a73e7 UrdfImporter: Collada DAE, rudimentary support for polylist (for ANYmal), assumes all polygons have 3 vertices
remove obsolete env from __init__.py
2018-05-23 00:28:49 +10:00
Erwin Coumans
9a706d9cfd PyBullet: fix Gym envs 2018-05-23 00:24:03 +10:00
Erwin Coumans
a0a1c9347c PyBullet: fix in Gym env 2018-05-23 00:18:17 +10:00
Erwin Coumans
a7a6e20d9c Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-20 14:19:49 +10:00
Erwin Coumans
90939279f9 PyBullet: cmake build, enable DBUILD_PYBULLET_NUMPY=ON
fix issue with HalfCheetahBulletEnv-v0 in previous commit
2018-05-20 14:18:53 +10:00
Erwin Coumans
964f52f62d remove unsupported simpleHumanoid.py, use env = gym.make("HumanoidBulletEnv-v0") instead. 2018-05-20 12:35:33 +10:00
Erwin Coumans
0b2c9ea645 PyBullet: avoid a crash in SHARED_MEMORY_SERVER 2018-05-20 12:20:06 +10:00
Erwin Coumans
bcd209fd93 Merge remote-tracking branch 'bp/master' 2018-05-18 16:25:40 -07:00
Erwin Coumans
701b50ec12 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-18 16:25:27 -07:00
Erwin Coumans
0abe4151e5 Fix for 1643, allow to instantiate multiple PyBullet Gym environments (Ant, Humanoid, Hopper, Pendula etc) in the same process (same or other thread). It uses the pybullet_utils.bullet_client to achieve this. 2018-05-18 16:23:54 -07:00
erwincoumans
f90bd1f713
Merge pull request #1688 from erwincoumans/master
workaround for an out-of-date tinyxml2 version
2018-05-17 13:49:49 -07:00
Erwin Coumans
ff646fbef2 workaround for an out-of-date tinyxml2 version 2018-05-17 12:18:17 -07:00
erwincoumans
8f4d1e722e
Merge pull request #1686 from yuchenericwu2/master
Expose CFM parameters
2018-05-16 16:18:45 -07:00
erwincoumans
034dfba3ae fix VR controllers only visible in one eye (remove stray glClear for testing planar reflection)
PyBullet: force both contactStiffness and contactDamping (report error otherwise)
2018-05-16 14:24:12 -07:00
Yuchen Wu
f03ae5a857 Expose CFM parameters in PhysicsClient.
Add b3PhysicsParamSetDefaultGlobalCFM() and
b3PhysicsParamSetDefaultFrictionCFM().
2018-05-16 13:46:19 -07:00
erwincoumans
b432daed65 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-16 12:11:29 -07:00
erwincoumans
0ca2c5f925 use Bullet3Common/b3AlignedObjectArray.h instead of LinearMath version in SharedMemory/PhysicsClientSharedMemory 2018-05-16 12:10:34 -07:00
Erwin Coumans
28b86ba0a4 fix some tsan issues (thread sanitizer) 2018-05-16 08:32:21 -07:00
Erwin Coumans
d17d496f97 fix potential asan/tsan issue 2018-05-15 13:24:28 -07:00
erwincoumans
e5a9b42f9a expose PyBullet.setPhysicsEngineParameter(jointFeedbackMode)
use p.JOINT_FEEDBACK_IN_JOINT_FRAME if you want the joint feedback expressed in joint frame (instead of link inertial frame)
use p.JOINT_FEEDBACK_IN_WORLD_SPACE if you want the joint feedback in world space coordinates, instead of local link/joint coordinates.
Example: p.setPhysicsEngineParameter(jointFeedbackMode=p.JOINT_FEEDBACK_IN_WORLD_SPACE+p.JOINT_FEEDBACK_IN_JOINT_FRAME)
2018-05-11 19:52:06 -07:00
erwincoumans
1ec24a0853 fix PyBullet.applyExternalTorque for links (instead of base) 2018-05-11 19:35:27 -07:00
Erwin Coumans
e86d11f7b9 PyBullet combineUrdf, make createMultiBody much faster, by temporarily disabling rendering 2018-05-10 20:52:51 -07:00
erwincoumans
06a23ecd6d PyBullet TinyRenderer, fix cylinder (don't add caps like a capsule), also convert colors stored in visual shapes, if needed. 2018-05-10 18:37:48 -07:00
erwincoumans
e488603603 UrdfEditor: fix indentation, causing an issue when a link had no collision shape but visual shapes 2018-05-10 18:05:50 -07:00
erwincoumans
80bab22b9c urdfEditor: add euler -> quaternion conversions (otherwise orientations get silently ignored)
urdfEditor: move combine code into UrdfEditor.joinUrdf
urdfEditor: Fix geom_length
2018-05-10 15:08:00 -07:00
erwincoumans
3116cd82da fix MSVC 2010 compile issue
urdfEditor: fix scale incorrectly saved in urdfEditor.saveUrdf
urdfEditor: fix linkMeshScaleArray in wrong location
2018-05-10 12:04:13 -07:00
Erwin Coumans
a0e72b2ae3 Merge branch 'master' of https://github.com/erwincoumans/bullet3
# Conflicts:
#	examples/pybullet/gym/pybullet_utils/examples/combineUrdf.py
2018-05-09 10:29:20 -07:00
Erwin Coumans
414b3ef9bb PyBullet urdfEditor improvements: saveUrdf mesh scale, fix incorrect index, add getCameraImage in examples/combineUrdf.py 2018-05-09 10:28:12 -07:00
Erwin Coumans
be7c6ac967 PyBullet add getCameraImage to debug urdfEditor/createMultiBody 2018-05-08 23:23:53 -07:00
Erwin Coumans
1e51e2b859 tweaks in urdfEditor.py and combineUrdf.py, put KUKA on top of Husky as test. 2018-05-08 23:14:39 -07:00
Erwin Coumans
2d1689cba5 add example to joint two URDF files, using the urdfEditor (combineUrdf.py) 2018-05-08 17:18:58 -07:00
Erwin Coumans
d436be1d79 add __init__.py for pybullet_utils examples 2018-05-08 13:31:30 -07:00
Erwin Coumans
ad43de285c add bullet_client.py to pybullet_utils, with simple example 2018-05-08 10:12:19 -07:00
Erwin Coumans
3a4d1799d8 remove "DO NOT SUBMIT" comments, it blocks commits in google3 2018-05-07 17:35:55 -07:00
Erwin Coumans
0b5785421b PyBullet: re-add API to header 2018-05-07 16:59:06 -07:00
Erwin Coumans
7bc85c7d43 PyBullet.SHARED_MEMORY_SERVER, use secondary key for server 2018-05-07 16:01:38 -07:00
Erwin Coumans
7383843b24 expose PyBullet.SHARED_MEMORY_SERVER
connect from 1 different PyBullet client using PyBullet.SHARED_MEMORY)
(don't use more than 1 other client to submit commands in parallel)
2018-05-07 15:57:36 -07:00
erwincoumans
ab4b663800
Merge pull request #1671 from erwincoumans/master
don't use the URDF inertia element, unless flag CUF_USE_URDF_INERTIA …
2018-05-03 14:52:09 -07:00
Erwin Coumans
84b20bda80 don't use the URDF inertia element, unless flag CUF_USE_URDF_INERTIA is set, not for the diagonal and also not for the inertial frame shift. 2018-05-03 14:24:16 -07:00
YunfeiBai
e5036fbc3a Merge remote-tracking branch 'upstream/master' 2018-05-03 10:48:55 -07:00
YunfeiBai
aa6b8f66e9 Fixed a bug in projective texture shader. 2018-05-03 10:46:59 -07:00
Erwin Coumans
0c706eb08a fix some incompatibilities between google3/third_party/GL,EGL, glad 2018-05-03 09:06:30 -07:00
Erwin Coumans
4a8ad1a54e fix posix memory release issues
fix compile problems on Mac OSX
reduce shared memory size on Mac (>512*1024 fails to allocate)
2018-05-02 15:39:16 -07:00
erwincoumans
1f6afcda30 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-02 14:32:59 -07:00
erwincoumans
3a5f778b70 expose lsMemory destroy function to release thread memory 2018-05-02 14:32:43 -07:00
erwincoumans
cee3ecde2b
Merge pull request #1664 from erwincoumans/master
PyBullet: fix some memory leaks
2018-05-02 13:54:07 -07:00
erwincoumans
9d66d95b18 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-02 13:18:17 -07:00
erwincoumans
790deb2d54 fix memory leak in PyBullet.getJointStates, fixes issue #1661 2018-05-02 13:12:25 -07:00
Erwin Coumans
2b5f86a593 fix memory leak 2018-05-02 12:49:35 -07:00
erwincoumans
d7e81590b5 fix a memory leak 2018-05-02 12:24:31 -07:00
erwincoumans
78629e1c6c
Merge pull request #1637 from erwincoumans/master
PyBullet: add signed distance field support, with example/signedDista…
2018-05-02 09:20:04 -07:00
Erwin Coumans
dde3140987 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-01 13:02:51 -07:00
erwincoumans
c7d9afac1e fix SoftDemo crash, due to changes in OpenGLGuiHelper rendering
fixes Issue #1655
2018-05-01 09:23:08 -07:00
Erwin Coumans
85db288a95 App_PhysicsServer_SharedMemory_VR: expose max_num_object_capacity and max_shape_capacity_in_bytes (and shared_memory_key)
Default values are:
int maxNumObjectCapacity = 128 * 1024;
int maxShapeCapacityInBytes = 128 * 1024 * 1024;
int shared_memory_key = -1
2018-04-30 23:01:15 +02:00
erwincoumans
d32e3e51f6
Merge pull request #1650 from JanMatas/fix-softbody-leak
Fix Large memory leak in bullet Softbody
2018-04-30 22:16:39 +02:00
Jie Tan
20dd3d265b update README.md to include paper link in Arxiv. 2018-04-30 11:09:59 -07:00
Jan Matas
b1f85268f0 Check for null 2018-04-30 19:01:53 +01:00
Jie Tan
26cebc9aa5 rewrite the README file. 2018-04-26 21:26:08 -07:00
Jan Matas
21418934e0 Reset sparsesdf to free memory. 2018-04-25 16:17:28 +01:00
Jie
a375a349ce make sure that the pre-trained galloping and trotting policies work for the minitaur_reactive_env and minitaur_trotting_env environments. 2018-04-24 21:48:27 -07:00
Erwin Coumans
552cb5852a PyBullet: add signed distance field support, with example/signedDistanceField.py
See also data\toys\concave_box.urdf and data\toys\concave_box.cdf

data\toys\concave_box.cdf was generated from concave_box.obj using
//GenerateSDF.exe -r "32 32 32" -d "-1.6 -1.6 -.6 1.6 1.6 .6" concave_box.obj
//SDF is based on code from DiscreGrid, https://github.com/InteractiveComputerGraphics/Discregrid
2018-04-16 22:57:43 +02:00
Erwin Coumans
fcce77fe49 fix spaces/tab issue in urdfEditor.py 2018-04-12 14:01:17 -07:00
erwincoumans
391b0e4061
Merge pull request #1588 from GaborPuhr/Fix-#1582
Fix for #1582
2018-04-12 13:32:51 -07:00
erwincoumans
be46d73ef8
Merge pull request #1617 from haudren/topic/fixJacobian
Add a few jacobian tests
2018-04-12 13:30:04 -07:00
erwincoumans
25cb37a0d7 Merge remote-tracking branch 'bp/master' 2018-04-12 12:48:37 -07:00
erwincoumans
dbb0318782 fixes related to tinyxml2 2018-04-12 12:46:43 -07:00
erwincoumans
9c5d757879 PyBullet: fix memory leak in setJointMotorControlArray
Fixes issue #1633
2018-04-12 12:43:29 -07:00
Erwin Coumans
11008d8110 fixes, backwards compatibility 2018-04-12 09:28:30 -07:00
Erwin Coumans
719c352216 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-04-12 07:49:23 -07:00
erwincoumans
b0d421fa11
Merge pull request #1632 from erwincoumans/master
upgrade from tinyxml to tinyxml2
2018-04-12 07:30:05 -07:00
erwincoumans
9c77e07494 upgrade from tinyxml to tinyxml2 2018-04-12 00:09:44 -07:00
erwincoumans
b53facfc25
Merge pull request #1629 from erwincoumans/master
Preparation to add signed distance field collision detection.
2018-04-12 00:02:25 -07:00
Erwin Coumans
bd0aed3e36 add ARS to train/eval Minitaur 2018-04-11 18:14:56 -07:00
Erwin Coumans
40b285ebfd fixes in minitaur leg mapping 2018-04-11 18:13:46 -07:00
erwincoumans
2bc246b0b1 fixes in relative imports 2018-04-11 18:00:43 -07:00
erwincoumans
b18d407ca4 screenshot frame counter start at 0 (instead of 100) 2018-04-11 17:17:35 -07:00
Erwin Coumans
ad75ea35b3 fix new minitaur envs for newer Gym (_step -> step etc),
add extra sleep to sync Minitaur walk with RTC clock
2018-04-11 13:22:25 -07:00
erwincoumans
ac945df07a remote 'render' arg 2018-04-11 10:14:24 -07:00
erwincoumans
698b20938f fix a number of issues in a series of new Minitaur environments
add them to pybullet_envs through __init__.py
    id='MinitaurReactiveEnv-v0',
    id='MinitaurTrottingEnv-v0',
    id='MinitaurBallGymEnv-v0',
    id='MinitaurStandGymEnv-v0',
    id='MinitaurAlternatingLegsEnv-v0',
    id='MinitaurFourLegStandEnv-v0',

disable reflection of minitaur_four_leg_stand_env, since the floor changes orientation (reflection is a fixed plane with [0,0,1] normal)

from pybullet_envs.minitaur.envs.minitaur_alternating_legs_env import MinitaurAlternatingLegsEnv
from pybullet_envs.minitaur.envs.minitaur_ball_gym_env import MinitaurBallGymEnv
from pybullet_envs.minitaur.envs.minitaur_randomize_terrain_gym_env import MinitaurRandomizeTerrainGymEnv
from pybullet_envs.minitaur.envs.minitaur_reactive_env import MinitaurReactiveEnv
from pybullet_envs.minitaur.envs.minitaur_stand_gym_env import MinitaurStandGymEnv
from pybullet_envs.minitaur.envs.minitaur_trotting_env import MinitaurTrottingEnv
from pybullet_envs.minitaur.envs.minitaur_four_leg_stand_env import MinitaurFourLegStandEnv
2018-04-11 10:09:03 -07:00
erwincoumans
c2869e0a3c enable planar reflection in minitaur_gym_env.py and locomotion scenes 2018-04-11 08:50:29 -07:00
erwincoumans
ffc808784b PyBullet: add planar reflection example,
See examples/pybullet/examples/addPlanarReflection.py
2018-04-11 01:03:36 -07:00
Hervé Audren
6f90216dd0 Remove numpy dependency 2018-04-11 16:58:58 +09:00
erwincoumans
39edcf699c bump up pybullet version, add missing sdf file 2018-04-10 22:59:53 -07:00
Erwin Coumans
7fa5e91cbd replace green stadium with blue checkered Bullet plane
add missing files to pybullet setup.pu
2018-04-10 19:55:26 -07:00
Erwin Coumans
0832d3fd22 disable velocity clamp (maxVelocity) in velocity control mode,
remove some warnings
2018-04-10 17:21:14 -07:00
erwincoumans
78a90719b0
Merge pull request #1630 from YunfeiBai/master
Update the projective texture shader to solve the texture interpolati…
2018-04-09 20:55:37 -07:00
YunfeiBai
b032a1fd60 Update the projective texture shader to solve the texture interpolation artifact. 2018-04-09 17:15:42 -07:00
erwincoumans
698836d54e Preparation to add signed distance field collision detection.
btMiniSDF is based on https://github.com/InteractiveComputerGraphics/Discregrid
2018-04-08 21:10:03 -07:00
erwincoumans
db4960b1ac
Merge pull request #1624 from ikalevatykh/master
Add VR/OpenVR support on Linux
2018-04-05 09:55:03 -07:00
Erwin Coumans
380e59be6a explicit cast from double to float in TinyRendererVisualShapeConverter plugin 2018-04-04 16:34:28 -07:00
Igor Kalevatykh
7c163f2163 Add VR/OpenVR support on Linux 2018-04-05 00:14:08 +02:00
erwincoumans
5ff2a1d6c8
Update env_bases.py 2018-04-02 22:31:22 -07:00
erwincoumans
507d024f25 add example of a free moving sphere controlled by external torque
add some toy shape sorter cube (not finished yet)
2018-04-01 15:55:32 -07:00
erwincoumans
14d37ecb43 first pass of updated minitaur quadruped environment 2018-03-31 21:15:27 -07:00
erwincoumans
ec68290497 PyBullet createVisualShape/createVisualShapeArray: postpone visual shape conversion until we know the link inertial transform 2018-03-28 19:08:18 -07:00
Hervé Audren
c547555848 Add a few jacobian tests 2018-03-28 10:40:55 +09:00
Erwin Coumans
aae19514ac make the method not pure virtual (it breaks some internal code) 2018-03-27 10:18:00 -07:00
erwincoumans
094fa53440
Merge pull request #1611 from alantrrs/master
Fix simple cloth example. Closes #1606
2018-03-26 17:17:45 -07:00
erwincoumans
fafa939d33
Merge pull request #1579 from lunkhound/parallel-solver-wip3
Multithreaded constraint solver
2018-03-26 17:11:05 -07:00
erwincoumans
31ab72a0ed
Merge pull request #1609 from YunfeiBai/master
Add PyBullet API to set projective texture.
2018-03-26 16:27:14 -07:00
Hervé Audren
a2e9ecd957 Fix jacobian computation 2018-03-26 18:40:42 +09:00
alantrrs
c4f7b5eddf Fix simple cloth example. Closes #1606 2018-03-21 18:52:59 -07:00
yunfeibai
6b97e1e604 Expose API to set projective texture instead of using global. 2018-03-20 21:28:47 -07:00
yunfeibai
e42a934e16 Fix compiling error. 2018-03-19 10:23:17 -07:00
yunfeibai
37696dd87e Add Bullet C API and pybullet API to set projective texture matrices. 2018-03-18 18:45:54 -07:00
yunfeibai
fd7aa8d0e1 Expose using projective texture as a flag in pybullet getCameraImage API. 2018-03-18 17:01:23 -07:00
erwincoumans
73d6624da3
Merge pull request #1603 from erwincoumans/master
add missing implementation of b3RobotSimulatorClientAPI_NoGUI::getCam…
2018-03-15 07:34:46 -07:00
jietan
f4ca3f5963 Fix a bug that createVisualShape(Array) does not have the correct color. Add urdfEditor.py to pybullet_utils. Remove all unnecessary changes of white spaces. 2018-03-14 21:14:44 -07:00
jietan
d91a58e050 Merge remote-tracking branch 'bp/master' into pullRequest 2018-03-14 20:19:31 -07:00
erwincoumans
90b6befe3d add missing implementation of b3RobotSimulatorClientAPI_NoGUI::getCameraImage
Fixes Issue 1602
2018-03-14 17:33:51 -07:00
jietan
413be3547b fix a bug that createVisualShape(Array) does not have the correct color. Add urdfEditor.py to pybullet_utils. 2018-03-12 21:06:19 -07:00
erwincoumans
b62501d04d fix loadTexture for tinyrenderer 2018-03-12 19:40:13 -07:00
Erwin Coumans
f5d7e5bed3 example for Issue #1586 2018-03-10 19:49:30 -08:00
erwincoumans
cce41a62ef
Merge pull request #1594 from erwincoumans/master
PyBullet: explicit sync transform right before hardware OpenGL getCam…
2018-03-09 18:33:28 -08:00
Erwin Coumans
69d343386d PyBullet/C-API: implement createVisualShapeArray, with multiple visual shapes (require 1 texture max, since visual shapes are merged) 2018-03-09 18:02:06 -08:00
Erwin Coumans
159fef5818 PyBullet: explicit sync transform right before hardware OpenGL getCameraImage 2018-03-09 09:56:03 -08:00
erwincoumans
d69fefd7e9
Merge pull request #1559 from shubhtuls/patch-1
minor bugfix in image reshaping in kukaGymEnv.py
2018-03-08 15:16:30 -08:00
Erwin Coumans
b578361acf Use kF_UseGjkConvexCastRaytest by default for raycast in PyBullet (it is more robust/accurate, but a bit slower)
Use 10*EPSILON, as suggested in Gino's paper:
http://www.continuousphysics.com/ftp/pub/test/files/physics/papers/jgt04raycast.pdf
2018-03-07 14:51:51 -08:00
Erwin Coumans
07f116610f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-03-07 09:48:10 -08:00
Erwin Coumans
e134dcdb0b increase shared memory block size ( to reduce image copy steps)
reduce vertices in r2d2 finger stl files
bump up pybullet vesion
2018-03-07 09:47:28 -08:00
Lunkhound
45fd4acf6e dynamicsWorldMt: make island mgr aware of whether a parallel solver is present and make handoff from parallel solver to solver-pool more explicit 2018-03-05 20:05:38 -08:00
a
2348c6ba0a Fix for #1582 2018-03-05 23:05:22 +01:00
erwincoumans
6d326a79c8
Merge pull request #1575 from erwincoumans/master
fix minor sdf warning in kiva_shelf/model.sdf
2018-03-04 12:34:21 -08:00
Erwin Coumans
283d646e57 add random_urfs individually 2018-03-04 12:33:31 -08:00
Lunkhound
b8720f2161 parallel solver: various changes
- threading: adding btSequentialImpulseConstraintSolverMt
 - task scheduler: added parallelSum so that parallel solver can compute residuals
 - CommonRigidBodyMTBase: add slider for solver least squares residual and allow multithreading without needing OpenMP, TBB, or PPL
 - taskScheduler: don't wait for workers to sleep/signal at the end of each parallel block
 - parallel solver: convertContacts split into an allocContactConstraints and setupContactConstraints stage, the latter of which is done in parallel
 - parallel solver: rolling friction is now interleaved along with normal friction
 - parallel solver: batchified split impulse solving + some cleanup
 - parallel solver: sorting batches from largest to smallest
 - parallel solver: added parallel batch creation
 - parallel solver: added warmstartingWriteBackContacts func + other cleanup
 - task scheduler: truncate low bits to preserve determinism with parallelSum
 - parallel solver: reducing dynamic mem allocs and trying to parallelize more of the batch setup
 - parallel solver: parallelize updating constraint batch ids for merging
 - parallel solver: adding debug visualization
 - task scheduler: make TBB task scheduler parallelSum deterministic
 - parallel solver: split batch gen code into separate file; allow selection of batch gen method
 - task scheduler: add sleepWorkerThreadsHint() at end of simulation
 - parallel solver: added grain size per phase
 - task Scheduler: fix for strange threading issue; also no need for main thread to wait for workers to sleep
 - base constraint solver: break out joint setup into separate function for profiling/overriding
 - parallel solver: allow different batching method for contacts vs joints
 - base constraint solver: add convertJoint and convertBodies to make it possible to parallelize joint and body conversion
 - parallel solver: convert joints and bodies in parallel now
 - parallel solver: speed up batch creation with run-length encoding
 - parallel solver: batch gen: run-length expansion in parallel; collect constraint info in parallel
 - parallel solver: adding spatial grid batching method
 - parallel solver: enhancements to spatial grid batching
 - sequential solver: moving code for writing back into functions that derived classes can call
 - parallel solver: do write back of bodies and joints in parallel
 - parallel solver: removed all batching methods except for spatial grid (others were ineffective)
 - parallel solver: added 2D or 3D grid batching options; and a bit of cleanup
 - move btDefaultTaskScheduler into LinearMath project
2018-02-26 22:47:33 -08:00
Erwin Coumans
4d6e2c1905 update imgui test 2018-02-24 14:57:49 -08:00
Erwin Coumans
34e0c4b62f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-02-23 18:56:25 -08:00
Erwin Coumans
5688477bfb fix sdf warning 2018-02-23 18:56:11 -08:00
erwincoumans
94bc897067
Merge pull request #1574 from erwincoumans/master
fix glx include
2018-02-22 09:41:01 -08:00
Erwin Coumans
05b02d6b3e fix glx include 2018-02-22 09:08:10 -08:00
erwincoumans
90b34680b0
Merge pull request #1572 from erwincoumans/master
explicitly remove textures during resetSimulation
2018-02-22 08:37:03 -08:00
erwincoumans
c632fea48d PyBullet: remove VisualLeakDetector 2018-02-21 23:44:57 -08:00
erwincoumans
73a4334e30 explicitly remove textures during resetSimulation
move glViewport to Win32Window
2018-02-21 23:22:16 -08:00
erwincoumans
91f77dfb39
Merge pull request #1571 from erwincoumans/master
fix __init__.py
2018-02-21 12:42:37 -08:00
Erwin Coumans
15c46a0237 bump up pybullet version, add missing glad file(s) to MANIFEST.in 2018-02-21 11:46:53 -08:00
Erwin Coumans
8ba9644e78 fix __init__.py 2018-02-21 10:47:24 -08:00
Erwin Coumans
67318f3323 fix __init__.py 2018-02-21 10:45:06 -08:00
erwincoumans
3508a4523b
Merge pull request #1560 from YunfeiBai/master
Add shader and example for projective texture.
2018-02-21 10:23:18 -08:00
Erwin Coumans
a3c2ce1cef add __init__.py for pybullet_envs.prediction 2018-02-21 10:06:46 -08:00
erwincoumans
0e0b7cb9f8 glew->glad 2018-02-21 08:59:06 -08:00
erwincoumans
f341acc44a glew->glad 2018-02-21 08:50:47 -08:00
erwincoumans
4343d041da more work towards glew->glad 2018-02-21 08:36:53 -08:00
erwincoumans
5679802c24 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-02-21 08:20:01 -08:00
erwincoumans
483f017613 fix VR build 2018-02-21 08:19:49 -08:00
Erwin Coumans
9288ea9c6a fix mac osx build 2018-02-21 08:16:00 -08:00
Erwin Coumans
c2b59776ed CMakeLists glew to glad 2018-02-20 21:09:31 -08:00
Erwin Coumans
d583269430 fix glad_glx on linux 2018-02-20 20:57:55 -08:00
Erwin Coumans
850b8b0493 add glad_glx files 2018-02-20 20:15:26 -08:00
Erwin Coumans
dacafda88a use glad instead of glew in mac build and pybullet setup.py 2018-02-20 20:09:12 -08:00
Erwin Coumans
b0984de046 preparation to replace glew by glad 2018-02-20 19:44:02 -08:00
yunfeibai
5494aa72fa Set the perspective projection for projective texture mapping. Change the demo to two bears with the same view projection matrix for the camera and the projector. 2018-02-20 18:32:09 -08:00
Erwin Coumans
8bb40b632b allow to build GLFW version of Bullet examples on Linux (use premake4_linux --enable_glfw gmake) 2018-02-20 16:21:22 -08:00
erwincoumans
01f58f8f02 PyBullet: soft bodies are rendered, so we don't need to also render wireframes in regular mode.
Use glBufferSubData instead of glMapBuffer/glUnmapBuffer, much faster soft body vertex sync.
Don't use a separate btSoftBodyWorldInfo, use the existing one in btSoftMultiBodyDynamicsWorld.
2018-02-18 11:09:42 -08:00
erwincoumans
a6849de99c
Merge pull request #1555 from JanMatas/softBody-opengl-rendering
Implemented support for softbodies in OpenGL renderer
2018-02-18 10:48:46 -08:00
erwincoumans
ddf304ca78 PyBullet: expose internal edge utility, to adjust edge normals to prevent object penetrating along triangle edges of concave triangle meshes
(due to local convex-triangle collisions causing opposite contact normals, use the pre-computed edge normal)
PyBullet: expose experimental continuous collision detection for maximal coordinate rigid bodies, to prevent tunneling.
2018-02-16 19:44:33 -08:00
yunfeibai
ef0ae4935b Minor change. 2018-02-15 18:37:23 -08:00
yunfeibai
fb6907aa1b Merge remote-tracking branch 'upstream/master' 2018-02-15 18:19:29 -08:00
yunfeibai
36dcabbaf5 Merge remote-tracking branch 'upstream/master' 2018-02-15 14:31:34 -08:00
yunfeibai
cf4a0a3503 Add improvement/fix in SortableTransparentInstance back. 2018-02-15 13:19:41 -08:00
erwincoumans
d3fe21ef17 Add option GUI_MAIN_THREAD for running OpenGL in the main thread (Python thread). This already happens on Mac OSX by default.
Pass all argc/argc from options to InProcessPhysicsClientSharedMemoryMainThread
2018-02-14 16:49:44 -08:00
erwincoumans
5e08d6d334 small test to create / simulate random box stacks 2018-02-14 15:37:50 -08:00
yunfeibai
7dbc5626fb Add the shader files. 2018-02-12 18:19:05 -08:00
Jan Matas
817fb40fb5 Revert "Create a new pointer in btCollisionShape instead of just using userPtr."
This reverts commit d2d987a5ed.

After discussion, we decided to use userPtr.
2018-02-12 11:26:39 +00:00
Shubham Tulsiani
5fdd7ed3b4
minor bugfix in image reshaping in kukaGymEnv
Reshaped image array should be of size (RENDER_HEIGHT, RENDER_WIDTH, 4) instead of (RENDER_WIDTH, RENDER_HEIGHT, 4).
2018-02-11 21:47:57 -08:00
yunfeibai
2947cd54ce Add shader for projective texture. 2018-02-11 21:29:02 -08:00
yunfeibai
08548e1ef0 Add example for projective texture. 2018-02-11 13:50:45 -08:00
Erwin Coumans
68559426cd Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-02-11 06:59:19 -08:00
Erwin Coumans
c143c90c11 add HelloPyBullet notebook 2018-02-11 06:58:45 -08:00
Erwin Coumans
c0781fa9f1 fix cmake build 2018-02-09 19:06:00 -08:00
Erwin Coumans
508550c5e9 fix premake build for linux, thanks to @consultit
See also issue #1538
2018-02-09 18:46:26 -08:00
Jan Matas
d2d987a5ed Create a new pointer in btCollisionShape instead of just using userPtr. 2018-02-08 13:49:36 +00:00
Jan Matas
82214eb99f Implemented support for softbodies in OpenGL renderer 2018-02-08 13:31:40 +00:00
Erwin Coumans
be5e58772e fix include 2018-02-06 11:52:45 -08:00
erwincoumans
19231434c2 gym env backward compatibility due to gym 0.9.6 breaking changes 2018-02-06 10:20:41 -08:00
erwincoumans
82fae36ab9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-02-06 08:59:58 -08:00
erwincoumans
3fb26e4835 fix issue with plugin manager (store plugin uid instead of pointer) 2018-02-06 08:56:24 -08:00