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
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
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
erwincoumans
dbb0318782
fixes related to tinyxml2
2018-04-12 12:46:43 -07:00
Erwin Coumans
11008d8110
fixes, backwards compatibility
2018-04-12 09:28:30 -07:00
erwincoumans
9c77e07494
upgrade from tinyxml to tinyxml2
2018-04-12 00:09:44 -07:00
erwincoumans
73a4334e30
explicitly remove textures during resetSimulation
...
move glViewport to Win32Window
2018-02-21 23:22:16 -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
erwincoumans
a92423b6f7
minor clarification in UrdfRenderingInterface
2018-01-21 11:15:35 -08:00
erwincoumans
1661f25fd8
minor indentation fix
2018-01-17 13:11:02 -08:00
erwincoumans
c781e98de4
add a little bit of documentation to the UrdfRenderingInterface
2018-01-17 13:06:44 -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
erwincoumans
df89ce6f92
small refactor of LinkVisualShapesConverter / TinyRendererVisualShapeConverter, it allows to use it in a Python module and in a PyBullet plugin.
2018-01-16 17:58:19 -08:00
erwincoumans
9d405fde67
PyBullet: free cached textures
...
PyBullet: bool PhysicsServerCommandProcessor::pickBody, disable collision filtering to allow picking of all objects
2018-01-15 08:36:08 -08:00
erwincoumans
e961800278
parse plane geom for URDF files (not just SDF)
2018-01-13 13:41:46 -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
15a429f1bf
premake build system fixes
2018-01-09 12:23:25 -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
Erwin Coumans
e97b751781
further work on urdfEditor.py, fix some serialization issues
2018-01-08 12:25:56 -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
4743d2770a
fix recently introduced crashing bug in MJCF reader
...
due to https://github.com/bulletphysics/bullet3/pull/1484 (Issue 1484)
2018-01-03 21:47:58 -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
erwincoumans
e3a85493e8
Merge pull request #1484 from rhaps0dy/MJCFImporter
...
Support for reading <inertial> elements from MJCF
2017-12-29 10:58:08 -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
Adrià Garriga
cb2fcfd032
Skipping calculateLocalInertia is unnecessary
2017-12-23 17:56:47 +01:00
Adrià Garriga
4d70d54d19
Support for reading <inertial> elements from MJCF
2017-12-23 08:53:10 +01: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
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
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
cec8da3d85
Implement first draft of pybullet.createVisualShape and add createVisualShape.py example
...
add normals to duck.obj for nicer appearance
fix plane100.urdf (so collision shape matches visual shape size)
2017-10-07 18:50:23 -07:00
Erwin Coumans
26d32f2aa8
improve loading performance of large textures:
...
option to disable tinyrenderer, use p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
also make sure to use p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,0) before loadURDF, and enable rendering afterwards using p.configureDebugVisualizer(p.COV_ENABLE_RENDERING,1)
reorder 2 loops, making the flip texels twice as fast (cache coherency),
single memcpy of entire texture in tinyrenderer, instead of per-pixel copy (memory layout is the same)
add lots of B3_PROFILE timings, to see where time is going
2017-10-06 13:46:24 -07:00
erwincoumans
822ff077c7
expose some parameters through pybullet.getPhysicsEngineParameters (C-API: b3InitRequestPhysicsParamCommand + b3GetStatusPhysicsSimulationParameters)
2017-10-05 11:43:14 -07:00
Erwin Coumans
3d3e391b6a
Support SDF capsule and cylinder.
2017-09-11 21:49:39 -07:00
Erwin Coumans
cbe0d0aff2
pybullet fix: accidently enable self-collision
2017-09-07 14:27:00 -07:00
Erwin Coumans
9ecd345783
backwards compatibility...
2017-09-07 11:40:11 -07:00
erwincoumans
eb97e06280
fix minitaur.urdf: move lower-leg inertia to center, add missing collision for one of the motors, add contact parameters for friction_anchor, spinning friction, compliance (stiffness/damping)
...
fix in indexing for maximal coordinates (unused by default, still experimental, requires many iterations for Minitaur due to extreme mass-ratio, hence use of reduces/generalized coordinates)
modify quadruped.py to test maximal coordinates
wrap angular servo (positional) target within [-PI,PI] in btGeneric6DofSpring2Constraint
add 'j' key to show body frames in wireframe/debug mode
2017-09-02 01:05:42 -07:00
erwincoumans
8dfa76e924
implement pybullet.createUserConstraint for maximalCoordinates (fixed, p2p, gear)
...
maximalCoordinates, make sure parent is bodyA, child is BodyB
2017-08-30 09:54:38 -07:00
erwincoumans
1f7db4519e
enable motor control for maximal coordinates robots (btRigidBody, btTypedConstraint) for force, velocity, position control.
2017-08-29 19:14:27 -07:00
Erwin Coumans
5c5993edcb
fix potential memory leaks for concave triangle meshes (<concave=true> or createCollisionShape with flags=1)
2017-08-24 09:16:11 -07:00
Erwin Coumans
226aaedc46
bump up pybullet setup.py version, make B3_NO_PYTHON_FRAMEWORK default on Mac
...
minor fixes (arg name in header/cpp the same)
2017-08-18 08:53:46 -07:00
Erwin Coumans
a66576f034
revert API to be backward compatible, add b3CreateInProcessPhysicsServerAndConnectSharedMemory
...
same for BulletURDFImporter constructor
2017-08-16 12:33:25 -07:00
Erwin Coumans
99beb44625
fix build issues in previous commit
2017-08-15 10:46:09 -07:00
Erwin Coumans
aafaa7e33e
Expose optional "globalScaling" factor to pybullet.loadURDF and pybullet.loadSDF. This will scale the visual, collision shapes and transform locations.
...
Fix two_cubes.sdf (was lacking collision shape for second cube)
2017-08-14 14:59:41 -07:00
erwincoumans
457312f94f
fix leak in loadSDF in case of visuals with duplicate/identical names that have a material.
...
fix GUI performance issue on Mac OSX
fix issue introduced in previous commit (in btConvexHullComputer.cpp)
2017-08-11 17:14:52 -07:00
Erwin Coumans
dcaaed9238
also generate TinyRendererVisualShapeConverter for programmatically generated collision shapes
...
use similar random colors for TinyRenderer (if rgba colors are not specified)
2017-06-29 22:06:27 -07:00
Erwin Coumans
97f6a161f1
fix stb_image.h include path to be consistent.
2017-06-22 08:09:33 -07:00
erwincoumans
b2a46a7edd
mimicJointConstraint.py creates actual differential drive
...
See https://www.youtube.com/watch?v=pK3PTPlRTGA :-)
2017-06-09 10:15:05 -07:00
erwincoumans
c1f6b7e9b8
fix memory leak in case a Wavefront .obj file had multiple shapes (texture was loaded multiple times, while only releasing one)
2017-06-08 09:21:32 -07:00