Erwin Coumans
ccdec68b1d
expose shadowmap intensity to PyBullet API
2020-09-07 16:52:14 -07:00
Steven
8a16ed5009
fix the issue "Inconsistency between rayTest and rayTestBatch of pybullet #2887 "
...
we should initialize these variables otherwise these will be random.
2020-09-03 20:30:14 +08:00
Erwin Coumans
c517c434e6
pybullet allow to enable/change joint limits:
...
pybullet.changeDynamicsInfo(objectUniqueId, linkIndex, jointLowerLimit=..., jointUpperLimit=...) # jointLowerLimit <= jointUpperLimit
and joint limit max force:
pybullet.changeDynamicsInfo(objectUniqueId, linkIndex, jointLimitForce=...)
For example:
p.changeDynamics(sphereUid,linkIndex, jointLowerLimit=1, jointUpperLimit=3, jointLimitForce=10.5)
add b3ChangeDynamicsInfoSetJointLimit/b3ChangeDynamicsInfoSetJointLimitForce
add getConstraintType for btMultiBodyConstraint
2020-07-07 19:42:23 -07:00
Xuchen Han
8a189763df
support configuring gravity factor from client
2020-05-26 16:51:45 -07:00
erwincoumans
5233b72160
Merge pull request #2800 from xhan0619/splitImpulseMulti
...
Stability improvements for deformable.
2020-05-21 09:47:33 -07:00
Erwin Coumans
754dbd5fda
add pybullet.unsupportedChangeScaling feature for some small experiments, this is not general and has many limitations that are not likely are going to be resolved,
...
so unless it does what you want, ignore this api, it is unsupported!
2020-05-17 13:46:11 -07:00
Xuchen Han
ce237ec7ec
fix API for different damping modes for mass spring
2020-05-11 17:08:33 -07:00
Xuchen Han
644fd5f311
add API for two different damping modes for mass spring
2020-05-11 16:42:17 -07:00
Erwin Coumans
53b65b795f
add fractionEpsilon to filter rays with similar hit fraction
...
remove debug printf
2020-05-09 02:42:47 -07:00
Erwin Coumans
f0cccf0faa
add collisionFilterMask to rayTestBatch and rayTest
...
This will allow to exclude (filter) certain bodies.
By default, static bodies have collision group 2, and dynamic (mass=1) bodies have collision group 1.
As long as mask & group != 0, a raytest will be performed.
2020-05-08 11:57:25 -07:00
Erwin Coumans
daa0a27403
add reportHitNumber to allow reporting a specific ray intersection hit
...
(by default, pybullet.rayTestBatch reports the closest hit, so you can report 2nd closest or 3rd closest hit etc)
Fix pybullet.createCollisionShape, in some cases (concave trimesh, convex mesh) two instances were created.
2020-05-07 23:23:24 -07:00
Xuchen Han
ae3526254d
add API for setting repulsion stiffness
2020-04-27 17:42:45 -07:00
Erwin Coumans
1640eef937
pybullet: enable getMeshData for multibody/rigid body (and filter on collisionShapeIndex for compound shapes)
2020-03-17 00:38:12 -07:00
Erwin Coumans
27fbbfee7f
pybullet removeAllParameters (sliders, buttons)
...
pybullet addUserDebugParameter adds button instead of slider, if min > max.
2020-03-16 21:29:30 -07:00
Erwin Coumans
f0528db5e9
embed V-HACD directly into Pybullet to make it easier to use:
...
pip3 install pybulle
import pybullet as p
p.connect(p.DIRECT)
p.vhacd("teddy.obj", "teddy_large_newout.obj", "newlog.txt", depth=2,resolution=1000000)
2020-03-16 00:38:52 -07:00
Xuchen Han
62537436f2
more Motor->NonContactInner
2020-03-02 16:03:27 -08:00
Xuchen Han
4f36e09747
Motor->NonContactInner
2020-03-02 16:00:40 -08:00
Xuchen Han
84117b8440
separate motor constraint iterations and expose API
2020-02-26 14:11:41 -08:00
Erwin Coumans
6910fc9229
initialize capsule from_to field
2020-02-21 02:05:01 -08:00
Erwin Coumans
6afa0a463d
unsupported: expose collisionMargin to changeDynamics/getDynamicsInfo.
...
add cube_convex.urdf for testing this collisionMargin. Test script:
import pybullet as p
import time
p.connect(p.GUI)
plane = p.loadURDF("plane_implicit.urdf")
cube = p.loadURDF("cube_convex.urdf",[0,0,1])
p.setGravity(0,0,-10)
while (1):
p.stepSimulation()
pts = p.getContactPoints()
p.changeDynamics(plane,-1,collisionMargin=0.3)
p.changeDynamics(cube,-1,collisionMargin=0.3)
print("===================")
print("cube pos=", p.getBasePositionAndOrientation(cube)[0])
print("margin=", p.getDynamicsInfo(plane,-1)[11])
#time.sleep(1./10.)
2020-02-14 17:36:40 -08:00
Tigran Gasparian
34db76d263
Adds an option to syncUserData to specify the bodies for which to sync.
2020-01-23 14:46:33 +01:00
Erwin Coumans
7a4023430a
fix pybullet.submitProfileTiming
2019-12-19 18:05:41 -08:00
Chuyuan Fu
0f477e27ae
add link index to setdamping C APIs. If link index is not set, the command is igored for rigidbody
2019-12-17 13:48:34 -08:00
erwincoumans
44f21e462a
Merge pull request #2509 from xhan0619/separate-bending-stiffness
...
Separate in-plane and bending stiffness for mass spring model
2019-12-04 07:34:28 -08:00
Xuchen Han
7bce5d61f4
separate in-plane and bending stiffness for mass spring model for easier parameter tuning
2019-11-27 11:40:10 -08:00
Erwin Coumans
d9ab536682
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2019-11-21 19:37:11 -08:00
Erwin Coumans
824fd6410f
Use -> Set in API
2019-11-21 19:07:11 -08:00
Xuchen Han
00add5490f
fix separate render and sim mesh
2019-11-19 23:10:08 -08:00
Xuchen Han
64e5e007e3
load render mesh from command
2019-11-19 21:07:26 -08:00
Erwin Coumans
96deb42aa5
pybullet.createSoftBodyAnchor
2019-11-19 19:20:08 -08:00
Erwin Coumans
1f6d504e44
fix memory issues in btSparseSDF.h
...
(hash function on structure with uninitialized padding, and Reset not called in destructor)
expose sparseSdfVoxelSize in PyBullet.setPhysicsEngineParameter
don't call deformable wireframe drawing in the wrong thread/place (it can cause crashes)
2019-11-18 10:22:56 -08:00
Xuchen Han
a86710c5b6
add python binding to allow loading deformable objects
2019-11-15 21:25:11 -08:00
Erwin Coumans
72e0e7c223
fix load_soft_body.py example.
...
add optional flags in pybullet.resetSimulation.
fix compile issue due to SKIP_DEFORMABLE_WORLD
fix issue in .obj importer (todo: replace with tiny_obj_loader)
todo: replace std::ifstream fs; by fileIO usage.
2019-11-14 21:20:42 -08:00
Chuyuan Fu
913400eba1
add SOLVER_USE_ARTICULATED_WARMSTARTING option and APIs
...
fix compile
2019-10-23 21:36:26 -07:00
Xuchen Han
3ae193ff15
bool->int
2019-10-15 15:43:26 -07:00
Xuchen Han
e13578fee3
add option to turn self-collision on/off
2019-10-15 13:47:55 -07:00
Xuchen Han
ec91a0ffa4
configure damping coefficients for neohookean models
2019-10-15 13:47:54 -07:00
Xuchen Han
3dcfcda19a
typo fix
2019-09-28 14:44:41 -07:00
Xuchen Han
1ded85e62e
remove extra gravity field
2019-09-04 18:49:44 -07:00
Xuchen Han
0b391798b7
hook deformable world into the physics server
2019-09-04 18:48:00 -07:00
Erwin Coumans
88d1788ee5
PyBullet: allow to update an existing heightfield shape
...
Also, use flags = p.GEOM_CONCAVE_INTERNAL_EDGE to enable internal edge filtering for heightfield (disabled by default)
See https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/examples/heightfield.py
2019-08-14 21:06:10 -07:00
Erwin Coumans
f9b232b153
pybullet: allow programmatic creation of heightfield. See https://github.com/erwincoumans/bullet3/tree/master/examples/pybullet/examples/heightfield.py
...
premake4: allow to build example browser without C++11, re-enable stable PD control plugin using --enable_stable_pd=True
2019-08-11 13:59:24 -07:00
Chuyuan Fu
2e64b27a31
bindings for setting warmstarting factor
...
fix space
2019-08-06 15:53:31 -07:00
Erwin Coumans
7263439c4b
improved for inserting profile timings from Python, to analyzer performance of pybullet programs.
...
See examples/pybullet/examples/profileTiming.py for an example. Note that python and c++ is properly interleaved.
Open a timings with a name, close the timing without a name. Note that timings can be recursive, added/popped as a stack.
2019-08-01 19:12:16 -07:00
erwincoumans
1feb186204
Update PhysicsClientC_API.cpp
...
use B3_PI definition
2019-07-30 17:43:24 -07:00
Erwin Coumans
51fba6f78d
export btHeightfieldTerrainShape to PyBullet. Note that tinyrenderer doesn't support rendering it (it would be too slow on CPU)
...
fix rare getKeyboardEvents threading issue
change texture color to default plane.urdf blue
2019-07-29 20:23:38 -07:00
Erwin Coumans
39a4e8dcd9
Implement faster array versions of PyBullet: getJointStatesMultiDof, getLinkStates, setJointMotorControlMultiDofArray, resetJointStatesMultiDof,
...
Implement StablePD in C++ through setJointMotorControlMultiDofArray method for pybullet_envs.deep_mimic, see testHumanoid.py and examples/pybullet/examples/humanoidMotionCapture.py
Minor fix in ChromeTraceUtil in case startTime>endTime (why would it happen?)
2019-07-21 13:08:22 -07:00
Erwin Coumans
31688ffb34
fix in multi-endeffector IK, calculate jacobian uses dofs without base, fix premake build of some projects
2019-07-11 22:22:35 -07:00
Erwin Coumans
ee9575167d
expose PyBullet.calculateInverseKinematics2 that allows to specify multiple IK end effector locations (not multiple orientations)
...
usage example:
jointPoses = p.calculateInverseKinematics2(bodyUniqueId, [endEffectorLinkIndices], [endEffectorTargetWorldPositions])
2019-07-10 17:21:18 -07:00
Erwin Coumans
ed4515ae17
for the GraphicsServer, expose a sync transform interval: only synchronize the transform once the stepSimulation exceeds this time interval.
...
(for example, run the simulation at 1kHz but sync the graphics transforms to remove graphics server at 30Hz)
2019-06-19 09:45:29 -07:00