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
erwincoumans
b1d6f58981
Update pybullet.c
...
fix compile issue
2017-09-24 09:16:54 -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
37cfce99b2
add arguments to plugin system
2017-09-23 07:52:10 -07:00
Erwin Coumans
3783dccaa3
create a C/C++ plugin system for pybullet / C-API.
2017-09-22 19:17:57 -07:00
Erwin Coumans
74475479cf
fix pybullet, checked wrong type after connection
2017-09-13 17:05:23 -07:00
Erwin Coumans
7e0ca070e0
fix return values in pybullet to be Pythonic.
2017-09-13 16:08:30 -07:00
Erwin Coumans
340a8f4704
add sigaction handler to Example Browser, to always shutdown shared memory
...
make GUI_SERVER more reliable
next attempt to connect to SHARED_MEMORY in Gym envs, if available, before DIRECT/GUI
allow software rendering fallback, even if ER_BULLET_HARDWARE_OPENGL is chosen in getCameraImage
2017-09-13 13:30:16 -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
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
659e869b86
pybullet a bit more refactoring, moving around files.
...
pybullet: move data to pybullet_data package, with getDataPath() method
2017-08-27 18:08:46 -07:00
Erwin Coumans
bcc60224f0
all methods (except connect, obviously) have the physicsClientId argument, even if they don't use it. This makes it easier to create a wrapper API to store the physics client. This allows easier multi-threaded versions with multiple Bullet DIRECT instances (or SHARED_MEMORY, TCP, UDP etc).
...
See for example https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py and https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/minitaur.py
2017-08-25 14:04:45 -07:00
Erwin Coumans
a66576f034
revert API to be backward compatible, add b3CreateInProcessPhysicsServerAndConnectSharedMemory
...
same for BulletURDFImporter constructor
2017-08-16 12:33:25 -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
60b60ef9fd
add pybullet.connect(pybullet.GUI_SERVER) option. This allows shared memory connections, acting as a physics server. You can connect using SHARED_MEMORY to this GUI_SERVER.
2017-08-14 17:02:20 -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
yunfeibai
cfc7917586
Add init function and module for pybullet with EGL.
2017-07-18 13:52:29 -07:00
Erwin Coumans
5178ad4abc
add proper pointer casts
2017-07-01 10:28:28 -07:00
Erwin Coumans
9cf747b35b
a few compile/warning fixes
2017-07-01 10:01:55 -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
erwincoumans
c777e61d48
fix pybullet compilation on some WIN32 version of MSVC
2017-06-23 20:36:19 -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
61f27a5c72
also add baseInertialFramePositionObj and baseInertialFrameOrientationObj to pybullet.createMultiBody
...
updated createMultiBodyLinks.py example.
2017-06-19 17:13:20 -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
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
Michel Breyer
0c7cf47eb9
fix uninitialized erp in pybullet_setPhysicsEngineParameter
2017-06-13 17:24:35 +02:00
Michel Breyer
6d84e5e159
fix memcpy of depth and segmentation images to numpy arrays
2017-06-12 16:28:21 +02: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
erwincoumans
7b56db9f97
fix compile issue/warning
2017-06-06 06:59:41 -07:00
Erwin Coumans
704269afe1
don't pass second parameter, pybullet func
2017-06-04 22:24:14 -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
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
4e03c36fa6
add pybullet.multiplyTransforms and pybullet.invertTransform
...
use btAssert instead of assert (glGetError is really slow)
shift default light-position a little bit, to make faces different color
2017-05-29 21:55:58 -07:00
erwincoumans
c36792c950
fix bodyIndex -> bodyUniqueId in pybullet.
2017-05-28 13:30:20 -07:00
erwincoumans
f9c53b39a2
fix pybullet build on some MSVC versions
2017-05-28 09:48:12 -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
2b9c67b07c
TinyRenderer: discard pixels beyond farplane
...
pybullet: printf build date/time
2017-05-25 17:25:14 -07:00