Commit Graph

1232 Commits

Author SHA1 Message Date
Erwin Coumans
7003401605 use DIRECT mode for benchmark 2017-05-05 17:57:07 -07:00
Erwin Coumans
3849612403 pybullet benchmark: make some parameters explicit 2017-05-05 17:42:43 -07:00
Erwin Coumans
385156cbc5 add simple humanoid_benchmark.py and mjcf file 2017-05-05 17:24:35 -07:00
Erwin Coumans
09caa599ff avoid an assert when removing a non-existing graphics index in debug mode 2017-05-05 10:38:16 -07:00
Erwin Coumans
1e443edc55 minor change in API for CommonGUIHelperInterface 2017-05-05 07:48:05 -07:00
Erwin Coumans
cb1f5c74ea add missing files to projects 2017-05-04 18:04:32 -07:00
Erwin Coumans
1f64a87abe Improve ChromeTraceUtil logging, allow filename to be specified.
Expose this ChromeTraceUtil  logging to C-API: start/statelogging and submitProfileTiming
pybullet.submitProfileTiming, and STATE_LOGGING_PROFILE_TIMINGS used in startStateLogging
added example for Python profileTiming.py and C++ b3RobotSimulatorClientAPI::submitProfileTiming
2017-05-04 17:51:40 -07:00
Erwin Coumans
a8bf53b494 fix error, m_userConstraintUIDGenerator should be m_data->m_userConstraintUIDGenerator 2017-05-04 13:52:02 -07:00
Erwin Coumans
7bf125e460 reset the m_userConstraintUIDGenerator to 1 after 'resetSimulation' 2017-05-04 13:28:09 -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
fac3d6e3ca fix some compile errors after merge 2017-05-04 11:08:59 -07:00
Erwin Coumans
a7d08ca9d7 Merge remote-tracking branch 'bp/master' 2017-05-04 10:51:42 -07:00
erwincoumans
87a24dba84 Merge pull request #1091 from YunfeiBai/master
Add APIs to reset object mass, lateral friction coefficient, and to get user constraint id.
2017-05-04 17:47:33 +00:00
Erwin Coumans
4602fbba34 add missing openvr files to CMakeLists.txt, rename 64bit openvr_api.dll to openvr64pi.dll to avoid name conflicts when using 32 AND 64 bit versions of this dll. 2017-05-04 08:37:46 -07:00
Erwin Coumans
a86f584824 more work towards removeBody for C-API/pybullet, work-in-progress. 2017-05-03 21:53:29 -07:00
yunfeibai
939d6ead32 Add API to reset lateral friction coefficient. 2017-05-03 21:47:53 -07:00
yunfeibai
1841a41f2a Add pybullet example for resetting dynamics. 2017-05-03 21:30:42 -07:00
yunfeibai
c7e9a31898 Add API to get user constraint id. 2017-05-03 18:25:25 -07:00
Erwin Coumans
152e3da3e4 Implementation of virtual void CommonRenderInterface::removeGraphicsInstance(int instanceUid)
for GLInstancingRenderer (OpenGL3+) and SimpleOpenGL2Renderer (OpenGL2)
Refactored the add/remove object pool in Bullet3Common/b3ResizablePool.h
Added CommonRigidBodyBase::deleteRigidBody, also removing its graphics instance.
2017-05-03 17:05:05 -07:00
Erwin Coumans
6f7601966d fix issue ,don't iterate over [0..numBodyHandles], would fail once we allow 'removeBody'... 2017-05-03 11:23:01 -07:00
Erwin Coumans
2c8f65a2d0 move body handles in its own template class, for re-use. 2017-05-03 10:49:04 -07:00
Erwin Coumans
1bb133a01f update to OpenVR 1.07 from https://github.com/ValveSoftware/openvr 2017-05-03 08:40:29 -07:00
erwincoumans
7c439b2b6a Merge pull request #1088 from erwincoumans/master
Improve MJCF import, to allow reading of friction parameters, includi…
2017-05-03 05:50:01 +00: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
erwincoumans
7be746d892 Merge pull request #1086 from erwincoumans/master
TinyAudio, preparation to allow sound in our robot simulator (C-API, pybullet)
2017-05-02 06:10:12 +00:00
Erwin Coumans
9fef6c1d66 Add C++ version VRGloveSimulatorMain example, using the serial library.
First run the App_PhysicsServer_SharedMemory_VR_vs2010.exe to run the VR server,
then run App_VRGloveHandSimulator. You likely need to tune the minV/maxV for each finger (check values using Arduino IDE Serial Monitor)
2017-05-01 22:35:33 -07:00
yunfeibai
4da2c076a7 Add API to reset mass. 2017-05-01 22:18:54 -07:00
Erwin Coumans
305725e52e add --serial option in premake, added serial library to test vr glove in C++ (pybullet works already fine) 2017-05-01 15:04:00 -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
Jie Tan
bf5915f44b add a simple DDPG agent and a policy 2017-04-28 15:24:53 -07:00
Jie Tan
93fc04c6c3 Merge remote-tracking branch 'bp/master' into pullRequest 2017-04-28 14:36:56 -07:00
Jie Tan
948b2b00fe added a policy trained by DDPG 2017-04-28 14:34:03 -07:00
Erwin Coumans
c95a1c9c33 add soft-clipping of mixed sounds using tanh
expose ADSR to TinyAudio API
enable envelope when playing wav files
2017-04-28 12:39:51 -07:00
Erwin Coumans
37a16f7e6b move work on TinyAudio. 2017-04-28 11:35:00 -07:00
Erwin Coumans
e6759cfa4f TinyAudio fixes for OSX etc. 2017-04-27 12:07:31 -07:00
Erwin Coumans
1c168c102b Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-27 09:01:16 -07:00
Erwin Coumans
c51b22d6f5 remove verbose print's from ADSR code. 2017-04-27 08:42:28 -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
Erwin Coumans
a43656701c Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-27 07:31:26 -07:00
erwincoumans
72d5366a92 Update b3WriteWavFile.h 2017-04-26 21:34:43 -07:00
Erwin Coumans
eaa6255e06 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-26 21:33:19 -07:00
Erwin Coumans
943dd16e78 disable keyboard repeat on Windows
add some TinyAudio classes to play wav, mostly from Stk (http://github.com/thestk/stk)
2017-04-26 21:31:01 -07:00
erwincoumans
09280d6f7b Merge pull request #1084 from erwincoumans/master
fix some potentially uninitialized variable
2017-04-26 05:29:38 +00:00
Erwin Coumans
e4ace90980 fix some potentially uninitialized variable 2017-04-25 21:37:04 -07:00
erwincoumans
2b4f6d7997 Merge pull request #1082 from benelot/feature/link-names
Add link name to getJointInfo(...).
2017-04-26 02:29:04 +00:00
yunfeibai
56f9c38226 Use float when clipping the shadow map index, because the index before clipping can be out of the range for int. 2017-04-25 18:28:56 -07:00
Benelot
55414f5b20 Add link name to getJointInfo(...). 2017-04-25 23:58:30 +02:00
Erwin Coumans
771b197131 add option to calibrate individual fingers for the vr glove 2017-04-25 09:40:18 -07:00
Erwin Coumans
5ba6e11454 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-24 09:57:19 -07:00
Erwin Coumans
d41a2fdfd4 change hand.ino/py to match hardware changes (use pullup resistor, connect to gnd, instead of 5V + pull down resistor) 2017-04-24 09:56:27 -07:00
Erwin Coumans
552c85617f fix compile issue 2017-04-23 17:12:40 -07:00
Erwin Coumans
4759e5a590 tinyrenderer: disable triangle backface culling (doesn't work well, cull triangles that should be visible)
GLInstancingRenderer: allow to set the light position
2017-04-23 07:35:13 -07:00
Erwin Coumans
e8c1602232 add vrhand for vive tracker
tweak 'saveWorld' feature a bit (mjcf, gui fallback if shared memory server is not available)
2017-04-21 10:28:20 -07:00
Erwin Coumans
d2ff554e37 tweak hand.py script to automatically find the port on Windows (COM0 to COM30) and Mac OSX. 2017-04-20 14:44:47 -07:00
erwincoumans
5b789ed67b reduce max ray hits to 256 2017-04-19 12:06:26 -07:00
yunfeibai
a7068bb57a Modify the link index when computing Jacobian. Add a test for end effector orientation IK. Inverse dynamics Jacobian uses zero-based indexing of bodies, not starting from -1 for base. 2017-04-17 16:54:45 -07:00
erwincoumans
ee753eef6f Merge pull request #1073 from devnexen/build_fix_bsd
build fix for BSD systems
2017-04-17 18:19:10 +00:00
Erwin Coumans
ad2099e107 address 2 issues pointed out by PVS-Studio:
https://github.com/bulletphysics/bullet3/issues/1074
2017-04-17 10:01:44 -07:00
David Carlier
756568ad9c build fix for BSD systems 2017-04-16 17:53:44 +01:00
Erwin Coumans (google)
c2b80c562b fix TinyAudioExample 2017-04-14 19:33:52 +00:00
Erwin Coumans
eef76af663 create basic audio, towards sound sensors etc. 2017-04-14 12:22:38 -07:00
Erwin Coumans
c3cc53d5aa TinyRenderer, apply backface culling 2017-04-13 11:06:38 -07:00
Erwin Coumans
5158c1ae98 add python dumpLog.py utility to view log files created using 'startStateLogging'
don't enable <CTRL> for hotkeys yet
add some more profile markers
log objectId and linkIndex as signed int ('i') and not unsigned int 'I'
fix issue in startStateLogging: number of parameters was wrong
2017-04-12 15:02:47 -07:00
Erwin Coumans
f73b54e4ab testing ImGUI 2017-04-11 20:16:49 -07:00
Erwin Coumans
a43f3b026a testing ImGui, nice and simple!
https://github.com/ocornut/imgui
This would replace GWEN.
2017-04-11 17:10:25 -07:00
Erwin Coumans
80e87d5ccb re-create debug drawer after 'resetSimulation', also avoid memory leak after doing so.
this fixes wireframe.
Also use <CTRL>+hotkey, to avoid conflicts with user-specified keyboard functions.
2017-04-11 16:03:07 -07:00
Erwin Coumans
0a42ad6a88 pybullet: add support for Anaconda install on Mac OSX, for pip install pybullet, python setup.py install and cmake.
Usage:

Also updated pypi to latest, see https://pypi.python.org/pypi?:action=display&name=pybullet&version=0.1.7
Here are a few options for Mac OSX + Anaconda:

1) In the root of the Bullet Physics SDK source tree, run
CFLAGS="-DB3_NO_PYTHON_FRAMEWORK" python setup.py install

2) cmake, add the flag -DBUILD_PYBULLET_MAC_USE_PYTHON_FRAMEWORK=OFF

3) Globally, just use pip or pip3:
CFLAGS="-DB3_NO_PYTHON_FRAMEWORK" pip install pybullet

Option (3) may have an out-of-date pybullet/bullet version.
2017-04-11 12:17:08 -07:00
Erwin Coumans
bdf366b045 implement pybullet.getDebugVisualizerCamera, width, height, providing viewmatrix, projection matrix 2017-04-10 11:03:41 -07:00
Erwin Coumans
82b6bc8770 apply the deviceTypeFilter also to VR state logging. 2017-04-08 11:48:12 -07:00
erwincoumans
2e47310e76 fix enum (has to be power of 2, to allow combination of devices)
add vrtracker.py
2017-04-08 10:37:32 -07:00
Erwin Coumans
8b2491f84f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-07 22:54:04 -07:00
Erwin Coumans
440d445a02 also report VR events for HMD and generic tracked devices. Also expose those VR events to pybullet: expose a deviceTypeFilter, that defaults to VR_DEVICE_CONTROLLER 2017-04-07 22:53:36 -07:00
erwincoumans
e1874c6b54 Update MacOpenGLWindow.cpp 2017-04-06 22:41:04 -07:00
Erwin Coumans
82b576a390 fixed a bug that prevented kitchens/1.sdf to render properly (local scaling was double applied)
disable some left-over clipping that was moved to another part of the code
2017-04-06 21:13:23 -07:00
Erwin Coumans
d6125ecb8c fix in tinyrenderer clipping logic 2017-04-06 17:43:40 -07:00
Erwin Coumans
deb95c758b TinyRenderer: implement triangle clipping against near-plane
TinyRenderer: implement texture UV-repeat by default (instead of clamp(0,1))
2017-04-06 14:31:34 -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
erwincoumans
2e13531493 Merge pull request #1061 from erwincoumans/master
Implement rayTestBatch. At the moment, it is still testing individual…
2017-04-06 04:56:49 +00:00
Erwin Coumans
6cbb00fd6b Implement rayTestBatch. At the moment, it is still testing individual rays on the physics server. We can enable multi-threaded version later. At least the python + shared-memory IPC overhead will be much lower. 2017-04-05 15:21:26 -07:00
erwincoumans
8658682d2a Merge pull request #1060 from erwincoumans/master
improvements in MJCF importer: cylinder support, fix capsule shape inertia (for fromto …
2017-04-05 20:26:08 +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
erwincoumans
ac91896025 Merge pull request #1054 from erwincoumans/master
pybullet setup.py / pip support for Windows, Linux and Mac! just run 'pip install pybullet' and wait until all compiled (like numpy, it is mainly source, except for a few wheels Mac 2.7 and Win32 3.5). Expose URDF_USE_SELF_COLLISION flag.
2017-04-04 23:36:32 +00:00
yunfeibai
fedf718d9e minor fix for pybullet comment. 2017-04-04 13:45:49 -07:00
Erwin Coumans
b095e1d917 expose pybullet.URDF_USE_SELF_COLLISION flag, experimental (likely doesn't work well for many URDF files) 2017-04-04 12:47:34 -07:00
yunfeibai
b168f53ed9 Rename body index to body unique id. 2017-04-04 10:38:25 -07:00
Erwin Coumans
9507e8b4a1 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-04-02 23:02:26 -07:00
Erwin Coumans
e487bc360b add support for setuptools setup.py pybullet for 'pip install pybullet'
rewrite MacOpenGLWindow.mm into .m version, so that setup.py can handle it.
See also test at https://pypi.python.org/pypi/pybullet/0.1.0
2017-04-02 23:00:06 -07:00
yunfeibai
1e91e78469 Add pybullet API for logging contacts. 2017-04-02 16:03:20 -07:00
yunfeibai
0d83667817 Add C API to log contact points. 2017-04-02 15:45:48 -07:00
yunfeibai
7c7d831767 Add contact point logger. 2017-04-02 15:09:40 -07:00
Erwin Coumans
473196a492 remove vld.h 2017-03-30 13:56:37 -07:00
Erwin Coumans
a7c67b4d9d avoid memory leaks, even if a the python interpreter exits without calling 'disconnect' on all physics servers
(register a Py_AtExit function that cleans all up), to avoid memory leaks
2017-03-30 13:50:02 -07:00
Erwin Coumans
cebed74454 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-03-30 13:30:52 -07:00
Erwin Coumans
b1cbc3d4b0 fix a potential memory leak for URDF files with multiple materials using the same name 2017-03-30 13:30:38 -07:00
Erwin Coumans
1c5e5d2b3f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-03-30 12:39:18 -07:00
Erwin Coumans
2211a20ab6 remove 20 second time limit for ffmpeg 2017-03-30 12:38:13 -07:00
Erwin Coumans
9d05b46de2 expose width/height as ExampleBrowser options.
suppress lack of 'site' support message in MJCF importer
suppress lack of 'plane' visual support in urdf/sdf import
getBodyName default to "" to avoid breaking cloudsim
expose bodyName when requesting body info (sdf/mjcf import)
pass optional "options" string to pybullet.connect method. this can be used for --opengl2 flag in GUI mode (or other flags)
2017-03-30 11:01:33 -07:00