Erwin Coumans
d12d886e13
raycast filter masks can be negative, always apply the mask (-1 default). Thanks to Tingnan for reporting/reproduction case.
2020-08-03 11:00:14 -07:00
Erwin Coumans
1e8f39b492
improve premake4 build in case X11 headers are missing
...
improve video_sync_mp4.py example
allow to create a heightfield from file or programmatically in C++ robotics api. Example:
{
b3RobotSimulatorCreateCollisionShapeArgs shapeArgs;
shapeArgs.m_shapeType = GEOM_HEIGHTFIELD;
bool useFile = true;
if (useFile)
{
shapeArgs.m_fileName = "D:/dev/bullet3/data/heightmaps/gimp_overlay_out.png";
shapeArgs.m_meshScale.setValue(.05, .05, 1);
}
else
{
shapeArgs.m_numHeightfieldColumns = 256;
shapeArgs.m_numHeightfieldRows = 256;
shapeArgs.m_meshScale.setValue(.05, .05, 1);
shapeArgs.m_heightfieldData.resize(shapeArgs.m_numHeightfieldRows * shapeArgs.m_numHeightfieldColumns);
double heightPerturbationRange = 0.05;
for (int j = 0; j<int(shapeArgs.m_numHeightfieldColumns / 2); j++)
{
for (int i = 0; i < (int(shapeArgs.m_numHeightfieldRows / 2)); i++)
{
double height = ((double)rand() / (RAND_MAX)) * heightPerturbationRange;
shapeArgs.m_heightfieldData[2 * i + 2 * j * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + 1 + 2 * j * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + (2 * j + 1) * shapeArgs.m_numHeightfieldRows] = height;
shapeArgs.m_heightfieldData[2 * i + 1 + (2 * j + 1) * shapeArgs.m_numHeightfieldRows] = height;
}
}
}
int shape = sim->createCollisionShape(shapeArgs.m_shapeType, shapeArgs);
b3RobotSimulatorCreateMultiBodyArgs bodyArgs;
bodyArgs.m_baseCollisionShapeIndex = shape;
int groundId = sim->createMultiBody(bodyArgs);
int texId = sim->loadTexture(shapeArgs.m_fileName);
b3RobotSimulatorChangeVisualShapeArgs args;
args.m_objectUniqueId = groundId;
args.m_linkIndex = -1;
args.m_textureUniqueId = texId;
sim->changeVisualShape(args);
}
2020-07-24 18:09:13 -07:00
Erwin Coumans
1de2269b6e
add removeState in C++ API, see also Issue https://github.com/bulletphysics/bullet3/issues/2935
2020-07-17 15:04:54 -07:00
Erwin Coumans
caa8b26ce5
Fixes in TinyAudio, play sound on collision impact, can be configured in URDF/SDF file.
...
Requires a modified setup.py (or use premake4 to compile)
Example script:
import pybullet as p
import time
p.connect(p.GUI)
plane = p.loadURDF("plane_with_collision_audio.urdf")
box = p.loadURDF("cube.urdf",[0,0,1])
p.setGravity(0,0,-10)
while (1):
p.stepSimulation()
time.sleep(1./240.)
2020-07-13 14:07:58 -07:00
Erwin Coumans
d88d0e92ef
also update m_jointLowerLimit/m_jointUpperLimit in multibody link.
2020-07-07 19:49:29 -07: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
Erwin Coumans
9de78ab6b3
fix array size in inverse kinematics orientation command
...
bump up shared memory version, since this was a potentially incompatible change
2020-07-06 22:57:03 -07:00
Erwin Coumans
4c63a5019e
fix removeConstraint for deformables, thanks to Daniel Seita for reporting the issue.
2020-06-30 16:39:15 -07:00
erwincoumans
036e51c637
Merge pull request #2870 from erwincoumans/master
...
Fix applyExternalForce command for multibody links. Thanks to Avik fo…
2020-06-18 20:52:47 -07:00
Erwin Coumans
ebef331bbf
Fix applyExternalForce command for multibody links. Thanks to Avik for the report.
2020-06-19 03:37:30 -07:00
erwincoumans
01bfdc643c
Merge pull request #2858 from CGJiaxiLiu/fix_softbody
...
Fix potential undefined softbody member in PhysicsServerCommandProcessor
2020-06-18 20:45:59 -07:00
Xuchen Han
f23e745666
clang format PhysicsServerCommandProcessor and BulletSoftBody
2020-06-17 17:20:39 -07:00
Erwin Coumans
4786ca1df2
Merge remote-tracking branch 'bp/master'
2020-06-16 16:20:17 -07:00
Erwin Coumans
a7b8b54c44
implement mouse picking for deformable objects in PyBullet (the one using p.resetSimulation(p.RESET_USE_DEFORMABLE_WORLD), not position based dynamics version)
2020-06-16 11:54:50 -07:00
Jiaxi
daaea3a4fb
Fix potentially send data to invalid port
2020-06-14 21:57:43 -04:00
Jiaxi
f034e64cc6
Check for availability of soft body
2020-06-14 21:42:32 -04:00
Jiaxi
a848c1d6e9
Check for availability of soft body
2020-06-14 21:26:54 -04:00
erwincoumans
da50438c3c
Merge pull request #2826 from xhan0619/grav-factor
...
Deformable gravity factor
2020-06-05 10:07:27 -07:00
Erwin Coumans
a2cdadb9b4
add check to avoid crash, if link is out of bounds.
2020-06-04 00:24:51 -07:00
Erwin Coumans
e82a4ecc6d
Apply patch to apply force at softbody nodes, thanks to Robert Lee, see
...
https://github.com/bulletphysics/bullet3/issues/2699#issuecomment-610734583
2020-06-04 00:09:11 -07:00
Erwin Coumans
c09007e005
Merge branch 'master' of github.com:erwincoumans/bullet3
2020-06-04 00:00:44 -07:00
Erwin Coumans
e6a0206d47
Allow to remove soft body anchors, using pybullet.removeConstraint (untested).
...
Usage example:
anchors = []
anchors.append(p.createSoftBodyAnchor(clothId ,0,-1,-1))
anchors.append(p.createSoftBodyAnchor(clothId ,3,boxId,-1, [0.5,-0.5,0]))
for a in anchors:
p.removeConstraint(a)
2020-06-04 00:00:19 -07:00
Xuchen Han
8c0192d639
turn on deformable rigid face contact
2020-05-26 16:52:40 -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
7d61b3514c
use memcpy instead of manual copy, alignment issue?
2020-05-20 07:19:26 -07:00
Erwin Coumans
32277c7bd5
in case of substeps use the compensated delta time / numSubSteps to convert between force and impulse.
2020-05-19 11:00:53 -07:00
erwincoumans
d4c7687b29
Merge pull request #2809 from erwincoumans/master
...
add pybullet.unsupportedChangeScaling feature for some small experime…
2020-05-17 19:22:40 -07:00
Erwin Coumans
3f0b8c938b
fix for https://github.com/bulletphysics/bullet3/pull/2797
2020-05-17 14:09:42 -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
f07042723c
bug fix in damping mode
2020-05-11 17:40:00 -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
Tigran Gasparian
faa708db49
Fixes bug where user data defined in a URDF link wasn't being applied on
...
the correct link.
2020-05-11 19:27:04 +02: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
8f380b3fd2
use white as default undefined color instead of the googley colors.
...
use loadURDF(..., flags = pybullet.URDF_GOOGLEY_UNDEFINED_COLORS) to get Googley colors when colors are undefined.
2020-05-08 10:44:39 -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
Erwin Coumans
d479ca712c
allow to call getDebugVisualizerCamera in DIRECT mode (returns all 0)
2020-05-05 03:15:26 +00:00
Erwin Coumans
8719ac6c95
soft body is not enabled in the test
2020-05-05 02:46:19 +00:00
erwincoumans
ca50714996
Merge pull request #2775 from xhan0619/splitImpulse
...
Split impulse
2020-04-29 20:00:00 -07:00
Xuchen Han
eefec255cf
Merge remote-tracking branch 'origin/master' into splitImpulse
2020-04-27 20:29:06 -07:00
Chuyuan Fu
4e1fa56104
updateVisualShape for softbody
...
fix
fix space
2020-04-27 20:08:32 -07:00
Xuchen Han
5f1260199a
set appropriate repulsion stiffness for pybullet torus demo
2020-04-27 20:05:16 -07:00
Xuchen Han
ae3526254d
add API for setting repulsion stiffness
2020-04-27 17:42:45 -07:00
Erwin Coumans
6268c5d105
conditionally compile btSoftBody only if not SKIP_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD
2020-04-23 16:24:03 -07:00
erwincoumans
3dbe5426bf
Merge pull request #2766 from erwincoumans/master
...
fix getContactPoint issue in case of swapped link indices, thanks to …
2020-04-23 15:05:03 -07:00
Erwin Coumans
ba5f8db0cf
fix getContactPoint issue in case of swapped link indices, thanks to Jonas Gehring for the report
2020-04-23 14:04:53 -07:00
erwincoumans
e1f5729963
Merge pull request #2757 from erwincoumans/master
...
fixes for tcp server, allow createCollisionShape to load stl
2020-04-22 08:53:07 -07:00
Erwin Coumans
cbb459f5d4
fixes for TCP connection: report serverStatusOut.m_numDataStreamBytes when storing results in bufferServerToClient
2020-04-21 12:15:44 -07:00