Erwin Coumans
c521d816c6
add user debug line/text features in pybullet + shared memory API:
...
addUserDebugLine,
addUserDebugText
removeUserDebugItem
removeAllUserDebugItems
2016-11-14 07:39:34 -08:00
erwin coumans
7577c6d893
add pybullet loadBullet, saveBullet (work-in-progress) and placeholder for loadMJCF.
2016-11-11 18:07:42 -08:00
erwincoumans
9b5aa9a723
pybullet getOverlappingObjects added: report all object unique ids within a world space bounding box (aabb)
2016-11-10 11:22:22 -08:00
erwincoumans
e35129ceaf
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-11-04 13:16:30 -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
yunfeibai
4911b14271
Add loading texture API.
2016-10-20 23:40:30 -07:00
yunfeibai
6ef96a4027
Add programmatic render API and a basic test.
2016-10-20 10:56:44 -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
erwincoumans
1a62f21143
Merge remote-tracking branch 'bp/master'
2016-10-12 23:07:41 -07:00
erwincoumans
33d9603e16
Add rudimentary 'saveWorld' command in shared memory API and pybullet, see examples/pybullet/saveWorld.py
...
Use trilinear filtering instead of bilinear
2016-10-12 23:03:36 -07:00
Mat Kelcey
9387ef763d
handle CMD_CALCULATE_INVERSE_KINEMATICS_COMPLETED/FAILED in PhysicsClientSharedMemory::processServerStatus
2016-10-12 10:46:07 -07:00
erwin coumans
0936ae6600
expose getNumBodies, getBodyUniqueId, getBodyInfo (char* baseName) to shared memory API and pybullet., making it easier to serialize the state of the world.
2016-09-27 12:13:45 -07:00
Erwin Coumans
e98fca1e5e
implement pybullet.getContactPointData(), two optional object unique ids as filter
...
returns a pylist of contact points. Each point has the following data:
0 int m_contactFlags;//unused for now
1 int m_bodyUniqueIdA;
2 int m_bodyUniqueIdB;
3 int m_linkIndexA;
4 int m_linkIndexB;
5-6-7 double m_positionOnAInWS[3];//contact point location on object A, in world space coordinates
8-9-10 double m_positionOnBInWS[3];//contact point location on object A, in world space coordinates
11-12-13 double m_contactNormalOnBInWS[3];//the separating contact normal, pointing from object B towards object A
14 double m_contactDistance;//negative number is penetration, positive is distance.
15 double m_normalForce;
2016-09-01 18:28:39 -07:00
erwincoumans
85fd7f560c
add first draft of contact point query in shared memory API
...
b3SharedMemoryCommandHandle b3InitRequestContactPointInformation(b3PhysicsClientHandle physClient);
void b3SetContactFilterBodyA(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdA);
void b3SetContactFilterBodyB(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdB);
void b3GetContactPointInformation(b3PhysicsClientHandle physClient, struct b3ContactInformation* contactPointData);
Implemented for PhysicsClientSharedMemory, not for PhysicsDirect yet.
Add btCollisionObject::setUserIndex2
2016-09-01 13:30:07 -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
c75bebcafe
revert accidently renaming of m_depthvalues4
2016-08-12 13:55:37 -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
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
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
95a09bec99
implement getJointInfo for objects loaded through SDF
2016-06-15 18:01:41 -07:00
erwincoumans
6523df336e
Fix pybullet Windows build errors: C99 requires variables to be defined at the start of the function.
...
Improve CMake Windows support to build PyBullet (BUILD_PYBULLET)
Implement b3LoadSdfCommandInit in shared memory API
Implement pybullet SDF loading binding, in loadSDF API
TODO for SDF support is provide way to query object/link/joint information.
2016-06-13 10:11:28 -07:00
Erwin Coumans
d2e50d045b
fix issues related to camera width/height
...
add width,height as arguments to pybullet.renderImage(x,y,[viewMat4x4],[projMat4x4])
2016-06-07 16:11:58 -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
aa4d2ae01d
initial hookup of TinyRenderer to shared memory interface
2016-06-01 17:47:41 -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
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
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
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
Erwin Coumans
f6a8079353
sync repo
2015-11-11 12:44:26 -08: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
erwin coumans
a0e507280c
Implement CMD_INIT_POSE to set base position, base orientation and joint position (angle).
...
See PhysicsClientExample for example use of CMD_INIT_POSE.
Change: CMD_INIT_POSE uses m_initPoseArgs and not m_sendDesiredStateCommandArgument
2015-10-13 22:23:28 -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