Commit Graph

212 Commits

Author SHA1 Message Date
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
Erwin Coumans
bdab994208 re-enable gravity for import urdf demo (accidently turned it off for debugging) 2015-06-24 23:27:50 -07:00
Erwin Coumans
d830681674 add option for rigid body/typed constraint to set target velocity
compare joint feedback between multi body and rigid body. initial results are promising (not exactly the same, but reasonably close)
2015-06-24 23:19:00 -07:00
erwin coumans
b14afba350 more work-in-progress on joint-torque sensor sample and server/client shared memory API 2015-06-22 15:30:57 -07:00
Erwin Coumans
4688540a98 minor update for shared memory interface 2015-06-21 13:24:36 -07:00
erwincoumans
89edc40d61 First step in btMultiBody joint force/torque feedback. There is still some work to be done for 'mobilizer limit/motor'.
See examples/MultiBody/TestJointTorqueSetup and examples/Constraints/TestHingeTorque for joint feedback.
2015-06-19 09:18:27 -07:00
=
41aa58560b add TestHingeTorque example using btRigidBody and btHingeConstraint, setup is similar to TestJointTorque using btMultiBody and a revolute joint. 2015-06-15 23:12:29 -07:00
erwin coumans
2d79dda032 prepare for joint/torque feedback. First for btRigidBody, then btMultiBody. 2015-06-09 18:13:05 -07:00
erwin coumans
2c3db1c631 Add a "add button" option in the CommonParameterInterface and implement it for Gwen.
Add some buttons for shared memory requests in the PhysicsClient
2015-06-09 16:51:55 -07:00
Erwin Coumans
1a4ce475f7 fix an issue with btMultiBodyConstraint, automatically 'finalizeMultiDof' to pre-allocate jacobian data
enable joint limit for slider/prismatic joint in btMultiBody version of URDF loader
2015-06-05 11:46:53 -07:00
erwin coumans
a94ac6300a add Windows version of shared memory, very basic implementation (only allows one single allocation) 2015-06-04 15:37:18 -07:00
Erwin Coumans
f74e3782aa enable prismatic joint motor in URDF demo, by default. Thanks to Takuya!
prepare for prismatic joint limit for btMultiBody in the URDF demo.
There is an issue with it, working on fixing this.
2015-06-03 18:02:15 -07:00
Erwin Coumans
85acb2a009 fix an OpenGL performance issue running on some Linux machines
(apparently searching for a framebuffer with more samples makes NVIDIA Quadro slow)
2015-06-03 17:18:56 -07:00
Erwin Coumans (Google)
190382e9ec enable posix shared memory on non-Win32 platforms (Linux and Mac) for example browser 2015-05-30 20:32:29 -07:00
=
c28afd2242 add missing files 2015-05-29 15:38:32 -07:00
=
fcb5dac567 fix cmake build and travis/CI 2015-05-29 15:10:52 -07:00
=
bc806ab68c exit gracefully and call destructor of the current active example
fflush after printf
implemented stepForward and Shutdown for the SharedMemory client/server
2015-05-29 15:04:05 -07:00
=
6fedad9db7 fix SharedMemory premake file 2015-05-29 11:37:21 -07:00
=
7abefca6f1 small improvement to the shared memory physics server/client 2015-05-28 17:49:55 -07:00
=
82576d0bee added preliminary shared memory physics client/server
fix a bug in CommonMultiBodyBase: don't use data if it hasn't been allocated
2015-05-28 16:05:24 -07:00