master
Improve MJCF import, to allow reading of friction parameters, including spinning and rolling friction, with some rudimentary 'default class' support. Tweak VRGloveSimulatorMain to work better with MPL/mpl2.xml hand.
data: add license files (mostly copied from the URDF files)
add yapf style and apply yapf to format all Python files This recreates pull request #2192
don't use empty frame for pose in sdf files use hint for clang that if (0) is intentional
copy/move heightfield files around (part of pybullet_data) prepare for heightfield support in pybullet (first step, needs a bit more)
add humanoid/nao.urdf (BSD license)
Change URDF xml version from "0.0" to "1.0"
fix sdf warning
Revert "Revert "Reduced Deformable Model""
fix colors in URDF file
* add textured models of ball.vtk (obj/mtl) and torus (obj/mtl) and cloth. 1) allow to render deformables in 'getCameraImage', for TinyRenderer (tested OK) and EGL (untested) 2) allow to have textures for deformables. See deformable_ball.py, deformable_anchor.py and deformable_torus.py for examples 3) deformables: allow to request simulation mesh data (even if there is a render mesh) See deformable_anchor.py for an example usage data = p.getMeshData(clothId, -1, flags=p.MESH_DATA_SIMULATION_MESH) 4) fix deletion of deformables, thanks to Fychuyan, https://github.com/bulletphysics/bullet3/pull/3048 5) allow to enable and disable double-sided rendering, p.changeVisualShape(objectUid, linkIndex, flags=p.VISUAL_SHAPE_DOUBLE_SIDED) 6) fix GripperGraspExample, model not found 7) Fix deformable anchor not attaching to multibody with object unique id of 0 8) Fix issue with assignment of unique ids in TinyRenderer/EGL renderer (always use broadphase uid) 9) Avoid crash/issue of simulation with pinned vertices (mass 0) in btDeformableBackwardEulerObjective::applyExplicitForce 10) Store uv/normal in btSoftBody::RenderNode to allow textured meshes 11) (uncomment in btSoftBodyHelpers.cpp): dump vertices and indices in obj wavefront format, when loading a VTK file, for quicker creation of a (textured) surface mesh 12) allow interpolateRenderMesh also for old position-based soft bodies (not only the shiny new FEM deformables) 13) fix a few premake targets 14) update build_visual_studio_vr_pybullet_double_cmake.bat so it suits c:\python37 and installs locally for local install of Bullet, see also this example https://github.com/erwincoumans/hello_bullet_cmake
add nicer meshes to kuka_with_gripper.sdf and add kuka_with_gripper2.sdf that can rotate without messing up IK fix tray/tray_textured4.obj and tray/tray.urdf fix kuka_with_cube.py allow both IK /end-effector control and joint-space control in kuka environment, use 1./240. sec. step and 150 solver iter bump up pybullet to 1.1.7
add more tinyaudio preparation, some test wav files, play sound on collision events. Will expose this in the C-API to pick wav files and collision threshold levels etc. Use the premake --audio flag to try it out. The TinyAudio example in the ExampleBrowser works on Mac, Linux and Windows, you can play notes by pressing keys.
Added manually converted widowx.urdf from https://github.com/RobotnikAutomation/widowx_arm Added simple pybullet file in Bullet/examples/pybullet/examples/widows.py (preliminary, both URDF and py file needs more work to be useful) https://github.com/RobotnikAutomation/widowx_arm/blob/master/widowx_arm_description/package.xml See also http://www.trossenrobotics.com/widowxrobotarm
add the option to load a set of AABB's from a file, see PairBench You can use the following command-line arguments: App_Bullet*.exe --selected_demo=10 --cl_platform=1 --pair_benchmark_file=64006GPUAABBs.txt --benchmark
valerolab
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
Fix pybullet.calculateInverseDynamics in the case where #dof != #joints (fixed joints). We still don't handle spherical joints in pybullet (even though the underlying inverse dynamics and forward dynamics support it) Also, add a inverse_dynamics.py example, with URDF files. Thanks to Michiel Lutter for the report and repro case! This fixes issue #1379 https://github.com/bulletphysics/bullet3/issues/1379
add more volumetric meshes for grasping tests
tune kuka grasp gym env (make it a bit too easy)
add basic test texture
Load the deformable object through obj file. Modify the demo for two way coupling between multibody and softbody.
fix very rare threading issue, let main thread compute the UID for user debug items add collision model to cartpole.urdf
add husky, quadcopter and plane 100x100 meter urdf files, to prepare for a bit of robotics, machine learning and VR fun
add a few test files for TinyRenderer software renderer
pybullet.createSoftBodyAnchor
Add shader for projective texture.
Update to ZLib license for GWEN files. Note that our copy of GWEN is modified and GWEN is not under active development anymore. We plan to integrate and modify GWEN further into the Bullet Example Browser or rewrite the GUI and drop GWEN
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.
unsupported: expose collisionMargin to changeDynamics/getDynamicsInfo. add cube_convex.urdf for testing this collisionMargin. Test script: import pybullet as p import time p.connect(p.GUI) plane = p.loadURDF("plane_implicit.urdf") cube = p.loadURDF("cube_convex.urdf",[0,0,1]) p.setGravity(0,0,-10) while (1): p.stepSimulation() pts = p.getContactPoints() p.changeDynamics(plane,-1,collisionMargin=0.3) p.changeDynamics(cube,-1,collisionMargin=0.3) print("===================") print("cube pos=", p.getBasePositionAndOrientation(cube)[0]) print("margin=", p.getDynamicsInfo(plane,-1)[11]) #time.sleep(1./10.)
Added a basic COLLADA .dae importer mainly to support URDF loading (URDF can refer to COLLADA .dae or STL .stl for mesh support) It is fairly limited, only supports loading <geometry> with triangulated meshes, no material loading I will extend this with COLLADA Physics support.
fix pybullet.c compilation for Windows add lego.urdf, duck.urdf (optimized using VHACD convex decomposition) optimize Kiva shelf collision model (by hand, using boxes/Blender) physics timescale toggle between 1 -> 0,25 -> 0
fix asset paths, createVisualShape.py and duck.obj
Add an example to decode the packed button events from vr log.
fixes
revert floor.obj test file, load it by default in TinyRenderer/main.cpp
patch TinyRenderer so it software-renders in an OpenGL texture, for testing fix texture support: flip texture to make OpenGL happy (lower-left is origin) add path prefix to .obj loader, so materials/textures are loaded ok.
add Lua and basic Lua->C/C++ integration test, in preparation for Bullet demos setup using Lua scripts.
make setJointPosMultiDof and setJointVelMultiDof argument const. add PyBullet.resetJointStateMultiDof / getJointStateMultiDof, for preliminary support for spherical and planar joints
add humanoid.urdf, converted from mjcf using pybullet_utils.urdfEditor.UrdfEditor()
rename loadUrdf -> loadMultiBodyFromUrdf in lua script remove unused m_usrd2mblink
increase shared memory block size ( to reduce image copy steps) reduce vertices in r2d2 finger stl files bump up pybullet vesion
decrease some gjk/epa tolerance to improve collision detection using very small collision margins (0.001/1mm) tweak pr2 gripper.
added Leo wavefront file
created a pretty Vatican museum table top, also a marble cube
bump up pybullet version to 2.7.8
commit the ABA comparison test between the RBDL and Bullet, and use the option BULLET_BUILD_RBDL_COMPARE_TEST to control if build it. it is disabled by default.
new vtk mesh
Add RtMidi for midi control, use the --midi option in premake, and see update to OpenVR sdk 1.03 from https://github.com/ValveSoftware/openvr add camPosX/Y/Z and camRotZ to adjust relative camera/world transform for VR (so you can align virtual table with real table etc) tweak quadruped.py to move a bit add mouse picking to physics server
PyBullet: add planar reflection example, See examples/pybullet/examples/addPlanarReflection.py
Add pole urdf.
expose gear erp/relative position target to C-API/pybullet finish much better C++ vrSyncPlugin, running in-the-loop with the physics at high frequency, see also vr_kuka_setup_vrSyncPlugin.py
fix r2d2.urdf and avoid self-penetrating limbs
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.
added Samurai Monastry wavefront .obj added alternative batching kernel (slow) tweaked controls a bit added command-line options --selected_demo=<int> and --new_batching started looking into parallel 3d sap
remove that odd triangle in the origin of samurai castle (VR) add rolling/spinning friction to cube, remove it from plane/samurai.urdf URDF2Bullet: support joint limits for revolute and prismatic, only if defined (if upper < lower, disable limit) add some profiling markers to improve performance
contact solve for newton
add infrastructure float btMultiBodyLink m_jointDamping, m_jointFriction (actual damping/friction is in a separate commit) add door.urdf for testing damping/friction
update tutorial for SIGGRAPH course allow multiple graphing windows at the same time
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
use cnn_to_mlp to allow training of racecar using (extremely simplified) ZED camera pixel data using OpenAI baselines. add a red sphere to make training a bit easier for now.
allow to use colors from MJCF file as option (default to random Google colors), use p.loadMJCF(filename, flags=p.URDF_MJCF_COLORS_FROM_FILE fix quadruped.py example. add PyBullet.isConnected() API, more friendly than PyBullet.getConnectionInfo()["connected"]
add test .obj files in data folder
add 'createObstacleCourse.py' example, helps reproducing Parkour paper: https://arxiv.org/abs/1707.02286
fix convex-plane for > 4 vertices improve compound demo
add missing 'wheel.urdf" and very simple procedural terrain generation (sine wave)
AMD 14.50Alpha5 driver fixes the issue with MPR kernel, re-enable testFileFracture.bullet
Add urdf file for examples/BulletRobotics/JointLimit.cpp
implement pybullet.changeTexture. For now, the width/height has to match the target texture unique id, otherwise crashes may happen (a check for width/height match will be added) See also examples\pybullet\examples\changeTexture.py
Tune parameters to effectively reduce the stiffness of the picking force.
add zlib/minizip so we can load compressed data (github/git is bad in handling large binary files)
Adds support for loading user data from URDF files.
fix makesdna on Mac OSX