Commit Graph
100 Commits
Author SHA1 Message Date
Aaron Franke 133fd3a73c Fix "seperate" typos 2019-10-31 08:29:09 -04:00
Erwin Coumans 5a9b862ef5 bump up to Bullet version 2.89 and update serialization structures 2019-10-30 10:32:14 -07:00
Erwin Coumans 3f3175e314 disable Extras BulletRobotics by default in cmake 2019-10-28 10:07:22 -07:00
Chuyuan Fu 10108cd3ea update obj loader 2019-08-13 16:53:51 -07:00
Erwin Coumans 51fba6f78d export btHeightfieldTerrainShape to PyBullet. Note that tinyrenderer doesn't support rendering it (it would be too slow on CPU)
fix rare getKeyboardEvents threading issue
change texture color to default plane.urdf blue
2019-07-29 20:23:38 -07:00
Erwin Coumans 31688ffb34 fix in multi-endeffector IK, calculate jacobian uses dofs without base, fix premake build of some projects 2019-07-11 22:22:35 -07:00
Steven de16c23209 commit the ABA comparison test between the RBDL and Bullet, and use the option BULLET_BUILD_RBDL_COMPARE_TEST to control if build it.
it is disabled by default.
2019-07-02 15:35:33 +08:00
Erwin Coumans ef9570c315 add yapf style and apply yapf to format all Python files
This recreates pull request #2192
2019-04-27 07:31:15 -07:00
Erwin Coumans 0409478152 use certain methods from std namespace 2019-03-23 12:45:59 -07:00
erwincoumans f90fe7ceac Merge pull request #2047 from erwincoumans/master
Add humanoid stable PD control, preliminary optional PhysX 4.0 backend for Pybullet, various fixes
2019-01-23 10:16:06 -08:00
erwincoumans ae8e83988b Add preliminary PhysX 4.0 backend for PyBullet
Add inverse dynamics / mass matrix code from DeepMimic, thanks to Xue Bin (Jason) Peng
Add example how to use stable PD control for humanoid with spherical joints (see humanoidMotionCapture.py)
Fix related to TinyRenderer object transforms not updating when using collision filtering
2019-01-22 21:08:37 -08:00
Maximilien Naveau 4e1e3ecb56 Update the installation of the bullet_robotics package
- Create a pc for the bulletRobotics extras package.
- Install all necessary includes in include/bullet_robotics.
- The .pc add directly the bullet_robotics folder as include directory (TODO, move the bullet robotics in the src folder).
2019-01-17 13:55:10 +01:00
erwincoumans 8e8c3fb315 few fixes in inverse dynamics 2018-12-19 20:15:30 -08:00
Erwin Coumans 882252f8c0 move global from btMultiBody into dynamicsWorld.getSolverInfo 2018-11-05 10:50:03 -08: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 126537bd93 pybullet: fix issue with loadBullet command 2018-10-28 19:51:01 -07:00
erwincoumans dba239fe8d First pass of load files through an interface (to allow loading from memory, zip file etc). So instead of posix fopen/fread, using CommonFileIOInterface.
A fileIO plugin can override custom file IO operations. As a small test, load files from a zipfile in memory.
Default fileIO implementation is in examples/Utils/b3BulletDefaultFileIO.h
Affects URDF, SDF, MJCF, Wavefront OBJ, STL, DAE, images.
2018-10-08 21:27:08 -07:00
erwincoumans ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Erwin Coumans 2cab56d6ef prepare build system(s) for collisionFilterPlugin 2018-07-27 15:48:24 +02:00
Michael Beardsworth 3f03b41091 Renamed error_message and warning_message macros.
error_message and warning_message are common strings that are likely to
collide. Renamed to bt_id_{error,warning}_message to more strongly
uniquify.

grep -r error_message -l src/BulletInverseDynamics | \
  xargs sed -i -e "s/error_message/bt_id_error_message/g"

grep -r warning_message -l src/BulletInverseDynamics | \
  xargs sed -i -e "s/warning_message/bt_id_warning_message/g"
2018-07-24 11:32:08 -07:00
erwincoumans 046a86cd84 add premake4.lua build for BulletRobotics target, C++ API, similar to PyBullet. Use BulletRobotics target for App_HelloBulletRobotics (without GUI) and App_RobotSimulator 2018-06-08 19:14:03 -07:00
erwincoumans b6f5cb4c34 enable pdControlPlugin by default (requires pdControlPlugin.cpp and b3RobotSimulatorClientAPI_NoDirect.cpp)
add pdControl.py example, make pdControlPlugin functional
reduce memory usage
fix examples/pybullet/gym/pybullet_data/random_urdfs/948/948.urdf, fixes issue #1704
2018-06-05 15:59:01 -07:00
Erwin Coumans 7bd84740d7 PyBullet / BulletRobotics: prepare for pdControlPlugin and collisionFilterPlugin
Split examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.* and move to examples/SharedMemory/b3RobotSimulatorClientAPI_NoGUI.cpp and examples/SharedMemory/b3RobotSimulatorClientAPI_NoDirect.cpp
2018-06-05 11:41:41 +10:00
Erwin Coumans ff4d0b1777 add HelloBulletRobotics C++ example with similar API to PyBullet
Add ANYmal quadruped robot URDF to pybullet_data
2018-05-24 15:48:45 +10:00
nbelakovski e6a5ff7d5a Fixing include line of btMultibodyWorldImporter.h to work with installed bullet files
When running make install for Bullet, no "Extras/" folder is created, so the include line as is will fail. This modification should work since the relevant header is in the same folder as this header.
2018-04-17 11:59:04 -07:00
erwincoumans dbb0318782 fixes related to tinyxml2 2018-04-12 12:46:43 -07:00
erwincoumans 9c77e07494 upgrade from tinyxml to tinyxml2 2018-04-12 00:09:44 -07:00
Alexey Anikeenko feaa21e33c Fix import of spherical joint state
Spherical joints in btMultiBody have 4 positional variables.
2018-03-05 01:33:15 +07:00
Erwin Coumans 77ddc8a16f fix makesdna on Mac OSX 2018-02-14 15:41:10 -08:00
Erwin Coumans 508550c5e9 fix premake build for linux, thanks to @consultit
See also issue #1538
2018-02-09 18:46:26 -08:00
erwincoumans b692ec87f7 fix #3 2018-02-02 20:22:53 -08:00
erwincoumans f119cff516 fix #2 for pthread/dl 2018-02-02 19:38:39 -08:00
erwincoumans 329a1f5a74 PyBullet: move TinyRenderer into a plugin, default statically loaded. You can also dynamically load a render plugin, as shown in renderPlugin.py example. premake has a way to compile the tinyRendererPlugin. 2018-01-17 12:48:48 -08:00
erwincoumans c4b1b84687 Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
erwincoumans 15a429f1bf premake build system fixes 2018-01-09 12:23:25 -08:00
Erwin Coumans e97b751781 further work on urdfEditor.py, fix some serialization issues 2018-01-08 12:25:56 -08:00
Erwin Coumans 35b44f8a85 implement pybullet.saveState command, for in-memory storage of state.
bump up pybullet API version (SHARED_MEMORY_MAGIC_NUMBER) to 201801010
2017-12-31 15:37:16 -08:00
Erwin Coumans f104765c47 added some template to restore (syncMultiBody, syncContactManifolds) for single float and double precision, in 'pybullet.restoreState' 2017-12-31 11:19:29 -08:00
Erwin Coumans 20e00d11d8 further work on saveRestoreState.py 2017-12-30 21:57:42 -08:00
Erwin Coumans 0326fa93a8 made some progress in saving and restoring the state during the simulation, with identical results.
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
Erwin Coumans 22e23d22d1 double/single precision compile fix 2017-12-28 12:55:47 -08:00
Erwin Coumans 97547eda0d preliminary work towards saveState/restoreState and saveRestoreState.py example (not implemented yet)
allow multiple options in connect, for example: p.connect(p.GUI, options="--width=640, --height=480")
2017-12-28 10:05:51 -08:00
Erwin Coumans 799d030874 restore multibody world transform and joint angles/velocities from a .bullet file. 2017-12-22 14:45:36 -08:00
erwincoumans c8f1efe7dc fix case in include 2017-11-23 09:15:19 -08:00
erwincoumans 29aa9cb789 Bullet bump up to version 2.88
add preliminary support to import btMultiBody from a .bullet file (will help save/restore state)
fix some Windows char/widechar issues
2017-11-22 18:12:02 -08:00
erwincoumans 493d7bc94d obj2sdf, add option to merge shapes with same materials, add support for transparent objects
tiny_obj_loader, load the "d" and "Tr" transparant tag
2017-11-04 19:17:20 -07:00
Erwin Coumans a5a73ba0d8 fix for issue 1400
use default output name for VHACD test binary
2017-10-26 08:11:58 -07:00
Erwin Coumans 41a1362bc5 perform IK in local body-fixed frame
For now, Jacobian, mass matrix and inverse dynamics return results in local coordinates of the tree.
2017-10-24 21:06:44 -07:00
erwincoumans 37cfce99b2 add arguments to plugin system 2017-09-23 07:52:10 -07:00
erwincoumans 2919e51d9d fix loading of empty file (after header)
remove debug printf
2017-09-17 15:44:14 -07:00