Commit Graph
34 Commits
Author SHA1 Message Date
Erwin Coumans 87605ca4c8 revert linkNames in createMultiBody, we cannot pass pointers pointing to local memory (storing the string) around into shared memory or over the network. 2021-09-20 12:22:30 -07:00
yycho0108 c0d9553d65 add link names args to CreateMultibody 2021-01-20 15:53:24 +09: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 e29ba9fe5c add option to merge fixed links in URDF file (improves performance, can handle URDF files with many fixed links)
add option to ignore visual and collision shapes in URDF file
2020-02-21 15:04:26 -08:00
Erwin Coumans 0617f4f3cd expose computeDofCount to pybullet
expose computeDofCount and calculateMassMatrix to BulletRobotics C++ API
(all untested)
2020-02-14 19:58:32 -08:00
Erwin Coumans d0f895fbbd Merge branch 'master' of https://github.com/erwincoumans/bullet3 2020-02-04 20:59:26 -08:00
Erwin Coumans 401abd9ebc implement b3RobotSimulatorClientAPI_NoDirect::createVisualShape 2020-02-04 20:58:15 -08:00
Erwin Coumans 4c6e3daf5e made char* in addUserDebugParameter const 2020-01-24 08:43:20 -08:00
Erwin Coumans 8ebdf7862c fix b3RobotSimulatorClientAPI_NoDirect::changeConstraint API 2020-01-09 17:56:21 -08:00
Erwin Coumans 5cd4647943 fix submitProfileTiming API in b3RobotSimulatorClientAPI_NoDirect 2020-01-09 10:40:14 -08:00
Xuchen Han 6a8973d2f4 address PR comment and tune parameters for cloth 2019-12-19 21:51:54 -08:00
Xuchen Han f65a8b03c0 separate deformable contact solve by islands WIP 2019-12-17 18:27:23 -08:00
Xuchen Han d38ea87027 add gripper with deformable cloth demo 2019-12-13 14:33:54 -08:00
Chuyuan Fu ee10d47b17 fix space
fix space
2019-05-02 14:15:18 -07:00
Chuyuan Fu 3fb0a7c19b add set starting position and orientation to softbody 2019-05-01 16:56:40 -07:00
Chuyuan Fu bea2f6e65a Turn off self-collision for FixJointBoxes example 2019-03-11 13:12:49 -07:00
erwincoumans 85ee4c2934 allow batch creation of objects through PyBullet.createMultiBody, see createMultiBodyBatch.py example.
expose minGraphicsUpdateTimeMs through PyBullet.connect(p.GUI, options="minGraphicsUpdateTimeMs=32000"), by default OpenGL rendering runs at 4000microseconds intervals.
allow a maximum of 128k objects
fix meshScale for PyBullet.createCollisionShape for custom mesh
expose Pybullet.setPhysicsEngineParameter(minimumSolverIslandSize=...), larger minimum batches group solver constraints together in the same island, to reduce calling overhead (even if they are not related)
2019-02-12 10:36:01 -08:00
Erwin Coumans 2d224cf319 revert backward compabitility in API 2018-10-20 19:44:39 -07:00
erwincoumans ed49edc1af PyBullet change API (since it was broken): pybullet_changeVisualShape with textureUniqueId ==-1 will clear the texture
b3InitUpdateVisualShape doesn't take textureUniqueId by default. new API b3UpdateVisualShapeTexture to change texture (-1 will clear texture)
PyBullet/BulletRobotics: allow to reset the textureUniqueId to -1, to clear a texture
PyBullet/BulletRobotics: save all texture handles
2018-10-20 15:56:56 -07: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 9e2f6c7935 more GRPC work 2018-09-03 23:13:15 -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
mbennice 780b280181 Allow current positions for Calculate IK.
Allows the user to specify the current positions of joints when
calculating Inverse Kinematics.
2018-08-23 13:19:15 -07: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
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
Erwin Coumans c27fb4003e path -> const 2018-06-12 21:26:34 -07:00
erwincoumans a342af0382 remove getLinkState from API, it automatically calculated forwardKinematics and propagates velocities, which is very expensive. 2018-06-11 23:49:34 -07:00
erwincoumans 3eebcd40ca exposed a few more methods in the C++ b3RobotSimulatorClientAPI (_NoDirect base class) 2018-06-09 19:40:12 -07:00
erwincoumans 7ac3e263ab add saveStateToMemory/restoreStateFromMemory/setAdditionalSearchPath/getAPIVersion to Bullet Robotics API. 2018-06-09 13:54:22 -07:00
Erwin Coumans 6ca3fe18f5 fix previous commit 2018-06-06 16:33:52 -07:00
Erwin Coumans 1bcb54dc29 remove some warnings 2018-06-06 16:10:20 -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
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