Commit Graph

1464 Commits

Author SHA1 Message Date
Erwin Coumans
b6df08b553 implement resetMeshData for deformable bodies, this allows better reset for reinforcement learning algorithms. 2021-09-02 17:27:05 -07:00
Felix Büttner
4b6ec20b30 External force and torque frame fix 2021-09-02 17:40:18 +02:00
erwincoumans
31b8841efc
Merge pull request #3948 from erwincoumans/master
add low-resolution Laikago (for faster rendering in CPU renderer) and cleanup sdf files
2021-08-30 13:01:15 -07:00
Erwin Coumans
68424feb2d don't use empty frame for pose in sdf files
use hint for clang that if (0) is intentional
2021-08-30 19:40:20 +00:00
erwin coumans
7ac95be8cd add training and run/eval scripts to train envs_v2 Laikago pmtg 2021-08-17 08:56:30 -07:00
erwin coumans
e399944982 add simplified Laikago model for faster CPU rendering (getCameraImage in direct mode using TinyRenderer) 2021-08-03 13:26:39 -07:00
Ayzaan Wahid
83fbd60d5b
Create URDF for white xarm 2021-07-29 17:08:50 -04:00
Antonin Raffin
13f3778c22 Fix SB3 comment 2021-07-29 15:24:46 +02:00
Antonin Raffin
2f8b44c702 Migrate to Stable-Baselines3 2021-07-29 15:21:49 +02:00
erwincoumans
a435fb7a41
Merge pull request #3819 from cadop/bullet-client-subprocess-safety
Fix for bullet_client to be used from a class instance during multiprocessing
2021-05-12 13:54:00 -07:00
erwin coumans
e952ac6f63 Add pybullet.configureDebugVisualizer(rgbBackground=[red,green,blue]) (each component a float in the range [0,1])
This is an alternative to passing options="--background_color_red=red --background_color_green=green --background_color_blue=blue" in the connect method.
2021-05-06 18:08:22 -07:00
erwin coumans
8e85dedaa9 PyUnicode_AsUTF8 breaks python 2.x compatibility 2021-05-06 10:19:15 -07:00
cadop
ace34c4d08 check the process id before disconnecting 2021-04-27 19:33:37 -04:00
Erwin Coumans
fc2992b75a Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-22 20:41:45 -07:00
Erwin Coumans
184b7816d0 LICENSE should have no txt extension 2021-04-22 16:45:29 -07:00
Erwin Coumans
c915e82d49 Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-22 16:20:31 -07:00
Erwin Coumans
83a5fe2d31 Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-21 22:14:38 -07:00
Erwin Coumans
9f91e6837a remove type annotations
bump up pybullet version
2021-04-20 15:50:12 -07:00
erwin coumans
e58e5bdf95 PyBullet:
expose pybullet.changeDynamics(sleepThreshold), default 0.05, for both useMaximalCoordinates=False and True
When the dot(vel,vel) < sleepThreshold for longer than 2 seconds (this timeout is hard coded) objects that have the ACTIVATION_STATE_ENABLE_SLEEPING enabled with be deactivated
Example:
p.changeDynamics(ob, -1, activationState=p.ACTIVATION_STATE_ENABLE_SLEEPING, sleepThreshold=0.05)
2021-04-20 11:29:27 -07:00
erwin coumans
84a63cf221 allow to use the useMultiBody argument for loadMJCF command
note that for dynamic and static objects (without joints) it is best to set useMultiBody=False
2021-04-19 20:37:26 -07:00
Erwin Coumans
973d8c128f Merge branch 'master' of github.com:erwincoumans/bullet3 2021-04-07 22:13:18 -07:00
jaraujo98
dcf9c8d6a5
Replace xrange with range
The xrange function was deprecated in Python 3. Removing it for compatibility.
2021-04-06 11:26:39 -07:00
erwincoumans
21d1b8fc71
Merge pull request #3339 from erwincoumans/master
add pybullet_examples, fix pybullet_envs.minitaur.envs_v2, bump up pybullet 3.1.2
2021-04-05 19:53:38 -07:00
Erwin Coumans
5205dafcc2 add __init__.py 2021-04-05 19:51:38 -07:00
Erwin Coumans
29f388a5d8 add selected examples under pybullet_examples 2021-04-05 19:50:46 -07:00
Erwin Coumans
513e3a7db4 add more __init__.py files 2021-04-05 18:07:39 -07:00
Erwin Coumans
674c82db89 bump up pybullet version to 3.1.2
add missing __init__.py files
2021-04-05 17:58:25 -07:00
erwincoumans
2c3318f86d
Merge pull request #3331 from erwincoumans/master
add performCollisionDetection (stepSimulation also calls this, but do…
2021-04-05 12:54:39 -07:00
erwin coumans
8b8c1af6a4 Cleaned-up/fixed version of this Pull Request #3239, thanks to Wenlong Lu 2021-04-05 11:40:45 -07:00
erwin coumans
4d34ba7310 add updated Laikago envs_v2, with PMTG and MPC examples.
python -m pybullet_envs.minitaur.envs_v2.locomotion_gym_env_test
python -m pybullet_envs.minitaur.envs_v2.examples.laikago_mpc_wrapper_example
python -m pybullet_envs.minitaur.envs_v2.examples.laikago_static_gait_example
python -m pybullet_envs.minitaur.agents.baseline_controller.locomotion_controller_example
PMTG example, not well tuned:
python -m pybullet_envs.minitaur.envs_v2.examples.laikago_pmtg_example
2021-04-05 11:35:19 -07:00
Erwin Coumans
58d47935a3 Merge remote-tracking branch 'bp/master' 2021-03-26 11:53:37 -07:00
erwin coumans
d1c4c41b9a add performCollisionDetection (stepSimulation also calls this, but does more, including solving constraints and integration) 2021-03-26 10:31:13 -07:00
erwincoumans
93be7e6440
Merge pull request #3311 from erwincoumans/master
allow to compile pybullet using btDiscreteDynamicsWorld (no btMultiBody, no btSoftBody, no btDeformableBody)
2021-03-26 10:29:04 -07:00
erwin coumans
546212b158 add mug obj 2021-03-22 16:53:17 -07:00
erwincoumans
395e17c7bf
Merge pull request #3238 from yycho0108/add-link-names-to-createmultibody
Add linkNames argument to CreateMultibody
2021-03-15 22:48:33 -07:00
erwin coumans
5cf8ee3360 Allow to compile pybullet using btDiscreteDynamicsWorld (no multibodies and no deformables), this allows to create Jacobian and Mass matrix (and A=J*M-1*J_transpose) with MLCP solvers
Add examples/pybullet/gym/pybullet_utils/readwriteurdf.py, this allows to read a URDF and write the URDF with more reasonable inertia tensors (based on mass and collision volumes)
2021-03-15 22:44:55 -07:00
erwincoumans
0c7ea68709
Merge pull request #3246 from Danfoa/master
Fix Stable-PD Control bug on First Order Taylor approximation of next `q` state
2021-03-07 08:19:37 -08:00
Erwin Coumans
adcaa75777 enable v-hacd in cmake for BulletRobotics and pybullet build (use cmake -DENABLE_VHACD=OFF .. to disable)
cmake: enable stable PD plugin (-DDSTATIC_LINK_SPD_PLUGIN)
btMultibody, make some args const in mulMatrix
2021-03-01 14:03:48 -08:00
Erwin Coumans
97add36b9f update bullet_client.py to accept options
p.connect(p.GUI, options="--background_color_red=1 --background_color_blue=1 --background_color_green=1")

If you use bullet_client.py, you can use:
p = bc.BulletClient(connection_mode=pybullet.GUI,options="--background_color_red=1 --background_color_blue=1 --background_color_green=1")
--mouse_move_multiplier=0.4
--mouse_wheel_multiplier=0.01
--mp4=moviename.mp4
2021-02-25 16:32:39 -08:00
daniel.ordonez
f719c27b04 Fix Stable PD bug on First Order Taylor approximation of next q state 2021-01-27 21:59:49 -05:00
yycho0108
c0d9553d65 add link names args to CreateMultibody 2021-01-20 15:53:24 +09:00
erwincoumans
de8f04f819
Update pybullet.c 2021-01-17 23:42:28 -08:00
Erwin Coumans
21bc93a084 disable cone friction in example 2021-01-15 14:42:12 -08:00
Erwin Coumans
10020baa71 fix memory leak in calculateInverseKinematics2, reported here:
https://github.com/bulletphysics/bullet3/issues/3228
Thanks jcoholich for the report and repro case!
2021-01-15 14:38:48 -08:00
Erwin Coumans
3f9d0197ec allow to specify hostName 2020-12-22 20:13:03 -08:00
erwincoumans
87b633bb76
Update pybullet.c
send output to stderr (pybullet build message), helps towards Issue #3131
2020-12-08 17:38:47 -08:00
Erwin Coumans
ec55878a82 remove some files, wheels are exceeding 100MB on pypi... 2020-11-26 15:06:51 -08:00
erwincoumans
a72ce295b4
Merge pull request #2840 from mahyaret/master
KukaCamGymEnv
2020-11-13 10:44:26 -08:00
erwincoumans
2a0f811c3b
Merge pull request #3076 from tfederico/master
Add multiclip loading and reward
2020-11-13 10:02:49 -08:00
Shayekh Bin Islam
91c002232f
Sutton's url shifted
The site hosting the c code pole.c has been changed.
2020-11-13 11:26:09 +06:00
erwincoumans
4c46f9ce39
Merge pull request #3087 from davidcavazos/patch-1
Add documentation to notebook
2020-10-14 11:54:30 -07:00
David Cavazos
656a1e7472
Removed notice on slow installation 2020-10-13 15:34:33 -07:00
Erwin Coumans
954ceff2ec Add an option for a plugin to report return data after calling executePluginCommand. Also add python binding.
Currently the return data has to fit in shared memory, 8MB (Linux, Windows) or 1MB (Apple)
Preparation for streaming is added (to allow unlimited return data, see CMD_CUSTOM_COMMAND_STREAM_RETURN_DATA)

New C-API: b3GetStatusPluginCommandReturnData
PyBullet reports return data if available, in pybullet_executePluginCommand

For the plugin developer:
plugin can provide additional return data for executePluginCommand in the b3PluginContext, during executePluginCommand.
Lifetime of this m_returnData pointer is minimum of next call to the next executePluginCommand or plugin termination.
2020-10-06 20:19:39 -07:00
Yuxiang Yang
82182e1ba7
Add <inertia> for missing links in a1.urdf
Currently a few collision frames in a1.urdf ("{FL/FR/RL/RR}_upper_shoulder") do not have <inertia> defined, and pybullet loads as if they have 1kg mass. This leads to inaccurate simulation results.
2020-10-06 00:28:24 -07:00
David Cavazos
e78d31171b
Fix Colab link 2020-09-29 08:32:48 -07:00
David Cavazos
9c2313f5c8
Add documentation
Adds documentation to explain each step and have links to useful pages to improve the onboarding experience.
2020-09-29 08:30:36 -07:00
tfederico
be27283a8e add pretrained policies and remove extra motion file 2020-09-25 12:16:51 +01:00
Erwin Coumans
3d220888fa disable cone friction 2020-09-24 09:19:51 -07:00
tfederico
91cb40c5ba add plotting utility 2020-09-23 16:18:51 +01:00
tfederico
61df6d2ff4 remove comments and unused code 2020-09-23 16:15:30 +01:00
Erwin Coumans
cfd3c99f0e add spirit40 urdf file, compatible with
https://github.com/google-research/motion_imitation/pull/26
2020-09-21 17:44:07 -07:00
Erwin Coumans
2e1b84487b Add a soccerball obj/urdf, hand-modeled in Blender, using guidance from https://www.youtube.com/watch?v=N93n6hPsqkI (but using texture mapping so the export to OBJ works in PyBullet) 2020-09-21 16:11:52 -07:00
Erwin Coumans
1bd82e7d81 allow rendering of (textured) heightfield in TinyRenderer and EGL.
Also update normals, if heightfield is updated.
2020-09-20 16:03:56 -07:00
tfederico
ab8d927845 Add files for multiclip reward 2020-09-17 18:04:41 +01:00
Erwin Coumans
bd1bd36bc6 allow to change texture for deformables 2020-09-12 20:12:46 -07:00
Erwin Coumans
fcdfee2f12 deformable_torus.py: position camera better 2020-09-12 19:47:54 -07:00
Erwin Coumans
c58a54174e allow to set color of deformables for debug visualizer
don't render deformables for TinyRenderer/EGL if p.configureDebugVisualizer(p.COV_ENABLE_TINY_RENDERER,0)
Fix segmentation mask in tinyrenderer for deformables
2020-09-12 19:41:10 -07:00
Erwin Coumans
e00691e132 more deformable rendering fixes, egl and tinyrenderer 2020-09-12 18:15:51 -07:00
Erwin Coumans
1452cae641 * add textured models of ball.vtk (obj/mtl) and torus (obj/mtl) and cloth.
1) allow to render deformables in 'getCameraImage', for TinyRenderer (tested OK) and EGL (untested)
2) allow to have textures for deformables. See deformable_ball.py, deformable_anchor.py and deformable_torus.py for examples
3) deformables: allow to request simulation mesh data (even if there is a render mesh) See deformable_anchor.py for an example usage
   data = p.getMeshData(clothId, -1, flags=p.MESH_DATA_SIMULATION_MESH)
4) fix deletion of deformables, thanks to Fychuyan, https://github.com/bulletphysics/bullet3/pull/3048
5) allow to enable and disable double-sided rendering, p.changeVisualShape(objectUid, linkIndex, flags=p.VISUAL_SHAPE_DOUBLE_SIDED)
6) fix GripperGraspExample, model not found
7) Fix deformable anchor not attaching to multibody with object unique id of 0
8) Fix issue with assignment of unique ids in TinyRenderer/EGL renderer (always use broadphase uid)
9) Avoid crash/issue of simulation with pinned vertices (mass 0) in btDeformableBackwardEulerObjective::applyExplicitForce
10) Store uv/normal in btSoftBody::RenderNode to allow textured meshes
11) (uncomment in btSoftBodyHelpers.cpp): dump vertices and indices in obj wavefront format, when loading a VTK file, for quicker creation of a (textured) surface mesh
12) allow interpolateRenderMesh also for old position-based soft bodies (not only the shiny new FEM deformables)
13) fix a few premake targets
14) update build_visual_studio_vr_pybullet_double_cmake.bat so it suits c:\python37 and installs locally
    for local install of Bullet, see also this example https://github.com/erwincoumans/hello_bullet_cmake
2020-09-12 01:03:04 -07:00
Erwin Coumans
3ba9f6c395 Add rudimentary Gazebo world parser, loading sdf files and shifting objects based on the world file pose.
See an example here:
https://github.com/erwincoumans/aws-robomaker-racetrack-world
https://twitter.com/erwincoumans/status/1303084517263994880
2020-09-07 17:30:34 -07:00
Erwin Coumans
ccdec68b1d expose shadowmap intensity to PyBullet API 2020-09-07 16:52:14 -07:00
Erwin Coumans
caf671890a Merge branch 'master' of github.com:erwincoumans/bullet3 2020-09-04 14:22:21 -07:00
Erwin Coumans
67061cf98c update a1 urdf to match naming for our software
update test a1.py script
2020-09-04 14:21:53 -07:00
Erwin Coumans
224eceb75b add test script for spirit40 2020-09-03 21:16:39 -07:00
Erwin Coumans
c4f4692b68 add xiURDF for Ghost Robotics Spirit40 and Unitree A1 quadruped 2020-09-03 17:30:07 -07:00
erwincoumans
47b0259b97
Merge pull request #3030 from erwincoumans/master
bump up pybullet version, fix win32 pip build
2020-09-01 19:34:39 -07:00
Erwin Coumans
5b4cf02e70 Merge branch 'master' of github.com:erwincoumans/bullet3 2020-09-02 02:23:15 -07:00
Erwin Coumans
b63e15d15c fix example 2020-09-02 02:23:04 -07:00
erwincoumans
ce81073ac3
Merge pull request #3020 from fuchuyuan/fixsegfault
Fixsegfault
2020-09-01 16:54:16 -07:00
erwincoumans
bb1da5b5f5
try to fix travis, update inertia for Laikago, reset camera at the right time (#3021)
* laikago_toes_zup.urdf: fill in inertia values, computed as PyBullet does internally (from mass and collision volumes)

* reset camera in the rendering thread to avoid artifacts

* reset camera in the rendering thread to avoid artifacts

* try to fix travis error
2020-08-31 13:35:03 -07:00
Chuyuan Fu
25f62e853c add and remove deformable object example 2020-08-31 11:38:38 -07:00
erwincoumans
0ebc43b21e
Update deep_mimic_env.py
fix errors
2020-08-31 11:36:15 -07:00
Erwin Coumans
d8d81f9ca4 laikago_toes_zup.urdf: fill in inertia values, computed as PyBullet does internally (from mass and collision volumes) 2020-08-17 16:22:31 -07:00
Erwin Coumans
8b42b90393 Merge remote-tracking branch 'bp/master' 2020-08-13 19:38:36 -07:00
erwincoumans
76a9b51993
Merge pull request #2931 from AiRuiChen/fix-minitaur-logging
Fix minitaur_logging proto and import
2020-08-13 19:35:11 -07:00
erwincoumans
15041841a5
Merge pull request #2933 from AiRuiChen/fix-pybullet-gym-envs
Fix pybullet gym envs
2020-08-13 19:33:21 -07:00
Erwin Coumans
16efd7b288 fix memory leak in pybullet.calculateJacobian 2020-08-13 17:02:54 -07:00
Erwin Coumans
82493e9fbb fix copy/paste bug in pybullet.c related to collisionShapeOrientationAObj (missing Obj)
this would lead to the collisionShapeOrientationA not being considered.
2020-08-12 21:26:43 -07:00
erwincoumans
17d373db55
Merge pull request #2937 from addy1997/master
prev keyword removed
2020-08-11 08:30:55 -07:00
Peng Xu
20667bd7d0 Pybullet fast numpy input support for rayTestBatch. 2020-08-11 02:19:23 -07:00
Erwin Coumans
a17df118f1 re-add constraints.py I wanted to delete the changes, not the file!
(confusing github UI!)
2020-08-07 09:32:30 -07:00
erwincoumans
d1505e187a
Merge pull request #2950 from DarioUrbina/develop_dario
Inverted Pendulum Actuated by Tendons
2020-08-07 09:30:32 -07:00
erwincoumans
2bc3d87d8d
Delete constraint.py 2020-08-07 09:29:39 -07:00
Xuchen Han
eef0d647cd Tune parameters to effectively reduce the stiffness of the picking force. 2020-08-03 23:05:08 -07:00
erwincoumans
b623f5d123
Merge pull request #2967 from erwincoumans/master
fix raycast filter masks, they can be negative
2020-08-03 13:18:27 -07:00
erwincoumans
eb32f48000
Merge pull request #2958 from buoyancy99/patch-1
fix bug of using undefined name p
2020-08-03 11:37:19 -07:00
Erwin Coumans
d12d886e13 raycast filter masks can be negative, always apply the mask (-1 default). Thanks to Tingnan for reporting/reproduction case. 2020-08-03 11:00:14 -07:00
Erwin Coumans
51aed38377 fix import 2020-07-31 15:30:53 -07:00
buoyancy99
1edb8d17f9
fix bug of using undefined name p 2020-07-29 23:51:40 -07:00
Xuchen Han
fa0d452651 Initialize proper collision margin for deformable_ball.py 2020-07-28 21:00:27 -07:00