Kyle Bayes
|
dc50fbbb9b
|
Add safeguard if n is invalid in GJK.
PiperOrigin-RevId: 738340065
Change-Id: I2288eb731621e5b84dcc0f078d8dbd84dca94cd4
|
2025-03-19 04:21:11 -07:00 |
|
Kyle Bayes
|
4f691eeae4
|
Fix minor issues in EPA in nativeccd.
PiperOrigin-RevId: 731327356
Change-Id: Iba8215b7991ef74bf890c8da7e9332474e19e9c3
|
2025-02-26 08:28:35 -08:00 |
|
Kyle Bayes
|
bd66fbd046
|
Fix return value in mesh edge contact in nativeccd.
PiperOrigin-RevId: 730924994
Change-Id: Iab4f26da126713bae6629eef502bb2aad690c595
|
2025-02-25 09:54:05 -08:00 |
|
Kyle Bayes
|
fbe0990b17
|
Fix bugs in nativeccd with collisions with margin.
PiperOrigin-RevId: 730903745
Change-Id: I45ddb674f32cb1f28ff37c587ea953ec595241b3
|
2025-02-25 08:51:21 -08:00 |
|
Kyle Bayes
|
024616345d
|
Support edge contacts with multiccd in nativeccd.
PiperOrigin-RevId: 730489114
Change-Id: I02847d84bbc15a1526391d5e1b7109ab83ea4a59
|
2025-02-24 09:48:43 -08:00 |
|
Kyle Bayes
|
a6f1dc5e9e
|
Match faceset type to intersect res param type in nativeccd.
PiperOrigin-RevId: 730470904
Change-Id: Id7b3712c10d5ec871e2d272036e4e87c1e8620e0
|
2025-02-24 08:58:10 -08:00 |
|
Kyle Bayes
|
ae1c3b7ec0
|
Support multi-contact with meshes in nativeccd. Contacts are pruned to up to 4 per geom.
PiperOrigin-RevId: 730457036
Change-Id: Ib2368f3a7def4fdb94673620df3603e372c35745
|
2025-02-24 08:14:04 -08:00 |
|
Kyle Bayes
|
442b968e22
|
Improve box-box multicontact with nativeccd.
PiperOrigin-RevId: 728136635
Change-Id: I2343110e5c87b6621d5750c7ad42f0e75081d737
|
2025-02-18 03:41:26 -08:00 |
|
Kyle Bayes
|
e3b9538d92
|
Add saving the indices of mesh vertices with the support points in nativeccd.
PiperOrigin-RevId: 725660975
Change-Id: I036882a5bde5d009bfa6e66b6a10f6cfb1a78292
|
2025-02-11 09:28:49 -08:00 |
|
Kyle Bayes
|
3235f69afc
|
Make polytope2 and polytope4 more numerically robust in nativeccd.
PiperOrigin-RevId: 723412555
Change-Id: Id262a3c19bcd30b74b1495591bdc95f951bfca50
|
2025-02-05 01:40:41 -08:00 |
|
Kyle Bayes
|
aa505a7872
|
Add support for NativeCCD multiple contacts for box-box collision.
PiperOrigin-RevId: 718352304
Change-Id: Icaa827e716a2d7aa7c0c644e0ccd2913b476e6fb
|
2025-01-22 06:02:58 -08:00 |
|
Kyle Bayes
|
bd1bbfe401
|
Fix bug where EPA horizon returns zero edges due to numerical inaccuracies in float32.
PiperOrigin-RevId: 717825833
Change-Id: I9fa440816765d4c3eaa0c6c26ec0bd90c774fa01
|
2025-01-21 02:50:53 -08:00 |
|
Kyle Bayes
|
600f4acb52
|
Change GJK and EPA return values.
PiperOrigin-RevId: 717549079
Change-Id: I42df5660bcc8336e2e9c8fce71385cbb06104848
|
2025-01-20 08:59:37 -08:00 |
|
Kyle Bayes
|
daba00ca9d
|
Fix a box-box bad collision in NativeCCD.
PiperOrigin-RevId: 713683497
Change-Id: I0c4cfd55d00faa196d8759046c87ee4ef74f01ab
|
2025-01-09 08:35:50 -08:00 |
|
Kyle Bayes
|
340c0d7c97
|
Fix a box-box bad collision in NativeCCD.
PiperOrigin-RevId: 711773153
Change-Id: I8a526ef5933be19d863e67f40edeb95b0b1249cd
|
2025-01-03 09:23:57 -08:00 |
|
Kyle Bayes
|
ec230fa4b6
|
Prune face linear map in EPA.
PiperOrigin-RevId: 705138358
Change-Id: I835ce7094d066b19ee39af48e0b83b51f7a0954e
|
2024-12-11 09:44:19 -08:00 |
|
Yuval Tassa
|
2691887500
|
Add engine-internal convenience macro for allocating typed arrays, improve error message.
PiperOrigin-RevId: 705126655
Change-Id: I2bd8fada6d33a919d2fb82297f93ac57958355a4
|
2024-12-11 09:04:44 -08:00 |
|
Kyle Bayes
|
a364308d5a
|
Use GJK to recover contact points for sphere and capsule geoms in nativeccd.
PiperOrigin-RevId: 704727907
Change-Id: Iff641b6a32637c48e9892dbaa60826617c54ed06
|
2024-12-10 08:53:27 -08:00 |
|
Kyle Bayes
|
0cb35a0fe1
|
Populate missing fields in mjCCDStatus in GJK code.
PiperOrigin-RevId: 696965759
Change-Id: Idf0799a44876e95fc8d688dd39663a34f1808b27
|
2024-11-15 12:24:37 -08:00 |
|
Kyle Bayes
|
f91588a171
|
Fallback to polytope3 if tetrahedron from GJK has the origin on a face (most likely due to a numerical issue).
PiperOrigin-RevId: 696872633
Change-Id: I58edb0fdc30ad472c8f1338df728e8d42c25fc39
|
2024-11-15 06:53:00 -08:00 |
|
Kyle Bayes
|
0a0de6615d
|
Back out of gjkIntersect when convergence fails due to algorithm oscillating between two support points. Also, fix related bug in box support function.
PiperOrigin-RevId: 696482893
Change-Id: Icedaf5489b761b8bf03ec30558b5d1128668a647
|
2024-11-14 05:12:32 -08:00 |
|
Kyle Bayes
|
0e8cca93e1
|
Refactor nativeccd interface.
- Update mj_ccd interface for multi-contacts,
- Support GJK cutoff distance, and
- Remove mjc_fixNormal from nativeccd (causes bug with cylindar box collisions).
PiperOrigin-RevId: 696185362
Change-Id: I4828b7ee1bde078268220172a4937cd553f6187e
|
2024-11-13 10:28:45 -08:00 |
|
Kyle Bayes
|
0c97dcf1fd
|
Avoid overflowing the stack when allocating memory for polytope in EPA.
PiperOrigin-RevId: 688641864
Change-Id: I3eef7e821ffbfa8d97a946ecf86d098cb4f0c233
|
2024-10-22 12:11:22 -07:00 |
|
Kyle Bayes
|
70d6655434
|
Add faster support functions for NativeCCD.
PiperOrigin-RevId: 684809392
Change-Id: I5125d4bb74c167d370aa919befba9d356c7162da
|
2024-10-11 05:59:30 -07:00 |
|
Kyle Bayes
|
1d57099e98
|
Add internal return codes in polytope2 and polytope3 to make debugging in NativeCCD easier.
PiperOrigin-RevId: 684776411
Change-Id: Ie0ab278b449ded0ec67ddc89569443d542bf93e0
|
2024-10-11 03:36:18 -07:00 |
|
Kyle Bayes
|
5bfc7da7de
|
Inline small vector util functions in NativeCCD.
PiperOrigin-RevId: 683121207
Change-Id: Idf83e2d18d725665bf626c2c3269c81048076a1a
|
2024-10-07 04:11:36 -07:00 |
|
Kyle Bayes
|
6be5decf6c
|
Check for OOM errors once per EPA iteration.
PiperOrigin-RevId: 682447186
Change-Id: I55031da8cf2335d5771bb54b32b7e1f696aa80f2
|
2024-10-04 14:15:29 -07:00 |
|
Kyle Bayes
|
eb095b276c
|
Switch to collision boolean only GJK for contacts instead of using S3D.
PiperOrigin-RevId: 682329224
Change-Id: I3db141b0482610a0a88854f47a46b0b7b694b361
|
2024-10-04 08:25:14 -07:00 |
|
Kyle Bayes
|
dba32e827c
|
Exit recursion gracefully when horizon reaches empty polytope in EPA.
PiperOrigin-RevId: 682050023
Change-Id: I8e04f00e6ab3e15e177d1902889441cdbf11cafd
|
2024-10-03 15:18:05 -07:00 |
|
Kyle Bayes
|
9d91703871
|
Replace heap with linear map in EPA.
PiperOrigin-RevId: 681911349
Change-Id: Iffe2d3ff57b9a4cfcc223ea5d5d29e2e6696e1cf
|
2024-10-03 09:27:02 -07:00 |
|
Kyle Bayes
|
a02c37cf12
|
Use faster cross product in projectOriginPlane for NativeCCD.
PiperOrigin-RevId: 681909044
Change-Id: I5d275a30bce4f24f2e4c205b9a9eb321a5a98b43
|
2024-10-03 09:20:44 -07:00 |
|
Kyle Bayes
|
dc995ad341
|
Remove unnecessary norm calculation in EPA.
PiperOrigin-RevId: 681906350
Change-Id: Ib6a13ca170a8071adde0771c6ba2b38fb4fd4da4
|
2024-10-03 09:12:51 -07:00 |
|
Kyle Bayes
|
04f8403d8e
|
Add unit tests for NativeCCD to produce better test coverage.
PiperOrigin-RevId: 677793306
Change-Id: I435865f00553c74d1d0c0fa86d9c41fb1e5497ff
|
2024-09-23 07:55:39 -07:00 |
|
Yuval Tassa
|
91cedfd65c
|
Avoid square roots in barycentric coordinate computation.
Also add some `inline` qualifiers.
PiperOrigin-RevId: 676873457
Change-Id: I76f57dc870a8714bd86749a7dee1f10fc5e4be1c
|
2024-09-20 09:37:40 -07:00 |
|
Kyle Bayes
|
7a92423cf2
|
Add height fields to list of discrete objects in NativeCCD.
PiperOrigin-RevId: 676452215
Change-Id: I5d6a0d1e26ee852c774b44f550c1d0531b7a269b
|
2024-09-19 09:48:41 -07:00 |
|
Kyle Bayes
|
0657e3e871
|
Fix bug in DeleteFace in NativeCCD.
PiperOrigin-RevId: 675948504
Change-Id: If9d967c8e75580a3a002fce9c10a2e1bfd0b5d46
|
2024-09-18 05:20:11 -07:00 |
|
Kyle Bayes
|
bd811a44e7
|
Remove redundant copying in NativeCCD and refactor code for readability.
PiperOrigin-RevId: 675573079
Change-Id: If9f7bc21d9ee7806997f05a8985ebe6b1b3c8332
|
2024-09-17 08:14:10 -07:00 |
|
Kyle Bayes
|
e94bd8348c
|
Store polytope faces in heap in NativeCCD.
PiperOrigin-RevId: 675197250
Change-Id: Ibe9194d777d68729bffd085e36313fb33ee2756d
|
2024-09-16 10:17:20 -07:00 |
|
Kyle Bayes
|
4628a5e438
|
Remove vertex struct from NativeCCD and allocate fixed memory for vertices on MuJoCo stack.
PiperOrigin-RevId: 675144892
Change-Id: I23d3316b9346ce7137bcfe84265717b60950898a
|
2024-09-16 07:45:53 -07:00 |
|
Yuval Tassa
|
fd17b2144a
|
Replace double- or single-precision-denominated function calls in the engine with the equivalent mjtNum-denominated calls. This avoids unnecessary casting or precision loss when MuJoCo is compiled for 32-bit float precision. Accordingly, remove #include <math.h> from all engine source files.
build / windows-2022 (push) Has been cancelled
build / macos-12 (push) Has been cancelled
build / ubuntu-20.04-clang-10 (push) Has been cancelled
build / ubuntu-20.04-clang-11 (push) Has been cancelled
build / ubuntu-20.04-clang-12 (push) Has been cancelled
build / ubuntu-22.04-clang-13 (push) Has been cancelled
build / ubuntu-22.04-clang-14 (push) Has been cancelled
build / ubuntu-22.04-gcc-10 (push) Has been cancelled
build / ubuntu-22.04-gcc-11 (push) Has been cancelled
build / ubuntu-22.04-gcc-12 (push) Has been cancelled
build / ubuntu-22.04-gcc-9 (push) Has been cancelled
Also, minor type-related fixes in `user_mesh.cc`.
PiperOrigin-RevId: 675082329
Change-Id: Icc5eb9f9eb4fbf09b08d7d4b9b2929f414e4a75c
|
2024-09-16 03:40:17 -07:00 |
|
Kyle Bayes
|
9f8f6947fc
|
Remove global linear search in favor of (almost constant time) local search when finding the convex hull of the polytope and new point in EPA for NativeCCD.
PiperOrigin-RevId: 673852140
Change-Id: Ib2ab64bad3cd2aa7d252b4016754f37ea30e1077
|
2024-09-12 08:11:30 -07:00 |
|
Kyle Bayes
|
8d165d5cc7
|
Fix early termination in GJK. It's possible for x_k to be the origin, so we should run the previous test to conclude that the objects are colliding.
PiperOrigin-RevId: 673834101
Change-Id: I596b30d2847670261f8067840b34dc13de401ecb
|
2024-09-12 07:17:53 -07:00 |
|
Kyle Bayes
|
14f420069e
|
Make projectOriginPlane in NativeCCD numerically robust.
PiperOrigin-RevId: 673761409
Change-Id: I64304c89f768414d60e2dcf2e71feb8a6f9b2635
|
2024-09-12 03:01:15 -07:00 |
|
Kyle Bayes
|
44145742a7
|
Exit GJK early if geom distance doesn't need to be recovered.
PiperOrigin-RevId: 672334991
Change-Id: I4af582c799140ccf3ac4d51952e547b08ab5d55e
|
2024-09-08 14:57:50 -07:00 |
|
Kyle Bayes
|
61721f8d3c
|
Set tolerance in GJK to zero for colliding discrete geoms.
PiperOrigin-RevId: 672326091
Change-Id: Iddec335272461c9aee13c1960640a453ff59f841
|
2024-09-08 13:49:58 -07:00 |
|
Kyle Bayes
|
4fc6fb179b
|
Remove libccd compatibility layer from native ccd.
PiperOrigin-RevId: 671740643
Change-Id: If3c1097df5c505f70c2dc0c090a7f5a93a43c683
|
2024-09-06 06:56:01 -07:00 |
|
Kyle Bayes
|
b9822e4347
|
Check hexahedron in polytope3 to make sure it contains the origin. Otherwise, EPA can return invalid results.
PiperOrigin-RevId: 671057312
Change-Id: Ieb21a77ea679ee5c18972d3a0375578d9a98405e
|
2024-09-04 12:17:54 -07:00 |
|
Kyle Bayes
|
79a5bd0915
|
Add better boundary tests in polytope3 for EPA.
PiperOrigin-RevId: 671038835
Change-Id: I259260a7b40e825678b52187bee4791266ae10c4
|
2024-09-04 11:25:44 -07:00 |
|
Kyle Bayes
|
e9a85764ea
|
Native CCD: Replace mju_malloc with C standard malloc, fix bug in computing v5 in polytope3, and add another warning in EPA.
PiperOrigin-RevId: 670939250
Change-Id: Ia0d8b7c78ed2ef7019f2a691c066b20e98dc1889
|
2024-09-04 05:53:31 -07:00 |
|
Kyle Bayes
|
ddb29e9293
|
Fix bug in computing pos in EPA by replacing S2D with computing affine coordinates directly to recover the witness points.
PiperOrigin-RevId: 668006152
Change-Id: I1de33c5bb94de1a14523a88a5dff7d6ec984628e
|
2024-08-27 08:55:40 -07:00 |
|