Erwin Coumans
32b9eacb34
fix compile issue
2017-03-16 13:26:44 -07:00
Erwin Coumans
59d16b2c42
expose video capture as logging command in b3RobotSimulatorClientAPI (C++) and pybullet (use STATE_LOGGING_VIDEO_MP4)
2017-03-16 09:13:33 -07:00
erwincoumans
c1c89e6fad
Merge pull request #1000 from olegklimov/master
...
URDF loader improvement 1
2017-03-13 19:16:45 -07:00
Oleg Klimov
fa60cc5f56
URDF loader: fix SDF branch, warn about unsupported geometry
2017-03-14 02:32:02 +03:00
Oleg Klimov
82495f3c84
URDF loader: reuse the same resources finder routine for TinyRendererVisualShapeConverter
2017-03-10 18:17:38 +03:00
yunfeibai
3ad49ae5eb
Set logging unique id at initialization. This fixed a bug that the second log couldn't be stopped properly.
2017-03-07 11:52:26 -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
erwincoumans
a7ad6c2860
Merge remote-tracking branch 'bp/master'
2017-03-04 15:31:02 -08:00
erwincoumans
c7579d7b82
fix quadruped, allow user to pick the maximum number of dofs to log
2017-03-04 15:30:57 -08:00
yunfeibai
6e3cd26f11
Log time stamp and step count.
2017-03-04 13:19:43 -08:00
erwincoumans
44b140dd38
disable the gMaxNumCmdPer1ms experiment by default (-1)
...
fix minitaur_evaluate.py script, quadruped.py
2017-03-04 12:59:21 -08:00
Erwin Coumans
7cb5898db6
fix body name in GUI more
...
expose getBodyInfo to b3RobotSimulatorClientAPI
2017-03-03 11:33: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
erwincoumans
255b21a776
Merge pull request #979 from erwincoumans/master
...
fix lack of collision scaling in pybullet URDF/SDF files (only graphi…
2017-03-02 08:18:11 -08:00
yunfeibai
a33dcdb63d
Modify logging and playback to handle fixed joint.
2017-03-01 23:37:01 -08:00
Erwin Coumans
6a40c1cca7
pybullet expose resetDebugVisualizerCamera
...
example: pybullet.resetDebugVisualizerCamera(cameraDistance=3,cameraYaw=30,cameraPitch=52,cameraTargetPosition=[0,0,0])
2017-03-01 15:04:07 -08:00
Erwin Coumans
2f3ba49357
expose some sleep timeout pybullet.setPhysicsEngineParameter(maxNumCmdPer1ms=100) or b3PhysicsParamSetMaxNumCommandsPer1ms,
...
if more commands than those are processed per millisecond, a 1ms sleep will follow, to avoid other threads being stalled.
2017-03-01 13:48:57 -08:00
erwincoumans
77538b04c2
Update PhysicsServerCommandProcessor.cpp
2017-02-24 16:01:18 -08:00
erwincoumans
929eb49029
Merge pull request #974 from erwincoumans/master
...
expose timeout in pybullet/shared memory API
2017-02-24 15:50:26 -08:00
Erwin Coumans
a4f1e34899
expose timeout in pybullet/shared memory API
...
add RobotSimulator, a C++ API similar to pybullet. (work-in-progress, only part of API implemeted)
2017-02-24 15:34:11 -08:00
erwincoumans
f15722ffb1
Merge pull request #973 from erwincoumans/master
...
allow to compile/run 64bit version of VR, co-exist of 64bit and 32bit openvr_api.dll
2017-02-22 17:38:27 -08:00
Erwin Coumans
0b27edf172
allow to compile/run 64bit version of VR lib, workaround for issue that both 32bit and 64bit version is called openvr_api.dll
...
Now 64bit version is called openvr64pi.dll (patched the 64bit binary library openvr_api.lib)
See also https://github.com/ValveSoftware/openvr/issues/412
2017-02-22 15:50:09 -08:00
yunfeibai
86f0067266
A bug fix for logging the orientation of the base of the object.
2017-02-22 13:30:28 -08:00
Erwin Coumans
bd30ba30ce
Replace large timeout (1024*1024*1024) using real-time clock timeout (10 seconds default)
...
Change SHARED_MEMORY_MAGIC_NUMBER to make sure server/client are using the same version (shared memory)
add --realtimesimulation to physics server (GUI, VR)
remove --G Xcode from build_cmake_pybullet_double.sh
2017-02-22 09:33:30 -08:00
Erwin Coumans
926c83f2ab
Merge remote-tracking branch 'bp/master'
2017-02-21 17:38:42 -08:00
Erwin Coumans
3988d363b3
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-02-21 17:38:32 -08:00
Erwin Coumans
37890e5a4d
allow to enable/disable GUI, shadows, wireframe of OpenGL Visualizer from API
...
(pybullet.configureDebugVisualizer)
2017-02-21 17:36:54 -08:00
erwincoumans
61f05c7330
Update PhysicsServerCommandProcessor.cpp
2017-02-21 13:28:43 -08:00
Erwin Coumans
1cd65a324c
update pybullet quickstart guide
2017-02-21 10:23:18 -08:00
erwincoumans
07bd911c36
Merge pull request #966 from erwincoumans/master
...
add tiny clsocket cross-platform TCP library, update pybullet PDF doc
2017-02-20 21:17:22 -08:00
Erwin Coumans
28146e816f
export TCP connection mode to pybullet
...
made TCP disconnection detection more reliable
2017-02-20 20:34:05 -08:00
Erwin Coumans
942015df9d
use TCP in main thread, accumulate bytes until size matches.
2017-02-20 18:54:12 -08:00
Erwin Coumans
3d73a9d788
shmem preliminary TCP implementation (not working yet)
2017-02-20 16:46:25 -08:00
Erwin Coumans
bfcdb8c408
add App_PhysicsServerTCP and App_PhysicsServerSharedMemoryBridgeTCP
...
(can be easier tunneled over SSH)
2017-02-20 14:43:01 -08:00
Erwin Coumans
55361e262e
fix 6dof sensors for fixed joints (recent bug left fields uninitialized in getJointInfo)
...
add premake build support for Test_PhysicsClientUDP
2017-02-20 13:18:33 -08:00
yunfeibai
e12981fd45
Enable logging a specified list of objects for generic robot logging.
2017-02-20 12:17:12 -08:00
yunfeibai
a3c1fec171
Add logging for generic robot and an example of logging state of kuka and cubes.
2017-02-17 17:41:57 -08:00
erwincoumans
45aa392a28
Update PhysicsServerCommandProcessor.cpp
2017-02-17 15:43:38 -08:00
Erwin Coumans
cfd35840f0
initial implementation of state logging.
...
see examples/pybullet/logMinitaur.py for example. Other state logging will include general robot states and VR controllers state.
2017-02-17 14:25:53 -08:00
Erwin Coumans
2b27ab2463
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-02-17 10:48:03 -08:00
Erwin Coumans
34c3fca8d5
prepare state logging system (log state of robot, vr controllers after each stepSimulation)
2017-02-17 10:47:55 -08:00
Erwin Coumans
8f546acbe8
disable keyboard toggle in Linux/X11
...
revert num solver iterations to 50 (from 150)
set solver iterations for one gripper grasp to 150
2017-02-16 15:56:42 -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
6db217b36a
remove some sleep delays from PhysicsServerExample physics loop.
2017-02-09 18:27:51 -08:00
yunfeibai
ce69f27f32
Modify the depth buffer value in TinyRenderer to be consistent as in OpenGL.
2017-02-08 11:34:38 -08:00
erwincoumans
46c7974927
Merge pull request #947 from erwincoumans/master
...
[pybullet] add some out-of-bounds checks, reduce run-time memory allocations
2017-02-07 12:07:40 -08:00
Erwin Coumans
56b4ac278b
pybullet workaround for very slow Mac OSX GUI mode, since OpenGL can only run in main thread, just like the Python interpreter
...
improve quadruped.py script, to allow 'useRealTime' 0 or 1
2017-02-07 08:08:55 -08:00
erwincoumans
88fdffba04
pybullet/shared memory API: add some more check for out-of-bounds indices when setting up a command.
...
avoid many run-time memory allocations in btCompoundCompoundCollisionAlgorithm
2017-02-04 12:32:42 -08:00
yunfeibai
abbd3ad884
minor fix.
2017-02-03 12:46:49 -08:00
yunfeibai
3442b6524a
Merge remote-tracking branch 'upstream/master'
2017-02-03 12:32:08 -08:00
yunfeibai
ce9378f819
Add shared memory API and RobotSim API for setting joint damping in IK.
2017-02-03 11:08:44 -08:00
yunfeibai
0022d0dafb
Modify damped least square IK formulation. Test setting joint damping coefficients for IK.
2017-01-31 22:58:37 -08:00
erwincoumans
3a42b356e2
Add profile markers for BenchmarkDemo raytest.
...
Implement pybullet enableJointForceTorqueSensor, add forcetorquesensor.py example.
2017-01-31 10:14:00 -08:00
erwincoumans
26a34e3cda
Move ChromeTracing in its own file, and add tracing support for VR server (App_SharedMemoryPhysics_VR)
...
Add a bit of extra sleep in PhysicsServer thread, to make rendering smoother.
2017-01-29 20:59:47 -08:00
erwincoumans
446cb77a5e
[UDP] disconnect needs to set m_data->m_isConnected=false
2017-01-28 23:18:26 -08:00
erwincoumans
d0e1ec8c48
add a usleep(0) to improve UDP performance on Windows (busy-loop eats all CPU time, other thread didn't proceed)
2017-01-28 22:46:23 -08:00
erwincoumans
87bce5eacf
UDP networking improvements and experiments (send CMD_STEP_FORWARD_SIMULATION as 4 bytes command, status 8 bytes, instead of enormous command/status packages.
...
Change some timeouts to use actual RTC time instead of dummy loops 1024*1024*1024.
Fix type conected -> connected
2017-01-28 22:14:45 -08:00
erwincoumans
2b3c25d5f2
add a b3Clock::usleep in PhysicsClientUDP to avoid clogging all resources
...
report more meaningful connection status for UDP.
2017-01-28 12:42:04 -08:00
erwincoumans
37ed4b819a
[cmake] only use BT_ENABLE_VR for the _VR target
...
use -DUSE_DOUBLE_PRECISION=ON when building pybullet and/or VR targets
2017-01-25 22:41:31 -08:00
Erwin Coumans
94c768bea8
cmake build support for VR demo (WIN32 only)
...
update to latest OpenVR 1.05 SDK from https://github.com/ValveSoftware/openvr
add keyboard support to tune default camera VR position
VR revert to double 'distorted' views on Desktop, since the single view isn't showing full scene
2017-01-25 19:17:57 -08:00
Erwin Coumans
e652696f52
report localVisualFrame instead localInertialFrame
2017-01-25 08:29:45 -08:00
Erwin Coumans
95e25d9942
fix a few warnings
2017-01-24 08:36:46 -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
73e83d6e84
fix OSX build, fix some warnings
2017-01-22 21:06:51 -08:00
Erwin Coumans
cf9f022d39
[pybullet] getNumConstraints, getConstraintInfo APIs.
...
[pybullet] updated pybullet_quickstartguide.pdf
Fail clearly (assert, return BT_INFINITY) if link index is out of range for btMultiBody methods localPosToWorld,worldPosToLocal,localDirToWorld,worldDirToLocal.
pybullet getConstraintInfo
Fix warnings due to Mac OSX 10.12 upgrade (with backward compatibility)
2017-01-22 19:08:31 -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
d81d62a70b
Prepare for Bullet 2.86 release, update version to 2.86 (release will be tagged soon)
...
protect some C-API methods against negative dof indices
add triangle mesh import from MJCF files
update to recent pybullet quickstart guide pdf
2017-01-20 11:48:33 -08:00
erwincoumans
394196e5a2
Update PhysicsServerExample.cpp
2017-01-17 17:38:30 -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
966ebb04fe
set the paircache filter
2017-01-16 21:04:02 -08:00
Erwin Coumans
12a391e1f9
[pybullet] expose collision filter mode and max constraint force:
...
pybullet.changeUserConstraint(maxForce=<double>)
pybullet.setPhysicsEngineParameter(collisionFilterMode=<int>)
2017-01-16 18:17:18 -08:00
Erwin Coumans
93471a1c31
cmake Win32 fixes
...
fixed some more warnings
added alignment macros to some classes
btPersistentManifold from 128 to 16 bytes aligned
prepare command to select collision filter mode (SIM_PARAM_UPDATE_COLLISION_FILTER_MODE)
2017-01-16 13:05:26 -08:00
Erwin Coumans
3d985ff7a5
add App_SharedMemoryPhysics and App_SharedMemoryPhysics_GUI to cmake
...
fix 'connection' detection for shared memory (due to multiple shmem blocks)
add link to pybullet.so
2017-01-16 11:17:32 -08:00
Erwin Coumans
8e9181f85c
[MJCF import] add custom broadphase collision filter, for MJCF/MuJoCo compatibility
...
[MJCF import] improve MuJoCo importer, support collision filters
fixed a few more warnings
2017-01-16 08:23:49 -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
9aa5a839d5
add pybullet.changeConstraint / b3InitChangeUserConstraintCommand/ b3InitChangeUserConstraintSetPivotInB /b3InitChangeUserConstraintSetFrameInB command, to change an existing user constraint.
...
add constraint.py example.
allow pybullet.createConstraint to create user constraint without a child body ('fixed' to the world)
2017-01-12 10:30:46 -08:00
Erwin Coumans
1c79798583
make sure threads will get out of 'workerThreadWait' so they can exit at the end
2017-01-12 08:06:40 -08:00
Erwin Coumans
4897139dad
pybullet.calculateInverseKinematics: expose null space method with and without orientation
...
add inverse_kinematics.py and hello_pybullet.py pybullet examples
add m_worldLinkFramePosition/Orientation fields to b3LinkState, and in pybullet.getLinkState (URDF link frame in Cartesian/world coordinates)
2017-01-11 21:39:22 -08:00
Erwin Coumans
3d6584962a
remove some memory leaks in example code.
2017-01-10 14:57:16 -08:00
Erwin Coumans
0f51fb618d
micro-sleep every 8 milliseconds in physics server, to not starve other threads.
2017-01-08 13:06:08 -08:00
Erwin Coumans
5e6cfd70b5
iOS platform and Android don't have __thread local storage, so avoid multi-threaded profiler on those (only on _WIN32, __linux__ and __APPLE__ and not TARGET_OS_IPHONE
...
Add a Sleep(0) for Windows to yield threads (and not Sleep(1))
2017-01-08 12:49:04 -08:00
Erwin Coumans
4fc697f646
fix _WIN32 lacking #include <inttypes.h>
...
allow creation of multiple shared memory segments on win32.
fix pybullet compilation on Visual Studio 2010 (old compiler)
2017-01-06 10:19:19 -08:00
Erwin Coumans
8f02e75d98
avoid creating shared memory segments with same key multiple times
2017-01-06 09:55:22 -08:00
Erwin Coumans
8e554a0c1b
allow creation of multiple shared memory segments
2017-01-06 09:49:03 -08:00
Erwin Coumans
90b1026785
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-01-05 18:36:54 -08:00
Erwin Coumans
0cf869e56a
add multiple shared memory blocks, to allow multiple
...
simultaneous connections. At the moment, MAX_SHARED_MEMORY_BLOCKS = 2
Note that the amount of shared memory is limited on many systems,
32MB, while one block is already over 1MB at the moment...
You can connect to SHARED_MEMORY using the current key,
and key+1. There are a few commands that cannot currently be
executed in parallel among multiple connections,
since the implementation of the server
caches some data: rendering image (getCameraData),
getting contact point data and getting debug lines.
2017-01-05 18:30:01 -08:00
Erwin Coumans
83e103ac15
Add pybullet setVRCameraState and b3SetVRCameraStateCommandInit to set the VR camera root transform (position/orientation) and optional tracking object unique id (-1 for no tracking)
...
Fix robotcontrol.py script, getContactPointData -> getContactPoints
2017-01-05 17:41:58 -08:00
Erwin Coumans
c940f0ec47
update pybullet quickstart quide PDF
...
hook up the loadMJCF importing MuJoCo xml files in pybullet and shared memory API b3LoadMJCFCommandInit
2016-12-31 14:43:15 -08:00
erwin coumans
c6650f9329
fix win32 UNICODE build
...
re-enable VR teleport
2016-12-31 11:35:56 -08:00
Erwin Coumans
82995a8343
pybullet, more robust multi-server connections
...
Windows shared memory: allow to use custom key.
Improve GUI performance on Windows, submit letters in text as a batch (fewer draw-calls)
quadruped.py: first try to connect to SHARED_MEMORY, if it fails (<0) use GUI
increase Chrome about://tracing json export capacity (press 'p' in Example Browser)
UDP physics server: add --port and --sharedMemoryKey command-line arguments
PhysicsServerExample: add --sharedMemoryKey command-line option (for VR example too)
ExampleBrowser: sleep a few milliseconds if rendering is too fast, use --minUpdateTimeMicroSecs=0 to disable
2016-12-28 21:51:54 -08:00
291d35ea6e
fix some linux issues (cmake doesn't need to link against OpenGL, X11, Xext since we dynamically load those
...
move some structures to global namespace
2016-12-27 13:20:12 -08:00
Erwin Coumans
9c12e4edb0
don't reset the simulation (in C++), when pressing some VR button
...
add some little tests in vrEvent.py
2016-12-26 21:08:10 -08:00
Erwin Coumans
826c5854a8
See also pybullet quickstart guide here: https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#
...
vrevent.py: add a Tiltbrush-style drawing example using pybullet
Expose getVREvents to pybullet / shared memory API, access to any VR controller state & state changes.
Improve performance of user debug lines (pybullet/shared memory API) by batching lines with same color/width
expose rayTest to pybullet/shared memory API (single ray for now)
add pybullet getMatrixFromQuaterion
2016-12-26 19:40:09 -08:00
Erwin Coumans
4c06fd27b3
Example Browser: add option (keypress 'p') to dump json timing profile trace, that you can open using Chrome about://tracing
...
Make btQuickprof thread safe
Add option in btQuickprof to override custom timing profile (btSetCustomEnterProfileZoneFunc, btSetCustomLeaveProfileZoneFunc)
remove b3Printf in a user/physics thread (those added added, while drawing the GUI running in the main thread)
2016-12-23 15:20:04 -08:00
Erwin Coumans
dcd02a1e15
add option to terminate PGS constraint solvers based on a least square residual threshold
...
(for example solverInfo().m_leastSquaresResidualThreshold = 1e-7 and use large m_numSolverIterations
disable sphere-sphere contact cache, it is buggy (some contact point stay in the cache, when sphere penetrates more than total margins)
tweak some gpu demo settings
2016-12-16 18:09:52 -08:00
Erwin Coumans
9ae40a59ba
export joint types in pybullet for pybullet.createConstraint
...
revert to premake4.exe, the targetsuffix etc doesn't seem to work in premake5.exe
2016-12-14 20:44:10 -08:00
erwincoumans
0c26fee04d
Merge pull request #886 from erwincoumans/master
...
some VR tweaks and bugfix for issue #878
2016-12-11 12:53:47 -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
yunfeibai
c253c750b9
Expose ambient, diffuse and specular coefficient of the light.
2016-12-06 15:21:35 -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