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
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
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
e24da97140
revert GJK change yet again, some degenerate case / regression
2018-06-12 19:52:38 -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
Erwin Coumans
e74f86d148
remove ANYmal meshes
2018-06-11 07:44:05 -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
72d3f45b05
use new API b3CreateInProcessPhysicsServerFromExistingExampleBrowserAndConnect3 (not 2)
2018-06-05 19:54:08 -07:00
erwincoumans
5ede227e94
Update robot_bases.py
...
remove print
2018-06-05 19:33:28 -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
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
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
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
76e88dddc5
add space to make conversion work
2018-05-31 18:16:40 -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
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
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
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
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
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
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
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
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
cee3ecde2b
Merge pull request #1664 from erwincoumans/master
...
PyBullet: fix some memory leaks
2018-05-02 13:54:07 -07:00
erwincoumans
790deb2d54
fix memory leak in PyBullet.getJointStates, fixes issue #1661
2018-05-02 13:12:25 -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
Jie Tan
20dd3d265b
update README.md to include paper link in Arxiv.
2018-04-30 11:09:59 -07:00
Jie Tan
26cebc9aa5
rewrite the README file.
2018-04-26 21:26:08 -07: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
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
9c5d757879
PyBullet: fix memory leak in setJointMotorControlArray
...
Fixes issue #1633
2018-04-12 12:43:29 -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
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
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
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
Hervé Audren
c547555848
Add a few jacobian tests
2018-03-28 10:40:55 +09: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
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
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
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
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
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
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
Erwin Coumans
5688477bfb
fix sdf warning
2018-02-23 18:56:11 -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
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
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
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
36dcabbaf5
Merge remote-tracking branch 'upstream/master'
2018-02-15 14:31:34 -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
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
c143c90c11
add HelloPyBullet notebook
2018-02-11 06:58: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
Sam Wenke
ad3c236bfd
pybullet support for gym.Env, including v0.9.x
2018-02-04 11:35:47 -05:00
erwincoumans
a576fd38cd
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-01-31 22:17:39 -08:00
erwincoumans
13d67e8fc3
add bicycle resources and testBike.py script (use python -m pybullet_envs.examples.testBike after pip install pybullet)
...
center shadow around camera target
2018-01-31 22:17:15 -08:00
Erwin Coumans
e88dca3152
update autogenerated NativeMethods.cs from latest PhysicsClientC_Api.h
2018-01-31 09:07:31 -08:00
erwincoumans
40482e0925
fix urdfEditor.py
2018-01-29 19:19:34 -08:00
Erwin Coumans
cb0e740422
fix error in __init__.py
2018-01-27 10:25:26 -08:00
Erwin Coumans
2b5be5ca8a
Merge remote-tracking branch 'bp/master'
2018-01-26 17:36:45 -08:00
erwincoumans
688d750d8a
Merge pull request #1531 from AndreaIncertiDelmonte/issue-1525
...
Override of the reset() public funciton in child classes
2018-01-26 13:10:47 -08:00
cedspam
3011cf1130
avoid errors in some ide docs system
...
there are some error linked to repeated import of this module in spyder, an env with the same id cannot be registered again
2018-01-26 09:29:39 +00:00
AndreaIncertiDelmonte
b908b147a6
Overwrite of the reset() public funciton in child classes
2018-01-26 10:09:14 +01:00
erwincoumans
0ce40b70c0
Merge pull request #1523 from kimhc6028/master
...
[fixed] gym_manipulator_envs typo
2018-01-25 13:36:42 -08:00
Erwin Coumans
c6fefb1018
remove useless gym env
2018-01-25 12:11:22 -08:00
Erwin Coumans
c4a046f16c
remove baselines dependency (not needed, since it is a random policy)
2018-01-25 07:34:00 -08:00
erwincoumans
5d45fd5ca5
PyBullet: register KukaDiverseObjectGrasping-v0 to Gym.
2018-01-24 18:27:03 -08:00
erwincoumans
4ea406c73c
PyBullet: improve examples/pybullet/gym/pybullet_envs/bullet/kuka_diverse_object_gym_env.py
...
(thanks to Deirdre Quillen for the environment)
Extend repeat, so gripper reaches the tray bottom.
Fix near plane so Z-Buffer is visible. Add sleep in return motion, in gui mode.
2018-01-24 18:21:59 -08:00
erwincoumans
72ec3effe6
Merge remote-tracking branch 'bp/master'
2018-01-24 18:11:33 -08:00
erwincoumans
1ec0543deb
add random urdf zipfile for KUKA grasping env, thanks to Deirdre Quillen
2018-01-24 18:10:55 -08:00
erwincoumans
583b23ea40
PyBullet Humanoid Flagrun Harder: disable collision on target red sphere
2018-01-24 18:02:24 -08:00
erwincoumans
aba4671358
Humanoid Flagrun Harder, PyBullet version (request from Danijar)
...
Fix duplicate ground in all Roboschool converted scenes.
Fix bug in all PyBullet-Roboschool converted Humanoid environments (action needs to be clipped to [-1,1] range)
2018-01-24 17:53:40 -08:00
Erwin Coumans
b8362fff94
PyBullet pybullet_envs: fix issue with Humanoid environments (excessive forces, due to lack of action clamping)
...
PyBullet pybullet_envs: use 1./60 sleep, add enjoy_TF_HumanoidFlagrunHarderBulletEnv_v1_2017jul.py
2018-01-24 16:02:19 -08:00
kimhc6028
0d07ae03b7
[fixed] gym_manipulator_envs typo
2018-01-23 18:22:53 +09:00
Erwin Coumans
69007dcc61
fix MJCF loading (use self-collision)
2018-01-20 12:07:35 -08:00
deq2
e30f2624f9
Added kuka environment with multiple diverse objects. ( #1508 )
...
* Added new diverse object environment
2018-01-18 08:49:00 -08:00
erwincoumans
012f4534fd
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-01-17 12:49:27 -08:00
erwincoumans
329a1f5a74
PyBullet: move TinyRenderer into a plugin, default statically loaded. You can also dynamically load a render plugin, as shown in renderPlugin.py example. premake has a way to compile the tinyRendererPlugin.
2018-01-17 12:48:48 -08:00
Erwin Coumans
c6a350b807
BulletInverseDynaimcs: re-applied fix
...
PyBullet: increase humanoid training from 30 to 300M (need to figure out the right hyperparameters...)
2018-01-16 21:54:46 -08:00
erwincoumans
055930817e
apply a maximum velocity for the KUKA arm, otherwise motion can become very unrealistic
2018-01-16 10:17:57 -08:00
erwincoumans
851ca5bfb3
Improve PyBullet ports of Roboschool envs: fix reset (it kept adding stadium objects, causing slowdown), now reset uses saveState/restoreState and reset becomes a few orders of magnitude faster.
...
Use python -m pybullet_envs.examples.testEnv --env AntBulletEnv-v0 --render=1 --steps 1000 --resetbenchmark=1
Added environments: HumanoidFlagrunBulletEnv-v0, HumanoidFlagrunHarderBulletEnv-v0, StrikerBulletEnv-v0, ThrowerBulletEnv-v0, PusherBulletEnv-v0, ReacherBulletEnv-v0, CartPoleBulletEnv-v0 and register them to OpenAI Gym.
Allow numpy/humanoid_running.py to use abtch or non-batch update (setJointMotorControl2/setJointMotorControlArray)
2018-01-15 12:48:32 -08:00
erwincoumans
387d3f16db
PyBullet: fix memory leak in case connection to shared memory cannot be made
...
PyBullet: allow setJointMotorControl2 to use maxVelocity in combination with obsolete 'bodyIndex'
2018-01-15 08:33:19 -08:00
erwincoumans
ed890f23e6
add implicit plane_implicit.urdf and use it in humanoid_running.py (numpy version)
2018-01-13 13:47:28 -08:00
erwincoumans
1b569c0701
Add humanoid_running.py using just numpy (no tensorflow, no gym) for testing
2018-01-13 13:39:57 -08:00
Erwin Coumans
79051b7611
allow to use colors from MJCF file as option (default to random Google colors), use p.loadMJCF(filename, flags=p.URDF_MJCF_COLORS_FROM_FILE
...
fix quadruped.py example.
add PyBullet.isConnected() API, more friendly than PyBullet.getConnectionInfo()["connected"]
2018-01-11 21:04:08 -08:00
erwincoumans
22b4809891
leave m_useGlobalVelocities to false, until enabled, for backward compatibility
...
use URDF_GLOBAL_VELOCITIES_MB flag in PyBullet loadURDF.
fix robot_bases.py due to new fields in getJointInfo.
backward compabitibility: BulletMJCFImporter, keep creating btMultiSphereShape for MJCF capsules with fromto, instead of shifted btCapsuleShapeZ, unless if CUF_USE_IMPLICIT_CYLINDER is used.
2018-01-10 11:16:50 -08:00
erwincoumans
c4b1b84687
Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
...
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
erwincoumans
e138e85bca
allow to enable/disable implicit cylinder conversion through an API
...
p.loadURDF("r2d2.urdf", flags=p.URDF_USE_IMPLICIT_CYLINDER)
allow to enable/disable deterministicOverlappingPairs through an API
p.setPhysicsEngineParameter(deterministicOverlappingPairs = False)
2018-01-09 10:10:36 -08:00
erwincoumans
bf6d805228
fix compile issues on Windows after recent softbody patch
2018-01-09 08:43:00 -08:00
YunfeiBai
de3b8bf3c9
Merge branch 'master' into master
2018-01-08 18:13:03 -08:00
yunfeibai
0e0d3da2b5
Add python binding and a pybullet example for loading softbody from obj.
2018-01-08 18:10:28 -08:00
Erwin Coumans
90c5d66e1b
fix for Python 2.x
2018-01-08 16:15:54 -08:00
Erwin Coumans
e97b751781
further work on urdfEditor.py, fix some serialization issues
2018-01-08 12:25:56 -08:00
Erwin Coumans
a85a4f387b
more work on UrdfEditor.py
2018-01-06 15:00:20 -08:00
Erwin Coumans
9a9aa5e9e7
example of joint motor with friction
2018-01-06 13:43:07 -08:00
Erwin Coumans
c59a3763e5
tweak ImportMJCFSetup.cpp example MJCF humanoid a bit, clamp target positions to be within joint limits to avoid solver problems (conflicting constraints)
...
add humanoid_manual_control.py PyBullet example which is similar to ImportMJCFSetup.cpp
2018-01-04 13:14:11 -08:00
Erwin Coumans
79d78a325a
Start of a urdfEditor.py, limited support to extract a URDF from a PyBullet body.
...
Use btCylinderShapeZ for URDF cylinder, instead of converting it to a btConvexHullShape.
Implement PyBullet.getCollisionShapeData
Extend PyBullet.getDynamicsInfo / b3GetDynamicsInfo, remove flag (don't rely on API returning a fixed number of elements in a list!)
Extend PyBullet.getJointInfo: add parentIndex
2018-01-03 19:17:28 -08:00
Erwin Coumans
35b44f8a85
implement pybullet.saveState command, for in-memory storage of state.
...
bump up pybullet API version (SHARED_MEMORY_MAGIC_NUMBER) to 201801010
2017-12-31 15:37:16 -08:00
Erwin Coumans
20e00d11d8
further work on saveRestoreState.py
2017-12-30 21:57:42 -08:00
Erwin Coumans
9c55b61315
pybullet.createVisualShape: process sphere radius, box half extents, capsule+cylinder radius/length
...
fixes issue #1427 , https://github.com/bulletphysics/bullet3/issues/1427
2017-12-30 17:42:13 -08:00
Erwin Coumans
0326fa93a8
made some progress in saving and restoring the state during the simulation, with identical results.
...
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
Erwin Coumans
29cfac096b
compile fix in pybullet.c
2017-12-28 12:57:49 -08:00
Erwin Coumans
5517cbc4e0
add segmask_linkindex.py example using p.getCameraImage(320,200,flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX)
...
to extract object unique id and link index from segmentation mask in getCameraImage
2017-12-28 12:37:07 -08:00
Erwin Coumans
97547eda0d
preliminary work towards saveState/restoreState and saveRestoreState.py example (not implemented yet)
...
allow multiple options in connect, for example: p.connect(p.GUI, options="--width=640, --height=480")
2017-12-28 10:05:51 -08:00
erwincoumans
41f9bb89e5
expose API to change the local inertia diagonal, pybullet.ChangeDynamics(objectUid, linkIndex, localInertiaDiagonal=[xx,yy,zz])
2017-12-20 16:56:31 -08:00
erwincoumans
eb35cba740
expose local inertia diagonal in C-API, PyBullet, through the 'getDynamicsInfo'
...
render the inertia boxes in examples/pybullet/examples/quadruped.py and examples/pybullet/examples/reset_dynamic_info.py
fix an issue where the original margin (0.04) was used to compute the inertia, instead of latest margin
2017-12-20 14:54:32 -08:00
Erwin Coumans
c556ad651d
expose pybullet 'enableConeFriction' to switch between pyramid and cone friction model.
2017-12-01 10:07:07 -08:00
Erwin Coumans
ec0a182a12
add pybullet unittests.py with travis support
2017-11-28 21:53:26 -08:00
erwincoumans
8ff75e11cd
fixes related to torsional friction, due to recent cone friction update.
2017-11-28 20:09:56 -08:00
Erwin Coumans
6baf82d6d8
improve testrender/np to render faster/interactive on Mac with matplotlib
2017-11-24 18:57:16 -08:00
erwincoumans
c5f79fe979
pybullet testrender.py/testrender_np.py examples, improve matplotlib rendering performance (headless DIRECT and OpenGL/GUI)
2017-11-24 18:09:20 -08:00
erwincoumans
b1c2bdc72a
pybullet: fix numpy compile issue on Windows, another fix
2017-11-24 16:50:36 -08:00
Erwin Coumans
82b51ac78d
pybullet: fix Windows numpy build
2017-11-24 14:33:24 -08:00
erwincoumans
9936a1cc92
friction cone test
2017-11-23 18:14:29 -08:00
erwincoumans
ab843b26f0
expose a maximum velocity due to the joint motor in position control.
...
see also pybullet/examples/motorMaxVelocity.py
this fixes issue 1444
2017-11-21 17:05:28 -08:00
Erwin Coumans
c88132b80f
fix issue in pybullet_envs.agents
...
bump up to pybullet 1.6.9
2017-11-18 17:07:27 -08:00
erwincoumans
e2d29d4048
also enable depth and segmentation mask preview window in example browser/pybullet
...
You can disable/enable all preview windows using:
p.configureDebugVisualizer(p.COV_ENABLE_RGB_BUFFER_PREVIEW,0/1)
p.configureDebugVisualizer(p.COV_ENABLE_DEPTH_BUFFER_PREVIEW,0/1)
p.configureDebugVisualizer(p.COV_ENABLE_SEGMENTATION_MASK_PREVIEW,0/1)
2017-11-17 13:33:27 -08:00
Erwin Coumans
f483ccd8ef
remote org configs
2017-11-16 16:49:25 +00:00
Erwin Coumans
7b030426c1
add a temp copy of TF agents (until the API stops changing or configs.py are included)
2017-11-16 16:47:14 +00:00
erwincoumans
e982efc18a
fix in previous commit related to pybullet.c changeUserConstraint / pybullet_internalSetMatrix
2017-11-12 21:53:14 -08:00
erwincoumans
6be7e34dd6
pybullet vr_kuka_setup.py: add a gear joint, to keep the gripper centered,
...
vr_kuka_control.py: control all joints, use analogue button to close gripper
remove some debug warnings/prints
pybullet, avoid crash in changeUserConstraint if not passing a [list]
allow some gym environments (pybullet_pendulum and locomotors) to re-use an existing physics client connection.
2017-11-12 10:36:30 -08:00
Erwin Coumans
d570730b8e
fix pybullet and bump up version to 1.6.4
2017-11-07 21:11:16 -08:00
Erwin Coumans
5701b5b152
expose COV_ENABLE_Y_AXIS_UP to pybullet
...
increase MAX_SDF_BODIES from 512 to 1024 (botlab needs it)
2017-11-04 12:51:13 -07:00
Erwin Coumans
4798d66f19
fixes in kuka/racecar environment. kuka still doesn't train well, work-in-progress
2017-11-01 18:06:47 -07:00
Erwin Coumans
e4f58ddc33
fix typo, add train_ppo kuka task
2017-10-31 16:33:13 -07:00
Erwin Coumans
3709e68645
fix discrete versions of kuka grasping environment
...
should fix issue 1386
2017-10-31 16:14:20 -07:00
Erwin Coumans
33d32d7ab4
add continuous version of kuka cam gym env test
2017-10-31 16:10:02 -07:00
Erwin Coumans
4e2dfbe58e
add minitaur duck environment
...
see also https://www.youtube.com/watch?v=SLwUCMZdKLo and
evolution strategies (hardmaru):
https://twitter.com/hardmaru/status/925074585984237568
2017-10-31 16:05:52 -07:00
Erwin Coumans
55f5e52ecd
add continuous versions of kukaGymEnv, kukaCamGymEnv, racecarZEDGymEnv etc.
...
should be trainable with PPO or evolution strategies (ES) now
2017-10-31 15:50:34 -07:00
Erwin Coumans
48f0f29812
add integrate.py example
2017-10-27 18:26:32 -07:00
erwincoumans
c042c8f9b6
premake pybullet, use enable_static_vr_plugin
...
add examples\pybullet\examples\vr_kitchen_setup_vrSyncPython.py (doesn't work well, need C++ sync and some optimizations)
2017-10-25 10:20:34 -07:00
erwincoumans
6a9300809d
premake4 add option --enable_static_vr_plugin to statically link the VR sync plugin
...
fix texture caching from previous commit (what happened there?)
2017-10-25 10:00:45 -07:00
Erwin Coumans
9385f36505
add cartpole_bullet, should fix issue 1403
2017-10-25 08:37:01 -07:00
erwincoumans
7524e37124
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-10-25 08:15:14 -07:00
erwincoumans
ed8de36ffa
pybullet: allow to replace existing text, to avoid flickering (remove/add)
...
allow texture caching (disable using the disable file caching)
2017-10-25 08:15:01 -07:00
erwincoumans
c1ba04a580
Merge pull request #1404 from erwincoumans/master
...
perform IK in local body-fixed frame , add jointFrictionDamping.py example
2017-10-25 00:52:16 +00:00
Erwin Coumans
7a1dbf2e59
allow IK on a floating base, see video:
...
add inverse_kinematics_husky_kuka.py example
fix spacing in inverse_dynamics.py
2017-10-25 00:32:47 -07:00
Erwin Coumans
1998a62785
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-10-23 12:25:34 -07:00
Erwin Coumans
ca7d599838
add jointFrictionDamping.py example
...
modify testrender.py to add shadow for tiny renderer
2017-10-23 12:25:04 -07:00
Jonathan Tompson
03b2cfe991
Added gear info to getConstraintInfo return.
...
Fixed bug in GEAR constraint update.
2017-10-22 15:01:13 -07:00
erwincoumans
c149840264
Merge pull request #1396 from erwincoumans/master
...
API changes in TensorFlow Agents
2017-10-20 20:46:56 -07:00
Erwin Coumans
d18bfec1a9
API changes in TensorFlow Agents
...
See 164f620326 (diff-82bda908f176861c20aadc1d017c2527)
2017-10-20 20:32:49 -07:00
erwincoumans
28ea41bfe6
Merge pull request #1393 from YunfeiBai/master
...
Expose IK solver options: DLS and SDLS.
2017-10-20 13:22:56 -07:00
yunfeibai
b67bccc575
Add inverse kinematics example for pole, which has a prismatic joint.
2017-10-19 14:30:37 -07:00
yunfeibai
dda1b05f4a
Expose IK solver options including DLS and SDLS.
2017-10-19 14:00:53 -07:00
Erwin Coumans
c178c101a8
fix the pybullet.changeDynamics linear/angular damping
...
expose pybullet.getConstraintState
2017-10-18 19:15:35 -07:00
Erwin Coumans
8750d49082
fix blocking plot.show() never terminating properly
2017-10-13 14:51:06 -07:00
erwincoumans
cb23e6c102
Fix pybullet.calculateInverseDynamics in the case where #dof != #joints (fixed joints). We still don't handle spherical joints in pybullet (even though the underlying inverse dynamics and forward dynamics support it)
...
Also, add a inverse_dynamics.py example, with URDF files. Thanks to Michiel Lutter for the report and repro case!
This fixes issue #1379 https://github.com/bulletphysics/bullet3/issues/1379
2017-10-13 14:19:25 -07:00
erwincoumans
de44e4811a
fix pybullet.addUserDebugText borders around letters
...
bump up pybullet version
In a few pybullet examples, first connect to SHARED_MEMORY, if not connected use GUI mode
2017-10-10 22:11:32 -07:00
Erwin Coumans
91e08ec986
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-10-09 12:28:07 -07:00
erwincoumans
49a2771522
Implement the pybullet/Python equivalent of vr_kuka_setup_vrSyncPlugin.py
...
In vr_kuka_setup_vrSyncPython.py, the vr controller is synced in Python, introducing a small lag
Invr_kuka_setup_vrSyncPlugin.py, the vr controller is synced in C++ at the same frequency as the physics time step (240 Hz by default)
2017-10-09 10:52:25 -07:00
Erwin Coumans
91d164d886
remove obsolete CartPoleBulletEnv
2017-10-09 09:44:54 -07:00
erwincoumans
2f2f070ab5
allow changeVisualShape (rgbaColor, specularColor and texture) for maximal coordinates rigid body (btRigidBody)
...
Make the examples\pybullet\examples\createVisualShape.py a bit more interesting
2017-10-08 11:34:42 -07:00
erwincoumans
b2edd81ef6
touch up createVisualShape.py example
2017-10-07 19:00:44 -07:00