Commit Graph

231 Commits

Author SHA1 Message Date
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
Erwin Coumans
dcab0e2b1f use multibody by default when using FILE/Open URDF (instead of maximal coordinate rigid body+typed constraints) 2015-08-06 00:35:03 -07:00
erwin coumans
6d8ad72d68 add Tutorial.cpp files
load textured sphere8.obj by default as a test
tiny_obj_loader don't crash when mtl is not found
fix camera perspectives for some examples
2015-08-05 19:22:48 -07:00
erwin coumans
a5669d2ffd add a textured sphere8.obj test with obj loader
fix shaders, so that shadowed and non-shadowed are matching
fix registerGraphicsUnitSphereShape API (level of detail), support textured sphere too
add support for textured cube
add start for a Tutorial.cpp
2015-08-05 19:03:27 -07:00
Erwin Coumans
250068d5eb re-enable enter key in example browser 2015-08-04 22:03:53 -07:00
erwincoumans
b316f30040 improve usability of ExampleBrowser
store command-line arguments in bulletDemo.txt
save/load of configuration, save demo name instead of index
add setBackgroundColor as example (background_color_red) and
mouse move/wheel speed config (mouse_wheel_multiplier and mouse_move_multiplier)
(saved after changing the demo)
default btIDebugDraw colors can be changed
b3CommandLineArgs::GetCmdLineArgument returns bool, and b3CommandLineArgs::addArgs added
fix copy/paste
2015-08-04 18:24:30 -07:00
=
eb6663ed4b further work on shared memory API
fix dependency of BulletDynamics to Bullet3Common (b3Printf)
2015-08-02 14:00:43 -07:00
erwincoumans
19c5be5646 small progress towards shared memory C-api and test.c. 2015-07-30 23:22:44 -07:00
Erwin Coumans
26531f3fbc fix some warnings, disable gimpact by default in world importer,
use DIRECTLY_UPDATE_VELOCITY_DURING_SOLVER_ITERATIONS by default for now,
until we find the issue with some failing test cases in btMultiBody
fix a crashing issue in MyMultiBodyCreator.cpp (uninitialized variable)
disable excessive debug printf in URDF2Bullet
2015-07-27 13:28:47 -07:00
Erwin Coumans
ad03dba2fa update stb_truetype.h to latest from
https://raw.githubusercontent.com/nothings/stb/master/stb_truetype.h
2015-07-23 23:17:58 -07:00
=
3fe9138e8c minor refactoring 2015-07-23 11:51:25 -07:00
erwin coumans
0fe6d343bc move m_updateFlags to command, and make it 64bit 2015-07-23 10:51:09 -07:00
Erwin Coumans
812c67e221 fix various warnings, more work on shared memory API 2015-07-22 18:06:05 -07:00
Erwin Coumans
05fc203ec1 Separate SharedMemoryStatus from SharedMemoryCommand
Added CMD_CMD_SEND_PHYSICS_SIMULATION_PARAMETERS (set gravity as example)
and CMD_INIT_POSE, not fully implemented yet.
2015-07-21 21:46:28 -07:00
Erwin Coumans
8e163c984d allow to control of powered joints after loading a URDF file, through shared memory
more refactor of shared memory joint control API
2015-07-20 23:35:29 -07:00
erwincoumans
68b53feb9c add Inverted Pendulum example with PD control 2015-07-16 23:58:36 -07:00
Erwin Coumans
26e175013d add prismatic.urdf test file and revert to r2d2.urdf in import example 2015-07-15 17:51:49 -07:00
Erwin Coumans
7698d5f95c fix some out-of-date comments in btMultiBody, thanks to Thomas Buschmann
disable disactivation for btRigidBody in import urdf demo, increase strength of joint motor for btMultiBody
2015-07-15 17:39:43 -07:00
erwin coumans
b563c7c8ce add additional example using server and client for future simple robot control of simulated robot
(load urdf, get state, set desired state, step simulation)
Create SharedMemoryCommand and put that into the queue
move arrays for Q, Qdot etc into the command
2015-07-15 15:23:40 -07:00
erwin coumans
80f8f940b3 add Time Series example to cmake build file. 2015-07-15 13:02:20 -07:00
erwin coumans
259bcb1989 mix physics client/server into a single example for easier/faster development of shared memory experiment
add premake option to choose targetdir for binaries/libraries
add simple hinge.urdf file
2015-07-15 12:57:45 -07:00
Erwin Coumans
a6fa717dac add very simple (rudimentary) time series graphing example
tweak camera near plane distance, less sensitive mouse wheel
2015-07-15 09:07:47 -07:00
=
48f6484b3d make OSX/Unix version of PosixSharedMemory work
pass on useFixedBase to URDF loader in PhysicsServer
2015-07-14 16:23:01 -07:00
erwin coumans
54a76f6e0c Refactor of PhysicsClient/PhysicsServer, to separate from the example browser code.
(as usual, work-in-progress)
2015-07-14 15:30:17 -07:00
=
482f31597b implement preliminary CMD_SEND_DESIRED_STATE with CONTROL_MODE_VELOCITY and
CONTROL_MODE_TORQUE.
2015-07-14 08:34:02 -07:00
=
a7fc45410b enable addition of examples at run-time 2015-07-12 14:58:31 -07:00
=
de9329ce0a Add --demo-name=NAME option to start specific demo. (public github commit)
For example,

  $ App_ExampleBrowser_gmake_x64_release --demo-name="Physics Server"

this command starts Physics Server demo regardless of bulletDemo.txt.
2015-07-12 14:51:08 -07:00
=
7452df0964 Pass initial position and orientation for CMD_LOAD_URDF. (public github commit) 2015-07-12 14:48:43 -07:00
erwincoumans
6c9ce344ea fix shadowmap crash on some Intel GPUs, see https://github.com/bulletphysics/bullet3/issues/4
remove targetdir from all libraries in premake, so it is much easier to create a separate folder for all binary+lib
transmit the serialized btMultiBody data back from server to client, after the server loads a URDF file. This includes base+link+joint names
tweak the serialization routines, so it is easier to skip pointers and to serialize directly to a shared memory buffer
also tweak the serialization code to allow to process data without 'DNA' schema data (assuming file-DNA = memory DNA)
2015-07-10 22:20:06 -07:00
erwincoumans
f6f76901fd First draft of btMultiBody serialization, including optional names for base, link and joints (see ImportURDFDemo/ImportURDFSetup.cpp how this is done)
Bump up version number to 2.84 because of new serialization data.
2015-07-09 17:36:00 -07:00
erwincoumans
285ac286fa some work towards streaming Bullet data over shared memory for client/server 2015-07-09 14:04:58 -07:00
Erwin Coumans
7f4beba7ee add forceFixedBase option for URDF import example 2015-07-07 15:39:36 -07:00
=
272ffeb232 add example for btMultiBody constraint and joint feedback 2015-07-07 08:32:02 -07:00
=
3431773800 expose btMultiBodyConstraint applied impulse (force) on its degree of freedom(s),
only tested for btMultiBodyJointMotor for now.
See also MultiBody/MultiBodyConstraintFeedback example
2015-07-06 23:00:46 -07:00
erwincoumans
4630d0abb1 fix windows build for b3ResourcePath
replace print -> b3Printf in URDF2Bullet.cpp
2015-07-03 18:54:41 -07:00
Erwin Coumans (Google)
8517e85b21 fix various warning
add b3ResourcePath utility, to locate resources relative to executable
2015-07-03 18:17:14 -07:00
Erwin Coumans
45d4816c44 fix case-sensitivity issue 2015-07-01 08:58:14 -07:00
erwincoumans
e7bafbc71c make Bullet URDF parser more similar to the ROS URDF parser. There is still a difference in ordering of links,
due to the use of different hash-map implementations, with a difference in iterator order
(btHashMap versus std::hashmap)
2015-06-29 21:30:44 -07:00
Erwin Coumans
3fbe9f63ef more case-sensitivity fixes 2015-06-28 22:12:59 -07:00
Erwin Coumans
5d44d596ed fix build system (case sensitive filename) 2015-06-28 22:00:03 -07:00
Erwin Coumans
f8add8bba0 fixes in build system for URDF parser 2015-06-28 21:21:57 -07:00
Erwin Coumans
039174a809 add alternative URDF parser that doens't use ROS urdf 2015-06-28 14:09:21 -07:00
erwin coumans
3b4ad1cd5a add the option to shift the applied force/torque for a multibody joint (mobilizer) to the joint frame origin 2015-06-25 15:09:35 -07:00