Commit Graph
100 Commits
Author SHA1 Message Date
Erwin Coumans e6865a1186 Merge remote-tracking branch 'bp/master' 2016-08-30 14:44:35 -07:00
Erwin Coumans a30ff20e6b preparation for KUKA IK tracking example 2016-08-30 14:44:11 -07:00
Erwin Coumans 900fd86d58 fix R2D2GraspExample 2016-08-29 12:35:02 -07:00
Erwin Coumans 68efd7dd6e Merge remote-tracking branch 'bp/master' 2016-08-29 10:38:59 -07:00
Erwin Coumans 9fc438e742 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-29 10:38:51 -07:00
erwin coumans 4094b9f0df Disable 'm_robotSim.setNumSimulationSubSteps' because it is not needed at the moment
Fix issue in contact/friction between btMultibody and btRigidBody (external force/torque of btRigidBody was not taken into account during contact/friction setup)
Allow 0.1 mm slop in contact, to avoid loosing contact. Todo: allow contacts with positive distance in multibody solver.
2016-08-27 13:44:18 -07:00
Erwin Coumans 887e88a490 Merge remote-tracking branch 'bp/master' 2016-08-27 10:37:48 -07:00
Erwin Coumans fb3f2d896c Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-27 10:37:35 -07:00
erwin coumans c5164e503f fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBodyDoubleData
causing serialization issue in  URDF/SDF loading in double-precision mode on Windows 32bit.
(it was fine on Mac/Linux 64bit)
bump serialization version to 2.85, as we change the file format
fix in name clash in makesdna.cpp -> intptr_t is already defined.
2016-08-26 10:00:29 -07:00
Erwin Coumans 2861d2ae59 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-25 20:02:34 -04:00
Erwin Coumans 7db9a020b9 debug draw contact normals (1cm) use black color 2016-08-19 10:55:21 -07:00
erwin coumans 62d5b7c5c0 add single step simulation, using 'o' key. use 'i' key to suspend simulation first
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwin coumans a68c9ca845 avoid MT crash in VR/physics server due to printf from separate thread.
add fps display in VR
use 1./240. internal substep for real-time physics sim in VR/physics server for more accurate robotics sim.
2016-08-18 21:43:43 -07:00
Erwin Coumans 91839cb274 revert change of default position control in shared memory api/pybullet 2016-08-18 16:48:14 -07:00
erwin coumans 8c2b1386ce Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-18 15:54:43 -07:00
erwin coumans 2c636b52f7 bugfix: in torque control mode, torque index starts at 6. 2016-08-18 15:36:18 -07:00
Erwin Coumans 013a702b2f Merge remote-tracking branch 'bp/master' 2016-08-18 13:44:29 -07:00
Erwin Coumans ab8f498d18 avoid infinite recursion in b3Clock::usleep 2016-08-18 13:44:04 -07:00
Erwin Coumans d4485ca3d9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-18 13:42:18 -07:00
erwin coumans 5b0253ed47 Remove undesired assert, it makes pybullet mistakes fail in c++
Shared memory api/pybullet: by default, set joint motors in position PD mode with target 0, to maintain 0 joint angle.
pybullet: allow setJointControlMode(body, link, POSITION_CONTROL,targetPos etc.
2016-08-18 13:10:28 -07:00
erwin coumans 6005e54aa1 Fix some inconsistencies in URDF file handling between btRigidBody and btMultiBody
(rotation order and application of root-inertial-frame offset)
2016-08-18 09:44:33 -07:00
Erwin Coumans 7c9441c3f5 by default, have a strong force keep the robot together, instead of floppy joints. 2016-08-17 10:30:50 -07:00
Erwin Coumans dce73f48ae Merge remote-tracking branch 'bp/master' 2016-08-17 10:24:12 -07:00
Erwin Coumans 463f3e59c8 minor tweak in F1/screenshot handling. Note you can use --png_skip_frames=x command-line argument 2016-08-17 10:18:33 -07:00
Erwin Coumans 985a6c203f fix typo 2016-08-13 12:38:40 -07:00
erwin coumans 3bdcf23a05 Add sleep to avoid 100% busy CPU loop in PhysicsServerExample
Added btClock::usleep
Fix broken TinyRenderer example code.
2016-08-13 12:21:18 -07:00
Erwin Coumans 238ba8c642 remote a c++11-style constructor 2016-08-12 14:28:02 -07:00
Erwin Coumans ceceaa16be make some changes to make the previous example code changes backward compatible 2016-08-12 14:18:46 -07:00
Erwin Coumans c75bebcafe revert accidently renaming of m_depthvalues4 2016-08-12 13:55:37 -07:00
Erwin Coumans 4abe083388 fix pybullet 2016-08-11 15:58:51 -07:00
Erwin Coumans 4bb488f65e reset canvas location 2016-08-11 15:02:00 -07:00
Erwin Coumans 3c30e2f821 add segmentation mask rendering to TinyRenderer and shared memory API
similar to the zbuffer, but storing the object index (int) instead of float depth
2016-08-11 14:55:30 -07:00
Erwin Coumans f416644481 set the camera, even in multi-threaded mode 2016-08-11 11:20:31 -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 b880ddf76b add pybullet render API with yaw/pitch/roll option
add testrender.py file
allow option to enable OpenGL hardware renderer in multithreaded sim

b3RequestCameraImageSelectRenderer(commandHandle,ER_BULLET_HARDWARE_OPENGL);
2016-08-08 14:23:44 -07:00
Erwin Coumans f5fca86d49 remove debug printf 2016-08-02 11:14:21 -07:00
Erwin Coumans f304fd7611 add one more pybullet renderImage API and testrender.py example
tweak Bullet Inverse Dynamics, work-around compiler issue
2016-08-02 11:12:23 -07:00
Erwin Coumans 93db3d7ba6 fix CMD_INIT_POSE+INIT_POSE_HAS_INITIAL_ORIENTATION,
setWorldToBaseRot takes inverse orientation (need to remove that API!)
2016-08-02 09:30:33 -07:00
Erwin Coumans 30ae7f7514 Merge remote-tracking branch 'bp/master' 2016-08-02 08:11:41 -07:00
Erwin Coumans 2597e9eddb Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-02 08:11:27 -07:00
Erwin Coumans 04cd9e18d6 add [] in error message of texture loading, to show leading/trailing spaces 2016-08-01 23:53:38 -07:00
Erwin Coumans a608f9bfdd fix trailing space issue in tinyobjloader/mtl files. 2016-08-01 23:46:35 -07:00
Erwin Coumans b759ab8a91 fix overflow visual shape in COLLADA .dae file importer. 2016-08-01 23:45:14 -07:00
erwin coumans 72e329962e fix ffmpeg mp4 generation under Windows as well.
remove static variables, make them local, to avoid multithreading issues.
2016-07-28 18:06:03 -07:00
Erwin Coumans (Google) 98c6181ba8 fix screen width/height issue on Intel/Linux
add command-line option to set png_skip_frames when taking screenshot series
2016-07-26 15:36:21 -07:00
Erwin Coumans ab86b66e92 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-25 17:22:14 -07:00
Erwin Coumans 8270096fad add GripperGraspExample, separate from R2D2GraspExample 2016-07-25 12:30:47 -07:00
Erwin Coumans 6b0ceace7f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-25 11:49:56 -07:00
Erwin Coumans a6216f4f24 add robotics learning grasp contact example
add wsg50 gripper with modified r2d2 gripper tip
expose a fudge factor to scale inertia, to make grasping more stable
(until we have better grasping contact model/implementation)
2016-07-25 11:48:44 -07:00
Erwin Coumans 53fa57bdc4 make IK compile on Mac OSX 2016-07-24 23:50:18 -07:00
erwin coumans 75e86051c2 Add inverse kinematics example with implementations by Sam Buss.
Uses Kuka IIWA model description and 4 methods:
Selectively Damped Least Squares,Damped Least Squares,
Jacobi Transpose, Jacobi Pseudo Inverse
Tweak some PD values in Inverse Dynamics example and Robot example.
2016-07-24 22:22:42 -07:00
Erwin Coumans 77b9e1a3e2 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-20 15:46:25 -07:00
Erwin Coumans d3a94248d4 fix one more multi-threading issue 2016-07-20 12:48:01 -07:00
erwin coumans 81af5db2da Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-19 15:56:34 -07:00
erwin coumans 25a1714754 disable CProfileManager, might reduce some multi-threading conflicts 2016-07-19 15:55:52 -07:00
Erwin Coumans 0ae252fa35 fix issue, use bodyUniqueId/b3JointControlCommandInit2 2016-07-19 15:53:16 -07:00
erwin coumans 2302709e2d OpenVR support: track multiple controllers and buttons 2016-07-18 23:13:46 -07:00
erwin coumans c28cd03fbd OpenVR controller can pick/drag objects. Instructions, Windows only:
Compile using premake+visual studio, and compile App_SharedMemoryPhysics_VR
Compile pybullet using cmake using cmake -DBUILD_PYBULLET=OFF -DCMAKE_BUILD_TYPE=Release ..
Create a symbolic link from c:\python\dlls\pybullet.pyd to C:\develop\bullet3\cmp\lib\Release\pybullet.dll
App_SharedMemoryPhysics_VR
Run Python. Here are some Python lines to get going:
import pybullet as p
p.connect(p.SHARED_MEMORY)
p.loadURDF("cube.urdf")
p.setGravity(0,0,-10)
p.setRealTimeSimulation(1)

Allow real-time simulation in physics server, add pybullet command setRealTimeSimulation to control it
Mesh decimation (reduce number of triangles/vertices) using a Blender modifier for Kuka IIWA and Husky
Disabled the 'glFlush' commands in GLInstancingRenderer.
Add VR controller methods to examples\CommonInterfaces\CommonExampleInterface.h
Use the ANSI version in Windows file/string operations instead of unicode, hope this doesn't break builds.
2016-07-17 23:50:11 -07:00
erwin coumans e1e76c19a3 Merge remote-tracking branch 'bp/master' 2016-07-17 21:29:17 -07:00
erwin coumans a12d25e6ce remove #include of visual leak detector (used to find memory leaks in ExampleBrowser/main.cpp) 2016-07-16 00:58:09 -07:00
erwin coumans f9762d63ab Removed many memoryleaks in Example Browser, reducing some technical debt.
When running the Example Browser with Basic Example, 'visual leak detector' show no leak.
Many other individual examples still leak, so it is work-in-progress.
Disabled the profiler window (too many leaks)
2016-07-16 00:55:56 -07:00
erwin coumans 797680a535 Remove memory leak in SimpleOpenGL3 example code 2016-07-14 20:42:00 -07:00
Erwin Coumans 34187fba1c fix camera update issue in previous commit
fix Mac OSX build issue
2016-07-14 09:49:49 -07:00
erwin coumans 4a705d1e03 Add kiva_shelf to prepare for picking/grasping task
Fix uninitialized variable jointDamping/jointFriction in SDF importer
Add SDF <pose> parsing in visual, inertial, collision elements.
Slight improvement in TinyRender loading performance of largish meshes (30k vertices)
Reduce #define MAX_SDF_BODIES to 500, due to some issue in client code, todo: figure out what the issue is.
b3RobotSimAPI support SDF file loading
Tiny improvement in OpenGL hardware renderer lighting, to distinguish faces without textures
2016-07-14 00:05:57 -07:00
Erwin Coumans 10cc6f14cb add option to use hardware OpenGL renderer for synthetic camera 2016-07-12 18:16:13 -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 02582e3a78 shrink down cube size of BasicDemo 10 times (it looked ginormous in VR) from 2x2x2 meter to 0.2
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687)
2016-07-09 15:09:09 -07:00
Erwin Coumans 35b260b252 Merge remote-tracking branch 'bp/master' 2016-07-08 08:20:16 -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 bc5a756c36 Merge remote-tracking branch 'bp/master' 2016-07-05 08:55:41 -07:00
erwin coumans d0f20eafd1 Allow to build PhysicsServer in VR mode, to see the URDF/SDF robots in proper scale in VR.
Add option to have Z as up-axis for VR examples.
Add OpenVR LICENSE + README file
Don't crash VR app when no HMD is detected, just exit.
For now, don't request debug lines in client, it slows down physics server in VR mode too much.
2016-07-02 18:53:19 -07:00
Erwin Coumans 471d3652e4 (finally) applied patch to fix 'setLocalScaling' of btMultiSphereShape
See https://code.google.com/archive/p/bullet/issues/636
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8237 and
https://github.com/bulletphysics/bullet3/issues/125
2016-07-02 10:07:13 -07:00
erwin coumans 58206b7962 Add preliminary support for VR/OpenVR for HTC Vive and Oculus Rift,
(Windows-only first, later Linux and OSX)
Use premake to build, use --enable_openvr flag
2016-06-30 16:03:38 -07:00
Erwin Coumans fc2e869137 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-06-27 16:12:31 -07:00
Erwin Coumans 178dd54ca5 remove printf's and fix an issue in btMultiJointMotor in previous commit 2016-06-27 16:10:13 -07:00
Erwin Coumans 3966e0cc55 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-06-27 13:53:55 -07:00
Erwin Coumans c17c39c2c9 move PD control from PhysicsServerCommandProcessor into btMultiBodyJointMotor
improvements/changes in pybullet API
2016-06-24 11:06:56 -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 2cd0eba257 re-introduce old method in pybullet for temporary back-wards compatibility
b3JointControlCommandInit requires 3 args, but it was only 2,
use b3JointControlCommandInit2 for now.
2016-06-23 08:40:36 -07:00
Erwin Coumans f5ffb11bc5 fix bus error on Raspberry Pi, unaligned float access when loading STL files
fix pybullet Python 3 issue (PyString_FromString -> PyBytes_FromString and PyInt_FromLong -> PyLong_FromLong)
2016-06-23 05:10:00 +00:00
Erwin Coumans f0edf8a854 Merge remote-tracking branch 'bp/master' 2016-06-21 11:28:54 -07:00
Erwin Coumans c7c01e6b32 add one more test, related to b3CreatePoseCommandInit 2016-06-20 14:09:37 -07:00
Erwin Coumans 251fab0d75 expand b3ResourcePath automagic resource localization capability. 2016-06-20 12:40:08 -07:00
Erwin Coumans 26f6618f00 colors for sdf 2016-06-17 12:07:38 -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 3f5f8d3e00 Merge remote-tracking branch 'bp/master' 2016-06-15 18:07:58 -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 566ed87c93 fix a regression in a test 2016-06-13 18:58:52 -07:00
Erwin Coumans 149129826a remove unused findex from btTypedConstraint.h 2016-06-13 18:33:18 -07:00
Erwin Coumans 98d2f91f3c fix flipped tinyrenderer image 2016-06-09 12:12:46 -07:00
Erwin Coumans 1c7f87aff1 implement first draft of pybullet.renderImage for synthetic camera
remove a few debug printf from tinyrenderer
2016-06-06 18:54:05 -07:00
erwin coumans 4b2c0f6d89 make one of the cubes in two_cubes.sdf static (immovable) using the <static> tag in SDF
add an example using 'direct'
fix the send-desired-state commands, to add flags for arguments set, using default values.
Start exposing SDF loading in shared memory api, not fully implemented yet.
2016-06-03 19:03:56 -07:00
erwin coumans 0b69ba7f61 Support the <static> field under <model> in SDF to make the model immovable, similar to setting the mass to zero.
Add joint velocity motors in ImportSDF example.
2016-06-02 18:04:22 -07:00
Erwin Coumans 5bf125cab5 fix some compile issues using premake
use textured cube/sphere model for test
2016-06-02 13:54:52 -07:00
Erwin Coumans aa4d2ae01d initial hookup of TinyRenderer to shared memory interface 2016-06-01 17:47:41 -07:00
erwin coumans 9a5394c4bc fix cmake build 2016-06-01 11:07:39 -07:00
erwin coumans ef85a71d4b more work on synthetic camera 2016-06-01 11:04:10 -07:00
erwin coumans f469a2cb49 update to tinyrenderer synthetic camera 2016-05-31 22:55:13 -07:00
erwin coumans 14aa666c6f preparation to receive camera image data from physics server
increase shadowmap world size default to 50 units (meter), 10 units (meter) was too small for most examples.
2016-05-31 10:23:04 -07:00