Commit Graph

3359 Commits

Author SHA1 Message Date
erwincoumans
15041841a5
Merge pull request #2933 from AiRuiChen/fix-pybullet-gym-envs
Fix pybullet gym envs
2020-08-13 19:33:21 -07:00
Erwin Coumans
16efd7b288 fix memory leak in pybullet.calculateJacobian 2020-08-13 17:02:54 -07:00
Erwin Coumans
8504384b63 Merge branch 'master' of github.com:erwincoumans/bullet3 2020-08-13 16:41:33 -07:00
Erwin Coumans
306245d68b fix potential memory leak in createMultiBody, reported by Fei Xia here (thanks for report/repro!)
https://github.com/bulletphysics/bullet3/issues/2898
2020-08-13 16:40:37 -07:00
Erwin Coumans
82493e9fbb fix copy/paste bug in pybullet.c related to collisionShapeOrientationAObj (missing Obj)
this would lead to the collisionShapeOrientationA not being considered.
2020-08-12 21:26:43 -07:00
erwincoumans
e52a30de68
Update TinyRendererVisualShapeConverter.cpp
only create a texture for a plane, not sphere (backward compatibility tests break)
2020-08-12 10:12:45 -07:00
erwincoumans
17d373db55
Merge pull request #2937 from addy1997/master
prev keyword removed
2020-08-11 08:30:55 -07:00
erwincoumans
19dfc6754a
Merge pull request #2971 from WilliamTambellini/fixWarning
Fix warning in examples/Utils/ChromeTraceUtil.cpp
2020-08-11 08:29:35 -07:00
erwincoumans
b2a473da19
Merge pull request #2980 from sippeyxp/find_file_logic
Simplify logic for searching files in UrdfFindMeshFile and prioritize…
2020-08-11 08:28:08 -07:00
Peng Xu
20667bd7d0 Pybullet fast numpy input support for rayTestBatch. 2020-08-11 02:19:23 -07:00
Peng Xu
fc676c02c9 Simplify logic for searching files in UrdfFindMeshFile and prioritize path without prefix. 2020-08-11 01:48:55 -07:00
Erwin Coumans
ff229baf1e TinyRenderer: support plane shape (creating similar textured plane to OpenGL renderer)
TinyRenderer: perform clipping in double precision to improve accuracy
2020-08-10 20:19:00 -07:00
Erwin Coumans
038cc196e1 Merge branch 'master' of github.com:erwincoumans/bullet3 2020-08-10 17:02:06 -07:00
Erwin Coumans
7d9bcafda8 when using stablePDPlugin, approximate inertia by box for unsupported shapes. 2020-08-10 17:00:19 -07:00
William Tambellini
3726c72d11 Fix warning in examples/Utils/ChromeTraceUtil.cpp
Fix warning in examples/Utils/ChromeTraceUtil.cpp :
bullet3/examples/Utils/ChromeTraceUtil.cpp:122:62: warning:
format ‘%lu’ expects argument of type ‘long unsigned int’,
but argument 4 has type ‘long long unsigned int’ [-Wformat=]:
for startTimeDiv1000, ...
Tested:
- examples/ExampleBrowser/App_ExampleBrowser --tracing
- press the P key to write the profiler json file
- head /tmp/timings_0.json
- open /tmp/timings_0.json with chrome://tracing
2020-08-07 17:38:42 -07:00
Erwin Coumans
a17df118f1 re-add constraints.py I wanted to delete the changes, not the file!
(confusing github UI!)
2020-08-07 09:32:30 -07:00
erwincoumans
d1505e187a
Merge pull request #2950 from DarioUrbina/develop_dario
Inverted Pendulum Actuated by Tendons
2020-08-07 09:30:32 -07:00
erwincoumans
2bc3d87d8d
Delete constraint.py 2020-08-07 09:29:39 -07:00
Xuchen Han
eef0d647cd Tune parameters to effectively reduce the stiffness of the picking force. 2020-08-03 23:05:08 -07:00
erwincoumans
b623f5d123
Merge pull request #2967 from erwincoumans/master
fix raycast filter masks, they can be negative
2020-08-03 13:18:27 -07:00
erwincoumans
eb32f48000
Merge pull request #2958 from buoyancy99/patch-1
fix bug of using undefined name p
2020-08-03 11:37:19 -07:00
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
51aed38377 fix import 2020-07-31 15:30:53 -07:00
buoyancy99
1edb8d17f9
fix bug of using undefined name p 2020-07-29 23:51:40 -07:00
Xuchen Han
fa0d452651 Initialize proper collision margin for deformable_ball.py 2020-07-28 21:00:27 -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
Darío Urbina
370b2f72ff valerolab 2020-07-23 09:32:46 -07:00
Darío Urbina
5081ac5b34 Inverted Pendulum Tendon Actutation 2020-07-22 11:19:10 -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
CuriousCAT
9c62c3f1f1
prev keyword removed 2020-07-16 11:46:49 +05:30
Eric Yihan Chen
3a6a279b9a Fix pybullet gym envs 2020-07-14 21:08:51 -07:00
Eric Yihan Chen
6b38a4cfdb Fix minitaur logging proto and import 2020-07-14 17:16:29 -07:00
Erwin Coumans
c9ca9cb6c6 disable Center of Mass tracking reward by default, since resulting policies don't work well.
See also https://github.com/bulletphysics/bullet3/issues/2928#issuecomment-658349531
2020-07-14 12:10:15 -07:00
Erwin Coumans
f22d88d6ff fix build 2020-07-13 14:45:23 -07:00
Erwin Coumans
fc024f00f9 Merge branch 'master' of github.com:erwincoumans/bullet3 2020-07-13 14:28:00 -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
Darío Urbina
01d74be777 Seeing the relatonship and understanding of the creation of two contraints 2020-07-13 12:22:49 -07:00
erwincoumans
d19cd89b4a
Merge pull request #2912 from ManifoldFR/deepmimic-gym-fixes
DeepMimic: add COM reward
2020-07-08 10:54:20 -07:00
ManifoldFR
1f6ae38040 DeepMimic: add retrained walk motion with COM 2020-07-08 17:03:46 +02: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
ManifoldFR
5901caa207 Merge branch 'master' into deepmimic-gym-fixes 2020-07-08 00:51:26 +02: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
ManifoldFR
a3810d15ef fix setting useComReward=false 2020-07-06 16:56:24 +02:00
ManifoldFR
2fe3fe945d DeepMimic: Make COM reward optional 2020-07-06 16:47:22 +02:00
ManifoldFR
53a3af8918 Merge branch 'master' into deepmimic-gym-fixes 2020-07-02 10:12:06 +02:00
ManifoldFR
b200bf59e0 DeepMimic: add COM reward 2020-07-01 19:15:21 +02:00
erwincoumans
63e1d7d840
Merge pull request #2888 from AiRuiChen/change-env-name
Ensure naming consistency in gym registry
2020-06-30 19:06:53 -07:00
Erwin Coumans
9a61abde37 Merge remote-tracking branch 'bp/master' 2020-06-30 16:41:23 -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
ManifoldFR
0dadbd9849 Merge branch 'master' into deepmimic-gym-fixes 2020-06-30 10:59:20 +02:00
Eric Yihan Chen
0f05cdba18 Add missing names in pybullet_envs.getList() 2020-06-29 11:29:43 -07:00
erwincoumans
d8c7f97dbb
Merge pull request #2872 from xhan0619/implicit-contact
Corotated Linear Elasticity
2020-06-29 10:05:14 -07:00
ManifoldFR
45b061c879 variable timestep for deepmimic env 2020-06-29 10:30:09 +02:00
ManifoldFR
d0838d3bcb variable timestep for deepmimic env 2020-06-29 10:26:08 +02:00
Eric Yihan Chen
6cdebabd2b rename bullet envs for consistency 2020-06-27 15:10:20 -07:00
Xuchen Han
c9a0ebb24e reduce the picking force in self-collision demo 2020-06-26 14:19:50 -07:00
Xuchen Han
70a0ef65d8 fix bug in deformable replulsion force and adjust parameter in deformable self collision 2020-06-26 14:19:44 -07:00
ManifoldFR
04350bc9ab add COM reward to DeepMimic 2020-06-25 15:59:13 +02:00
ManifoldFR
b925988821 DeepMimic Gym enhancements
* fix render() camera up axis
* make render() camera track character
* increase render resolution
* add option to restart mocap clip at t=0 at reset (default=random time)
* Gym env: option for "test mode" (episode starts at mocap clip start)
* Gym env: option to offset/rescale actions and obs (like original code)
2020-06-25 12:03:30 +02:00
Xuchen Han
bf8cf19665 support implicit integration in picking force 2020-06-24 17:48:43 -07:00
Erwin Coumans
b4624ad237 fix pybullet_utils import 2020-06-23 16:14:18 -07:00
Xuchen Han
e0b554787f Merge remote-tracking branch 'origin/master' into implicit-contact 2020-06-19 15:05:34 -07:00
Xuchen Han
b969f14d21 run clang format 2020-06-19 14:52:44 -07:00
Xuchen Han
43d256633e allow for larger range of stiffness values in implicit demos 2020-06-19 14:51:31 -07:00
Xuchen Han
3fd743a069 add a colliding demo to for easier implcit contact testing 2020-06-19 14:50:56 -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
92f2f56b3d add mass damping into damping model 2020-06-18 16:43:53 -07:00
Xuchen Han
abaf278c2d add extreme deformation demo 2020-06-17 18:49:09 -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
Xuchen Han
9cfe16abb4 add corotated linear elasticity 2020-06-16 15:57:58 -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
Erwin Coumans
d1ded7d704 use pybullet.URDF_GOOGLEY_UNDEFINED_COLORS for standard gym envs 2020-06-01 23:38:59 -07:00
erwincoumans
a1522b3891
Merge pull request #2822 from ManifoldFR/patch-1
Modify DeepMimic Gym env step() to query policy at 30Hz
2020-06-01 17:23:25 -07:00
erwincoumans
50af23e487
Merge pull request #2832 from xhan0619/pybullet-api
Set numNonContactInnerIterations from Pybullet
2020-06-01 17:19:45 -07:00
erwincoumans
eea724bc02
Merge pull request #2837 from erwincoumans/master
also allow reportHitNumber for single pybullet.rayTest, better mtl/urdf color selection
2020-06-01 17:18:24 -07:00
Erwin Coumans
84cb577622 Improve link color choice:
1) use URDF when available, unless URDF_USE_MATERIAL_COLORS_FROM_MTL and MTL color is available.
2) if URDF color is not specified, use MTL color if available
3) otherwise use white, unless URDF_GOOGLEY_UNDEFINED_COLORS flag is set (if set, semi-randomly pick one of the 4 Google colors)
2020-06-01 10:28:07 -07:00
Daniele Reda
409b0eaa39 fix double humanoid instantiation 2020-05-31 21:38:38 -07:00
Xuchen Han
a33a9412fa add numNonContactInnerIterations to getPhysicsParameters 2020-05-29 08:28:52 -07:00
Xuchen Han
e6fdaebea9 add api for setting non contact iteration for pybullet 2020-05-28 17:58:21 -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
Wilson
829475c38a
Set DeepMimic Gym env to query policy at 30Hz
Addresses issue #2821
2020-05-24 16:30:47 +02:00
Erwin Coumans
a3c4b2995e also allow reportHitNumber for single pybullet.rayTest (not just rayTestBatch) 2020-05-22 15:13:56 -07:00
erwincoumans
5233b72160
Merge pull request #2800 from xhan0619/splitImpulseMulti
Stability improvements for deformable.
2020-05-21 09:47:33 -07:00
Xuchen Han
04efc9124d tune exampleBrowser demo parameters 2020-05-20 17:56:41 -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