Commit Graph

624 Commits

Author SHA1 Message Date
Erwin Coumans
ff4270a517 fix pybullet racecarGymEnv to use thread-safe pybullet 2017-08-23 18:22:20 -07:00
Erwin Coumans
75231d63e8 use name MinitaurBulletEnv 2017-08-23 17:45:41 -07:00
Erwin Coumans
0851b45f39 update minitaur gym env 2017-08-23 17:41:34 -07:00
Erwin Coumans
8866840712 Clarify in naming that the environment uses MJCF xml files with Bullet, it doesn't use MuJoCo. 2017-08-23 15:03:57 -07:00
Erwin Coumans
f19f28b5ed more fixes in pybullet/resources, moved enjoy/train/test in 'examples' folder. 2017-08-22 10:07:47 -07:00
Erwin Coumans
21ca6a90f0 more fixes for pybullet 2017-08-22 09:32:16 -07:00
Erwin Coumans
dd4cc5f4ef add minitaur quadruped 2017-08-22 09:00:46 -07:00
Erwin Coumans
e064d4b837 more fixes in pybullet_envs: fix path, add missing data resources 2017-08-22 08:59:39 -07:00
Erwin Coumans
21f9d1b816 refactor pybullet/gym to allow instantiating environments directly from a pybullet install:
work-in-progress (need to add missing data files, fix paths etc)

example:

pip install pybullet
pip install gym

python
import gym
import pybullet
import pybullet_envs
env = gym.make("HumanoidBulletEnv-v0")
2017-08-22 00:42:02 -07:00
Erwin Coumans
c06ea72a4c improve the new pybullet gym environments, follow camera, disable 2D GUI, disable rendering during loading (makes it faster)
disable vsync on Mac
fix setup.py file
2017-08-20 18:11:53 -07:00
erwincoumans
c0984b80e5 Merge pull request #1231 from benelot/bullet-gym
Add nearly all gym environments using pybullet together with the…
2017-08-18 13:29:43 -07:00
Benelot
3191291748 Split pendula robot from the pendula envs due to changes in the underlying mujoco xml base env. 2017-08-17 00:25:16 +02:00
Benelot
9f20e40541 Rename old humanoid gym to simple humanoid gym. 2017-08-17 00:06:01 +02:00
Benelot
f74a9299a8 Unversion manipulators for now. They come back as they are ready. 2017-08-16 22:43:40 +02:00
Erwin Coumans
a66576f034 revert API to be backward compatible, add b3CreateInProcessPhysicsServerAndConnectSharedMemory
same for BulletURDFImporter constructor
2017-08-16 12:33:25 -07:00
Benelot
68106d66dd Split locomotion environments. 2017-08-16 08:08:24 +02: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
Benelot
cab3de35e4 Remove duplicate assets and use other assets. Rename classes appropriately for robot-scene-env split refactoring. 2017-08-15 15:31:24 +02: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
Benelot
4771bae9fa Merge branch 'master' into bullet-gym 2017-08-10 22:50:12 +02:00
erwincoumans
0eb3898c76 Merge pull request #1244 from erwincoumans/master
add 'createObstacleCourse.py' example, helps reproducing
2017-07-29 13:20:14 +02:00
Erwin Coumans
d28dd2f80a add 'createObstacleCourse.py' example, helps reproducing
Parkour paper: https://arxiv.org/abs/1707.02286
2017-07-29 13:18:49 +02:00
yunfeibai
cfc7917586 Add init function and module for pybullet with EGL. 2017-07-18 13:52:29 -07:00
Erwin Coumans
c9b41737c0 add example of faster URDF/SDF loading in VR/GUI mode,
by temporary disabling rendering
2017-07-14 23:32:53 +01:00
Benjamin Ellenberger
a6aade2e21 Add nearly all gym environments using pybullet together with the latest tf model from the roboschool model zoo. 2017-07-14 23:38:15 +02: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
Erwin Coumans
bf800e30d5 Added manually converted widowx.urdf from https://github.com/RobotnikAutomation/widowx_arm
Added simple pybullet file in Bullet/examples/pybullet/examples/widows.py (preliminary, both URDF and py file needs more work to be useful)
https://github.com/RobotnikAutomation/widowx_arm/blob/master/widowx_arm_description/package.xml
See also http://www.trossenrobotics.com/widowxrobotarm
2017-06-29 17:54:04 -07:00
erwincoumans
d5fe67cf57 Add pybullet transparent.py example, transparency with global per-object sort in GLInstancingRenderer 2017-06-24 19:38:31 -07:00
erwincoumans
a651cb9ab4 Implement first pass of transparent graphics object for GLInstancingRenderer
remove 'enableBlend' from API, graphics instances use alpha component instead
fix forward axis for SimpleCamera
2017-06-24 13:41:33 -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
9672c3a330 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-06-23 16:19:10 -07:00
Erwin Coumans
9aed6b08f1 don't set the numSolverIterations that high, was a debug left-over 2017-06-23 16:18:42 -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
a136098120 add a few more discrete actions to cartpole_bullet.py so it trains faster + add option to train without rendering, enjoy with rendering. 2017-06-22 16:49:14 -07:00
Erwin Coumans
9213f944f1 add kukaCamGymEnv.py with camera observations (preliminary)
show camera position in example browser
disable per-vertex and per-fragment profile timings
2017-06-21 09:33:46 -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
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
5ea4da87d7 improve getAABB.py drawing 2017-06-16 19:11:35 -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
40cb8006ee fix gym/envs/bullet/cartpole_bullet.py (velocity hyperparameter still needs to be tuned)
add enjoy_pybullet_cartpole.py
2017-06-16 17:06:11 -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
c903bd8a49 tune kuka grasp gym env (make it a bit too easy) 2017-06-15 11:18:08 -07:00
erwincoumans
a547c8f3fc hook up kuka grasping to OpenAI dqn 2017-06-14 23:42:14 -07:00
erwincoumans
d2888f0884 add nicer meshes to kuka_with_gripper.sdf and add kuka_with_gripper2.sdf that can rotate without messing up IK
fix tray/tray_textured4.obj and tray/tray.urdf
fix kuka_with_cube.py
allow both IK /end-effector control and joint-space control in kuka environment, use 1./240. sec. step and 150 solver iter
bump up pybullet to 1.1.7
2017-06-14 19:34:33 -07:00
erwincoumans
cc34ebab25 add humanoid and kuka gym environments (experimental) 2017-06-14 00:54:41 -07:00
Erwin Coumans
a0ded43a69 use cnn_to_mlp to allow training of racecar using (extremely simplified) ZED camera pixel data using OpenAI baselines.
add a red sphere to make training a bit easier for now.
2017-06-13 18:33:32 -07:00
Erwin Coumans
ee8fd56c5e prepare to train racecar using ZED camera pixels (CNN+DQN) 2017-06-13 16:04:50 -07:00
Erwin Coumans
ab6d5c9c53 Merge remote-tracking branch 'bp/master' 2017-06-13 11:06:12 -07:00
Erwin Coumans
c84416d932 add debug view for getCameraImage (RGB, depth, segmentation mask) 2017-06-13 10:53:24 -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
erwincoumans
1752aa55ca train_pybullet_racecar.py works, self-driving car drives towards the ball using OpenAI baselines DQN :-)
See https://www.youtube.com/watch?v=DZ5Px-ocelw for video and how-to-install.
2017-06-10 18:46:36 -07:00
Erwin Coumans
b361722500 Implement train_pybullet_racecar.py and enjoy_pybullet_racecar.py using OpenAI baselines DQN for the RacecarGymEnv. 2017-06-09 19:26:07 -07:00
erwincoumans
b2a46a7edd mimicJointConstraint.py creates actual differential drive
See https://www.youtube.com/watch?v=pK3PTPlRTGA  :-)
2017-06-09 10:15:05 -07:00
Erwin Coumans
0aeb4d5058 add RacecarGymEnv as a gym experimentation environment 2017-06-08 19:45:48 -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
erwincoumans
ae00c24a5c add MIT racecar URDF, meshes and racecar.py quick test 2017-06-06 09:23:40 -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
yunfeibai
e2a9fc33dc Remove debug code. 2017-06-02 17:40:50 -07:00
yunfeibai
3506603d60 Test conversion from view matrix to yaw pitch roll. 2017-06-02 16:56:05 -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
aa40b8487f bump up SHARED_MEMORY_MAGIC_NUMBER versioning tag, remove humanoid_running_3.py
bump up pybullet version to 1.1.0
2017-06-01 13:33:53 -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
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
5436b8f048 print better error warning, in case the physics client/server version mismatch.
fix in b3HashString
remove many unused dependencies from kuka_grasp_block_playback.py (time,math, datetime ,numpy,pylab ,sys, os, fnmatch,argparse were not used!)
move block_grasp_log.bin from Bullet3/data to Bullet3/examples/pybullet/examples/data folder.
PhysicsServerCommandProcessor, derive from CommandProcessorInterface to prepare for different back-end implementation
2017-05-28 17:05:18 -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
erwincoumans
5103f3b72d Merge pull request #1146 from jietan/pullRequest
Pull request to update to the latest minitaur agent and env
2017-05-24 16:26:17 -07:00
Jie Tan
1d0db4ec2e update to the latest agent and environment. 2017-05-24 11:20:42 -07:00
Erwin Coumans
5e2599863d trackObject -> parentObject
trackLinkIndex -> parentLinkIndex
add example debugDrawItems.py
2017-05-24 09:06:15 -07:00
Erwin Coumans
0f63e7a2f6 Merge remote-tracking branch 'bp/master' 2017-05-23 22:06:07 -07:00
Erwin Coumans
7bb802a91b Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-05-23 22:05:38 -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
Jie Tan
18fd1a003f remove redundant and potentially confusing data 2017-05-23 16:34:13 -07:00
erwincoumans
4f3d60f4d0 Merge pull request #1142 from jietan/pullRequest
add back sonnet dependency. If sonnet is not installed, fall back to …
2017-05-23 10:05:36 -07:00
yunfeibai
dacdcb0508 Add the pybullet example. 2017-05-22 22:26:57 -07:00
yunfeibai
d383799d97 Merge remote-tracking branch 'upstream/master' 2017-05-22 22:23:55 -07:00
yunfeibai
3eb974f66f Add kuka grasping block playback. 2017-05-22 22:23:01 -07:00
Jie Tan
671c4bf10e add back sonnet dependency. If sonnet is not installed, fall back to simpleAgent that does not need sonnet. 2017-05-22 20:57:18 -07:00
Erwin Coumans
9420ecded3 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-05-21 19:49:26 -07:00
Erwin Coumans
19933a9454 Merge remote-tracking branch 'bp/master' 2017-05-21 12:16:34 -07:00
Erwin Coumans
aa2787520b examples\pybullet\examples\humanoid_knee_position_control.py : allow both knees to be actuated against limit 2017-05-21 11:35:06 -07:00
erwincoumans
148716d0ff Merge pull request #1135 from erwincoumans/master
disable Grasp Soft Body/SoftBody coupling demo unless USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD is defined, fixed related hang in experimental 'loadBunny' command
2017-05-21 11:00:43 -07:00
Erwin Coumans
fd40ba424b test for knee joint limits under position control 2017-05-21 11:00:15 -07:00
Jie Tan
8a6a46d180 remove sonnet dependency 2017-05-18 16:12:38 -07:00
Erwin Coumans
c2fdffba35 pybullet.enableJointForceTorqueSensor kwlist was not properly terminated 2017-05-17 19:37:51 -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
972660f825 Only initialized values if provided (and don't initialize default if not provided!)
fixes getCameraImage(width,height) crash
2017-05-17 17:25:34 -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
4dea68e43e allow to enable/disable VR picking and VR teleport. Disabling VR picking will also disable the rendering of the VR controller frames. 2017-05-15 11:39:39 -07:00
Erwin Coumans
bb4c195118 added getJointStates and make humanoid_running.py use it to reduce Python<->C++ calling overhead a lot. 2017-05-13 18:07:49 -07:00
Erwin Coumans
f80838e989 expose the changeVisualShape RGBA color for TinyRenderer, OpenGL3 renderer. 2017-05-13 09:18:36 -07:00
Erwin Coumans
845eb43610 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-05-12 17:18:10 -07:00
Erwin Coumans
85c84ce09a remove other humanoids in single humanoid_running.py example 2017-05-12 17:18:04 -07:00
Erwin Coumans
79e2c10506 add second humanoid_running_3.py example with 3 humanoids, for testing. Created a humanoid_symmetric_no_ground.xml and ground.xml:
if the ground is duplicated, simulation is unstable (too many contacts in the same area?)
2017-05-12 17:17:27 -07:00
Erwin Coumans (google)
c068cb8297 bump up pybullet to 1.0.3,
allow humanoid_running.py to run on Python 2.7
2017-05-12 21:21:03 +00:00
Erwin Coumans
3bdc60c050 fix pybullet inversekinematics argument order (O/i)
add spinning friction to some tutorial
2017-05-12 11:18:33 -07:00
Erwin Coumans
0ad3fade4e physicsClientId always comes last for each pybullet command 2017-05-12 09:38:17 -07:00
erwincoumans
ac7518d24b Update humanoid_running.py
remove obsolete fps comment, runs at > 1000FPS on my laptop
2017-05-11 22:51:50 -07:00
erwincoumans
0e12277cfb Update humanoid_running.py
disable sleep and use GUI mode by default
2017-05-11 22:26:49 -07:00
erwincoumans
d4ec33d8e4 Merge pull request #1115 from erwincoumans/master
added the humanoid_running.py from this pull request, modified so it …
2017-05-12 05:16:50 +00:00
Erwin Coumans
97235578fb added the humanoid_running.py from this pull request, modified so it works with plain pybullet. 2017-05-10 18:08:43 -07:00
erwincoumans
f74adffb84 Merge pull request #1114 from YunfeiBai/master
Add an example to decode the packed button events from vr log.
2017-05-10 23:41:12 +00:00
yunfeibai
c9aad0b6b0 format change 2017-05-10 16:15:13 -07:00
yunfeibai
719dba5cd1 keep the original dumpLog, and create a dumpVrLog 2017-05-10 16:12:45 -07:00
yunfeibai
c3e3e1e983 modify vr button log parse example 2017-05-10 15:33:58 -07:00
yunfeibai
cfb8316297 Add an example to decode the packed button events from vr log. 2017-05-10 15:07:49 -07: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
Erwin Coumans
051e3f8b0c Merge remote-tracking branch 'bp/master' 2017-05-09 11:37: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
Erwin Coumans
0f5b400895 pybullet: implement setJointMotorControlArray, the array version of setJointMotorControl2. This can improve performance in reinforcement learning loops (training / inference) by reducing Python/C-API/shared memory calling overhead. 2017-05-08 13:41:07 -07:00
yunfeibai
92de4ecd31 Add pybullet example to get dynamic info. 2017-05-07 22:41:05 -07:00
Erwin Coumans
6767b986d0 tuned the benchmark a little bit, start with the humanoid on the floor 2017-05-05 18:05:36 -07:00
Erwin Coumans
7003401605 use DIRECT mode for benchmark 2017-05-05 17:57:07 -07:00
Erwin Coumans
3849612403 pybullet benchmark: make some parameters explicit 2017-05-05 17:42:43 -07:00
Erwin Coumans
385156cbc5 add simple humanoid_benchmark.py and mjcf file 2017-05-05 17:24:35 -07:00
Erwin Coumans
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
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
yunfeibai
1841a41f2a Add pybullet example for resetting dynamics. 2017-05-03 21:30:42 -07:00
yunfeibai
c7e9a31898 Add API to get user constraint id. 2017-05-03 18:25:25 -07:00
yunfeibai
4da2c076a7 Add API to reset mass. 2017-05-01 22:18:54 -07:00
Jie Tan
bf5915f44b add a simple DDPG agent and a policy 2017-04-28 15:24:53 -07:00
Jie Tan
93fc04c6c3 Merge remote-tracking branch 'bp/master' into pullRequest 2017-04-28 14:36:56 -07:00
Jie Tan
948b2b00fe added a policy trained by DDPG 2017-04-28 14:34:03 -07:00
Benelot
55414f5b20 Add link name to getJointInfo(...). 2017-04-25 23:58:30 +02:00
Erwin Coumans
771b197131 add option to calibrate individual fingers for the vr glove 2017-04-25 09:40:18 -07:00
Erwin Coumans
d41a2fdfd4 change hand.ino/py to match hardware changes (use pullup resistor, connect to gnd, instead of 5V + pull down resistor) 2017-04-24 09:56:27 -07:00
Erwin Coumans
e8c1602232 add vrhand for vive tracker
tweak 'saveWorld' feature a bit (mjcf, gui fallback if shared memory server is not available)
2017-04-21 10:28:20 -07:00
Erwin Coumans
d2ff554e37 tweak hand.py script to automatically find the port on Windows (COM0 to COM30) and Mac OSX. 2017-04-20 14:44:47 -07:00
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
David Carlier
756568ad9c build fix for BSD systems 2017-04-16 17:53:44 +01: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
0a42ad6a88 pybullet: add support for Anaconda install on Mac OSX, for pip install pybullet, python setup.py install and cmake.
Usage:

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

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

2) cmake, add the flag -DBUILD_PYBULLET_MAC_USE_PYTHON_FRAMEWORK=OFF

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

Option (3) may have an out-of-date pybullet/bullet version.
2017-04-11 12:17:08 -07:00
Erwin Coumans
bdf366b045 implement pybullet.getDebugVisualizerCamera, width, height, providing viewmatrix, projection matrix 2017-04-10 11:03:41 -07:00
Erwin Coumans
82b6bc8770 apply the deviceTypeFilter also to VR state logging. 2017-04-08 11:48:12 -07:00
erwincoumans
2e47310e76 fix enum (has to be power of 2, to allow combination of devices)
add vrtracker.py
2017-04-08 10:37:32 -07:00
Erwin Coumans
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
0f2771b1d1 Merge pull request #1059 from jietan/pullRequest
make the URDF and the minitaur.py consistent with the real robot
2017-04-06 04:57:26 +00:00
erwincoumans
2e13531493 Merge pull request #1061 from erwincoumans/master
Implement rayTestBatch. At the moment, it is still testing individual…
2017-04-06 04:56:49 +00:00
Erwin Coumans
6cbb00fd6b Implement rayTestBatch. At the moment, it is still testing individual rays on the physics server. We can enable multi-threaded version later. At least the python + shared-memory IPC overhead will be much lower. 2017-04-05 15:21:26 -07:00
Jie Tan
1cd513024a make the URDF and the minitaur.py consistent with the real robot 2017-04-05 11:54:54 -07:00
erwincoumans
ac91896025 Merge pull request #1054 from erwincoumans/master
pybullet setup.py / pip support for Windows, Linux and Mac! just run 'pip install pybullet' and wait until all compiled (like numpy, it is mainly source, except for a few wheels Mac 2.7 and Win32 3.5). Expose URDF_USE_SELF_COLLISION flag.
2017-04-04 23:36:32 +00:00
yunfeibai
fedf718d9e minor fix for pybullet comment. 2017-04-04 13:45:49 -07:00
Erwin Coumans
b095e1d917 expose pybullet.URDF_USE_SELF_COLLISION flag, experimental (likely doesn't work well for many URDF files) 2017-04-04 12:47:34 -07:00
yunfeibai
b168f53ed9 Rename body index to body unique id. 2017-04-04 10:38:25 -07:00
yunfeibai
1e91e78469 Add pybullet API for logging contacts. 2017-04-02 16:03:20 -07:00
Erwin Coumans
473196a492 remove vld.h 2017-03-30 13:56:37 -07:00
Erwin Coumans
a7c67b4d9d avoid memory leaks, even if a the python interpreter exits without calling 'disconnect' on all physics servers
(register a Py_AtExit function that cleans all up), to avoid memory leaks
2017-03-30 13:50:02 -07:00
Erwin Coumans
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
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
Erwin Coumans
5899425774 expose linkIndexA/B as filter option in pybullet.getContactPoints 2017-03-29 12:04:23 -07:00
Erwin Coumans
eb8c31ae82 move pybullet examples to Bullet/examples/pybullet/examples 2017-03-29 09:40:56 -07:00
Erwin Coumans
fd2c0f58bc Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-03-27 17:25:40 -07:00
Erwin Coumans
38ad1bfb89 revert to m_jointFriction (from m_jointFriction1) 2017-03-27 10:16:55 -07: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
Erwin Coumans
e381e84319 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-03-21 20:44:16 -07:00
Erwin Coumans
15e6ee1a04 add missing define in pybullet to start/stop MP4 video, pybullet.startStateLogging(STATE_LOGGING_VIDEO_MP4,"filename.mp4") 2017-03-21 20:43:23 -07:00
yunfeibai
6695268fba Fix the issue with indentation in pr2 setup. 2017-03-20 09:52:24 -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
Erwin Coumans
4db6fa9e29 update minitaur.py to use minitaur.urdf (instead of quadruped.urdf), also sort the legs in the same order as real hardware
added test urdf files for minitaur with all fixed joints, or fixed knees.
added some stiffness/damping to minitaur legs (testing)
tiny_obj_loader, don't crash on invalid texture coordinates
btMultiBodyConstraintSolver: sweep back and forward to reduce asymmetry
2017-03-15 15:38:50 -07:00
Erwin Coumans
a613911c84 Merge remote-tracking branch 'bp/master' 2017-03-15 11:05:16 -07:00
erwincoumans
6f171f90dc Merge pull request #1015 from JulianYG/master
Fixed shaking issue, and hopefully the offset should be gone.
2017-03-15 09:15:00 -07:00
Erwin Coumans
6e2850e08a fix names (case) for Linux for MPL/hand 2017-03-14 17:03:11 -07:00
Julian
bb9601bf64 fixed numpy dependency and gripper 2017-03-14 14:43:08 -07:00
Erwin Coumans
66919cc66a fix unreachable code 2017-03-14 13:13:16 -07:00
Julian
b686d1274c fixed minor issues, added 1dof on end effector rotation. gripper is raw 2017-03-13 22:09:08 -07:00
Julian
7cc31e7c98 fixed minor issues, added 1dof on end effector rotation. gripper is raw 2017-03-13 22:08:17 -07:00
Julian
fabe09fe53 add 1 dof to kuka end effector 2017-03-13 22:04:28 -07:00
Julian
8145203222 add 1dof to kuka end effector 2017-03-13 22:04:16 -07:00
Erwin Coumans
5009a55ee1 Merge remote-tracking branch 'bp/master' 2017-03-13 18:50:32 -07:00
erwincoumans
1a079ceb59 Merge pull request #1003 from JulianYG/master
pybullet VR controller controls the kuka arm
2017-03-13 18:32:48 -07:00
Erwin Coumans
901b314a1e clang-format pybullet.c
move AccessModifierOffset to -4 (public:, private:, protected: are aligned to the left in Bullet)
2017-03-13 16:06:52 -07:00
Mohi
43b0a8b6fb Fixing a bug on Visualizer Camera and a few more
- resetDebugVisualizerCamera now accepts negative values for pitch and
yaw angles

- Defining kitchen model to be concave, so as to be able to put floating
objects inside

- Fixed an indention error in testrender_np.py
2017-03-13 10:41:54 -07:00
Jie Tan
8c27a62e04 remove the stub calls from rllab 2017-03-10 13:41:05 -08:00
Jie Tan
37a809f5d1 added the learning algorithm from RL-lab 2017-03-10 12:29:47 -08:00
Jie Tan
923fbe8588 add gym examples 2017-03-10 11:22:38 -08:00
Erwin Coumans
ca31bb2bbd pybullet.ER_BULLET_HARDWARE_OPENGL and ER_TINY_RENDERER exposed (for getCameraImage, renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
improve performance of getCameraImage when using ER_BULLET_HARDWARE_OPENGL
2017-03-09 17:42:59 -08:00
Julian
51dc3a1710 VR controller the kuka arm 2017-03-08 19:36:41 -08:00
Erwin Coumans
f2aa67d262 improve vrhand.py 2017-03-08 14:10:43 -08:00
erwincoumans
63dc57c7e6 add pybullet file to track VR controller attached to some robot (such as minitaur)
press button to toggle tracking, other button to reset orientation of controller, relative to robot.
2017-03-07 08:48:23 -08:00
Erwin Coumans
f81211f3b0 fix quadruped.py, don't use 'realtime' and set timeout (in case connection to server is lost) to few seconds 2017-03-05 22:40:05 -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
e0c74a46ac Set renderer in pybullet. 2017-03-04 13:31:30 -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
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
Erwin Coumans
ac28f50fa5 vrhand.py first try to connect to SHARED_MEMORY if that fails use GUI fallback 2017-03-01 13:01:02 -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
2751b34894 Add maximum joint angle. 2017-02-22 14:01:03 -08:00
yunfeibai
6f2a7220a5 Modify controller constraint in the pybullet vr gripper setup. 2017-02-22 13:52:49 -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
218f883211 make flag/enable required argument
update pybullet quickstart guide PDF from
https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#
2017-02-21 17:53:49 -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
29772fc3b4 Merge pull request #965 from jietan/pullRequest
Pull request
2017-02-21 05:10:01 -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
5c74b0a199 add cmake support for TCP / clsocket in pybullet 2017-02-20 20:55:37 -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
3d73a9d788 shmem preliminary TCP implementation (not working yet) 2017-02-20 16:46:25 -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
8af62239b0 Update pybullet.c 2017-02-17 15:15:13 -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
Jie Tan
0665a447af refactor to make minitaur example more general 2017-02-16 15:23:46 -08:00
Jie Tan
83e5e816f5 Merge remote-tracking branch 'bp/master' into pullRequest 2017-02-16 15:13:12 -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
08b83c3cd8 Merge remote-tracking branch 'bp/master' 2017-02-16 13:41:12 -08:00
Jie Tan
509b77054a now minitaur class can output joint angles, velocities and torques. I also extract evaluate functions to a file 2017-02-09 14:43:40 -08:00
Jie Tan
4df8b27626 make the motorId corresponds to that of the real minitaur. change the mass of the quadruped.urdf, change the friction of plane.urdf. 2017-02-08 17:26:36 -08:00