Commit Graph

104 Commits

Author SHA1 Message Date
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