erwincoumans
ab8f16961e
Code-style consistency improvement:
...
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
erwincoumans
b73b05e9fb
add getClosestPoints.py example.
...
allow to perform a getClosestPoints query with a collisionShape and world transform (position, orientation) that isn't part of the world.
(use createCollisionShape to create it)
add optional removeCollisionShape, for collision shapes only used in a query (and not used to create a body)
2018-09-22 14:18:21 -07:00
erwincoumans
cdf8c908ad
add getClosestPoints.py example.
...
allow to perform a getClosestPoints query with a collisionShape and world transform (position, orientation) that isn't part of the world.
(use createCollisionShape to create it)
2018-09-22 13:17:09 -07:00
erwincoumans
64a7a3d82f
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-21 17:33:31 -07:00
erwincoumans
278454ae17
allow to disable self-collision for a link-pair
2018-09-21 17:33:13 -07:00
Erwin Coumans
350adb5c7c
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-21 09:56:25 -07:00
Erwin Coumans
47efe66017
disable eglPlugin from setup.py / pip pybullet on Windows and Mac (only enable on Linux)
2018-09-21 09:55:57 -07:00
erwincoumans
874bbc91a3
Merge remote-tracking branch 'bp/master'
2018-09-20 09:08:56 -07:00
erwincoumans
1ec616362c
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-20 09:08:46 -07:00
erwincoumans
616192f80a
use grpc port -1 by default in PyBullet. add grpcClient.py and grpcServer.py
2018-09-20 09:07:47 -07:00
Erwin Coumans
0de99f224a
fix compilation on ARM (Ubuntu 18.04, NVIDIA Xavier)
2018-09-19 16:18:06 -07:00
bla
3de295ca41
add missing files to MANIFEST.in for pybullet pip version
2018-09-19 08:43:55 -07:00
erwincoumans
0b08881ab8
wait until a frame is rendered, when using the COV_ENABLE_SINGLE_STEP_RENDERING command (Windows and Linux only)
2018-09-15 14:22:31 -07:00
erwincoumans
d315673d3a
Merge pull request #1879 from erwincoumans/master
...
fix internal build / pybullet version bump
2018-09-14 18:54:41 -07:00
erwincoumans
81f6a63490
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-14 17:17:20 -07:00
erwincoumans
e6d74580c1
add single step rendering feature:
...
while (1):
stepSimulation()
pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SINGLE_STEP_RENDERING, 1)
disable single step using
pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SINGLE_STEP_RENDERING, 0)
2018-09-14 17:17:11 -07:00
Erwin Coumans
b0971b4beb
fix our internal build
2018-09-13 10:20:38 -07:00
Erwin Coumans
d909448ee3
bump up pybullet version again
2018-09-12 21:03:07 -07:00
erwincoumans
826ca0892a
Merge pull request #1877 from erwincoumans/master
...
bump up pybullet version to 2.1.5
2018-09-12 20:34:24 -07:00
Erwin Coumans
c8fe0f7fbc
bump up pybullet version to 2.1.5
2018-09-12 20:33:52 -07:00
erwincoumans
bd4717e9cc
Merge pull request #1876 from erwincoumans/master
...
use numpy to reshape image data to matplotlib compatible format
2018-09-12 20:25:53 -07:00
erwincoumans
9553892770
PyBullet / BulletRobotics:
...
Implement collisionFilterPlugin, use setCollisionFilterPair to enable or disable collision detection between specific pairs of objects.
Also, expose setCollisionFilterGroupMask as PyBullet API and in urdf using the tag <collision group="1" mask="2"/>.
See examples/pybullet/examples/collisionFilter.py for an example.
PyBullet default: Lower the warmstarting factor, for maximal coordinates rigid bodies for more stable simulation.
Add btCollisionWorld::refreshBroadphaseProxy to easier recreate the broadphase proxy without adding/removing objects to the world.
2018-09-12 19:30:49 -07:00
erwincoumans
bf3399d0e3
Merge remote-tracking branch 'bp/master'
2018-09-12 09:18:25 -07:00
Erwin Coumans
1efee29c27
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-12 08:20:03 -07:00
Erwin Coumans
c83fa30daa
use numpy to reshape image data to matplotlib compatible format
...
fixes issue #1871
2018-09-12 08:19:30 -07:00
erwincoumans
2a3a60ac64
Merge pull request #1874 from erwincoumans/master
...
more egl plugin fixes, create stb_image_write.cpp (instead of magic defines in various source files)
2018-09-11 14:14:40 -07:00
Erwin Coumans
23ecbab7b3
fix setup.py and pybullet to work better with eglPlugin on Linux
2018-09-11 13:24:35 -07:00
erwincoumans
87e8711b0a
Merge pull request #1872 from RanTig/GetLinkStateFix
...
Change b3GetLinkState to use numLinks in status handle
2018-09-11 08:48:30 -07:00
Tigran Gasparian
58699258dd
Change b3GetLinkState to use numLinks in status handle
...
Changes the b3GetLinkState function to use numLinks from the
SharedMemoryStatus returned from RequestActualState instead of the
cached number of link value returned by b3GetNumJoints.
The cached value can be outdated when a new body is added and
SyncBodyInfo isn't used, while using the value in the status is always
up-to-date.
2018-09-11 14:44:06 +02:00
bla
36c900e384
linux fixes related to egl
2018-09-10 23:52:53 -07:00
erwincoumans
5b1588fc3f
fix createProtobufs.bat script
2018-09-10 23:32:51 -07:00
Erwin Coumans
9fa3e44539
fixes related to egl plugin
2018-09-10 23:31:54 -07:00
Erwin Coumans
3b0a44e1be
fix createProtobufs.sh script
2018-09-10 23:24:00 -07:00
erwincoumans
684a9f6a99
move stb_image/stb_image_write.cpp into a cpp file instead of random files with the magic 'STB_IMAGE_WRITE_IMPLEMENTATION' define
...
move setup.py back to eglRenderer extension, use pkgutil.get_loader('eglRenderer').get_filename()
disable dlmopen by default, unless B3_USE_DLMOPEN is defined.
2018-09-10 23:18:34 -07:00
erwincoumans
ab84975ca9
Merge pull request #1870 from erwincoumans/master
...
pybullet eglPlugin: fix Mac OSX build
2018-09-10 12:23:36 -07:00
Erwin Coumans
f26d4fdc4c
pybullet eglPlugin: fix Mac OSX build
2018-09-10 08:55:47 -07:00
erwincoumans
1a047901ce
Merge pull request #1869 from erwincoumans/master
...
fixes in eglRendererPlugin
2018-09-10 07:51:39 -07:00
bla
6992195ba8
add pybullet example for eglRendererPlugin, will use EGL in a plugin on Linux, Win32OpenGLWindow in a plugin on Windows
2018-09-09 23:03:07 -07:00
bla
8f711462e0
fix setup.py to work better on Windows and Linux (with default eglPlugin static built-in,
...
just use pybullet.loadPlugin("eglRendererPlugin") before loading/creating any objects.
use end/startRendering (swap buffers) before the rendering in the eglPlugin
2018-09-09 22:58:08 -07:00
erwincoumans
9698c3d600
PyBullet setup.py: only enable BT_USE_EGL on Linux, but allow to run the eglPlugin on Windows and Mac as well (using their default opengl window).
...
postpone the 'loadPlugin' for static eglPlugin, so that the init and exit happen in the same thread.
When you don't call unloadPlugin, the program may crash when exiting in SHARED_MEMORY_SERVER mode.
2018-09-09 21:08:47 -07:00
erwincoumans
2744e84592
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-09 15:25:27 -07:00
erwincoumans
7369005402
pybullet, use eglPlugin statically instead of dynamic loading an Extension -DSTATIC_EGLRENDERER_PLUGIN
...
Fix compile errors of pybullet on Windows.
2018-09-09 15:23:26 -07:00
bla
de14006c2c
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-09 14:47:41 -07:00
bla
ced4645429
add missing include
2018-09-09 14:47:09 -07:00
erwincoumans
c4fe0f7357
disable enable_egl by default (?!?)
2018-09-09 14:39:56 -07:00
erwincoumans
adb5c049c7
Thanks to @dchichkov for some of the fixes in the eglRendererPlugin!
...
Rename tinyRenderer -> eglRenderer in the eglRendererPlugin.
Allow to run the eglRendererPlugin to run on Windows (not in EGL mode but Win32OpenGLWindow mode)
Here is a script I tested on Windows:
~~~~~~~~~~~~
mport pybullet as p
import time
p.connect(p.DIRECT)
plugin = p.loadPlugin("e:/develop/bullet3/bin/pybullet_eglRendererPlugin_vs2010_x64_debug.dll","_eglRendererPlugin")
print("plugin=",plugin)
p.setGravity(0,0,-10)
p.loadURDF("plane.urdf",[0,0,-1])
p.loadURDF("r2d2.urdf")
pixelWidth = 320
pixelHeight = 220
while (1):
p.stepSimulation()
viewMatrix = [1.0, 0.0, -0.0, 0.0, -0.0, 0.1736481785774231, -0.9848078489303589, 0.0, 0.0, 0.9848078489303589, 0.1736481785774231, 0.0, -0.0, -5.960464477539063e-08, -4.0, 1.0]
projectionMatrix = [1.0825318098068237, 0.0, 0.0, 0.0, 0.0, 1.732050895690918, 0.0, 0.0, 0.0, 0.0, -1.0002000331878662, -1.0, 0.0, 0.0, -0.020002000033855438, 0.0]
#img_arr = p.getCameraImage(pixelWidth, pixelHeight, viewMatrix,projectionMatrix, shadow=1,lightDirection=[1,1,1])#,renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
img_arr = p.getCameraImage(pixelWidth, pixelHeight, shadow=1,lightDirection=[1,1,1])#,renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
#print("img_arr=",img_arr)
time.sleep(1)
~~~~~~~~~~~~~
2018-09-09 13:37:49 -07:00
erwincoumans
dc7feb9027
Merge remote-tracking branch 'bp/master'
2018-09-09 10:48:58 -07:00
erwincoumans
233a7083d1
Merge pull request #1790 from BlGene/egl-plugin
...
OpenGL render plugin
2018-09-09 09:27:15 -07:00
erwincoumans
377a89c09c
Merge pull request #1866 from jna29/bug-fix/robot-manipulators-errors
...
Fixed bugs mistaking forearm_roll_joint for upper_arm_roll_joint
2018-09-08 18:53:47 -07:00
Joshua Aduol
cc4c02edc7
Fixed bugs mistaking forearm_roll_joint for upper_arm_roll_joint
2018-09-09 00:17:06 +01:00
erwincoumans
63f4a63e15
since parent collision is always disabled by default for self-collision, we add a new flag
...
URDF_USE_SELF_COLLISION_INCLUDE_PARENT, to force self-collision between direct parent/child (not recommended in general)
2018-09-08 14:46:43 -07:00
erwincoumans
cc91b4a7cf
Merge pull request #1865 from erwincoumans/master
...
update quickstart guide, bump up pybullet version
2018-09-08 13:50:52 -07:00
Erwin Coumans
bc0a201bd1
update quickstart guide from https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/edit#heading=h.2ye70wns7io3
...
bump up pybullet version to 2.1.4
2018-09-08 12:48:26 -07:00
Erwin Coumans
0515d5a5f6
Merge remote-tracking branch 'bp/master'
2018-09-08 07:51:30 -07:00
Erwin Coumans
b40fc10184
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-09-08 07:51:16 -07:00
erwincoumans
9085c18354
Merge pull request #1863 from erwincoumans/master
...
remove pre-build proto/grpc files (they differ for each platform and …
2018-09-07 16:17:06 -07:00
Erwin Coumans
7376c26e4b
remove gl libs from openvr
2018-09-07 16:06:42 -07:00
erwincoumans
5164f2f9a7
remove pre-build proto/grpc files (they differ for each platform and proto/grpc version)
2018-09-07 15:44:33 -07:00
erwincoumans
12409f1118
Merge pull request #1860 from erwincoumans/master
...
allow pybullet to connect to GRPC server. (need to use flag --enable_…
2018-09-05 21:20:21 -07:00
Erwin Coumans
b7d143429b
Merge remote-tracking branch 'bp/master'
2018-09-05 18:54:45 -07:00
erwincoumans
0efc67841d
allow pybullet to connect to GRPC server. (need to use flag --enable_grpc in premake build system)
...
add grpcPlugin, it can work in GUI, SHARED_MEMORY_SERVER, DIRECT and other modes.
example script to start server from pybullet:
import pybullet as p
p.connect(p.GUI)
#if statically linked plugin
id = p.loadPlugin("grpcPlugin")
#dynamics loading the plugin
#id = p.loadPlugin("E:/develop/bullet3/bin/pybullet_grpcPlugin_vs2010_x64_debug.dll", postFix="_grpcPlugin")
#start the GRPC server at hostname, port
if (id>=0):
p.executePluginCommand(id, "localhost:1234")
Only in DIRECT mode, since there is no 'ping' you need to call to handle RCPs:
numRPC = 10
while (1):
p.executePluginCommand(id, intArgs=[numRPC])
2018-09-05 17:58:14 -07:00
erwincoumans
437c0426c9
Merge pull request #1859 from erwincoumans/master
...
only add notifications if there is a plugin that needs them
2018-09-04 20:59:29 -07:00
Erwin Coumans
31b06f508a
only add notifications if there is a plugin that needs them
...
call the 'reportNotifications' in GRPC server main
2018-09-04 19:24:31 -07:00
erwincoumans
c084763795
Merge pull request #1858 from erwincoumans/master
...
make GRPC work on Linux,
2018-09-04 17:49:49 -07:00
erwincoumans
2006f134b6
Merge pull request #1857 from erwincoumans/master
...
make grpc work on Mac OSX with premake
2018-09-04 17:03:27 -07:00
Erwin Coumans
18b782847d
make GRPC work on Linux,
2018-09-04 16:56:34 -07:00
Erwin Coumans
51f9a6fd0d
make grpc work on Mac OSX with premake
2018-09-04 14:49:12 -07:00
erwincoumans
710e660763
Merge pull request #1855 from erwincoumans/master
...
more work on grpc/proto/pybullet.proto
2018-09-04 12:11:03 -07:00
erwincoumans
c4842220a8
Merge pull request #1852 from RanTig/remove-visual-shape
...
Removes visual shape data when a body gets removed.
2018-09-04 09:42:48 -07:00
erwincoumans
5b5e4f4d74
Merge pull request #1854 from RanTig/pybullet-plugincommand-fix
...
Small fix in executePluginCommand
2018-09-04 09:42:32 -07:00
erwincoumans
9b66074949
add some missing GRPC files
2018-09-04 09:10:57 -07:00
erwincoumans
9e2f6c7935
more GRPC work
2018-09-03 23:13:15 -07:00
Tigran Gasparian
a670041793
Small fix in executePluginCommand, now you can pass int arguments while keeping floats null without errors.
2018-09-03 10:41:38 +02:00
Tigran Gasparian
93145f3979
Adding space to make compiler happy.
2018-09-03 10:37:22 +02:00
erwincoumans
23e84ca9b6
more work on proto/pybullet.proto
2018-09-01 13:49:56 -07:00
erwincoumans
3285143232
Merge pull request #1851 from RanTig/use-dlmopen
...
Uses dlmopen() instead of dlopen() in b3PluginManager.cpp. This allow…
2018-08-31 14:13:13 -07:00
erwincoumans
a9299fbd0c
Merge pull request #1853 from erwincoumans/master
...
fix crash in btInternalEdgeUtility when a mesh is not the expected type
2018-08-31 14:12:43 -07:00
Erwin Coumans
9a26d4aaaf
fix type
2018-08-31 09:59:18 -07:00
Erwin Coumans
f1cb4fe29c
fix crash in btInternalEdgeUtility when a mesh is not the expected type
...
(don't wrap a mesh in a btCompoundShape if you want to use the edge utility)
2018-08-31 09:25:49 -07:00
Tigran Gasparian
9799f356de
.
2018-08-31 15:35:35 +02:00
Tigran Gasparian
f132b4d16b
Only make the change for Linux, since OSX doesn't have dlmopen()
2018-08-31 15:33:08 +02:00
Tigran Gasparian
c062bfc2d5
Removes visual shape data when a body gets removed.
...
Problem description:
When you add a body, remove it and then add a new
body, the body id may be reused by Bullet.
Because the visual shape data was not being removed when a body was
removed, requesting the visual shape data for a 'recycled' body id
results in both the visual shape data of the new body as well as the old
one.
Removing the visual shape data when the body gets removed fixes this.
Changes the btAlignedObjectArray for visual shapes to a hashmap, so
that removing is faster. Additionally, functions like getNumVisualShape
don't perform a linear search anymore.
2018-08-31 15:12:28 +02:00
Tigran Gasparian
6036c027bf
Uses dlmopen() instead of dlopen() in b3PluginManager.cpp. This allows plugins to be loaded in a separate namespace, avoiding symbol conflicts.
2018-08-31 10:53:46 +02:00
erwincoumans
4bf846822f
Merge pull request #1850 from erwincoumans/master
...
Add preliminary GRPC server for PyBullet and BulletRobotics.
2018-08-30 19:40:13 -07:00
erwincoumans
f10068b7c9
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-08-30 18:36:06 -07:00
erwincoumans
ee9fca8c29
GJK fix for https://github.com/bulletphysics/bullet3/issues/1703
...
In a nutshell, we added a more reliable check, based on if the origin is in the GJK simplex, to determine if we are really intersecting and need to run EPA.
See also "Real-time Collision Detection with Implicit Objects" by Leif Olvang
Todo: integrate the simplex penetration check directly inside the Bullet btVoronoiSimplexSolver
and remove this temporary code from libCCD
Note, for large differences in shapes, use double precision build!
2018-08-30 18:35:51 -07:00
Erwin Coumans
40a15053bd
add createProtobufs.sh script for Mac/Linux (only tested on Mac so far)
2018-08-30 10:09:00 -07:00
Max Argus
425ecbd3e6
fix cmake, linux only (patch egl)
2018-08-30 13:24:25 +02:00
Max Argus
964a5116eb
fix cmake + apple (patch egl)
2018-08-30 13:24:25 +02:00
Max Argus
902818894c
fix cmake (patch egl)
2018-08-30 13:24:25 +02:00
Max Argus
c1d6c6b07d
clean test scripts
2018-08-30 13:24:25 +02:00
Max Argus
425ab144bb
fix setup.py
2018-08-30 13:24:25 +02:00
Max Argus
bdc0f82a8b
added syncronized render test script
2018-08-30 13:24:25 +02:00
Max Argus
4d6c610682
enable egl by default for pybullet SimpleOpenGL3App
2018-08-30 13:24:25 +02:00
Max Argus
e15fb0866c
rendertest + parallel pip + no debug for plugin
2018-08-30 13:24:25 +02:00
Max Argus
35b30359e3
nearly working
2018-08-30 13:24:25 +02:00
Max Argus
5f71aa859f
wip
2018-08-30 13:24:25 +02:00
Max Argus
21462d1c02
update GLIR camera
2018-08-30 13:24:25 +02:00
Max Argus
a6a8b091ca
wip
2018-08-30 13:24:25 +02:00
Max Argus
05f82e8867
egl plugin working
2018-08-30 13:24:25 +02:00