Commit Graph

488 Commits

Author SHA1 Message Date
Erwin Coumans
15cda75130 add <restitution> in <contact> settings of URDF/SDF
allow 'useMaximalCoordinates' and 'useFixedBase' in pybullet.loadURDF.
enable split impulse for btRigidBody, even in btMultiBodyDynamicsWorld.
allow initialization of velocity and apply force for btRigidBody in pybullet/shared memory API.
process contact parameters in URDF also for btRigidBody (friction, restitution etc)
add pybullet.setPhysicsEngineParameter with numSolverIterations, useSplitImpulse etc.
2016-11-30 22:24:20 -08:00
Erwin Coumans
898517b1e3 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-11-29 19:14:20 -08:00
Erwin Coumans
746c4d0d2a add a tray, similar to those ones:
https://research.googleblog.com/2016/03/deep-learning-for-robots-learning-from.html

tune the VR demo a bit, to make it more user friendly.
2016-11-29 17:08:47 -08:00
yunfeibai
e8ff969a6f Merge remote-tracking branch 'upstream/master' 2016-11-29 14:17:38 -08:00
yunfeibai
0cb2b21b5f Add pybullet API for shadow. 2016-11-29 14:10:07 -08:00
yunfeibai
1fbd78ece5 Add shared memory API for setting shadow and light source distance. 2016-11-29 13:19:35 -08:00
yunfeibai
8aa90a7427 Refactor shader and render pipeline code. 2016-11-29 12:53:50 -08:00
yunfeibai
86c5dfe8f4 Fix the light color issue in box rendering example. 2016-11-29 11:43:52 -08:00
yunfeibai
5fe36ca200 Clean global variables. 2016-11-29 11:11:41 -08:00
Erwin Coumans
2d42c7963a add pybullet getBaseVelocity / resetBaseVelocity
C-API b3CreatePoseCommandSetBaseLinearVelocity/b3CreatePoseCommandSetBaseAngularVelocity
2016-11-28 15:11:34 -08:00
yunfeibai
0bc4e0a4c3 Render multiple objects with shadow. 2016-11-27 16:53:15 -08:00
yunfeibai
529274a3f4 Render shadow of torus with shadow buffer and index from triangle order. 2016-11-27 15:32:55 -08:00
yunfeibai
29809a4471 Render depth buffer. 2016-11-23 13:00:26 -08:00
yunfeibai
24b3e137a6 Render shadow with depth from light. 2016-11-21 10:21:14 -08:00
erwincoumans
24c9020aac Merge remote-tracking branch 'bp/master' 2016-11-21 07:42:33 -08:00
erwincoumans
0d5dcb3cc5 setDebugObjectColor 2016-11-21 07:42:11 -08:00
erwincoumans
1f35697152 Merge pull request #866 from erwincoumans/master
separate 'getClosestPointsAlgorithm', various pybullet improvements
2016-11-21 07:41:45 -08:00
erwincoumans
1bc427df6b fix compile issue when using VR 2016-11-20 16:22:20 -08:00
erwincoumans
f9c1e19587 revert 'addUserDebugLine/Text' to lockless rendering on main thread, at the cost of slower add/remove for now. 2016-11-20 15:38:42 -08:00
yunfeibai
93ba8af023 Add shared memory API to change light color. 2016-11-20 12:52:12 -08:00
erwincoumans
9ee1c4ec24 regular OR wireframe rendering, not both
add option to perform filtering of 'getClosestPoints' using linkA/linkB.
don't use 'realtimesimulation' as default
add/remove debug items within same thread
pybullet, report contact points and normal as [x,y,z] triplet/vector, not 3 scalars
separate 'getClosestPointsAlgorithm': box-box doesn't report closest points with positive distance, and the query shouldn't impact regular 'closesst points'
2016-11-19 17:13:56 -08:00
erwincoumans
936a104fb2 re-enable samurai.urdf loading for VR demo 2016-11-18 08:08:46 -08:00
erwincoumans
8c69fa13ca add pybullet getCameraImage, replacing renderImage, cleaner API:
always pass in width, hight and viewMatrix, projectionMatrix, optionally lightDir
added helper methods computeViewMatrix, computeViewMatrixFromYawPitchRoll, computeProjectionMatrix, computeProjectionMatrixFOV
see Bullet/examples/pybullet/testrender.py + testrender_np.py for example use
add missing base_link.stl for husky.urdf
2016-11-17 15:15:52 -08:00
erwincoumans
2329c00faa Add RtMidi for midi control, use the --midi option in premake, and see
update to OpenVR sdk 1.03 from https://github.com/ValveSoftware/openvr
add camPosX/Y/Z and camRotZ to adjust relative camera/world transform for VR (so you can align virtual table with real table etc)
tweak quadruped.py to move a bit
add mouse picking to physics server
2016-11-16 16:12:59 -08:00
erwin coumans
c0fb98861d add quadruped.py script to load and initialize the a Minitaur-like quadruped
pybullet removeConstraint, createConstraint
rename b3CreateJoint to b3InitCreateUserConstraintCommand
add int b3GetStatusUserConstraintUniqueId(b3SharedMemoryStatusHandle statusHandle);
b3SharedMemoryCommandHandle  b3InitRemoveUserConstraintCommand(b3PhysicsClientHandle physClient, int userConstraintUniqueId);
2016-11-14 14:08:05 -08:00
Erwin Coumans
c521d816c6 add user debug line/text features in pybullet + shared memory API:
addUserDebugLine,
addUserDebugText
removeUserDebugItem
removeAllUserDebugItems
2016-11-14 07:39:34 -08:00
erwin coumans
7577c6d893 add pybullet loadBullet, saveBullet (work-in-progress) and placeholder for loadMJCF. 2016-11-11 18:07:42 -08:00
erwin coumans
b150edf76b Merge remote-tracking branch 'bp/master' 2016-11-11 14:45:09 -08:00
erwin coumans
35fc8306fd pybullet load/save .bullet files 2016-11-11 14:44:50 -08:00
Erwin Coumans
3b5d0f444b various fixes
move btSimulationIslandManagerMt.cpp from BulletCollision to BulletDynamics
2016-11-10 16:18:20 -08:00
erwincoumans
fd90589cc2 disable dead code 2016-11-10 15:44:03 -08:00
erwincoumans
9b5aa9a723 pybullet getOverlappingObjects added: report all object unique ids within a world space bounding box (aabb) 2016-11-10 11:22:22 -08:00
erwincoumans
b16d9abddd center the gripper
fix collision issue, introduced in previous commit (uninitialized new variable)
2016-11-09 22:14:04 -08:00
erwincoumans
6661b8d977 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-11-09 21:01:11 -08:00
erwincoumans
0d47d61007 pybullet getClosestPoints 2016-11-09 21:01:04 -08:00
Erwin Coumans
6701947684 fix compile issues 2016-11-09 12:22:05 -08:00
Erwin Coumans
c1f728ec86 immediately propagate forward kinematics + collision world transform, after 'INIT_POSE' command 2016-11-06 15:02:07 -08:00
erwin coumans
6a0f095d5b add proper 'App_PhysicsServerUDP' without shared memory usage, and renamed previous one into 'App_PhysicsServerSharedMemoryBridgeUDP'
(premake only, no cmake build rules yet)
2016-11-06 11:01:55 -08:00
erwincoumans
0bf3a96365 Merge pull request #852 from YunfeiBai/master
Fix memory leak in IK.
2016-11-05 13:31:31 -07:00
erwincoumans
214930922d make sure m_uniqueIdGenerator in btSerializer is initialized to zero, it can cause issues if not. 2016-11-05 12:53:40 -07:00
Erwin Coumans
17f3c40317 check for basename 2016-11-04 22:30:41 -07:00
erwincoumans
6ce6157c8a fix issue in DNA copy, reduce number of test iterations. 2016-11-04 20:53:57 -07:00
Erwin Coumans
cf21da4c9d fix a few issues in UDP networking 2016-11-04 17:44:16 -07:00
erwincoumans
5d66ce20e0 network UDP: transmit structural DNA to deal with version/platform differences.
pybullet: allow to specify shared memory key and hostname/port for UDP.
2016-11-04 17:06:55 -07:00
erwincoumans
ff2738db26 Merge remote-tracking branch 'bp/master' 2016-11-04 13:16:55 -07:00
erwincoumans
e35129ceaf Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-11-04 13:16:30 -07:00
erwincoumans
9708392322 work-in-progress
add UDP network connection for physics client <-> server.
also set spinning friction in rolling friction demo (otherwise objects may keep on spinning forever)
2016-11-04 13:15:10 -07:00
yunfeibai
7bd585fa87 Fix memory leak in IK. 2016-11-04 10:47:07 -07:00
yunfeibai
ff2c79e6bc Fix a bug in softbody contact handling. 2016-11-03 12:14:39 -07:00
yunfeibai
295c1b7c88 Modify the setup for grasping bunny example. 2016-11-02 12:49:51 -07:00
yunfeibai
3c37db0804 Add API to set bunny properties. Add example to show coupling between softbody and multibody. 2016-11-01 16:45:10 -07:00
yunfeibai
9d54f0cf8d Grasp soft body with rigid fingers. 2016-11-01 15:46:09 -07:00
erwincoumans
f01389ded2 Merge pull request #842 from erwincoumans/master
added b3PhysicsParamSetInternalSimFlags command, and pybullet setInte…
2016-10-23 08:26:52 -07:00
erwincoumans
c2ca88bf44 added b3PhysicsParamSetInternalSimFlags command, and pybullet setInternalSimFlags API.
//Use at own risk: magic things may or my not happen when calling this API.

This allows to enable/disable robot assets (samurai world, gripper, KUKA robot etc) in Physics Server (and App_PhysicsServerVR etc)
1 = create robot assets
2 = create experimental box-vr-gui

Add optional command-line parameter for App_PhysicsServerVR, --norobotassets, to start with an empty world, no assets in VR (no gripper, no kuka)
2016-10-23 07:14:50 -07:00
erwincoumans
c83dde6344 Merge pull request #841 from YunfeiBai/master
Programmatic render API for changing texture in TinyRenderer.
2016-10-22 07:16:06 -07:00
yunfeibai
1b312dab3c Remove the temporary test code. 2016-10-21 12:42:42 -07:00
yunfeibai
3d79961725 Add API to change texture with object id and link index. 2016-10-21 11:55:27 -07:00
yunfeibai
4911b14271 Add loading texture API. 2016-10-20 23:40:30 -07:00
yunfeibai
05be92d006 Add API to load texture file. 2016-10-20 22:11:38 -07:00
yunfeibai
1c04da23db Change texture with loaded texture file. 2016-10-20 21:40:44 -07:00
yunfeibai
35688e4ecf Change texture for one body. 2016-10-20 14:20:09 -07:00
Erwin Coumans
0ca1cee6f0 add a few virtual destructors, remove physics client from server 2016-10-20 14:08:55 -07:00
yunfeibai
6ef96a4027 Add programmatic render API and a basic test. 2016-10-20 10:56:44 -07:00
erwin coumans
eda400d14c Merge remote-tracking branch 'bp/master' 2016-10-19 07:43:46 -07:00
erwin coumans
f97cb7002d first version of 'getVisualShapeData' to get visual shape information to allow external renderer with pybullet and shared memory robotics API
b3InitRequestVisualShapeInformation/b3GetVisualShapeInformation in shared memory API
2016-10-18 22:05:28 -07:00
yunfeibai
7630bf62d5 Add USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD option. 2016-10-18 17:38:43 -07:00
yunfeibai
e112b15281 Move btSoftMultiBodyDynamicsWorld to BulletSoftBody. 2016-10-17 23:40:38 -07:00
yunfeibai
3ffd95fbab Merge remote-tracking branch 'origin/master' 2016-10-17 13:20:31 -07:00
yunfeibai
b07df4d504 Load bunny through shared memory API and RobotSimAPI. Create grasp bunny example. 2016-10-17 13:01:04 -07:00
erwin coumans
29f3afe2a4 don't use GL_LINEAR_MIPMAP_LINEAR for shadow maps
optimize gpu upload (use glBufferSubData instead of glMapBuffer
Avoid checking char array against zero.
2016-10-14 15:06:09 -07:00
erwincoumans
1a62f21143 Merge remote-tracking branch 'bp/master' 2016-10-12 23:07:41 -07:00
erwincoumans
33d9603e16 Add rudimentary 'saveWorld' command in shared memory API and pybullet, see examples/pybullet/saveWorld.py
Use trilinear filtering instead of bilinear
2016-10-12 23:03:36 -07:00
yunfeibai
880ee097fa Simulate bunny in grasp demo and set collision margin. 2016-10-12 15:34:45 -07:00
erwincoumans
729ae8d3d6 Merge pull request #833 from matpalm/process_server_status_warning
handle CMD_CALCULATE_INVERSE_KINEMATICS_COMPLETED/FAILED in PhysicsCl…
2016-10-12 12:03:24 -07:00
yunfeibai
379f2ac933 Load bunny to to the world in the grasp demo. 2016-10-12 11:51:04 -07:00
Mat Kelcey
9387ef763d handle CMD_CALCULATE_INVERSE_KINEMATICS_COMPLETED/FAILED in PhysicsClientSharedMemory::processServerStatus 2016-10-12 10:46:07 -07:00
yunfeibai
9ab28ed466 Fix the link transform in world frame in IK. 2016-10-12 09:57:14 -07:00
erwin coumans
a6225d4cd0 add check for #dof of KUKA in VR demo
disable debug drawing again in VR demo
2016-10-09 21:48:56 -07:00
erwincoumans
bbb2fac940 App_SharedMemoryPhysics_VR: Add a command-line flag (--emptyworld) to disable the Samurai/KUKA robot creation in the VR demo, and use pybullet to populate the VR world. Note that either way, you can use pybullet to interact and control the world. 2016-10-08 18:40:09 -07:00
erwincoumans
c5d4f7b3b3 disable VSYNC for VR
clamp KUKA motor motion to be less abrupt
2016-10-08 07:51:45 -07:00
erwin coumans
4cd401212c SharedMemory API: don't enable rolling friction by default for programmatic created rigid bodies 2016-10-07 17:52:14 -07:00
erwincoumans
0aa2bbfe07 Merge pull request #817 from erwincoumans/master
avoid wavefront obj texture index out-of-bounds (most obj out-of-boun…
2016-10-05 17:28:23 -07:00
erwin coumans
d59b0f05a4 expose b3PhysicsParamSetNumSolverIterations
split Visual Studio project generation batch file in regular and VR+pybullet+double precision build.
disable KUKA iiwa joint limit hack
2016-10-05 16:31:48 -07:00
yunfeibai
0d58ebb311 Fix the desired angular velocity in IK to prevent flip motion. 2016-10-05 14:24:49 -07:00
erwin coumans
d6f449762b avoid wavefront obj texture index out-of-bounds (most obj out-of-bounds are not checked)
use second controller button
2016-10-04 08:53:59 -07:00
YunfeiBai
ebe5d9bb84 Add null space task as an option for IK in VR. 2016-09-30 16:47:33 -07:00
YunfeiBai
65091c309e Remove chess pieces. 2016-09-30 13:18:54 -07:00
YunfeiBai
8befdcba1a Modify table rendering. 2016-09-30 12:30:34 -07:00
YunfeiBai
a2dacce3d4 Move object around to reset the scene in VR. 2016-09-30 11:57:30 -07:00
erwincoumans
bcfb0aa473 enable textured table (no legs), place a few jenga/domino on table 2016-09-30 08:40:24 -07:00
yunfeibai
7e8d8b0488 Expose rest pose for null space task to API. 2016-09-30 01:03:40 -07:00
yunfeibai
1c1d3db26d An example to compare with and without null space task in IK. 2016-09-30 00:43:15 -07:00
yunfeibai
ee00696ae9 Test four IK modes: with and without orientation constraint, with and without null space task. 2016-09-30 00:15:51 -07:00
yunfeibai
fd3cb061cb Expose IK with null space task to shared memory API and RobotSimAPI. 2016-09-30 00:05:00 -07:00
yunfeibai
29f890ae10 Add desired null space velocity computation. 2016-09-29 22:45:31 -07:00
yunfeibai
0ee12475af Add matrix inverse computation in BussIK. 2016-09-29 15:45:57 -07:00
YunfeiBai
f181ea4ccd Add new gripper in VR. 2016-09-29 12:07:54 -07:00
YunfeiBai
619f0d9d13 fixes in default VR setup 2016-09-28 16:07:55 -07:00
YunfeiBai
dacca09614 Merge remote-tracking branch 'bp/master' 2016-09-28 13:54:35 -07:00
YunfeiBai
032156fbf2 Merge branch 'master' of https://github.com/bulletphysics/bullet3 2016-09-28 13:54:18 -07:00
YunfeiBai
a967163665 Add chess pieces. 2016-09-28 13:46:41 -07:00
erwin coumans
b81eb79ef5 ping-pong back/forward in PGS solving iterations to reduce bias in constraint order
add experimental rhs clamp in btMultiBodyJointMotor to control maximum error resolution.
2016-09-28 11:17:11 -07:00
YunfeiBai
a62d7957b6 Keep one r2d2. 2016-09-27 16:55:10 -07:00
YunfeiBai
51963fdea3 Merge branch 'master' of https://github.com/bulletphysics/bullet3 2016-09-27 16:51:41 -07:00
YunfeiBai
3910003e0a Add IK damping coefficient vector. 2016-09-27 16:37:49 -07:00
YunfeiBai
61fccba5be Control two orientation components for kuka. 2016-09-27 14:10:20 -07:00
erwin coumans
0936ae6600 expose getNumBodies, getBodyUniqueId, getBodyInfo (char* baseName) to shared memory API and pybullet., making it easier to serialize the state of the world. 2016-09-27 12:13:45 -07:00
YunfeiBai
2837958bca Merge remote-tracking branch 'bp/master' 2016-09-26 12:44:19 -07:00
YunfeiBai
539fe505a4 Add table and tray. 2016-09-26 11:31:30 -07:00
YunfeiBai
60d07a6f6e Kuka grasp with one motor gripper. 2016-09-25 21:13:31 -07:00
YunfeiBai
b803f4e7cf Attach gripper to kuka arm. 2016-09-25 16:05:53 -07:00
YunfeiBai
c0029135d8 Test IK in VR. 2016-09-25 14:24:28 -07:00
erwincoumans
f5e65197f4 fix pybullet.c compilation for Windows
add lego.urdf, duck.urdf (optimized using VHACD convex decomposition)
optimize Kiva shelf collision model (by hand, using boxes/Blender)
physics timescale toggle between  1 -> 0,25 -> 0
2016-09-24 11:25:05 -07:00
erwincoumans
fe6c8775da fix uninitialized variable in btMultiBody
use btAssert to detect 0 determinant in btMatrix3x3 inverse
Remove obsolete comment in PosixSharedMemory, the Windows shared memory implementation was done over a year ago
2016-09-23 21:59:38 -07:00
erwincoumans
666c8f47b7 Merge pull request #800 from bulletphysics/iktest
Iktest
2016-09-23 07:40:09 -07:00
erwincoumans
b6bb937dc0 URDF: don't parse joint limit for continuous joints
tweak KUKA iiwa inverse kinematics test in physics server
2016-09-22 23:21:24 -07:00
erwin coumans
e356f4f1f6 add test end-effector for Kuka iiwa (IK) 2016-09-22 19:48:26 -07:00
erwin coumans
310a330572 fix InverseKinematics+API for a case without tree (custom build Jacobian) 2016-09-22 13:27:09 -07:00
erwincoumans
46b32f17bb Add small sphere, make teddy small too
Add physics time scale in VR mode
Fix compound collision margin in physics server
Enable visuals for rigid body (non-multi-body) URDF/SDF loading in physics server.
2016-09-22 08:50:28 -07:00
yunfeibai
27fab2adb5 Create a demo for one motor gripper grasp. 2016-09-21 12:08:03 -07:00
erwincoumans
b8541cf721 Merge pull request #796 from erwincoumans/master
decrease some gjk/epa tolerance to improve collision detection using …
2016-09-20 17:51:49 -07:00
erwincoumans
cca2236f1a Merge pull request #795 from YunfeiBai/master
Inverse kinematics with orientation constraint.
2016-09-20 17:49:35 -07:00
erwin coumans
0a628f06cc decrease some gjk/epa tolerance to improve collision detection using very small collision margins (0.001/1mm)
tweak pr2 gripper.
2016-09-20 12:37:13 -07:00
yunfeibai
cbda64c5e7 Update theta dot for velocity IK. 2016-09-20 10:24:48 -07:00
yunfeibai
bf16c87987 Add orientation constraint to IK. 2016-09-19 17:04:05 -07:00
erwin coumans
3eb149ca75 Merge branch 'master' of https://github.com/erwincoumans/bullet3
# Conflicts:
#	examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2016-09-19 14:33:55 -07:00
erwin coumans
a3aa8ef7f1 tune gripper parameters for VR demo 2016-09-19 14:31:47 -07:00
Erwin Coumans
e488c72496 fix build issue 2016-09-19 10:19:51 -07:00
erwin coumans
db3122233f remove that odd triangle in the origin of samurai castle (VR)
add rolling/spinning friction to cube, remove it from plane/samurai.urdf
URDF2Bullet: support joint limits for revolute and prismatic, only if defined (if upper < lower, disable limit)
add some profiling markers to improve performance
2016-09-19 07:02:43 -07:00
Erwin Coumans
8355f09b21 delete -> free due to the use of stb_image.h (which uses malloc) 2016-09-16 16:25:13 -07:00
Erwin Coumans
567b003654 separate spinning and rolling friction coefficients, exposed in URDF as spinning_friction / m_rolling_friction
improvements in VR demo, add grasper etc.
2016-09-16 00:57:00 +01:00
Erwin Coumans
4d6a95017e default contact erp (m_erp2) was too low in physics server
causing gripper to penetrate box
2016-09-15 23:11:27 +01:00
Erwin Coumans
5e09b17baf experimental Inverse Kinematics for KUKA iiwa exposed in
shared memory api and pybullet. Will be extended for arbitrary bodies
and with target orientation (besides target position)
2016-09-13 23:37:46 +01:00
erwincoumans
e5a8eb2425 rolling friction -> combine using rolling*normal friction, add for both objects.
rolling friction -> only along the normal, until we have separate rolling friction coefficients on normal and non-normal directions
Don't teleport with grasping controller (VR)
Tune VR grasping a bit.
2016-09-12 19:10:20 +01:00
yunfeibai
ae2d256f57 Merge remote-tracking branch 'upstream/master' 2016-09-11 04:17:05 -07:00
yunfeibai
c952c50ad9 Merge remote-tracking branch 'upstream/master' 2016-09-11 04:11:51 -07:00
Erwin Coumans
7df9b69039 pybullet: add option to use NumPy to speed up, thanks to moof2k
option is disabled by default. When using cmake, use
cmake -DBUILD_PYBULLET=ON -DBUILD_PYBULLET_NUMPY=ON
then both testrender.py and testrender_np.py will work
without numpy only testrender.py works.
The numpy.reshape is likely a no-op when using numpy array,
so we could remove testrender_np.py...

See https://github.com/bulletphysics/bullet3/pull/774
2016-09-11 11:35:12 +01:00
Erwin Coumans
e921f1b9b7 remove duplicate definitions of SHARED_MEMORY_MAX_STREAM_CHUNK_SIZE 2016-09-11 08:40:58 +01:00
erwin coumans
c5d775a635 disable real-time by default 2016-09-09 14:41:23 -07:00
erwin coumans
3c706306cd add experimental pr2-gripper support in VR physics server
add setErp to btMultiBodyJointMotor
2016-09-09 14:30:37 -07:00
erwin coumans
f72982306e fix issues with VR physics server 2016-09-09 11:28:38 -07:00
erwin coumans
32eccdff61 Create project file for BussIK inverse kinematics library (premake, cmake)
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07:00
yunfeibai
f635c64205 Expose Jacobian computation to RobotSimAPI. 2016-09-07 17:37:38 -07:00
yunfeibai
c198029cb9 Expose body Jacobian in shared memory API. 2016-09-07 16:00:38 -07:00
erwin coumans
de5d1b5cfc make husky wheels soft/compliant
reduce shadow size to make VR on older GPU (Mac Pro 2013) perform more smooth
less sleep in physics thread.
2016-09-03 08:39:40 -07:00
Erwin Coumans
e98fca1e5e implement pybullet.getContactPointData(), two optional object unique ids as filter
returns a pylist of contact points. Each point has the following data:

	0     int m_contactFlags;//unused for now
         1     int m_bodyUniqueIdA;
         2     int m_bodyUniqueIdB;
         3     int m_linkIndexA;
         4     int m_linkIndexB;
         5-6-7     double m_positionOnAInWS[3];//contact point location on object A, in world space coordinates
         8-9-10     double m_positionOnBInWS[3];//contact point location on object A, in world space coordinates
         11-12-13     double m_contactNormalOnBInWS[3];//the separating contact normal, pointing from object B towards object A
         14     double m_contactDistance;//negative number is penetration, positive is distance.

         15    double m_normalForce;
2016-09-01 18:28:39 -07:00
erwincoumans
fe46ee8adf Merge branch 'master' of https://github.com/erwincoumans/bullet3
Conflicts:
	examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2016-09-01 13:32:07 -07:00
erwincoumans
85fd7f560c add first draft of contact point query in shared memory API
b3SharedMemoryCommandHandle b3InitRequestContactPointInformation(b3PhysicsClientHandle physClient);
void b3SetContactFilterBodyA(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdA);
void b3SetContactFilterBodyB(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdB);
void b3GetContactPointInformation(b3PhysicsClientHandle physClient, struct b3ContactInformation* contactPointData);
Implemented for PhysicsClientSharedMemory, not for PhysicsDirect yet.
Add btCollisionObject::setUserIndex2
2016-09-01 13:30:07 -07:00
Jeffrey Bingham
1c65cae6d0 [SharedMemory] Calculate inverse dynamics now uses world gravity.
Small change that takes the world gravity and applies it to the
body during the call to inverse dynamics in the shared memory
interface. Otherwise the gravity vector is left at the default
value and there is currently no interface to set the gravity
for the inverse dynamics system.
2016-09-01 10:46:34 -07:00
Erwin Coumans
e6865a1186 Merge remote-tracking branch 'bp/master' 2016-08-30 14:44:35 -07:00
Erwin Coumans
a30ff20e6b preparation for KUKA IK tracking example 2016-08-30 14:44:11 -07:00
Logan Su
f86ce4d44b Add flags to load inertia values from URDF. 2016-08-29 15:09:18 -07:00
erwin coumans
4094b9f0df Disable 'm_robotSim.setNumSimulationSubSteps' because it is not needed at the moment
Fix issue in contact/friction between btMultibody and btRigidBody (external force/torque of btRigidBody was not taken into account during contact/friction setup)
Allow 0.1 mm slop in contact, to avoid loosing contact. Todo: allow contacts with positive distance in multibody solver.
2016-08-27 13:44:18 -07:00
yunfeibai
5b9b5178f9 Expose slider constraint in RobotSimAPI. 2016-08-26 10:35:10 -07:00
yunfeibai
758ca025d5 Set physics clock subdivider. 2016-08-24 14:25:06 -07:00
yunfeibai
3b25489d89 Further fix for integration test. 2016-08-24 12:44:24 -07:00
yunfeibai
ecbf94abaa Fix issues in build test. 2016-08-24 11:31:08 -07:00
yunfeibai
d46710e447 Expose fixed constraint in RobotSimAPI. 2016-08-22 18:14:29 -07:00
YunfeiBai
6751648bce add some micro-sleep to prevent 100% CPU/memory bus hogging, preventing the graphics thread from making progress.
debug draw color black for contact normal
move debug draw option for constraint frames into 'k' key.
2016-08-19 13:58:53 -07:00
erwin coumans
62d5b7c5c0 add single step simulation, using 'o' key. use 'i' key to suspend simulation first
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwin coumans
a68c9ca845 avoid MT crash in VR/physics server due to printf from separate thread.
add fps display in VR
use 1./240. internal substep for real-time physics sim in VR/physics server for more accurate robotics sim.
2016-08-18 21:43:43 -07:00
Erwin Coumans
91839cb274 revert change of default position control in shared memory api/pybullet 2016-08-18 16:48:14 -07:00
erwin coumans
2c636b52f7 bugfix: in torque control mode, torque index starts at 6. 2016-08-18 15:36:18 -07:00
erwin coumans
5b0253ed47 Remove undesired assert, it makes pybullet mistakes fail in c++
Shared memory api/pybullet: by default, set joint motors in position PD mode with target 0, to maintain 0 joint angle.
pybullet: allow setJointControlMode(body, link, POSITION_CONTROL,targetPos etc.
2016-08-18 13:10:28 -07:00
erwin coumans
6005e54aa1 Fix some inconsistencies in URDF file handling between btRigidBody and btMultiBody
(rotation order and application of root-inertial-frame offset)
2016-08-18 09:44:33 -07:00
Erwin Coumans
17c16ccfa0 pybullet, deal with overflow of joints (maximum of 128 joints/links per multibody at the moment)
increase from 64 to 128 joints in shared memory API/pybullet
fix potential issue in tinyrenderer, related to missing segmentation mask buffer
report error if CMD_REQUEST_ACTUAL_STATE command on a multibody that exceed the number of links,
todo: stream data to allow arbitrary large number of links in shared memory API
2016-08-17 19:35:52 -07:00
Erwin Coumans
7c9441c3f5 by default, have a strong force keep the robot together, instead of floppy joints. 2016-08-17 10:30:50 -07:00
yunfeibai
591f922d97 Support loading Urdf as btRigidBody with RobotSimAPI. Loading Sdf as btRigidBody is work in progress. 2016-08-16 17:56:30 -07:00
yunfeibai
4bc31394a0 Allow choosing loaded as btRigidBody with RobotSimAPI. 2016-08-16 16:57:48 -07:00
erwin coumans
3bdcf23a05 Add sleep to avoid 100% busy CPU loop in PhysicsServerExample
Added btClock::usleep
Fix broken TinyRenderer example code.
2016-08-13 12:21:18 -07:00
Erwin Coumans
ceceaa16be make some changes to make the previous example code changes backward compatible 2016-08-12 14:18:46 -07:00
Erwin Coumans
c75bebcafe revert accidently renaming of m_depthvalues4 2016-08-12 13:55:37 -07:00
Erwin Coumans
3c30e2f821 add segmentation mask rendering to TinyRenderer and shared memory API
similar to the zbuffer, but storing the object index (int) instead of float depth
2016-08-11 14:55:30 -07:00
Erwin Coumans
f416644481 set the camera, even in multi-threaded mode 2016-08-11 11:20:31 -07:00
erwin coumans
a9b1544a9f Add premake support to build pybullet, Windows and Linux tested, will enable Mac in next commit.
Expose inverse dynamics to Bullet shared memory API, through b3CalculateInverseDynamicsCommandInit and
b3GetStatusInverseDynamicsJointForces command/status. See PhysicsClientExeample or pybullet for usage.
Add option for Windows and Linux to set python_lib_dir and python_include_dir for premake and --enable_pybullet option
Expose inverse dynamics to pybullet: [force] = p.calculateInverseDynamics(objectIndex,[q],[qdot],[acc])
Thanks to Jeff Bingham for the suggestion.
2016-08-09 18:40:12 -07:00
Erwin Coumans
b880ddf76b add pybullet render API with yaw/pitch/roll option
add testrender.py file
allow option to enable OpenGL hardware renderer in multithreaded sim

b3RequestCameraImageSelectRenderer(commandHandle,ER_BULLET_HARDWARE_OPENGL);
2016-08-08 14:23:44 -07:00
Erwin Coumans
f304fd7611 add one more pybullet renderImage API and testrender.py example
tweak Bullet Inverse Dynamics, work-around compiler issue
2016-08-02 11:12:23 -07:00
Erwin Coumans
93db3d7ba6 fix CMD_INIT_POSE+INIT_POSE_HAS_INITIAL_ORIENTATION,
setWorldToBaseRot takes inverse orientation (need to remove that API!)
2016-08-02 09:30:33 -07:00
Erwin Coumans
ab86b66e92 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-25 17:22:14 -07:00
Erwin Coumans
6b0ceace7f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-25 11:49:56 -07:00
Erwin Coumans
a6216f4f24 add robotics learning grasp contact example
add wsg50 gripper with modified r2d2 gripper tip
expose a fudge factor to scale inertia, to make grasping more stable
(until we have better grasping contact model/implementation)
2016-07-25 11:48:44 -07:00
erwin coumans
75e86051c2 Add inverse kinematics example with implementations by Sam Buss.
Uses Kuka IIWA model description and 4 methods:
Selectively Damped Least Squares,Damped Least Squares,
Jacobi Transpose, Jacobi Pseudo Inverse
Tweak some PD values in Inverse Dynamics example and Robot example.
2016-07-24 22:22:42 -07:00
erwincoumans
e55628c7ac Merge pull request #708 from matpalm/paramNameFix
GetJointInfo used linkIndex param, switched to jointIndex for naming consistency
2016-07-21 17:02:55 -07:00
Mat Kelcey
51ec707230 fix GetJointInfo to use a param called jointIndex (not linkIndex) for naming consistency 2016-07-20 11:01:02 -07:00
erwin coumans
2302709e2d OpenVR support: track multiple controllers and buttons 2016-07-18 23:13:46 -07:00
erwin coumans
c28cd03fbd OpenVR controller can pick/drag objects. Instructions, Windows only:
Compile using premake+visual studio, and compile App_SharedMemoryPhysics_VR
Compile pybullet using cmake using cmake -DBUILD_PYBULLET=OFF -DCMAKE_BUILD_TYPE=Release ..
Create a symbolic link from c:\python\dlls\pybullet.pyd to C:\develop\bullet3\cmp\lib\Release\pybullet.dll
App_SharedMemoryPhysics_VR
Run Python. Here are some Python lines to get going:
import pybullet as p
p.connect(p.SHARED_MEMORY)
p.loadURDF("cube.urdf")
p.setGravity(0,0,-10)
p.setRealTimeSimulation(1)

Allow real-time simulation in physics server, add pybullet command setRealTimeSimulation to control it
Mesh decimation (reduce number of triangles/vertices) using a Blender modifier for Kuka IIWA and Husky
Disabled the 'glFlush' commands in GLInstancingRenderer.
Add VR controller methods to examples\CommonInterfaces\CommonExampleInterface.h
Use the ANSI version in Windows file/string operations instead of unicode, hope this doesn't break builds.
2016-07-17 23:50:11 -07:00
Erwin Coumans
c54a61b97a More example code is memory-leak free now, in particular PhysicsServerExample.
/PhysicsServerCommandProcessor
also fixed some memory issue in InverseDynamicsExample (the base class is supposed to delete collision shape memory)
2016-07-16 21:29:31 -07:00
Erwin Coumans
589fa376b3 only add compound child shapes to 'allocated' list once 2016-07-16 17:58:06 -07:00
erwincoumans
824c721710 Merge pull request #699 from erwincoumans/master
Add kiva_shelf to prepare for picking/grasping task
2016-07-14 10:51:34 -07:00
erwin coumans
4a705d1e03 Add kiva_shelf to prepare for picking/grasping task
Fix uninitialized variable jointDamping/jointFriction in SDF importer
Add SDF <pose> parsing in visual, inertial, collision elements.
Slight improvement in TinyRender loading performance of largish meshes (30k vertices)
Reduce #define MAX_SDF_BODIES to 500, due to some issue in client code, todo: figure out what the issue is.
b3RobotSimAPI support SDF file loading
Tiny improvement in OpenGL hardware renderer lighting, to distinguish faces without textures
2016-07-14 00:05:57 -07:00
erwincoumans
31e7f2e309 Merge pull request #697 from matpalm/addFovToRenderImage
pybullet renderimage with projection matrix calculated using field of view
2016-07-13 18:46:42 -07:00
erwincoumans
6c856d9fa3 Merge pull request #694 from matpalm/flipDepthImage
fix for vertically flipped depth buffer in TinyRenderer::render
2016-07-13 15:56:33 -07:00
Erwin Coumans
10cc6f14cb add option to use hardware OpenGL renderer for synthetic camera 2016-07-12 18:16:13 -07:00
Mat Kelcey
048c01d7c4 Merge branch 'master' of git://github.com/bulletphysics/bullet3 into addFovToRenderImage 2016-07-12 13:52:25 -07:00
Mat Kelcey
ad18cbafe8 Merge branch 'master' of git://github.com/bulletphysics/bullet3 into flipDepthImage 2016-07-12 13:51:48 -07:00
Mat Kelcey
2466dc155d fix for vertically flipped depth buffer in TinyRendererVisualShapeConverter::render 2016-07-12 13:46:48 -07:00
erwin coumans
7633cfb800 prepare robotics learning examples, see examples/RoboticsLearning/b3RobotSimAPI.h
prepare compliant contact work, urdf loading of parameters (see data/cube.urdf)
2016-07-11 00:26:40 -07:00
erwin coumans
02582e3a78 shrink down cube size of BasicDemo 10 times (it looked ginormous in VR) from 2x2x2 meter to 0.2
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687)
2016-07-09 15:09:09 -07:00
Mat Kelcey
54979a0f89 pybullet renderimage with projection matrix calculated using field of view 2016-07-08 15:47:50 -07:00
erwin coumans
60d2b99151 Physics runs in a separate thread from rendering in PhysicsServerExample (preliminary)
Improve rendering performance. OpenVR experience is smooth now.
commit needs a bit more testing before pushing in main repo.
2016-07-07 19:24:44 -07:00