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
a3154f7a56
use b3ConnectSharedMemory in PhysicsClient example, instead of b3ConnectPhysicsLoopback
2016-01-27 13:36:33 -08:00
Erwin Coumans
6bc3f94f52
add a Pendulum example that is also used as unit test.
...
Gold data is created by numerically solving a second-order non-linear differential equation.
(see examples/MultiBody/pendulum_gold.h)
2016-01-06 18:08:49 -08:00
Erwin Coumans
52f074bcb2
Merge remote-tracking branch 'bp/master'
...
Conflicts:
examples/ExampleBrowser/CMakeLists.txt
examples/OpenGLWindow/CMakeLists.txt
2015-12-07 16:42:45 -08:00
Erwin Coumans
13f314f401
allow CMake to build on Linux without X11/OpenGL system headers (use local one)
2015-12-07 16:38:43 -08:00
erwincoumans
ab283251d3
Merge pull request #546 from erwincoumans/master
...
typo fixes in InverseDynamicsExample
2015-12-07 15:07:24 -08:00
Andrew Meadows
c0c1691c25
fix whitespace formatting in cmake files
2015-12-07 14:08:04 -08:00
Erwin Coumans
acbf60ddfd
typo fixes in InverseDynamicsExample
2015-12-05 09:02:02 -08:00
erwincoumans
aaf4e1acfa
Merge pull request #491 from nicokruithof/master
...
Fixed missing include directories
2015-12-04 21:49:47 -08:00
Erwin Coumans
b22e968cdd
re-enable inverse dynamics/computed torque, instead of PD control in InverseDynamicsExample
2015-12-02 23:16:41 -08:00
Erwin Coumans
3dfebe0c45
show inverse dynamics demo to use floating base
2015-12-02 09:33:12 -08:00
Erwin Coumans
4c88681479
joint trajectory curves use different colors for each DOF
...
use fewer notch counts in slider GUI
2015-11-26 10:45:51 -08:00
Erwin Coumans
5f97a56f93
portability issues fixed
2015-11-24 11:40:33 -08:00
Erwin Coumans
460998c472
fix example issues
2015-11-24 11:34:17 -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
Erwin Coumans
b4701613c8
consistent *API.* in examples/SharedMemory
2015-11-23 08:00:42 -08:00
erwincoumans
bd4c4eb3c5
rename API->Api
2015-11-22 21:32:20 -08:00
erwincoumans
5589fb03af
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-11-22 20:50:41 -08:00
erwincoumans
03bf78ef49
add physics server loopback (both client and server in the same process, using shared memory)
...
add physics server direct (client and server in the same process, directly processing commands without shared memory transport mechanism)
2015-11-22 20:50:32 -08:00
Erwin Coumans
7d9365319c
add InverseDynamics test/lib to premake
2015-11-17 08:26:27 -08:00
erwincoumans
ad29d27700
add initial inverse dynamics example skeleton, with urdf and programmatically created btMultiBody.
...
disabled in Bullet/examples/ExampleBrowser/ExampleEntries.cpp
2015-11-13 10:37:43 -08:00
Erwin Coumans
f6a8079353
sync repo
2015-11-11 12:44:26 -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
8160354d02
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-11-05 21:18:10 -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
Erwin Coumans
7ef06d532e
remove debug test
2015-11-05 17:35:05 -08:00
Erwin Coumans
2317307a22
Add b3GetStatusActualState() to C_API.
...
Change pick-and-move C_API to use handlers
2015-11-04 16:08:28 -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
6e042b1901
re-enable wireframe in PhysicsClient
...
inintialize variables in constructor of PhysicsClient
2015-10-30 13:24:02 -07:00
erwin coumans
c68c215ead
add rudimentary command logging for shared memory physics server
2015-10-30 10:30:48 -07:00
erwin coumans
819c4f1951
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-10-29 11:26:01 -07:00
erwin coumans
f7bbbd88e6
preparation for CommandLogging for PhysicsServer.
2015-10-29 11:25:50 -07:00
erwin coumans
9442791cf1
Fix PhysicsServer connection issue, in cases where shared memory was not properly shut down.
2015-10-29 11:18:26 -07:00
erwincoumans
650189d50b
Allow both remote debug drawer and local debug drawer for PhysicsServer (shared memory etc)
2015-10-29 08:28:49 -07:00
Erwin Coumans
8a956318e5
fix case sensitive issue
2015-10-28 16:02:55 -07:00
Erwin Coumans
6a6c0297fe
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-10-28 13:44:30 -07:00
erwin coumans
dc81e31e74
upload work-in-progress Collision example using C-API.
2015-10-28 11:48:36 -07:00
erwin coumans
2d5d89d999
Allow to request the state of a rigid body (position, orientation, lin/ang velocity) through shared memory API
...
PhysicsClientC_API: b3RequestActualStateCommandInit requires a body unique Id as second argument
2015-10-27 15:46:13 -07:00
erwin coumans
9cc2b1ec12
Physics SharedMemory:
...
Add flags BOX_SHAPE_HAS_MASS and BOX_SHAPE_HAS_COLLISION_SHAPE_TYPE to CMD_CREATE_RIGID_BODY
(which maps to CMD_CREATE_BOX_COLLISION_SHAPE for backward compatibility for now)
Need to add way to receive world transform
2015-10-27 14:55:46 -07:00
erwincoumans
57f50f1778
Create a PhysicsLoopBack that includes both PhysicsClient and PhysicsServer over shared memory.
...
Add a test for PhysicsLoopBack.
2015-10-26 17:56:21 -07:00
erwincoumans
e779bb247b
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-10-26 16:16:08 -07:00
Erwin Coumans
163b797d8b
Update to ZLib license for GWEN files.
...
Note that our copy of GWEN is modified and GWEN is not under active development anymore.
We plan to integrate and modify GWEN further into the Bullet Example Browser or rewrite the GUI and drop GWEN
fix cube.obj and cube.mtl to enable textures
2015-10-25 11:30:34 -07:00
erwincoumans
d6916107dc
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-10-24 14:01:01 -07:00
erwincoumans
52edac4ef2
example Collision: catch case where no collision world is created
2015-10-24 14:00:53 -07:00
Erwin Coumans
ec1947bbbd
add SIM_PARAM_UPDATE_DELTA_TIME flag to fix setting the time step
...
in shared memory API
2015-10-24 13:50:11 -07:00
Erwin Coumans
818037c011
Fix issue related to CMD_RESET_SIMULATION
2015-10-24 13:49:25 -07:00
Erwin Coumans
f28150c368
catch setting of invalid joint angles in PhysicsClientC_Api
...
use the proper m_bodyUniqueIndex (todo: fix this field, move to shared command data)
2015-10-24 13:48:53 -07:00
erwincoumans
7f35aa9f43
Merge pull request #500 from erwincoumans/master
...
fix for Mac OSX El Captain 10.11, OpenGL Window was blue, until first…
2015-10-22 11:11:08 -07:00
Erwin Coumans
25fb92c4c9
fix for Mac OSX El Captain 10.11, OpenGL Window was blue, until first resize.
...
fixes Issue 498
2015-10-21 21:30:44 -07:00
erwincoumans
c737a35693
Merge pull request #497 from erwincoumans/master
...
Add plane shape and profile timing support in examples/Collide
2015-10-21 10:42:04 -07:00
erwin coumans
3d9218e07d
Add plane shape and profile timing support in examples/Collide
...
Use View/Profiler in example browser, in optimized build/Release mode
and look for plCollideWorld
2015-10-20 18:30:43 -07:00
Takuya NAKAOKA
3a11fff3ad
Fix slow simulation in PhysicsServerExample
...
Removed maxSteps to regain simulation speed
2015-10-20 14:51:40 +09:00
Erwin Coumans
abcaa19bc8
make the compiler happy with Collision example
2015-10-19 18:21:45 -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
Erwin Coumans
21b7a47129
although still not implemented, IMU enum had wrong value, thanks JF
2015-10-17 20:12:50 -07:00
Erwin Coumans
3d3830962a
add a few collision examples to test a C API with various back-ends
2015-10-17 13:44:00 -07:00
=
bc09125095
fix include guard, thanks Aaron!
...
fix uninitialized body index in PhysicsServer
2015-10-16 08:18:26 -07:00
Nico Kruithof
bcefdba59b
Fixed missing include directories
2015-10-15 20:23:12 +02: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
cf79928d84
Merge pull request #489 from erwincoumans/master
...
Implement CMD_INIT_POSE to set base position, base orientation and jo…
2015-10-13 22:51:06 -07:00
erwin coumans
a0e507280c
Implement CMD_INIT_POSE to set base position, base orientation and joint position (angle).
...
See PhysicsClientExample for example use of CMD_INIT_POSE.
Change: CMD_INIT_POSE uses m_initPoseArgs and not m_sendDesiredStateCommandArgument
2015-10-13 22:23:28 -07:00
erwincoumans
5b558a1f94
Merge pull request #488 from erwincoumans/master
...
initial support for multiple robots in shared memory API
2015-10-13 16:08:30 -07:00
erwin coumans
4a29986662
initial support for multiple robots in shared memory API
2015-10-13 11:32:25 -07:00
erwincoumans
d1d279d086
Merge pull request #464 from benelot/master
...
Fix the Bullet Raycast sample. Closes #450 .
2015-10-09 10:16:07 -07:00
=
8d26ff356d
allow links without collision shapes in btMultiBody URDF importer
2015-09-25 17:00:44 -07:00
=
5e4badc099
make PhysicsClient an interface class, and move shared memory implementation
...
of physics client into PhysicsClientSharedMemory class/file.
This will allow implementation of UDP and other transport protocols to a physics server.
2015-09-24 22:50:34 -07:00
=
e05825f639
improvements to the shared memory physics API:
...
support picking in C API etc.
2015-09-24 22:42:22 -07:00
=
23bdd0ed36
more work on physics client c-api over shared memory
2015-09-17 09:37:44 -07:00
=
003a42478b
another step closer to useable shared memory C API
...
(force/torque sensor needs new API)
in a nutshell, users of shared memory physics API should not
directly poke into shared memory, not fill 'SharedMemorCommand'
nor read SharedMemoryStatus directly. The C-API declares 'handles' for those,
to avoid it from happening.
2015-09-16 23:09:10 -07:00
=
3d10338ed5
fix warnings (thanks to Aaron!)
2015-09-10 17:52:41 -07:00
=
2257ec05ad
don't compensate for COLLADA up axis in collision element for now
...
(todo: let user override COLLADA up axis, some URDF files are inconsistent)
2015-09-10 17:36:19 -07:00
=
d72cda101c
fixes in shared memory client/server: check for valid pointers
2015-09-09 15:14:47 -07:00
erwincoumans
e4b5f4730d
Merge pull request #473 from takuyanakaoka/detach-shared-mem
...
Detach posix shared memory correctly
2015-09-09 15:13:27 -07:00
Takuya NAKAOKA
4cbd86a058
Detach posix shared memory correctly
...
* shmget() fails after shmctl() is called with IPC_RMID. This patch
removes shmget() in releaseSharedMemory so that a client can detach
a shared memory correctly after a server removed it.
* A server should also detach a shared memory.
2015-09-09 12:35:26 +09:00
=
5be9119455
run the PhysicsServerExample 'stepSimulation' smoother
...
fix a warning in ThirdParty/stb_image
fix an single/double precision issue in btPolyhedralContactClipping.cpp
2015-09-08 13:39:09 -07:00
erwin coumans
2909b5fae3
add picking to shared memory physics server
2015-09-04 11:28:08 -07:00
erwin coumans
f75df90d82
Allow batches of debug lines. The PhysicsClientExample rendering is still slow (one line at a time, instead of batches)
...
Prepare for IMU sensor in Shared Memory Server
2015-09-03 14:18:22 -07:00
=
5a0ca58436
fix force/torque feedback
2015-08-31 12:36:08 -07:00
Erwin Coumans (Google)
98c93a7330
fix inline, __inline for _WIN32
2015-08-27 18:13:54 -07:00
Erwin Coumans (Google)
3d130d9d66
reset simulation in test/SharedMemory/test for proper cleanup,
...
and it can restart without shutting down/restarting physics server
w
2015-08-27 17:51:31 -07:00
Erwin Coumans
2e7949bb3e
fix some warnings
2015-08-26 15:26:53 -07:00
Benjamin Ellenberger
e39bf6c4cd
Fix the Bullet Raycast sample. Closes #450 .
2015-08-25 15:56:46 +02:00
erwin coumans
faab737738
add a robot joint sensor example, reading joint reaction forces/torques using the shared memory API
2015-08-24 15:26:29 -07:00
erwin coumans
46f161ec02
fix WIN32 build for b3Win32ThreadSupport
2015-08-24 10:12:13 -07:00
Erwin Coumans
9ec08592b6
fix a copy/paste typo, thanks Roland!
2015-08-21 18:18:12 -07:00
Erwin Coumans
74fda9ff85
simple multi threading test
2015-08-21 15:18:18 -07:00
Erwin Coumans
362887987c
add example/MultiThreading functions
2015-08-21 11:09:53 -07:00
=
bbc450a3de
position/velocity control through constraint for shared memory server
2015-08-20 14:57:14 -07:00
=
63873e2926
fix issue, cannot assume 16-byte alignment in shared memory,
...
causing crashes when SIMD btVector3 is stored on Mac OSX.
2015-08-20 08:09:22 -07:00
erwincoumans
081a40d254
initial implementation to send debug lines from physics server to client,
...
need to add streaming because memory is too small to store all lines
initial test of PD control in physics server, need to switch to PD control for motor constraint, instead of using external forces.
2015-08-19 22:51:16 -07:00
Erwin Coumans
d08a7af7e2
fix compile issue in double precision build
2015-08-10 14:49:52 -07:00
Erwin Coumans
f89d587a02
update tutorial for SIGGRAPH course
...
allow multiple graphing windows at the same time
2015-08-10 14:30:00 -07:00
Erwin Coumans
edaa92c286
fix retina API
2015-08-07 16:21:33 -07:00
Erwin Coumans
3c0e67298a
add command-line option --disable_retina for Mac
...
improve TimeSeries and Dof6ConstaintTutorial
2015-08-07 16:05:03 -07:00
erwincoumans
de4dcdbb18
more tutorial work
...
add fixed_timestep command-line parameter, 0 means disabled (variable timestep)
2015-08-07 14:18:57 -07:00
erwincoumans
89c2a729ce
Improved simple TimeSeriesCanvas
...
Fixes in RobotControlExample
Disable gravity by default in PhysicsServer
2015-08-07 13:17:33 -07:00
Erwin Coumans
03d991c92b
add command-line argument for example browser and shared memory app, --shared_memory_key=<int>
...
fix some shared memory issues, client uses attach/detach, server uses create/remove shared memory
implement CMD_RESET_SIMULATION
2015-08-07 00:13:26 -07:00
=
f750275cf9
fix _WIN32 build (there is no <err.h>)
2015-08-06 12:07:08 -07:00
=
46fae61c69
fixes in shared memory:
...
only allow server to create and initialize shared memory,
client will report failure
intercept signals to cleanup shared memory in standalone app, thanks to
Roland Philippsen.
2015-08-06 11:59:31 -07:00