Commit Graph

1873 Commits

Author SHA1 Message Date
yunfeibai
9c124b5896 Rolling friction demo for sphere and torsional friction demo for two point contact. 2016-08-30 17:50:37 -07:00
yunfeibai
d784c61b61 Add rolling friction, set rolling friction coefficient from urdf, and set up two point contact experiment. 2016-08-30 11:19:23 -07:00
erwin coumans
4094b9f0df Disable 'm_robotSim.setNumSimulationSubSteps' because it is not needed at the moment
Fix issue in contact/friction between btMultibody and btRigidBody (external force/torque of btRigidBody was not taken into account during contact/friction setup)
Allow 0.1 mm slop in contact, to avoid loosing contact. Todo: allow contacts with positive distance in multibody solver.
2016-08-27 13:44:18 -07:00
Michael Mc Donnell
4636efae2b [Bullet3OpenCL] Fix check for null-terminated string
The code essentially dead because it was checking the pointer to an array for null. The check will alway return true. Instead the code was meant to check if the string had anything in it after the call to clGetDeviceInfo.
2016-08-27 08:13:42 -07:00
Michael Mc Donnell
d5dcb34188 [Bullet3OpenCL] Fix wrong parantheses around b3Fabs
The absolute value of m_appliedImpulse was supposed to be compared to the breakingThreshold. Instead a boolean was created from the comparison, and the absolute value of that was taken (which makes no sense).
2016-08-27 08:13:42 -07:00
erwincoumans
c741b17da8 Merge pull request #758 from YunfeiBai/master
Expose slider constraint in RobotSimAPI.
2016-08-26 12:26:08 -07:00
erwincoumans
79be5800cb Merge pull request #757 from erwincoumans/master
fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBo…
2016-08-26 12:08:29 -07:00
yunfeibai
5b9b5178f9 Expose slider constraint in RobotSimAPI. 2016-08-26 10:35:10 -07:00
erwin coumans
c5164e503f fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBodyDoubleData
causing serialization issue in  URDF/SDF loading in double-precision mode on Windows 32bit.
(it was fine on Mac/Linux 64bit)
bump serialization version to 2.85, as we change the file format
fix in name clash in makesdna.cpp -> intptr_t is already defined.
2016-08-26 10:00:29 -07:00
erwincoumans
c29d445b94 Merge pull request #750 from TIHan/quick_fix1
Fixed btKinematicCharacterController from clipping through walls in corners.
2016-08-25 20:26:42 -04:00
erwincoumans
0baef2b84e Merge pull request #754 from YunfeiBai/master
Set physics clock subdivider and fixed constraint in RobotSimAPI.
2016-08-25 20:24:54 -04:00
Erwin Coumans
ba8964c4ac [InverseDynamics] Support for Jacobians & derivatives
This change adds support for calculating Jacobians and
dot(Jacobian)*u terms, along with the required support for
the 3xN matrices in the standalone math library.
It also adds functions to compute kinematics only (position, velocity, accel).
To facilitate tests, the Cl also adds a RandomTreeCreator to create
randomized multibody trees.
Thanks to Thomas Buschmann for this contribution!
2016-08-25 16:24:28 -07:00
yunfeibai
c26da8440d Add slider constraint. 2016-08-25 11:54:59 -07:00
Will Smith
ba4c389c84 Fixed btKinematicController from clipping through walls in corners. 2016-08-19 18:46:07 -05:00
erwin coumans
62d5b7c5c0 add single step simulation, using 'o' key. use 'i' key to suspend simulation first
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwincoumans
c50490a6d9 Merge pull request #742 from sinkingsugar/master
Fixed btKinematicCharacterController runtime crashes
2016-08-17 19:54:14 -07:00
Giovanni Petrantoni
a4a6a3ce57 Fixed btKinematicCharacterController runtime crashes coming from previous pull request (more testing is necessary) 2016-08-17 14:19:58 +09:00
yunfeibai
9c4cfde3d6 Fixed constraint for btMultiBody and btRigidBody. 2016-08-15 13:19:00 -07:00
Erwin Coumans
f304fd7611 add one more pybullet renderImage API and testrender.py example
tweak Bullet Inverse Dynamics, work-around compiler issue
2016-08-02 11:12:23 -07:00
erwincoumans
d605897d13 Merge pull request #719 from erwincoumans/master
fix ffmpeg stream to create quicktime compatible videos
2016-07-29 09:07:46 -07:00
erwin coumans
72e329962e fix ffmpeg mp4 generation under Windows as well.
remove static variables, make them local, to avoid multithreading issues.
2016-07-28 18:06:03 -07:00
erwincoumans
f38d3c5b69 Merge pull request #720 from MiCroN3000/character_controller_fixes
Fix kinematic character controller
2016-07-28 13:23:41 -07:00
MiCroN3000
626a913866 The kinematic character controller with various fixes and a few new features like, being able to set any vector for gravity/up, jumping in a certain direction, possibility to use collision masks, angular & linear velocity, angular & linear damping. 2016-07-28 20:15:38 +02:00
erwin coumans
75e86051c2 Add inverse kinematics example with implementations by Sam Buss.
Uses Kuka IIWA model description and 4 methods:
Selectively Damped Least Squares,Damped Least Squares,
Jacobi Transpose, Jacobi Pseudo Inverse
Tweak some PD values in Inverse Dynamics example and Robot example.
2016-07-24 22:22:42 -07:00
erwin coumans
25a1714754 disable CProfileManager, might reduce some multi-threading conflicts 2016-07-19 15:55:52 -07:00
erwin coumans
c28cd03fbd OpenVR controller can pick/drag objects. Instructions, Windows only:
Compile using premake+visual studio, and compile App_SharedMemoryPhysics_VR
Compile pybullet using cmake using cmake -DBUILD_PYBULLET=OFF -DCMAKE_BUILD_TYPE=Release ..
Create a symbolic link from c:\python\dlls\pybullet.pyd to C:\develop\bullet3\cmp\lib\Release\pybullet.dll
App_SharedMemoryPhysics_VR
Run Python. Here are some Python lines to get going:
import pybullet as p
p.connect(p.SHARED_MEMORY)
p.loadURDF("cube.urdf")
p.setGravity(0,0,-10)
p.setRealTimeSimulation(1)

Allow real-time simulation in physics server, add pybullet command setRealTimeSimulation to control it
Mesh decimation (reduce number of triangles/vertices) using a Blender modifier for Kuka IIWA and Husky
Disabled the 'glFlush' commands in GLInstancingRenderer.
Add VR controller methods to examples\CommonInterfaces\CommonExampleInterface.h
Use the ANSI version in Windows file/string operations instead of unicode, hope this doesn't break builds.
2016-07-17 23:50:11 -07:00
Erwin Coumans
fcc9d4ebcb fix SIMD/16-byte alignment issue causing issue in one of the old benchmarks 2016-07-16 22:33:15 -07:00
Erwin Coumans
f9096c2e30 typo/case sensitivity BroadphaseCollision vs NarrowPhaseCollision, aargh 2016-07-16 21:47:07 -07:00
Erwin Coumans
c54a61b97a More example code is memory-leak free now, in particular PhysicsServerExample.
/PhysicsServerCommandProcessor
also fixed some memory issue in InverseDynamicsExample (the base class is supposed to delete collision shape memory)
2016-07-16 21:29:31 -07:00
Erwin Coumans
e2bdd7dbb1 fix more memory leaks, ImportURDFExample is now leak-free
eliminate all run-time memory allocation (except for mouse-pick/ray-intersection) in ImportURDFExample
2016-07-16 17:40:44 -07:00
Erwin Coumans
2caa2b7ff4 removed more memory leaks and improve btAlignedAllocator memory-leak debugging 2016-07-16 14:58:11 -07:00
erwincoumans
e2e750efb2 Merge pull request #689 from erwincoumans/master
prepare robotics learning examples, see examples/RoboticsLearning/b3R…
2016-07-11 10:38:38 -07:00
erwin coumans
7633cfb800 prepare robotics learning examples, see examples/RoboticsLearning/b3RobotSimAPI.h
prepare compliant contact work, urdf loading of parameters (see data/cube.urdf)
2016-07-11 00:26:40 -07:00
hujiajie
8c573177eb [Working In Progress] Suppress compiler warnings.
Suppress several warnings about unused variables.
2016-07-10 23:18:03 +08:00
erwin coumans
02582e3a78 shrink down cube size of BasicDemo 10 times (it looked ginormous in VR) from 2x2x2 meter to 0.2
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687)
2016-07-09 15:09:09 -07:00
Erwin Coumans
471d3652e4 (finally) applied patch to fix 'setLocalScaling' of btMultiSphereShape
See https://code.google.com/archive/p/bullet/issues/636
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8237 and
https://github.com/bulletphysics/bullet3/issues/125
2016-07-02 10:07:13 -07:00
Erwin Coumans
178dd54ca5 remove printf's and fix an issue in btMultiJointMotor in previous commit 2016-06-27 16:10:13 -07:00
erwincoumans
a15eb3035e default gains 1 -> 0.1 2016-06-24 11:12:19 -07:00
Erwin Coumans
c17c39c2c9 move PD control from PhysicsServerCommandProcessor into btMultiBodyJointMotor
improvements/changes in pybullet API
2016-06-24 11:06:56 -07:00
Erwin Coumans
53a0772257 fix some issues related to controlling a robot/multibody beyond body index 0
(most testing happened with a single robot/multibody so far)
preliminary pybullet.setJointControl implementation
2016-06-16 18:46:34 -07:00
Giorgos Tzampanakis
4f4eb3a9c6 Fixed: Error because of unparameterized btVectorX 2016-06-14 13:40:38 +00:00
Erwin Coumans
149129826a remove unused findex from btTypedConstraint.h 2016-06-13 18:33:18 -07:00
erwincoumans
a5fa8712ec Merge pull request #385 from lordloki/btCone
New btConeshape member functions setHeight and setRadius
2016-06-09 08:58:25 -07:00
Erwin Coumans
612e46614a fix (unused) SSE operator btMatrix3x3 ==, thanks to yyzone for the report/fix.
fixes 552
2016-06-04 13:16:06 -07:00
erwin coumans
f469a2cb49 update to tinyrenderer synthetic camera 2016-05-31 22:55:13 -07:00
Erwin Coumans
098e0158ea fix compile issue(s) in BT_USE_DOUBLE_PRECISION mode 2016-05-26 18:21:57 -07:00
Erwin Coumans
c6bf3a7261 revert sat contact kernels update 2016-05-25 17:14:30 -07:00
Erwin Coumans
535ee33e3b fix build3/stringify.sh
fix some compile issues
2016-05-25 15:37:28 -07:00
artoowang
cfcb8eda9b Fixed btAssert warning message on printf in MSVC. 2016-05-17 14:10:22 -07:00
Erwin Coumans
372c4ef9c1 Add btConvexHullShape::optimizeConvexHull method,
it automatically removes vertices that are not on the convex hull.
It uses the btConvexHullComputer for this.
2016-05-04 13:01:06 -07:00
erwincoumans
5351b20f9d Merge pull request #609 from AndrewMeadows/ccd-fix-4
optimize CCD against btCompoundShapes with dynamicAabbTree
2016-04-30 11:22:36 -07:00
Andrew Meadows
8d970e5c04 minor cleanup 2016-04-27 13:41:42 -07:00
Ryan Huffman
76d39d4439 Fix build error on OSX + Linux 2016-04-27 12:10:28 -07:00
Ryan Huffman
7f0877339e Replace spaces with tabs 2016-04-27 12:10:28 -07:00
Ryan Huffman
b135699325 Fix errors in ccd against compound objects 2016-04-27 12:10:28 -07:00
Ryan Huffman
25ee137390 Fix missing colObjWrap 2016-04-27 12:10:28 -07:00
Ryan Huffman
af442778a6 Add early rejection tests during CCD against compound objects 2016-04-27 12:10:28 -07:00
erwincoumans
920af5e127 Merge pull request #591 from erwincoumans/master
re-enable command log and playback in physics server, report applied motor torque
2016-04-08 18:29:01 -07:00
Erwin Coumans
59b32b7af1 re-enable command log and playback in physics server
report applied motor torque in physics server
2016-04-08 18:17:17 -07:00
erwincoumans
df3ddaca5e Merge pull request #585 from erwincoumans/master
btMultiBody joint friction/damping infrastructure
2016-03-17 16:29:40 -07:00
erwincoumans
fe92de3e50 add infrastructure float btMultiBodyLink m_jointDamping, m_jointFriction (actual damping/friction is in a separate commit)
add door.urdf for testing damping/friction
2016-03-17 14:54:46 -07:00
erwincoumans
857a4e98e8 Merge pull request #584 from erwincoumans/master
turn test/SharedMemory/test.c into a gtest for CI unit testing in github
2016-03-15 23:15:18 -07:00
Erwin Coumans
aa3daaa8c6 turn test/SharedMemory/test.c into a gtest for CI unit testing in github
remove overly verbose printfs in importers
fix axis in r2d2.urdf
2016-03-15 22:47:53 -07:00
erwincoumans
2ef8669e75 Merge pull request #581 from erwincoumans/master
Use higher precision GJK/EPA collision tolerances in double precision mode. Fix Lua example
2016-03-12 08:58:16 -08:00
Erwin Coumans
87e5128ba8 fix some typos (need to merge into a single implementation later!) 2016-03-11 17:47:00 -08:00
Erwin Coumans
625ea96a3e accidently moved line in wrong place 2016-03-10 23:28:02 -08:00
Erwin Coumans
ea6ecd3579 Use higher precision GJK/EPA collision tolerances in BT_USE_DOUBLE_PRECISION
See https://raw.githubusercontent.com/billhoffman/bullet-pod/ac6aae3e3ee8137de484471094a65bfe166898b4/bullet_gjk_accuracy_patch.diff
2016-03-10 23:12:22 -08:00
hujiajie
3ed7ecbb58 Fix ternary selection operator on float scalars in OpenCL kernels.
According to Section 6.3(i) of the OpenCL 1.1 specification, the first
expression of the operator cannot be a float.
2016-03-11 09:40:40 +08:00
hujiajie
ad6fb3afc1 The 'static' storage-class specifier is not supported in OpenCL.
This is documented in Section 6.8 (g) in OpenCL 1.1 specification.
2016-03-08 08:49:28 +08:00
Michael Korn
e80bafdf66 fix for issue in getAngleShortestPath()
Testing squared norm for <0 does not make any sense. In Addition giving the range of the return values is a great help to understand the descriptions.
2016-03-04 22:01:29 +01:00
Erwin Coumans
4a70df2dfb fix some warnings 2016-02-29 15:37:03 -08:00
Erwin Coumans
25409f93c7 re-quantize for before using the data in quantize method
this fixes issue 558
2016-02-23 08:46:09 -08:00
erwin coumans
6c9bfce975 Support btMultiBody soft contact using ERP and CFM. Also support custom relaxation parameter to allow successive over relaxation.
Added demos for rigid and multi body soft (compliant) contact.
Will also add simplified Hertz compliant contact, by dynamically modifying the ERP/CFM to mimic a non-linear spring.
Note that btManifoldPoint is growing too big, we need to implement proper contact constraints derived from btTypedConstraint.
2016-02-22 18:40:00 -08:00
erwin coumans
645a88176d Enable softness for btRigidBody contacts. This is implemented by some value (CFM, constraint force mixing) to the main diagonal of A.
CFM for contacts use world CFM value by default, and can override with custom CFM value using the
BT_CONTACT_FLAG_HAS_CONTACT_CFM stored in m_contactPointFlags.
Boolean m_lateralFrictionInitialized is replaced 'BT_CONTACT_FLAG_LATERAL_FRICTION_INITIALIZED' flag stored in int m_contactPointFlags in btManifoldPoint.
Enable successive over-relaxation parameter (SOR) for contacts. btMLCPSolver uses global CFM.
In one of the next commits, contact softness will be enabled btMultiBody contacts.
Also need to review use of CFM in btMLCPSolvers (only world CFM is used at the moment)
2016-01-22 17:43:36 -08:00
Erwin Coumans
46ddfa39d7 remove unused function in btRigidBody (btSetCrossMatrixMinus)
thanks to Stefan for reporting.
2015-12-08 07:54:19 -08:00
erwincoumans
83c560262b Merge pull request #548 from AndrewMeadows/fix-cmake-whitespace
fix whitespace formatting in cmake files
2015-12-07 15:06:59 -08:00
Andrew Meadows
c0c1691c25 fix whitespace formatting in cmake files 2015-12-07 14:08:04 -08:00
Andrew Meadows
a860fff3ad fix cmake to succeed with -DBUILD_BULLET3=0 2015-12-07 13:43:17 -08:00
Erwin Coumans
5da9e37a05 add BT_DECLARE_ALIGNED_ALLOCATOR() for btTypedConstraint 2015-11-26 12:43:10 -08:00
erwincoumans
0e247264ff use BT_ID_MAX as std::max is not portable (older Visual Studio versions break) 2015-11-24 17:34:43 -08:00
Erwin Coumans
1f4148d322 fix shared lib build 2015-11-24 12:05:50 -08:00
Erwin Coumans
03cc4f0554 add InverseDynamics example for example browser
add CMake support for BulletInverseDynamics and BulletInverseDynamicsUtils
2015-11-24 11:12:02 -08:00
erwincoumans
75d657ec85 change 4 spaces to tab for src/BulletInverseDynamics
fix unit test in single precision compilation (use delta t of 0.01 if BT_ID_USE_DOUBLE_PRECISION is not defined)
2015-11-19 12:08:04 -08:00
Erwin Coumans
069936218a [InverseDynamics] Add custom namespaces per configuration
BulletInverseDynamics can be configured to compile using Eigen
instead of Bullet's LinearMath.

Adds a preprocessor defined specific namespace for each
configuration to produce linker errors if incompatible
libraries are linked (eg, builtin core library and
utilities for bullet types).
2015-11-18 08:01:32 -08:00
erwincoumans
de763a26e7 fix portability of BulletInverseDynamics (usual issues: std::pow, M_PI, std::vector->idArray<T>::type, snprintf, pass vec3 and mat33 by const reference, not by value) 2015-11-17 21:51:02 -08:00
Erwin Coumans
aa4d119f98 add real-time safe Inverse Dynamics library+test+utils
an example for the example browser will follow.
thanks to Thomas Buschmann
2015-11-17 08:27:38 -08:00
Erwin Coumans
f6a8079353 sync repo 2015-11-11 12:44:26 -08:00
Erwin Coumans
91204e8ed2 avoid naming conflicts Bullet3/Bullet3 2015-11-08 19:31:03 -08:00
Erwin Coumans
72b68409da clang gets confused/crashes when using the same namespace,
need to look if it is a real error or clang issue
should fix Issue 520
https://github.com/bulletphysics/bullet3/issues/520
2015-11-08 13:49:37 -08:00
erwincoumans
3b9b803683 b3CreateBoxCommandSetColorRGBA: allow to specify color when creating bodies through shared memory API
Parse and use colors from URDF file (single rgba color per link, not per visual)
Rename btMultiBody 'stepVelocities' to 'computeAccelerationsArticulatedBodyAlgorithmMultiDof'
btHashMap, add const Value* operator[]
remove a few more obsolete btMultiBody methods (on the non-multi-dof path)
fix spelling typo in fillConstraintJacobianMultiDof (fil -> fill)
Add mention to Jakub Stepien for his work on btMultiBody
2015-11-06 17:11:15 -08:00
erwincoumans
2920d7e61f Only support btMultiBody multi-dof version (remove non-multi-dof path)
Use ATTRIBUTE_ALIGNED16 for btMultiBody
Always disable parentCollision for btMultiBody::setupFixed
2015-11-05 21:17:46 -08:00
erwincoumans
d6464ce40d add 'replay' command log feature: no mouse interaction during replay, and use a fixed number of sim steps in stepSimulation.
workaround for reversed separating normal in gjk/epa when using very small shapes, detect case and revert normal.
use smaller world size (10 units versus 100) for higher resolution shadow map
use a hard-coded rolling friction of 0.2 for objects in physics server (will make this configurable)
fix loading of command log files, when platform features are different (64bit/32bit)
2015-11-01 12:48:15 -08:00
erwin coumans
dc81e31e74 upload work-in-progress Collision example using C-API. 2015-10-28 11:48:36 -07:00
erwin coumans
5a21424662 update to examples/Collision and RealTimeBullet3Collision 2015-10-18 23:43:37 -07:00
erwin coumans
7ac497d6f2 WIP example for real-time collision detection features of Bullet 2015-10-18 14:01:25 -07:00
=
4df58c35c7 use const in PhysicsClientC_Api, thanks to Roland
fix some warnings for Clang, thanks to Aaron
2015-10-15 08:15:22 -07:00
erwincoumans
14eb70a06f Merge pull request #466 from rioharu/patch-1
Update btInternalEdgeUtility.cpp, closes issue #389
2015-10-09 10:09:01 -07:00
Jukka Jylänki
62d977f5cd Add missing <stdio.h> include in src/LinearMath/btMatrixX.h for printf() access. (missing in Emscripten/musl libc builds otherwise) 2015-10-08 18:19:10 +03:00
erwincoumans
cb13054f2e Merge pull request #465 from cameronwhite/conetwist-motor
Use the max motor impulse for cone twist constraints when the motor is enabled.
2015-09-10 18:08:19 -07:00
=
3d10338ed5 fix warnings (thanks to Aaron!) 2015-09-10 17:52:41 -07:00