Oleg Klimov
41df15a464
MJCF: fix B3_PI, fix colors, fix capsule without 'fromto'
2017-03-19 00:19:04 +03:00
Oleg Klimov
e8da7bb6f8
URDF loader: fix MuJoCo xml load, also closes #993
2017-03-17 02:11:47 +03:00
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
erwincoumans
383b30a4e4
reset also needs to reset iterations etc
...
move from 100 to 50 iterations for VR demo
2016-12-02 14:10:26 -08:00
yunfeibai
bf83c77dab
Merge remote-tracking branch 'upstream/master'
2016-12-01 16:48:22 -08:00
yunfeibai
a88272de1b
Restore the old constructor for TinyRenderObjectData for backward compatibility.
2016-12-01 16:47:11 -08:00
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
erwin coumans
d0f20eafd1
Allow to build PhysicsServer in VR mode, to see the URDF/SDF robots in proper scale in VR.
...
Add option to have Z as up-axis for VR examples.
Add OpenVR LICENSE + README file
Don't crash VR app when no HMD is detected, just exit.
For now, don't request debug lines in client, it slows down physics server in VR mode too much.
2016-07-02 18:53:19 -07:00
Erwin Coumans
013dbda023
implement a few more pybullet methods:
...
pybullet_applyExternalForce, pybullet_applyExternalTorque, pybullet_setTimeStep,
pybullet_resetBasePositionAndOrientation,
pybullet_getQuaternionFromEuler,
pybullet_getEulerFromQuaternion
2016-06-26 18:18:30 -07:00
Erwin Coumans
c17c39c2c9
move PD control from PhysicsServerCommandProcessor into btMultiBodyJointMotor
...
improvements/changes in pybullet API
2016-06-24 11:06:56 -07:00
Erwin Coumans (Google)
6d1948e79e
tweaks in pybullet and shared memory C-API:
...
allow to reset the state of a single joint
allow to set the target/mode for a single joint motor at a time
rename pybullet API: initializeJointPositions -> resetJointState
2016-06-24 07:31:17 -07:00
Erwin Coumans
2cd0eba257
re-introduce old method in pybullet for temporary back-wards compatibility
...
b3JointControlCommandInit requires 3 args, but it was only 2,
use b3JointControlCommandInit2 for now.
2016-06-23 08:40:36 -07:00
Erwin Coumans
8b96e2de3c
a few pybullet tweaks to set desired joint motor targets (pos/vel/torque)
2016-06-22 23:21:47 -07:00
Erwin Coumans
a67df7fd03
fix cmake and premake build systems, after adding texture support in SDF,
...
in a nutshell, add the following two files:
examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp
examples/ThirdPartyLibs/stb_image/stb_image.cpp
2016-06-19 17:35:25 -07:00
Erwin Coumans
e3b2b1a969
add texture support in SDF, URDF for both OpenGL and software renderer (TinyRenderer)
2016-06-18 18:02:20 -07:00
erwincoumans
c7365837cd
Merge pull request #661 from erwincoumans/master
...
fix some issues related to controlling a robot/multibody beyond body …
2016-06-17 07:34:07 -07:00
Erwin Coumans
53a0772257
fix some issues related to controlling a robot/multibody beyond body index 0
...
(most testing happened with a single robot/multibody so far)
preliminary pybullet.setJointControl implementation
2016-06-16 18:46:34 -07:00
yunfeibai
1329f265c8
Set view and projection matrices from camera and frustum parameters.
2016-06-16 11:48:37 -07:00
Erwin Coumans
95a09bec99
implement getJointInfo for objects loaded through SDF
2016-06-15 18:01:41 -07:00
Erwin Coumans
456c844a6b
work-in-progress send object/joint information after loading SDF file
2016-06-14 18:41:19 -07:00
Erwin Coumans
566ed87c93
fix a regression in a test
2016-06-13 18:58:52 -07:00
erwincoumans
6523df336e
Fix pybullet Windows build errors: C99 requires variables to be defined at the start of the function.
...
Improve CMake Windows support to build PyBullet (BUILD_PYBULLET)
Implement b3LoadSdfCommandInit in shared memory API
Implement pybullet SDF loading binding, in loadSDF API
TODO for SDF support is provide way to query object/link/joint information.
2016-06-13 10:11:28 -07:00
Jasmine Hsu
ecc192df94
render image with ability to set pixel resolution and initial camera position
2016-06-10 15:07:52 -07:00
Erwin Coumans
98d2f91f3c
fix flipped tinyrenderer image
2016-06-09 12:12:46 -07:00
Erwin Coumans
e0c3392cee
don't pass width/height into renderObject
2016-06-07 17:02:47 -07:00
Erwin Coumans
d2e50d045b
fix issues related to camera width/height
...
add width,height as arguments to pybullet.renderImage(x,y,[viewMat4x4],[projMat4x4])
2016-06-07 16:11:58 -07:00
Erwin Coumans
1c7f87aff1
implement first draft of pybullet.renderImage for synthetic camera
...
remove a few debug printf from tinyrenderer
2016-06-06 18:54:05 -07:00
erwin coumans
4b2c0f6d89
make one of the cubes in two_cubes.sdf static (immovable) using the <static> tag in SDF
...
add an example using 'direct'
fix the send-desired-state commands, to add flags for arguments set, using default values.
Start exposing SDF loading in shared memory api, not fully implemented yet.
2016-06-03 19:03:56 -07:00
Erwin Coumans
5bf125cab5
fix some compile issues using premake
...
use textured cube/sphere model for test
2016-06-02 13:54:52 -07:00
Erwin Coumans
aa4d2ae01d
initial hookup of TinyRenderer to shared memory interface
2016-06-01 17:47:41 -07:00
erwin coumans
ef85a71d4b
more work on synthetic camera
2016-06-01 11:04:10 -07:00
erwin coumans
f469a2cb49
update to tinyrenderer synthetic camera
2016-05-31 22:55:13 -07:00
erwin coumans
14aa666c6f
preparation to receive camera image data from physics server
...
increase shadowmap world size default to 50 units (meter), 10 units (meter) was too small for most examples.
2016-05-31 10:23:04 -07:00
erwin coumans
2fc0358750
Expose a better API to allow any render engine to be used for the physics simulation when loading URDF/SDF files.
...
See bullet3/examples/Importers/ImportURDFDemo/DefaultVisualShapeConverter.h
Give the kuka_iiwa/model.urdf some blue color, not just orange, to mimick the original a bit better
Preparation for the CMD_CAMERA_IMAGE_COMPLETED command, to expose a virtual camera to the robotics API
2016-05-19 18:37:15 -07:00
Erwin Coumans
fb2134f15f
add combobox to select software/opengl rendering to compare
2016-05-18 17:57:13 -07:00
Erwin Coumans
7994a339ee
disable RTC update for Physics Server by default
2016-05-18 16:21:40 -07:00
erwin coumans
a395ddcb06
add option to embed a physics server in the physics client example, for easier debugging
2016-05-18 09:34:42 -07:00
erwin coumans
606f78da43
work-in-progress tinyrenderer -> shared memory API synthetic camera image
2016-05-17 23:57:19 -07:00
erwin coumans
6a9c54c4ef
Remove unused ROS urdf (was replaced by Bullet UrdfParser.
...
Small refactoring for ExampleBrowser: move examples cpp files in the app/executable
Move ExtendedTutorials in its own app/executable as a test.
2016-05-12 23:03:12 -07:00
yunfeibai
1bebcc6d9a
Merge remote-tracking branch 'upstream/master'
2016-05-10 10:18:27 -07:00
Erwin Coumans
ab4299f517
expose the local inertial frame for each link in the shared memory API
...
struct b3LinkState
{
double m_worldPosition[3];//this is the inertial frame
double m_worldOrientation[4];
double m_localInertialPosition[3];//this is the local frame from inertial to link frame
double m_localInertialOrientation[4];
};
const btTransform link_frame_world =
inertial_frame_world * m_local_inertial_frame->inverse();
2016-04-29 14:46:25 -07:00
erwincoumans
66bfb7e708
Update PhysicsClientC_API.cpp
...
fix a copy/paste bug -> pos+quat = 7, but pos is just 3
2016-04-25 09:37:04 -07:00
Erwin Coumans
f99d1c45aa
expose multibody link world transform in the shared memory API
2016-04-23 17:29:46 -07:00
yunfeibai
cbeddfc897
Modify shared memory client example to test joint motor torque measurement.
2016-04-19 16:52:47 -07:00
yunfeibai
c384383250
Merge branch 'master' of https://github.com/bulletphysics/bullet3
...
Update measured torque name.
2016-04-19 14:20:28 -07:00
yunfeibai
c3afbf7689
set desired position target
2016-04-19 14:19:18 -07:00
Erwin Coumans
0f5ee7a0a9
rename m_jointForce -> m_jointMotorForce to separate the name from m_jointForceTorque (which should have been called m_jointReactionForce)
2016-04-19 12:22:38 -07:00
erwincoumans
05845d7df9
Merge pull request #602 from erwincoumans/master
...
handle window closing in InProcessPhysicsClientSharedMemoryMainThread
2016-04-19 10:58:13 -07:00
yunfeibai
f9719e2405
Add measured joint motor force to joint sensor state.
2016-04-19 10:44:59 -07:00
Erwin Coumans
bebe9a728b
handle window closing in InProcessPhysicsClientSharedMemoryMainThread
2016-04-19 08:29:20 -07:00
Erwin Coumans
59e0bef988
remove compile errors and some debug code in ExampleBrowser.
2016-04-14 12:19:55 -07:00
Erwin Coumans
2cbfeb9590
run GUI on main thread for Mac OSX/__APPLE__, due to OS limitation
...
add b3CreateInProcessPhysicsServerAndConnectMainThread to test.c
2016-04-14 08:51:20 -07:00