Erwin Coumans
acbe457d31
add option to statically link a plugin, select the postFix (to avoid naming conflict of multiple plugins functions ('initPlugin' becomes initPlugin_postFix)
...
pass events (keyboard, mouse, vr controllers etc) to the plugin, and clear them after the tick callback, so that it doesn't interfere with Python 'getEvents'
2017-10-03 15:00:52 -07:00
Jeffrey Bingham
d9782f953d
Add calculateMassMatrix to physics server command processor.
2017-09-30 13:56:40 -07:00
Jeffrey Bingham
d49fade704
fix some formatting.
2017-09-27 22:30:32 -07:00
Jeffrey Bingham
d8b80bce40
Fix the translation jacobian.
2017-09-27 22:25:39 -07:00
erwincoumans
8a265b8af2
expose gear erp/relative position target to C-API/pybullet
...
finish much better C++ vrSyncPlugin, running in-the-loop with the physics at high frequency, see also vr_kuka_setup_vrSyncPlugin.py
2017-09-26 19:54:36 -07:00
erwincoumans
b1f8eb74a4
bump up shared memory version number
...
add option to recompute forward kinematics, to be consistent with link velocities in pybullet.getLinkState (..., computeForwardKinematics=0/1), thanks to Jeff Bingham for bringing up this inconsistency
2017-09-26 10:05:17 -07:00
Jeffrey Bingham
ee30ca93c5
[sharedmemory] Fill-out calculateJacobian command.
...
The server command processor actually didn't do anything with
the local point that was passed along with the calculateJacobian
command. Added in the necessary bit of math to return the
corresponding jacobian.
Also, fixed a typo in pybullet that was returning the same
jacobian for translation and rotation.
2017-09-24 18:57:48 -07:00
Erwin Coumans
70364445b8
Merge remote-tracking branch 'bp/master'
2017-09-24 09:49:53 -07:00
Jeffrey Bingham
1727e47beb
[pybullet] Add calculateJacobian.
...
* Add the calculateJacobian method to the pybullet API.
* Adjust the shared memory interface to handle fixed/floating bases
in the calculateJacobian method.
* Fix a few comments.
2017-09-23 19:58:59 -07:00
erwincoumans
8e496036c6
More work on the C/C++ plugin system for pybullet/C-API:
...
Add preTickPluginCallback/postTickPluginCallback
User pointer for b3PluginContext, to store objects (class/struct instances)
Pass ints and floats as optional argument for plugin executePluginCommand
2017-09-23 18:05:23 -07:00
erwincoumans
815a56c9bc
Allow to load a urdf file in the testplugin.cpp, as first quick test, example pybullet script:
...
import pybullet as p
p.connect(p.GUI)
pluginUid = p.loadPlugin("E:/develop/bullet3/bin/pybullet_testplugin_vs2010_x64_debug.dll")
commandUid = 0
argument = "plane.urdf"
p.executePluginCommand(pluginUid,commandUid,argument)
p.unloadPlugin(pluginUid)
2017-09-23 09:25:00 -07:00
erwincoumans
240fff575d
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2017-09-23 07:22:50 -07:00
Erwin Coumans
3783dccaa3
create a C/C++ plugin system for pybullet / C-API.
2017-09-22 19:17:57 -07:00
erwincoumans
312e35964f
make some code const correct.
2017-09-22 07:53:21 -07:00
Erwin Coumans
2e7c0cef38
pybullet/C-API: fix width/height when getCameraImage has a fallback from OpenGL hardware
...
to TinyRenderer
2017-09-14 15:39:22 -07:00
Erwin Coumans
c250a5f0b9
re-enable shared memory connection for pybullet Gym envs (with fallback to GUI or DIRECT)
...
suppress shared memory connection warnings
add fallback from ER_BULLET_HARDWARE_OPENGL to TinyRenderer if not available
2017-09-13 09:56:39 -07:00
erwincoumans
cc9995d44b
fix uninitialized camera position in 'VR' / 'camera rendering' mode (causing broken specular reflections in VR)
...
use debug visualizer camera viewmatrix/projection matrix if not provided, in ER_BULLET_HARDWARE_OPENGL mode.
fix broken changeRGBAColor implementation, thanks to Laura for the report!
2017-09-12 22:14:00 -07:00
Erwin Coumans
cbe0d0aff2
pybullet fix: accidently enable self-collision
2017-09-07 14:27:00 -07:00
Erwin Coumans
9ecd345783
backwards compatibility...
2017-09-07 11:40:11 -07:00
Erwin Coumans
7878f7ace9
Add Extras/BulletRobotics, will be installed as 'Extra Libs' using CMake
...
Reduce size of command-logfile (used in PhysicsServer (Logging) and PhysicsServer (Log Replay))
Make Bullet3Common and BulletInverseDynamics part of core Bullet libraries (not optional)
2017-09-06 13:18:39 -07:00
Erwin Coumans
3f21e528f0
revert name 'v' -> 'u' (backward compatibility) and 'u' -> 't'
...
make vr_kuka_setup.py load faster, by disabling rendering during loading
allow to setRealTimeSimulation(0) in VR
2017-09-02 11:35:54 -07:00
erwincoumans
eb97e06280
fix minitaur.urdf: move lower-leg inertia to center, add missing collision for one of the motors, add contact parameters for friction_anchor, spinning friction, compliance (stiffness/damping)
...
fix in indexing for maximal coordinates (unused by default, still experimental, requires many iterations for Minitaur due to extreme mass-ratio, hence use of reduces/generalized coordinates)
modify quadruped.py to test maximal coordinates
wrap angular servo (positional) target within [-PI,PI] in btGeneric6DofSpring2Constraint
add 'j' key to show body frames in wireframe/debug mode
2017-09-02 01:05:42 -07:00
erwincoumans
ee30479a28
add option to log joint torques (due to user applied torques and/or motor torques)
...
See quadruped.py for an example:
p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof = 16, logFlags = p.STATE_LOG_JOINT_TORQUES)
Thanks to JulianYG, in pull request https://github.com/bulletphysics/bullet3/pull/1273
2017-08-30 19:41:15 -07:00
erwincoumans
8dfa76e924
implement pybullet.createUserConstraint for maximalCoordinates (fixed, p2p, gear)
...
maximalCoordinates, make sure parent is bodyA, child is BodyB
2017-08-30 09:54:38 -07:00
erwincoumans
1f7db4519e
enable motor control for maximal coordinates robots (btRigidBody, btTypedConstraint) for force, velocity, position control.
2017-08-29 19:14:27 -07:00
Erwin Coumans
1569f3845c
more fixes in pybullet_gym envs/data.
...
implement pybullet.setAdditionalSearchPath
2017-08-27 19:34:00 -07:00
Erwin Coumans
5c5993edcb
fix potential memory leaks for concave triangle meshes (<concave=true> or createCollisionShape with flags=1)
2017-08-24 09:16:11 -07:00
erwincoumans
2e0a987750
pybullet only allow one GUI/GUI_SERVER instance.
...
Fix LINK_FRAME/WORLD_FRAME coordinate issue in pybullet applyExternalForce
2017-08-15 14:15:30 -07:00
Erwin Coumans
aafaa7e33e
Expose optional "globalScaling" factor to pybullet.loadURDF and pybullet.loadSDF. This will scale the visual, collision shapes and transform locations.
...
Fix two_cubes.sdf (was lacking collision shape for second cube)
2017-08-14 14:59:41 -07:00
Erwin Coumans
88897cc744
implement pybullet.changeTexture. For now, the width/height has to match the target texture unique id, otherwise crashes may happen (a check for width/height match will be added)
...
See also examples\pybullet\examples\changeTexture.py
2017-06-30 19:11:43 -07:00
Erwin Coumans
dd3d55610b
fixes in pybullet.loadTexture, changeVisualShape replacing texture.
...
(also works for OpenGL3 renderer now)
2017-06-30 13:35:07 -07:00
Erwin Coumans
dcaaed9238
also generate TinyRendererVisualShapeConverter for programmatically generated collision shapes
...
use similar random colors for TinyRenderer (if rgba colors are not specified)
2017-06-29 22:06:27 -07:00
Erwin Coumans
65e22ba3e9
allow auxilary link to be used for gear btMultiBodyGearConstraint.
2017-06-23 20:24:04 -07:00
Erwin Coumans
2ab56b4d62
Allow to create concave collision meshes. Note that this is only supported for static (mass 0) multibodies.
2017-06-23 14:43:28 -07:00
Erwin Coumans
71170d6384
reduce stack usage (cause some crashes in low-stack tests)
...
fix crashing bug in changeVisualShape
add differential gear version of racecar (only 2 back wheels are powered)
2017-06-20 20:22:14 -07:00
Erwin Coumans
7441515c0e
Preliminary version of pybullet.createMultiBody including links connected to parent by a joint.
...
See createMultiBodyLinks.py example.
2017-06-19 13:15:05 -07:00
Erwin Coumans
f3c11b6f31
add capsule, cylinder, plane, mesh support for pybullet.createCollisionShape
...
preparation to add links to pybullet.createMultiBody
2017-06-19 10:14:26 -07:00
Erwin Coumans
2e6f8c271e
allow to disable/enable default keyboard shortcuts ('w', 'd' 's' etc) and default mouse picking
...
pybullet.getMouseEvents / b3RequestMouseEventsCommandInit
2017-06-17 13:29:14 -07:00
Erwin Coumans
3a826a5997
getCameraImage: use debug visualizer camera viewmatrix/projection matrix if possible (only if view/proj matrix is not provided)
2017-06-17 11:21:10 -07:00
Erwin Coumans
23b155a2b4
add getAABB.py example.
...
fix getAABB / b3RequestCollisionInfoCommandInit to use less stack memory
2017-06-16 18:10:10 -07:00
Erwin Coumans
bb8cfe3c9a
pybullet.getAABB and getAPIVersion
...
fix btMultiBody::getLinkCollider
bump up Bullet C-API version
2017-06-15 19:46:27 -07:00
erwincoumans
3921ea88fa
Merge pull request #1177 from YunfeiBai/master
...
Bug fix. Only return friction coefficient when there is a valid link …
2017-06-14 08:11:57 -07:00
Erwin Coumans
c84416d932
add debug view for getCameraImage (RGB, depth, segmentation mask)
2017-06-13 10:53:24 -07:00
yunfeibai
037043467a
Bug fix. Only return friction coefficient when there is a valid link collider.
2017-06-08 18:59:11 -07:00
Erwin Coumans
46f2f3db4e
implement 'mimic' joint constraint or 'gear' constraint for btMultiBody, add example in pybullet/examples/mimicJointConstraint.py
2017-06-07 16:22:02 -07:00
Erwin Coumans
60e3887456
enable btGearConstraint, expose 'changeDynamics' for gearRatio, only works for maximalCoordinates rigid bodies.
...
See examples\pybullet\examples\mimicJointConstraint.py
2017-06-07 13:44:34 -07:00
Erwin Coumans
d08f3e5f91
expose pybullet non-contact erp, friction erp and frictionAnchor, b3PhysicsParamSetDefaultNonContactERP / b3PhysicsParamSetDefaultFrictionERP / b3ChangeDynamicsInfoSetFrictionAnchor
2017-06-07 09:37:28 -07:00
Erwin Coumans
0c3a3cc466
pybullet.changeDynamicsInfo/b3ChangeDynamicsInfoSetContactStiffnessAndDamping expose contactStiffness/contactDamping
2017-06-07 08:37:42 -07:00
Erwin Coumans
a7aed37632
work on pybullet/C-API createMultiBody (still preliminary, only sphere/box collision shapes, no links/hierarchies yet, soon)
...
pybullet/C-API, expose linear/angular damping
fix some warnings (param name needs to be same in .h and .cpp)
fix potential startup threading issue (args were deleted in main thread while still possibly use in child thread)
fix for spinning/rolling friction in case of mixing maximal and reduced coordinate btMultiBody+btRigidBody
2017-06-04 22:04:16 -07:00
Erwin Coumans
b23cb1dd2c
pybullet.createCollisionShape, createVisualShape, createMultiBody, programmatic creation using ProgrammaticUrdfInterface
...
(still preliminary, not ready for commit yet, see examples\pybullet\examples\createSphereMultiBodies.py)
2017-06-03 10:57:56 -07:00
yunfeibai
bfcbb339cf
Merge remote-tracking branch 'upstream/master'
2017-06-02 18:26:04 -07:00
yunfeibai
0a29c8d9af
Get debug visualizer camera yaw, pitch, dist, and target.
2017-06-02 18:24:51 -07:00
yunfeibai
f350a506a6
Enable rgba color update for TinyRender.
2017-06-01 23:32:26 -07:00
erwincoumans
3987bdd333
remove pose frame from SDF,
...
allow plane collision shape in SDF
load the Roboschool stadium.sdf in humanoid_knee_position_control.py
2017-06-01 20:13:39 -07:00
yunfeibai
e6d1a8cf97
Swap yaw and pitch in camera computation. Add functions to convert view matrix to camera position, and camera position to camera yaw pitch roll.
2017-06-01 15:30:37 -07:00
Erwin Coumans
87293e835c
implement specular, URDF non-standard specular part (see sphere2.urdf) and SDF specular support.
...
pybullet.changeVisualShape(obUid,linkIndex,specularColor=[R,G,B]) and Bullet C-API b3UpdateVisualShapeSpecularColor
Bug fixes in b3ResourcePath::findResourcePath resolution.
add stadium.sdf and roboschool/models_outdoor/stadium assets https://github.com/openai/roboschool/tree/master/roboschool/models_outdoor/stadium
minor fixes to obj2sdf
2017-06-01 12:32:44 -07:00
erwincoumans
83f910711a
Prepare/allow for non-Bullet2-based physics command processor in pybullet/Bullet-C-API
...
!!! Make sure to add examples/SharedMemory/PhysicsServerExampleBullet2.cpp to your build system, if needed
Bump up pybullet to version 1.0.9
2017-05-30 19:54:55 -07:00
Erwin Coumans
b645963879
expose pybullet changeDynamics(spinningFriction=..., rollingFriction=..., restitution=...)
...
Bullet C-API b3ChangeDynamicsInfoSetSpinningFriction/RollingFriction/Resitution
b3PhysicsParamSetRestitutionVelocityThreshold, / pybullet.setPhysicsEngineParameter restitutionVelocityThreshold:
if the velocity is below this threshhold, the restitution is zero (this prevents energy buildup at near-resting state)
pybullet restitution.py example.
2017-05-26 18:14:38 -07:00
Erwin Coumans
5e2599863d
trackObject -> parentObject
...
trackLinkIndex -> parentLinkIndex
add example debugDrawItems.py
2017-05-24 09:06:15 -07:00
Erwin Coumans
9f7d7fecd5
more rendering fixes
2017-05-23 23:34:55 -07:00
Erwin Coumans
db008ab3c2
Improve debug text/line rendering, can be use to draw frames and text in local coordinate of an object / link.
...
example:
kuka = p.loadURDF("kuka_iiwa/model.urdf")
p.getNumJoints(kuka)
pybullet.addUserDebugLine([0,0,0],[0,0,0.1],[0,0,1],trackObjectUniqueId=2,trackLinkIndex=6)
pybullet.addUserDebugText("tip", [0,0,0.1],textColorRGB=[1,0,0],trackObjectUniqueId=2,trackLinkIndex=6)
Also allow to render text using a given orientation (instead of pointing to the camera), example:
pybullet.addUserDebugText("tip", [0,0,0.1],textColorRGB=[1,0,0],textOrientation=[0,0,0,1], trackObjectUniqueId=2,trackLinkIndex=6)
Add drawTexturedTriangleMesh, for drawing 3d text.
Expose readSingleInstanceTransformToCPU, to extract position/orientation from graphics index.
updateTexture: allow to not flip texels around up axis
2017-05-23 22:05:26 -07:00
Erwin Coumans
b19c209dbc
The softbody/bunny test is very experimental and shouldn't be enabled in the example browser, unless USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD is defined. I fixed a few bugs that cause the hang.
2017-05-21 06:50:53 -07:00
Erwin Coumans
19295f2859
enable file caching, currently only for Wavefront .obj files. You can disable file caching using
...
pybullet.setPhysicsEngineParameter(enableFileCaching=0)
Allow VR camera tracking only using position tracking, no orientation tracking (use
pybullet.setVRCamera([posX,posY,posZ],trackObjectFlag=0 or pybullet.VR_CAMERA_TRACK_OBJECT_ORIENTATION)
2017-05-17 19:29:12 -07:00
Erwin Coumans
9c4a5f9336
update VR camera even if setRealTimeSimulation(0)
...
also update w component in setVRCameraState orientation
2017-05-17 16:29:30 -07:00
Erwin Coumans
ea10c6d335
fix issue when re-connecting to physics server, after removeBody.
2017-05-16 17:19:45 -07:00
Erwin Coumans
433d11d8cf
Add a btIDEbugDraw::clearLines, helps multi-threaded rendering of lines (while updating those lines in a dynamics world in a different thread)
...
Expose COV_ENABLE_VR_RENDER_CONTROLLERS, to enable/disable rendering of controllers (and some frames) in VR
Expose COV_ENABLE_RENDERING to enable/disable rendering.
Fix some multi-threading issues (potential crashes), related to debug drawing/rendering in one thread, while changing the dynamics world/removing/resetSimulation in a different thread.
2017-05-16 12:19:03 -07:00
Erwin Coumans
f80838e989
expose the changeVisualShape RGBA color for TinyRenderer, OpenGL3 renderer.
2017-05-13 09:18:36 -07:00
Erwin Coumans
e2d596f4d0
remove visual shape from CPU/TinyRenderer with removeBody
...
(thanks to Jeff Bingham for reporting the bug!)
2017-05-12 20:24:10 -07:00
Oleg Klimov
d755513146
Rewrite collision filtering code
2017-05-11 12:59:11 +03:00
Erwin Coumans
53a82819a0
expose b3LoadMJCFCommandSetFlags / pybullet.pybullet_loadMJCF(fileName,flags=pybullet.URDF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS)
2017-05-10 15:01:25 -07:00
yunfeibai
a587d4fec4
Use "change" instead of "reset" for changing dynamics info.
2017-05-09 10:44:33 -07:00
yunfeibai
98654a0cb4
Change dynamic to dynamics in dynamics info.
2017-05-09 10:31:28 -07:00
yunfeibai
5fe4c6bb5b
Add API to get dynamic info.
2017-05-07 22:21:38 -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
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
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
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
af6bf8ddc8
plumb URDF/SDF audio_source into PhysicsServerCommandProcessor, allow to play sounds on collision !
...
See also https://youtu.be/eppOjTfx5Jg for a first test, and this modified URDF how to add sounds:
https://github.com/bulletphysics/bullet3/blob/master/data/plane_with_collision_audio.urdf
Add the --audio flag to enable sound in pybullet/Bullet-C-API
2017-05-01 11:14:09 -07:00
Erwin Coumans
2a2c18e959
add more tinyaudio preparation, some test wav files, play sound on collision events. Will expose this in the C-API to pick wav files and collision threshold levels etc. Use the premake --audio flag to try it out. The TinyAudio example in the ExampleBrowser works on Mac, Linux and Windows, you can play notes by pressing keys.
2017-04-29 10:32:30 -07:00
Erwin Coumans
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
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
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
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
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
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
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
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
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
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
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
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
erwincoumans
dae13eee7f
Merge pull request #1048 from erwincoumans/master
...
expose linkIndexA/B as filter option in pybullet.getContactPoints
2017-03-29 18:19:23 -07:00
Erwin Coumans
711431db5c
first draft of VR controller state logging
2017-03-29 16:29:34 -07:00
yunfeibai
f062847038
Replace spaces with tabs.
2017-03-29 15:37:33 -07:00
yunfeibai
66a8685816
Merge remote-tracking branch 'upstream/master'
2017-03-29 15:06:15 -07:00
yunfeibai
64573c38e4
Remove getBodyName API.
2017-03-29 15:03:29 -07:00
yunfeibai
de3f91b64e
Get body name from getBodyInfo.
2017-03-29 14:56:05 -07:00
erwincoumans
0750d502a8
Merge pull request #1041 from olegklimov/master
...
Random improvements (MJCF, error messages, gravity)
2017-03-29 09:12:48 -07:00
Oleg Klimov
3048326add
C API: fix b3SetContactFilterLink() when using b3RequestContactPoint()
2017-03-27 22:54:20 +03:00
Oleg Klimov
634f4cfdbc
MJCF: support for angle units in <compile angle="...">, kill two stdout messages
2017-03-27 22:54:20 +03:00
Erwin Coumans
4911916937
Expose 'flags' option for loadURDF, to allow customization of the URDF loading process while maintaining backward compatibility.
...
For example: URDF_USE_INERTIA_FROM_FILE flag. By default, URDF2Bullet will re-compute the inertia tensor based on mass and volume, because most URDF files have bogus Inertia values.
2017-03-27 08:30:20 -07:00
Erwin Coumans
7503418c72
Split Bullet/src/LinearMath/btSerializer.cpp into btSerializer64.cpp to make it easier to rebuild serialization structure.
...
Add several MSVC optimization flags to cmake.
Bump up VERSION because serialization format changed
Expose btScalar& jointMaxForce, btScalar& jointMaxVelocity to 'getJointInfo2' API, add backwards compatibility to examples\Importers\ImportURDFDemo\URDFImporterInterface::getJointInfo.
pybullet: expose 4 more fields to getJointInfo: jointLowerLimit/jointUpperLimit/jointMaxForce/jointMaxVelocity
fix performance issue in CMD_ACTUAL_STATE_UPDATE_COMPLETED
2017-03-26 13:06:46 -07:00
yunfeibai
0a552c3ba1
Merge remote-tracking branch 'upstream/master'
2017-03-23 13:55:44 -07:00
yunfeibai
d717b1db84
Add the API to get the body name and pybullet example call.
2017-03-23 13:54:44 -07:00
Erwin Coumans
0a654c2d58
expose optional targetVelocity to pybullet.resetJointState
...
add C-API: b3CreatePoseCommandSetJointVelocities and b3CreatePoseCommandSetJointVelocity
2017-03-23 10:29:16 -07:00
yunfeibai
50f0cfca9e
Add body name when loading urdf.
2017-03-23 10:16:39 -07:00
erwincoumans
a30b887595
Merge pull request #1025 from olegklimov/master
...
URDF loader improvement 2
2017-03-21 17:12:22 -07:00
Erwin Coumans
0b017b0f53
fix issue with btMultiBody friction in combination with soft contacts (friction should not re-use normal contact cfm/erp)
...
implement friction anchors, position friction correction, disabled by default. Use colObj->setCollisionFlag(flag | CF_HAS_FRICTION_ANCHOR); See test/RobotClientAPI/SlopeFrictionMain.cpp. In URDF or SDF, add <friction_anchor/> in <contact> section of <link> to enable.
PhysicsServer: properly restore old activation state after releasing picked object
btMultiBodyConstraintSolver: disable flip/flop of contact/friction constraint solving by default (it breaks some internal flaky unit tests)
2017-03-20 10:58:07 -07:00
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
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
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
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
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
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
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