Commit Graph

2469 Commits

Author SHA1 Message Date
erwincoumans
192d27743a enable pybullet.calculateInverseDynamics for floating bodies
Using calculateInverseDynamics with zero target acceleration allows to compute the non-linear dynamics forces (coriolis/gyroscopic) and/or gravity force.
2018-11-27 08:49:56 -08:00
Erwin Coumans
2e30a9565b add humanoid_deepmimic_gym_env.py for HumanoidDeepMimicBulletEnv-v1 (still untested) 2018-11-25 15:33:28 -08:00
Erwin Coumans
fbfa13894b Merge remote-tracking branch 'bp/master' 2018-11-25 12:58:22 -08:00
erwincoumans
cf48697fcf PyBullet on Windows: disable harmless warning of not being able to connect to shared memory server. 2018-11-24 11:57:01 -08:00
erwincoumans
bb6f4fb17c improve the ARS implementation: add multiprocessing Gym environment stepping, add command-line parameters to resume a policy, --render, --movie, --steps, --env 2018-11-24 11:54:36 -08:00
erwincoumans
ca36a82c62 add deepmimic args file (for testing)
implement deepmimic reward function (only joint angles/velocities for now)
fix an out-of-date comment, related to contactPoint.m_lateralFrictionInitialized in btSequentialImpulseConstraintSolver.cpp
2018-11-23 18:32:23 -08:00
erwincoumans
5f0dcb575f add DeepMimic helper utils 2018-11-23 18:01:39 -08:00
erwincoumans
7669fc92c5 add shiftCenterOfMass.py example. 2018-11-23 18:01:00 -08:00
erwincoumans
121cdc91b0 more work on PyBullet implementation of DeepMimic humanoid mimic of motion capture.
b3Quaternion, deal with zero-length axis (in axis,angle constructor)
2018-11-21 11:09:10 -08:00
erwincoumans
f93e4e4553 fix mjcf2urdf.py for Python 3 (utf) and don't export visuals (let it auto-convert from collision element) 2018-11-21 11:07:05 -08:00
erwincoumans
41e28e3587 Add link/joint names for DeepMimic humanoid urdf 2018-11-20 21:40:20 -08:00
stolk
5e44dd0c1d Show btHinge2 oscillation. 2018-11-19 14:47:03 -08:00
Erwin Coumans
bded2968ea add PyBullet.rotateVector method
add missing walk humanoid3d_walk.txt
2018-11-19 10:10:33 -08:00
erwincoumans
f9f8d0fbb0 example for fileIOPlugin.py loading SDF and its assets from a single zipfile,
also show how to disable file caching (used in the fileIOPlugin)
2018-11-17 14:11:01 -08:00
erwincoumans
9e99f5cdbc Expose PyBullet.calculateVelocityQuaternion, getAxisAngleFromQuaternion, getQuaternionFromAxisAngle, getDifferenceQuaternion
Add preparation for DeepMimic humanoid environment, replicating parts of https://github.com/xbpeng/DeepMimic
Loading humanoid.urdf and applying motion action: examples/pybullet/gym/pybullet_envs/mimic/humanoid.py
Loading MotionCapture data: examples/pybullet/gym/pybullet_envs/mimic/motion_capture_data.py
Little test: examples/pybullet/gym/pybullet_envs/mimic/humanoid_test.py
2018-11-16 17:29:03 -08:00
erwincoumans
9ad77a220e Merge pull request #1990 from erwincoumans/master
If a convex has called 'initializePolyhedralFeatures', use those feat…
2018-11-13 15:32:05 -08:00
erwincoumans
7c7235a8c5 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-11-13 14:32:38 -08:00
erwincoumans
7dd524075c Implement btMultiBodySphericalJointMotor, able to track a quaternion position target.
Expose this btMultiBodySphericalJointMotor through PyBullet.setJointMotorControlMultiDof
Expose PyBullet.getQuaternionSlerp
Improve PyBullet.setJointMotorControlMultiDof
Improve humanoidMotionCapture.py with slerp and using setJointMotorControlMultiDof
Expose  btMultiBody::spatialTransform
Fix btMultiBody::setupPlanar from DeepMimic codebase
Add support for multidof joints in btMultiBody::compTreeLinkVelocities, thanks to DeepMimic codebase @xbpeng
2018-11-13 14:32:18 -08:00
erwincoumans
75d60e1550 Merge pull request #1978 from stolk/master
Added Benchmark Demo for packed convex shapes.
2018-11-12 21:51:25 -08:00
erwincoumans
60b9551b38 If a convex has called 'initializePolyhedralFeatures', use those features also to create debug visualizer mesh, to avoid showing penetration.
Avoid crash in InvertedPendulumPDControl, due to recent change in m_jointFeedbackInWorldSpace
2018-11-12 21:46:11 -08:00
erwincoumans
a06b5de7b6 add converted humanoid from DeepMimic (https://github.com/xbpeng/DeepMimic,
thanks to Jason Peng), and motion capture playback example.
See also https://www.youtube.com/watch?v=vw3EKnKrgqw
2018-11-11 20:15:47 -08:00
erwincoumans
0b2142414d fix usage of btMultiBody::setJointPosMultiDof/setJointVelMultiDof 2018-11-11 19:04:07 -08:00
erwincoumans
17219f84c6 make setJointPosMultiDof and setJointVelMultiDof argument const.
add PyBullet.resetJointStateMultiDof / getJointStateMultiDof, for preliminary support for spherical and planar joints
2018-11-10 14:26:31 -08:00
stolk
fe07b0da9d Merge remote-tracking branch 'upstream/master' 2018-11-09 16:05:25 -08:00
erwincoumans
642c6a71d2 fix 2 potential data race conditions. 2018-11-08 14:41:22 -08:00
erwincoumans
49b098854e PyBullet: avoid calling syncBodies for each DOF in pdControl.
Allow PD_CONTROL in setJointMotorControlArray.
2018-11-07 09:29:19 -08:00
Erwin Coumans
882252f8c0 move global from btMultiBody into dynamicsWorld.getSolverInfo 2018-11-05 10:50:03 -08:00
Erwin Coumans
ac18c95ea1 fix some race conditions 2018-11-05 10:04:19 -08:00
Erwin Coumans
8b53e47fe8 add simpler ARS implementation, thanks to Alexis Jacq and Hadelin de Ponteves
(will add save/restore of policy and rendering movies through command-line arguments soon)
2018-11-02 11:19:46 -07:00
stolk
464100168f Added Benchmark Demo for packed convex shapes. 2018-11-02 10:13:08 -07:00
Erwin Coumans
f6ea2a7379 fix a potential data race condition.
remove createObstacleCourse programmatic creation part until we can steam vertices/indices.
2018-11-01 10:20:54 -07:00
erwincoumans
750133694c Disable btQuickprof.h profiling by default. We use custom profiling functions, see b3ChromeUtilsStartTimings. 2018-11-01 08:19:50 -07:00
Erwin Coumans
438e082b33 PyBullet: remove a potential race condition 2018-11-01 07:27:37 -07:00
Erwin Coumans
9e58a21732 more aesthetic wireframe, pure visual improvement (no impact on simulation/performance)
fixes https://github.com/bulletphysics/bullet3/issues/1970
Issue 1970
2018-10-31 21:50:49 -07:00
Erwin Coumans
131535a99f remove debug stats 2018-10-31 21:24:44 -07:00
Erwin Coumans
8e82de1b00 add rudimentary MuJoCo mjcf xml to ROS URDF file, based on
pybullet_utils.urdfEditor
2018-10-31 11:02:19 -07:00
Erwin Coumans
47b8b98a64 PyBullet: call the right method (although equivalent at the moment) 2018-10-30 22:16:13 -07:00
Erwin Coumans
44976780fa remove ARS files 2018-10-29 19:23:54 -07:00
Erwin Coumans
c2b9dc9361 update to CartPoleBulletEnv-v1 and check with latest baselines v0.1.5, works fine.
(make it more similar to classical control cartpole)
2018-10-29 16:44:12 -07:00
Erwin Coumans
2fa0ae9349 fix sprintf using nullptr string 2018-10-29 13:45:42 -07:00
erwincoumans
c80e2816ad PyBullet: Use fileIOPlugin in processRestoreStateCommand
PyBullet: Report debug information in case of failure in restoreState.
2018-10-29 12:08:34 -07:00
erwincoumans
35790c36c2 fix renamed variable m_rootPath->m_pathPrefix 2018-10-29 10:56:55 -07:00
erwincoumans
078887c4d7 PyBullet fileIOPlugin: don't add equal fileIO interface twice (based on identical fileIOType and pathPrefix)
loadBullet goes through fileIOPlugin
2018-10-29 10:25:40 -07:00
erwincoumans
ee76873689 eglPlugin: remove visual shape for removeBody. 2018-10-28 21:08:57 -07:00
erwincoumans
df9b4fb005 remove printf from demo 2018-10-27 11:56:04 -07:00
Erwin Coumans
bebe12d6d8 tweak tensorflow humanoid_running.py demo to be more robust against mouse dragging
(mouse dragging adds energy in the system that can cause explosions/instability):
use solverResidualThreshold and increase number of sub steps, also clamp the max force.
2018-10-27 11:48:21 -07:00
erwincoumans
a4cab78dd0 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-10-27 11:38:56 -07:00
erwincoumans
bdda7af8d7 Use the kF_UseGjkConvexCastRaytest for more accurate picking
fix upAxis in some demos
2018-10-27 11:38:38 -07:00
Erwin Coumans
0511a36a67 add Laikago quadruped model, thanks to Unitree for the cad meshes.
If you use the Laikago URDF, please add a citation to PyBullet:

@MISC{coumans2018,
author =   {Erwin Coumans and Yunfei Bai},
title =    {PyBullet, a Python module for physics simulation for games, robotics and machine learning},
howpublished = {\url{http://pybullet.org}},
year = {2016--2018}
}
2018-10-26 18:49:58 -07:00
erwincoumans
a44df2b0a6 PyBullet: allow to pass vertices (for convex) and vertices+indices (for concave) to createCollisionShape
See createObstacleCourse.py for an example use. At the moment a limit of 1024 vertices and 1024 indices.
Will be lifted once we implement the streaming version (soon).
2018-10-26 10:18:51 -07:00