Erwin Coumans
34c3fca8d5
prepare state logging system (log state of robot, vr controllers after each stepSimulation)
2017-02-17 10:47:55 -08:00
erwincoumans
a877deb4c3
Merge pull request #934 from kkimdev/BT_ID_
...
Add and use BT_ID_* math functions for idScalar.
2017-01-29 21:10:25 -08:00
erwincoumans
87bce5eacf
UDP networking improvements and experiments (send CMD_STEP_FORWARD_SIMULATION as 4 bytes command, status 8 bytes, instead of enormous command/status packages.
...
Change some timeouts to use actual RTC time instead of dummy loops 1024*1024*1024.
Fix type conected -> connected
2017-01-28 22:14:45 -08:00
Kibeom Kim
761275df28
Add and use BT_ID_* math functions for idScalar.
2017-01-26 11:40:09 -08:00
Erwin Coumans
52761f5578
[pybullet] implement addUserDebugParameter / readUserDebugParameter
...
fix inertial frame for door.urdf
allow picking of links of multi-bodies with a fixed base
2017-01-17 15:42:32 -08:00
Erwin Coumans
c0c4c8ba3f
fix many warnings
...
remove btMultiSapBroadphase.*
make collisionFilterGroup/collisionFilterMark int (instead of short int)
2017-01-15 22:26:11 -08:00
Erwin Coumans
3d6584962a
remove some memory leaks in example code.
2017-01-10 14:57:16 -08:00
Erwin Coumans
c940f0ec47
update pybullet quickstart quide PDF
...
hook up the loadMJCF importing MuJoCo xml files in pybullet and shared memory API b3LoadMJCFCommandInit
2016-12-31 14:43:15 -08:00
Erwin Coumans
c1f728ec86
immediately propagate forward kinematics + collision world transform, after 'INIT_POSE' command
2016-11-06 15:02:07 -08:00
erwincoumans
6ce6157c8a
fix issue in DNA copy, reduce number of test iterations.
2016-11-04 20:53:57 -07:00
erwincoumans
9708392322
work-in-progress
...
add UDP network connection for physics client <-> server.
also set spinning friction in rolling friction demo (otherwise objects may keep on spinning forever)
2016-11-04 13:15:10 -07:00
erwin coumans
eda400d14c
Merge remote-tracking branch 'bp/master'
2016-10-19 07:43:46 -07:00
erwin coumans
f97cb7002d
first version of 'getVisualShapeData' to get visual shape information to allow external renderer with pybullet and shared memory robotics API
...
b3InitRequestVisualShapeInformation/b3GetVisualShapeInformation in shared memory API
2016-10-18 22:05:28 -07:00
yunfeibai
7630bf62d5
Add USE_SOFT_BODY_MULTI_BODY_DYNAMICS_WORLD option.
2016-10-18 17:38:43 -07:00
yunfeibai
e112b15281
Move btSoftMultiBodyDynamicsWorld to BulletSoftBody.
2016-10-17 23:40:38 -07:00
yunfeibai
02393a1edd
More fix
2016-10-17 16:45:28 -07:00
yunfeibai
6f0a404b1e
More fix for integration test.
2016-10-17 16:20:15 -07:00
yunfeibai
fddccca482
Fix error in integration test.
2016-10-17 14:46:47 -07:00
erwin coumans
32eccdff61
Create project file for BussIK inverse kinematics library (premake, cmake)
...
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07: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
erwin coumans
a9b1544a9f
Add premake support to build pybullet, Windows and Linux tested, will enable Mac in next commit.
...
Expose inverse dynamics to Bullet shared memory API, through b3CalculateInverseDynamicsCommandInit and
b3GetStatusInverseDynamicsJointForces command/status. See PhysicsClientExeample or pybullet for usage.
Add option for Windows and Linux to set python_lib_dir and python_include_dir for premake and --enable_pybullet option
Expose inverse dynamics to pybullet: [force] = p.calculateInverseDynamics(objectIndex,[q],[qdot],[acc])
Thanks to Jeff Bingham for the suggestion.
2016-08-09 18:40:12 -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
erwin coumans
60d2b99151
Physics runs in a separate thread from rendering in PhysicsServerExample (preliminary)
...
Improve rendering performance. OpenVR experience is smooth now.
commit needs a bit more testing before pushing in main repo.
2016-07-07 19:24:44 -07:00
Erwin Coumans (Google)
6d1948e79e
tweaks in pybullet and shared memory C-API:
...
allow to reset the state of a single joint
allow to set the target/mode for a single joint motor at a time
rename pybullet API: initializeJointPositions -> resetJointState
2016-06-24 07:31:17 -07:00
Erwin Coumans
c7c01e6b32
add one more test, related to b3CreatePoseCommandInit
2016-06-20 14:09:37 -07:00
Erwin Coumans
a67df7fd03
fix cmake and premake build systems, after adding texture support in SDF,
...
in a nutshell, add the following two files:
examples/Importers/ImportMeshUtility/b3ImportMeshUtility.cpp
examples/ThirdPartyLibs/stb_image/stb_image.cpp
2016-06-19 17:35:25 -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
Erwin Coumans
95a09bec99
implement getJointInfo for objects loaded through SDF
2016-06-15 18:01:41 -07:00
Erwin Coumans
456c844a6b
work-in-progress send object/joint information after loading SDF file
2016-06-14 18:41:19 -07:00
erwin coumans
9a5394c4bc
fix cmake build
2016-06-01 11:07:39 -07:00
erwin coumans
f469a2cb49
update to tinyrenderer synthetic camera
2016-05-31 22:55:13 -07:00
erwin coumans
2fc0358750
Expose a better API to allow any render engine to be used for the physics simulation when loading URDF/SDF files.
...
See bullet3/examples/Importers/ImportURDFDemo/DefaultVisualShapeConverter.h
Give the kuka_iiwa/model.urdf some blue color, not just orange, to mimick the original a bit better
Preparation for the CMD_CAMERA_IMAGE_COMPLETED command, to expose a virtual camera to the robotics API
2016-05-19 18:37:15 -07:00
Erwin Coumans
20e39d0abf
fix premake build
2016-05-13 19:01:40 -07:00
Erwin Coumans
bebe9a728b
handle window closing in InProcessPhysicsClientSharedMemoryMainThread
2016-04-19 08:29:20 -07:00
Erwin Coumans
2cbfeb9590
run GUI on main thread for Mac OSX/__APPLE__, due to OS limitation
...
add b3CreateInProcessPhysicsServerAndConnectMainThread to test.c
2016-04-14 08:51:20 -07:00
Erwin Coumans
34e6eb4a18
add a few lines of documentation and some error checks in SharedMemory API
2016-04-13 13:06:15 -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
Erwin Coumans
005ef9d2f1
fixes in SharedMemory unit test, premake build issue on Linux
2016-03-15 18:29:32 -07:00
erwincoumans
efbb1edecc
Allow InProcessExampleBrowser to use a malloc allocated memory block, instead of system shared memory.
...
Make shared memory client/server a bit more robust, in case the server is terminated early.
2016-03-10 14:36:46 -08:00
erwincoumans
9be978337f
quick draft implementation for SharedMemoryInProcessPhysicsC_API
2016-03-07 14:56:16 -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
dabccd184d
fixes in test/SharedMemory
2015-12-15 13:45:34 -08:00
erwincoumans
ab283251d3
Merge pull request #546 from erwincoumans/master
...
typo fixes in InverseDynamicsExample
2015-12-07 15:07:24 -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
c3460a6d48
fix whitespace formatting
2015-12-07 13:49:29 -08:00
Andrew Meadows
a860fff3ad
fix cmake to succeed with -DBUILD_BULLET3=0
2015-12-07 13:43:17 -08:00
Erwin Coumans
433a7aa9b6
fix C++11 issue
2015-12-07 11:44:43 -08:00
Erwin Coumans
332017ff23
remove dependency on gflags, C++11 from test_invdyn_bullet.cpp
...
add support for premake for test_invdyn_bullet
2015-12-02 17:49:25 -08:00
erwincoumans
1826f11fbc
add pthread dependency for gtest-based tests for non-Windows platforms
2015-11-24 16:54:04 -08:00
erwincoumans
e387baf213
add collision and inverse dynamics unit tests to cmake, .travis.yml and appveyor.yml
...
(more unit tests will follow, once this setup works)
2015-11-24 16:13:21 -08:00
Erwin Coumans
b4701613c8
consistent *API.* in examples/SharedMemory
2015-11-23 08:00:42 -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
erwincoumans
7651d89b98
fix InverseDynamics/test_invdyn_kinematics.cpp for single/double precision builds
...
use dill_creator for tree structure (not coil_creator)
2015-11-19 14:33:14 -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
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
2317307a22
Add b3GetStatusActualState() to C_API.
...
Change pick-and-move C_API to use handlers
2015-11-04 16:08:28 -08:00
Erwin Coumans
8a956318e5
fix case sensitive issue
2015-10-28 16:02:55 -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
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
erwin coumans
4a29986662
initial support for multiple robots in shared memory API
2015-10-13 11:32:25 -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
=
066ff5f2e9
fix c error
2015-09-17 13:42:02 -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
erwin coumans
40d07139a9
fix build
2015-09-04 10:28:32 -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
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
erwincoumans
49a89ab0e7
fix SharedMemory/test.c compile errors
2015-08-02 19:10:42 -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
812c67e221
fix various warnings, more work on shared memory API
2015-07-22 18:06:05 -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
Erwin Coumans
074b869a9f
enable premake4 option --ios and Test_LinearMath
...
usage: ./premake4_osx --ios xcode4
open xcode4ios/0_Bullet3Solution.xcworkspace
2015-05-12 09:17:27 -07:00
Erwin Coumans
0da584a42d
allow to compile and run the ExampleBrowser on older Mac OSX versions (without OpenGL3)
...
using the 'NO_OPENGL3' preprocessor definition
both premake/cmake has support for this now
needs some testing
2015-05-06 10:35:14 -07:00
=
7eec0dc57d
add enet for some client/server tests
2015-05-05 12:51:38 -07:00
Erwin Coumans (Google)
dd6ec0bcfd
fix Linux build
2015-04-28 20:56:18 -07:00
Erwin Coumans
df86a69a71
fix Mac OSX build, minor addition in example descriptions
2015-04-27 20:58:01 -07:00
erwin coumans
27227e5e4a
add SoftDemo examples
...
add example description for all examples (with word-wrap)
add the VoronoiFractureDemo, note that the collision are disabled after breaking constraints.
add optional GwenOpenGLTest, to make it easier to see Gwen user interface features.
2015-04-27 18:35:07 -07:00
Erwin Coumans
889cbdc0ef
fixes in Mac modifier keys, remove enet/lua tests
2015-04-16 17:35:34 -07:00
erwincoumans
794c8ec064
add BspDemo.bsp data file
...
add sphere2.urdf
move btSpatialAlgebra into LinearMath
remove some warnings, introduce BT_ZERO, BT_ONE, BT_HALF as defines for 0.f/0., 1.f/1., 0.5f/0.5 respectively
2015-04-16 10:17:35 -07:00
erwincoumans
b36936a4ab
Update Test_v3interp.cpp
...
add test case for https://github.com/bulletphysics/bullet3/pull/313
2015-02-10 18:12:55 -08:00
Erwin Coumans
c64377b76c
fix linux build of test/collision
2014-11-03 20:19:13 -08:00
Erwin Coumans
b1863f7ce2
Refactored GJK, EPA and MPR as a template class, reducing/removing the dependencies
...
to the rest of the Bullet code base. This code will replace the original GJK/EPA
in a future commit.
Added btMprPenetration, an implementation of Minkowski Portal Refinement
by Daniel Fiser. Original MPR idea is by Gary Snethen, and the first
implementation is here: https://github.com/erwincoumans/xenocollide
It is an alternative to EPA, although computing the local penetration depth.
EPA computes the global penetration depth. In many cases, MPR is sufficient
and performs better than EPA.
2014-11-02 12:53:36 -08:00
Erwin Coumans
07e2dcc749
minor cleanup of btgui/demo3 stuff, much more demo cleanup is needed
...
moved some files in btgui/Bullet3AppSupport
2014-09-16 12:08:24 -07:00
Erwin Coumans
4af9c5a4c9
remove some warnings
2014-08-21 13:32:32 -07:00
erwin coumans
670576ec72
remove #include <stdbool.h> it breaks MSVC 2010
...
enable gtest by default when using premake, added flag without-gtest
use gtest ASSERT_EQ( expected_value, actual_value) instead of the reverse,
this fixes issue 205 (https://github.com/bulletphysics/bullet3/issues/205 )
2014-08-12 12:18:32 -07:00
erwincoumans
6c01c83986
Merge pull request #170 from erwincoumans/master
...
sync repos
2014-05-07 09:00:24 -07:00
erwin coumans
2cf7806c87
add the 'extras' and Bullet 2 tests, to make it easier to create a new intermediate release
2014-05-07 08:54:08 -07:00
Erwin Coumans
4996a64238
fix CMake build on Mac OSX
2014-04-28 11:11:45 -07:00
erwincoumans
a50dfe8e19
add CMake support to build gtest
2014-04-08 09:04:32 -07:00
erwincoumans
122ceacb6d
move OpenCL initialization for the unit tests in a shared header file, and support some basic command-line arguments
...
--cl_device=1 --cl_platform=1 --allow_opencl_cpu
add chaindemo, test for mass ratios
restore sleeping/activation mode in featherstone demo
Use _VARIADIC_MAX=10 to avoid Google Test issues with Visual Studio 2012, thanks to Mobeen for the report
Enable verbose printf for unit tests
2014-02-11 10:33:00 -08:00
erwincoumans
d65cd8060a
add Lua and basic Lua->C/C++ integration test, in preparation for Bullet demos setup using Lua scripts.
2014-02-05 19:39:48 -08:00
Erwin Coumans
94db38358c
add zlib/minizip so we can load compressed data (github/git is bad in handling large binary files)
2014-02-04 13:39:55 -08:00
Erwin Coumans
ac32af2b1c
fix linux build (case sensitive folder Test -> test etc)
2014-01-31 22:40:42 -08:00
erwin coumans
50c61b0d11
just show maximum memory in OpenCL initialization/memory allocation test
2014-01-30 11:22:08 -08:00
erwin coumans
ec39c2f210
Removed to bitonic sort and ios, they were not used and confuse Bram :)
...
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9570
2013-11-25 21:38:44 -08:00
erwin coumans
26dfaa441e
add some command-line options
...
--use_jacobi
--allow_opencl_cpu
b3LauncherCL constructor takes string, to make it easier to determine failing OpenCL kernel
b3SetCustomErrorMessageFunc, printf error and exit(0)
2013-11-19 13:42:53 -08:00