Commit Graph

249 Commits

Author SHA1 Message Date
Erwin Coumans
439e8c84cf add new .obj files for kuka_iiwa/model.urdf 2017-05-31 21:43:09 -07:00
Erwin Coumans
3157093125 Implemented specular reflective lighting for OpenGL 3.x, everything looks shiny (will add APIs to make it less shiny ;-)
Remove roof from kitchens/1.sdf, otherwise shadows and shinyness won't work (light is outside the room, bouncing against roof-top)
Make kuka_iiwa/model.urdf more smooth, use .obj for per-vertex normals (using Blender, import STL, export OBJ, enable triangles, normals and Z-UP, Y forward)
2017-05-31 20:32:45 -07:00
erwincoumans
5436b8f048 print better error warning, in case the physics client/server version mismatch.
fix in b3HashString
remove many unused dependencies from kuka_grasp_block_playback.py (time,math, datetime ,numpy,pylab ,sys, os, fnmatch,argparse were not used!)
move block_grasp_log.bin from Bullet3/data to Bullet3/examples/pybullet/examples/data folder.
PhysicsServerCommandProcessor, derive from CommandProcessorInterface to prepare for different back-end implementation
2017-05-28 17:05:18 -07:00
Erwin Coumans
b645963879 expose pybullet changeDynamics(spinningFriction=..., rollingFriction=..., restitution=...)
Bullet C-API b3ChangeDynamicsInfoSetSpinningFriction/RollingFriction/Resitution
b3PhysicsParamSetRestitutionVelocityThreshold, / pybullet.setPhysicsEngineParameter restitutionVelocityThreshold:
if the velocity is below this threshhold, the restitution is zero (this prevents energy buildup at near-resting state)
pybullet restitution.py example.
2017-05-26 18:14:38 -07:00
Erwin Coumans
9f7d7fecd5 more rendering fixes 2017-05-23 23:34:55 -07:00
yunfeibai
d383799d97 Merge remote-tracking branch 'upstream/master' 2017-05-22 22:23:55 -07:00
yunfeibai
3eb974f66f Add kuka grasping block playback. 2017-05-22 22:23:01 -07:00
Erwin Coumans
fd40ba424b test for knee joint limits under position control 2017-05-21 11:00:15 -07:00
Erwin Coumans
79e2c10506 add second humanoid_running_3.py example with 3 humanoids, for testing. Created a humanoid_symmetric_no_ground.xml and ground.xml:
if the ground is duplicated, simulation is unstable (too many contacts in the same area?)
2017-05-12 17:17:27 -07:00
yunfeibai
cfb8316297 Add an example to decode the packed button events from vr log. 2017-05-10 15:07:49 -07:00
Erwin Coumans
385156cbc5 add simple humanoid_benchmark.py and mjcf file 2017-05-05 17:24:35 -07:00
Erwin Coumans
61999ef789 b3ResizablePool: only remove a handle, if it is currently in-use
also remove user constraints, if removing a body
2017-05-04 13:14:24 -07:00
Erwin Coumans
eb7cf38293 Add option to --useKitchen=1 to VRGloveSimulatorMain 2017-05-02 22:33:42 -07:00
Erwin Coumans
07992fe61d Improve MJCF import, to allow reading of friction parameters, including spinning and rolling friction, with some rudimentary 'default class' support.
Tweak VRGloveSimulatorMain to work better with MPL/mpl2.xml hand.
2017-05-02 18:05:36 -07:00
Erwin Coumans
af6bf8ddc8 plumb URDF/SDF audio_source into PhysicsServerCommandProcessor, allow to play sounds on collision !
See also https://youtu.be/eppOjTfx5Jg for a first test, and this modified URDF how to add sounds:
https://github.com/bulletphysics/bullet3/blob/master/data/plane_with_collision_audio.urdf
Add the --audio flag to enable sound in pybullet/Bullet-C-API
2017-05-01 11:14:09 -07:00
Erwin Coumans
2a2c18e959 add more tinyaudio preparation, some test wav files, play sound on collision events. Will expose this in the C-API to pick wav files and collision threshold levels etc. Use the premake --audio flag to try it out. The TinyAudio example in the ExampleBrowser works on Mac, Linux and Windows, you can play notes by pressing keys. 2017-04-29 10:32:30 -07:00
Erwin Coumans
dfc1800065 remove the goto's from the source code (came from http://github.com/thestk/stk toolkit)
add test wav file
2017-04-27 08:39:57 -07:00
erwincoumans
0f2771b1d1 Merge pull request #1059 from jietan/pullRequest
make the URDF and the minitaur.py consistent with the real robot
2017-04-06 04:57:26 +00:00
Erwin Coumans
e32debdca4 improvements in MJCF importer: fix capsule shape inertia (for fromto definition)
add cylinder support
don't crash when no "quat" is provided
inertia fix in btMinkowskiSumShape (based on AABB)
2017-04-05 12:22:38 -07:00
Jie Tan
1cd513024a make the URDF and the minitaur.py consistent with the real robot 2017-04-05 11:54:54 -07:00
yunfeibai
66a8685816 Merge remote-tracking branch 'upstream/master' 2017-03-29 15:06:15 -07:00
Erwin Coumans
544f289b24 better pr2_gripper collision model 2017-03-23 15:31:17 -07:00
yunfeibai
d717b1db84 Add the API to get the body name and pybullet example call. 2017-03-23 13:54:44 -07:00
Erwin Coumans
f498670798 :%s/STL/stl/g for Bullet/data/MPL/MPL.xml 2017-03-21 18:10:50 -07:00
erwincoumans
a30b887595 Merge pull request #1025 from olegklimov/master
URDF loader improvement 2
2017-03-21 17:12:22 -07:00
erwincoumans
cb08d077f0 Merge pull request #1030 from erwincoumans/master
friction anchors, arm64 premake
2017-03-20 11:48:44 -07:00
Erwin Coumans
0b017b0f53 fix issue with btMultiBody friction in combination with soft contacts (friction should not re-use normal contact cfm/erp)
implement friction anchors, position friction correction, disabled by default. Use colObj->setCollisionFlag(flag | CF_HAS_FRICTION_ANCHOR); See test/RobotClientAPI/SlopeFrictionMain.cpp. In URDF or SDF, add <friction_anchor/> in <contact> section of <link> to enable.
PhysicsServer: properly restore old activation state after releasing picked object
btMultiBodyConstraintSolver: disable flip/flop of contact/friction constraint solving by default (it breaks some internal flaky unit tests)
2017-03-20 10:58:07 -07:00
yunfeibai
753f1d3d2f Add lateral and spinning friction coefficients to gripper sdf model. 2017-03-20 10:16:15 -07:00
Oleg Klimov
fa7397cc92 Rename *.STL to *.stl for case-sensitive filesystems 2017-03-17 02:11:47 +03:00
Erwin Coumans
4db6fa9e29 update minitaur.py to use minitaur.urdf (instead of quadruped.urdf), also sort the legs in the same order as real hardware
added test urdf files for minitaur with all fixed joints, or fixed knees.
added some stiffness/damping to minitaur legs (testing)
tiny_obj_loader, don't crash on invalid texture coordinates
btMultiBodyConstraintSolver: sweep back and forward to reduce asymmetry
2017-03-15 15:38:50 -07:00
Erwin Coumans
a613911c84 Merge remote-tracking branch 'bp/master' 2017-03-15 11:05:16 -07:00
erwincoumans
f67299de8e Merge pull request #1020 from jietan/pullRequest
add cartpole urdf
2017-03-14 17:06:10 -07:00
Erwin Coumans
6e2850e08a fix names (case) for Linux for MPL/hand 2017-03-14 17:03:11 -07:00
Jie Tan
f90986d6f0 add cartpole urdf 2017-03-14 15:04:43 -07:00
Mohi
43b0a8b6fb Fixing a bug on Visualizer Camera and a few more
- resetDebugVisualizerCamera now accepts negative values for pitch and
yaw angles

- Defining kitchen model to be concave, so as to be able to put floating
objects inside

- Fixed an indention error in testrender_np.py
2017-03-13 10:41:54 -07:00
Erwin Coumans
af295b6eed optimize hand (hand.py, vrhand.py) MPL.xml STL meshes for better collision detection performance (using Blender decimation tool) 2017-03-07 19:07:45 -08:00
erwincoumans
00361afea5 allow user to specify the maximum number of dofs to log in GenericRobotStateLogger (default = 12)
add minitaur quadruped playback of minitaur log files (real robot and simulated create the same log files)
add improved minitaur.urdf file, see https://youtu.be/lv7lybtOzeo for a preview.
2017-03-05 21:49:20 -08:00
Erwin Coumans
34fc2fb589 create premake/cmake file for Bullet/Extras/obj2sdf
add missing 1.sdf for Bullet/data/kitchens/1.sdf
add support for getting keyboard events (pybullet.getKeyboardEvents and b3RobotSimulatorClientAPI::getKeyboardEvents)
2017-03-02 12:33:22 -08:00
Erwin Coumans
2eb019cdc3 Created Wavefront obj to sdf converter, to make it easier to import complex obj models with many materials. See kitchen for example.
Fix in tinyobj, make sure material is initialized
Add fatihrmutfak kitchen model, for Virtual Reality and some research
2017-03-01 10:06:10 -08:00
Jie Tan
83e5e816f5 Merge remote-tracking branch 'bp/master' into pullRequest 2017-02-16 15:13:12 -08:00
Erwin Coumans
65deeee64b add optimized tray/traybox.urdf 2017-02-16 14:29:51 -08:00
Erwin Coumans
63486a712c VR video recording, use command-line --mp4=videoname.mp4
tune gripper grasp example with tefal pan, 800Newton force.
URDF importer: if using single transform 1 child shape, don't use compound shape.
if renderGUI is false, don't intercept mouse clicks
add manyspheres.py example (performance is pretty bad, will look into it)
[pybullet] expose contactBreakingThreshold
2017-02-16 14:19:09 -08:00
Erwin Coumans
08b83c3cd8 Merge remote-tracking branch 'bp/master' 2017-02-16 13:41:12 -08:00
Jie Tan
4df8b27626 make the motorId corresponds to that of the real minitaur. change the mass of the quadruped.urdf, change the friction of plane.urdf. 2017-02-08 17:26:36 -08:00
Erwin Coumans
d0fa10db63 add spinning_friction to sphere2_rolling_friction.urd 2017-01-31 12:01:10 -08:00
erwincoumans
7e59cecd13 removed some link from MJCF hand, the parser doesn't handle that root link properly (yet) 2017-01-26 17:52:12 -08:00
Erwin Coumans
76dcf3a751 remove the contype=0 in inverted_pendulum.xml, so we can 'mouse-pick' the pendulum.
[mjcf importer] add rudimentary support for inertial frame computation, for 'fromto' capsules.
2017-01-24 21:10:21 -08:00
Erwin Coumans
d465e1eea5 add capsule support in urdf parser (non-standard extension), capsule.urdf
fix btCapsuleShape (X,Y,Z) margin issue
fix uninitialized variables in TinyRenderer: m_hasLightDistance, m_hasLightAmbientCoeff, m_hasLightDiffuseCoeff, m_hasLightSpecularCoeff
pybullet/shared memory API 'getClosestPoints' / b3InitClosestDistanceQuery, only report contacts equal/smaller distance than given
2017-01-23 16:45:18 -08:00
Erwin Coumans
64957ece9f add hand.py/hand.ino used to create this VR glove, using MuJoCo Haptix MPL hand (Apache 2 license)
https://www.youtube.com/watch?v=VMJyZtHQL50
added b3InitSyncBodyInfoCommand, to retrieve body info, when connecting to a server with existing bodies
pybullet will call this b3InitSyncBodyInfoCommand automatically after connecting
Avoid overriding the py.setVRCameraState setting in VR
2017-01-20 18:13:24 -08:00
Erwin Coumans
52761f5578 [pybullet] implement addUserDebugParameter / readUserDebugParameter
fix inertial frame for door.urdf
allow picking of links of multi-bodies with a fixed base
2017-01-17 15:42:32 -08:00
Erwin Coumans
c0c4c8ba3f fix many warnings
remove btMultiSapBroadphase.*
make collisionFilterGroup/collisionFilterMark int (instead of short int)
2017-01-15 22:26:11 -08:00
Erwin Coumans
310fabcd7e Further improvements in Bullet MuJoCo MJCF import:
[MJCF import] improved humanoid.xml, inverted_pendulum.xml import (automatically add dummy-links to connect multiple joints between bodies)
[MJCF import] fix bug in quaternion conversion (w,x,y,z) -> (x,y,z,w)
2017-01-15 11:22:24 -08:00
Erwin Coumans
fdd517e00f First step towards a MuJoCo MJCF importer for Bullet. It can load the humanoid.xml, ant.xml and some other OpenAI GYM asset files. Not all fields are converted, so it is work-in-progress. This is useful for Reinforcement Learning experiments, and would also help integration with DeepMind Lab. 2016-12-30 18:32:57 -08:00
Erwin Coumans
17570c4700 tweak color of quadruped robot URDF, tweak quadruped.py script to make it more compatible with VR demo
allow VR physics server to run with or without 'realTimeSimulation'
2016-12-11 09:28:36 -08:00
erwincoumans
61cfa18923 save default VR camera tuning, requires MIDI controller
tweak some values in VR demo
2016-12-02 17:44:00 -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
0bc4e0a4c3 Render multiple objects with shadow. 2016-11-27 16:53:15 -08:00
yunfeibai
583dc1cac7 Add torus. 2016-11-27 15:34:01 -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
Erwin Coumans
ee7a5a470f tweak quadruped script to make a few more moves 2016-11-16 21:36:51 -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
d0cbfc5905 add humanoid/nao.urdf (BSD license) 2016-11-14 14:09:57 -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
erwincoumans
9bad64fed9 allow obsolete OpenGL2 drawer to render with z-up axis. 2016-11-12 11:59:40 -08:00
erwincoumans
0d47d61007 pybullet getClosestPoints 2016-11-09 21:01:04 -08:00
erwincoumans
502f4b7d40 update .bullet file 2016-11-05 11:32:31 -07:00
yunfeibai
b7482c1142 Add model file for kuka with free base. 2016-11-03 09:54:56 -07:00
yunfeibai
9d54f0cf8d Grasp soft body with rigid fingers. 2016-11-01 15:46:09 -07:00
erwin coumans
24593ed11a fix r2d2.urdf and avoid self-penetrating limbs 2016-10-19 16:21:33 -07:00
erwin coumans
eda400d14c Merge remote-tracking branch 'bp/master' 2016-10-19 07:43:46 -07:00
erwin coumans
d1ab6c144b change some defaults in MultiBody example, a slider constraint without limits is a bad idea 2016-10-16 11:52:38 -07:00
yunfeibai
880ee097fa Simulate bunny in grasp demo and set collision margin. 2016-10-12 15:34:45 -07:00
yunfeibai
379f2ac933 Load bunny to to the world in the grasp demo. 2016-10-12 11:51:04 -07:00
erwincoumans
d853500997 add kuka iiwa with different limits (experiment with inverse kinematics null space) 2016-10-09 21:16:01 -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
ebe5d9bb84 Add null space task as an option for IK in VR. 2016-09-30 16:47:33 -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
032ffe427e jenga brick was way too heavy 2016-09-29 22:03:29 -07:00
erwincoumans
d8c54e3e31 no spinning friction for jenga block 2016-09-29 21:51:28 -07:00
erwincoumans
a1fa2b8056 add a basic table top (no legs yet) 2016-09-29 21:45:39 -07:00
yunfeibai
dd10dd6a3f Add a new one motor gripper to use Featherstone for slider and constraint for revolute joint. 2016-09-29 12:07:00 -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
51963fdea3 Merge branch 'master' of https://github.com/bulletphysics/bullet3 2016-09-27 16:51:41 -07:00
YunfeiBai
7101cf013e Remove unused model. 2016-09-27 16:41:02 -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
YunfeiBai
539fe505a4 Add table and tray. 2016-09-26 11:31:30 -07:00
Erwin Coumans
96c1ee4256 revert default contact 'erp' (error-reduction-parameter) from 0.8 to 0.2
as it used to be.
2016-09-26 07:55: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
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
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