Drake: investigate suprisingly bad accuracy with bullet's collision raycast

Created on 15 Feb 2016  Â·  16Comments  Â·  Source: RobotLocomotion/drake

Added a super simple test (lidarTest.cpp) in my pull request #1711. the collision world is a set of boxes, with a lidar sim. it starts getting returns exactly at 0.05 before the box geometry should start despite (i think) making the raycast call with use_margins=false (the default).

@gizatt -- can you take a look?

backlog dynamics bug

Most helpful comment

Alejandro, if you can get this down to a simple demonstration of a Bullet problem we can get Erwin to take a look at it and probably get a quick fix. Let me know when you get to a point where you want him involved and I will attempt to pull him in.

All 16 comments

hmm.. adding the following line:

            double margin = ray_callback.m_collisionObject->getCollisionShape()->getMargin();

to line 577 of BulletModel.cpp confirms that I am calling it with no_margins, and the shape that registers the hit has no small_margin set. So I don’t understand why we have the pre-mature hit?

separately, putting a breakpoint on BulletModel.cpp and stepping through the world position of the returns (the end_eigen variable) reveals that the y coordinate bounces all over, from 0.995 to essentially 1. Why such poor resolution?

@gizatt - I’m convinced this is not a simple use_margin logic bug. removing the assignment to you. :)

Just to post some numerics on the craziness… the following scans are supposed to walk along a box at y=-1, to x=0, then y=+1. These are the returns I get (in world coordiantes). This is with use_margins = false. Note the stretch where I get accuracy to 1e-9 (which is the small_margin that we set, e.g. the expected behavior). But the rest are much closer to the 0.05, or large_margin. Something is very fishy here.

x: -1.00939, y: -1.00062
x: -1.00406, y: -1.00012
x: -0.998739, y: -1
x: -0.993419, y: -1
x: -0.9881, y: -1
x: -0.982781, y: -1
x: -0.977462, y: -1
x: -0.972143, y: -1
x: -0.966824, y: -1
x: -0.961504, y: -1
x: -0.956183, y: -1
x: -0.950861, y: -1
x: -0.945537, y: -1
x: -0.94021, y: -1
x: -0.934882, y: -1
x: -0.929551, y: -1
x: -0.924218, y: -1
x: -0.918881, y: -1
x: -0.91354, y: -1
x: -0.908196, y: -1
x: -0.902848, y: -1
x: -0.897509, y: -0.999865
x: -0.892255, y: -0.998922
x: -0.887004, y: -0.997989
x: -0.881757, y: -0.997065
x: -0.876513, y: -0.996151
x: -0.871271, y: -0.995245
x: -0.865271, y: -1
x: -0.859879, y: -1
x: -0.85448, y: -1
x: -0.849074, y: -1
x: -0.843661, y: -1
x: -0.838239, y: -1
x: -0.83281, y: -1
x: -0.827372, y: -1
x: -0.821925, y: -1
x: -0.816469, y: -1
x: -0.811004, y: -1
x: -0.805529, y: -1
x: -0.800043, y: -1
x: -0.795474, y: -0.995489
x: -0.789811, y: -0.996351
x: -0.784128, y: -0.997208
x: -0.778425, y: -0.99806
x: -0.772702, y: -0.998907
x: -0.766958, y: -0.99975
x: -0.761334, y: -1
x: -0.755756, y: -1
x: -0.750164, y: -1
x: -0.744558, y: -1
x: -0.738939, y: -1
x: -0.733305, y: -1
x: -0.727657, y: -1
x: -0.721993, y: -1
x: -0.716314, y: -1
x: -0.710619, y: -1
x: -0.704908, y: -1
x: -0.69918, y: -1
x: -0.693436, y: -1
x: -0.687673, y: -1
x: -0.681893, y: -1
x: -0.676095, y: -1
x: -0.670278, y: -1
x: -0.664443, y: -1
x: -0.658587, y: -1
x: -0.652712, y: -1
x: -0.646817, y: -1
x: -0.6409, y: -1
x: -0.634963, y: -1
x: -0.629004, y: -1
x: -0.623023, y: -1
x: -0.617019, y: -1
x: -0.610992, y: -1
x: -0.604942, y: -1
x: -0.598868, y: -1
x: -0.592769, y: -1
x: -0.586646, y: -1
x: -0.580497, y: -1
x: -0.574322, y: -1
x: -0.568121, y: -1
x: -0.561893, y: -1
x: -0.555637, y: -1
x: -0.549354, y: -1
x: -0.543041, y: -1
x: -0.5367, y: -1
x: -0.530329, y: -1
x: -0.523928, y: -1
x: -0.517496, y: -1
x: -0.511033, y: -1
x: -0.504538, y: -1
x: -0.49801, y: -1
x: -0.49145, y: -1
x: -0.484855, y: -1
x: -0.478226, y: -1
x: -0.471562, y: -1
x: -0.464863, y: -1
x: -0.458127, y: -1
x: -0.451354, y: -1
x: -0.444543, y: -1
x: -0.437694, y: -1
x: -0.430806, y: -1
x: -0.423878, y: -1
x: -0.41691, y: -1
x: -0.4099, y: -1
x: -0.402848, y: -1
x: -0.395753, y: -1
x: -0.388615, y: -1
x: -0.381433, y: -1
x: -0.374205, y: -1
x: -0.366931, y: -1
x: -0.359611, y: -1
x: -0.352242, y: -1
x: -0.344825, y: -1
x: -0.337359, y: -1
x: -0.329842, y: -1
x: -0.322274, y: -1
x: -0.314653, y: -1
x: -0.306979, y: -1
x: -0.299251, y: -1
x: -0.291468, y: -1
x: -0.283629, y: -1
x: -0.275732, y: -1
x: -0.267777, y: -1
x: -0.259762, y: -1
x: -0.251687, y: -1
x: -0.24355, y: -1
x: -0.23535, y: -1
x: -0.227086, y: -1
x: -0.218756, y: -1
x: -0.210361, y: -1
x: -0.201897, y: -1
x: -0.193365, y: -1
x: -0.184762, y: -1
x: -0.176087, y: -1
x: -0.167339, y: -1
x: -0.158516, y: -1
x: -0.149618, y: -1
x: -0.140642, y: -1
x: -0.131587, y: -1
x: -0.122452, y: -1
x: -0.113235, y: -1
x: -0.103933, y: -1
x: -0.094547, y: -1
x: -0.0850734, y: -1
x: -0.075511, y: -1
x: -0.0658579, y: -1
x: -0.0561125, y: -1
x: -0.0462727, y: -1
x: -0.0363368, y: -1
x: -0.0263026, y: -1
x: -0.0161683, y: -1
x: -0.0059317, y: -1
x: -0.00567428, y: -0.989961
x: -0.00571268, y: -0.979732
x: -0.00574097, y: -0.969618
x: -0.0057596, y: -0.959617
x: -0.00576902, y: -0.949725
x: -0.00576967, y: -0.939941
x: -0.00576195, y: -0.930261
x: -0.00574627, y: -0.920683
x: -0.00572298, y: -0.911204
x: -0.00569247, y: -0.901822
x: -0.00565508, y: -0.892535
x: -0.00561114, y: -0.88334
x: -0.00556097, y: -0.874235
x: -0.00550488, y: -0.865219
x: -0.00544316, y: -0.856289
x: -0.00537611, y: -0.847442
x: -0.00530398, y: -0.838678
x: -0.00522705, y: -0.829995
x: -0.00514557, y: -0.82139
x: -0.00505977, y: -0.812862
x: -0.0049699, y: -0.804409
x: -0.00487617, y: -0.796029
x: -0.0047788, y: -0.787721
x: -0.004678, y: -0.779484
x: -0.00457397, y: -0.771315
x: -0.00446691, y: -0.763213
x: -0.00435699, y: -0.755178
x: -0.0042444, y: -0.747207
x: -0.00412931, y: -0.739299
x: -0.00401189, y: -0.731453
x: -0.0038923, y: -0.723667
x: -0.00377069, y: -0.71594
x: -0.00364722, y: -0.708272
x: -0.00352202, y: -0.70066
x: -0.00636871, y: -0.691036
x: -0.00623222, y: -0.683563
x: -0.0060865, y: -0.676148
x: -0.00593155, y: -0.668791
x: -0.00576732, y: -0.661489
x: -0.0055938, y: -0.654243
x: -0.00541095, y: -0.647051
x: -0.00521876, y: -0.639912
x: -0.00501718, y: -0.632825
x: -0.0048062, y: -0.625788
x: -0.00458579, y: -0.618802
x: -0.00435591, y: -0.611864
x: -0.00411653, y: -0.604974
x: -0.00386762, y: -0.598131
x: -0.00360915, y: -0.591335
x: -0.00334107, y: -0.584583
x: -0.00306337, y: -0.577875
x: -0.002776, y: -0.571211
x: -0.00247891, y: -0.564588
x: -0.00217208, y: -0.558008
x: -0.00185546, y: -0.551468
x: -0.00152901, y: -0.544968
x: -0.00119268, y: -0.538507
x: -0.000846441, y: -0.532084
x: -0.000490231, y: -0.525698
x: -0.000124008, y: -0.519349
x: -1.04993e-09, y: -0.512906
x: -1.04995e-09, y: -0.506434
x: -1.04998e-09, y: -0.499996
x: -1.05002e-09, y: -0.493591
x: -1.05004e-09, y: -0.48722
x: -1.05007e-09, y: -0.48088
x: -1.0501e-09, y: -0.474573
x: -1.05012e-09, y: -0.468297
x: -1.05015e-09, y: -0.462051
x: -1.05018e-09, y: -0.455836
x: -1.0502e-09, y: -0.44965
x: -1.05023e-09, y: -0.443493
x: -1.05026e-09, y: -0.437364
x: -1.05028e-09, y: -0.431263
x: -1.0503e-09, y: -0.42519
x: -1.05033e-09, y: -0.419144
x: -1.05035e-09, y: -0.413124
x: -1.05037e-09, y: -0.40713
x: -1.0504e-09, y: -0.401162
x: -1.05041e-09, y: -0.395218
x: -1.05043e-09, y: -0.389299
x: -1.05046e-09, y: -0.383404
x: -1.05048e-09, y: -0.377532
x: -1.0505e-09, y: -0.371684
x: -1.05052e-09, y: -0.365858
x: -1.05054e-09, y: -0.360055
x: -1.05055e-09, y: -0.354273
x: -1.05058e-09, y: -0.348512
x: -1.05059e-09, y: -0.342773
x: -1.05061e-09, y: -0.337054
x: -1.05063e-09, y: -0.331355
x: -1.05064e-09, y: -0.325676
x: -1.05066e-09, y: -0.320016
x: -1.05068e-09, y: -0.314375
x: -1.05069e-09, y: -0.308752
x: -1.0507e-09, y: -0.303148
x: -1.05072e-09, y: -0.297561
x: -1.05073e-09, y: -0.291991
x: -1.05075e-09, y: -0.286439
x: -1.05077e-09, y: -0.280903
x: -1.05078e-09, y: -0.275383
x: -1.05079e-09, y: -0.269879
x: -1.0508e-09, y: -0.264391
x: -1.05081e-09, y: -0.258918
x: -1.05082e-09, y: -0.253459
x: -1.05084e-09, y: -0.248015
x: -1.05086e-09, y: -0.242585
x: -1.05086e-09, y: -0.237169
x: -1.05088e-09, y: -0.231766
x: -1.05088e-09, y: -0.226376
x: -1.05088e-09, y: -0.220999
x: -1.0509e-09, y: -0.215634
x: -1.05091e-09, y: -0.210281
x: -1.05092e-09, y: -0.20494
x: -1.05093e-09, y: -0.199611
x: -1.05094e-09, y: -0.194292
x: -1.05094e-09, y: -0.188985
x: -1.05094e-09, y: -0.183687
x: -1.05096e-09, y: -0.1784
x: -1.05096e-09, y: -0.173123
x: -1.05098e-09, y: -0.167855
x: -1.05098e-09, y: -0.162597
x: -1.04873e-09, y: -0.157347
x: -1.0463e-09, y: -0.152106
x: -1.04388e-09, y: -0.146873
x: -1.04146e-09, y: -0.141649
x: -1.03904e-09, y: -0.136432
x: -1.03665e-09, y: -0.131222
x: -1.03423e-09, y: -0.12602
x: -1.03186e-09, y: -0.120824
x: -1.02948e-09, y: -0.115635
x: -1.02714e-09, y: -0.110452
x: -1.02481e-09, y: -0.105275
x: -1.02251e-09, y: -0.100104
x: -1.02027e-09, y: -0.0949382
x: -1.01805e-09, y: -0.0897776
x: -1.01587e-09, y: -0.0846217
x: -1.01374e-09, y: -0.0794704
x: -1.01165e-09, y: -0.0743234
x: -1.00963e-09, y: -0.0691804
x: -1.00767e-09, y: -0.0640411
x: -1.00579e-09, y: -0.0589052
x: -1.004e-09, y: -0.0537725
x: -1.00233e-09, y: -0.0486426
x: -0.00987494, y: -0.0430857
x: -0.00876908, y: -0.0380538
x: -0.00764886, y: -0.0330131
x: -0.00651403, y: -0.0279631
x: -0.00536435, y: -0.0229034
x: -0.00419956, y: -0.0178333
x: -0.0030194, y: -0.0127525
x: -0.00182361, y: -0.00766041
x: -0.000611905, y: -0.00255652
x: -0.000611905, y: 0.00255652
x: -0.00182361, y: 0.00766041
x: -0.0030194, y: 0.0127525
x: -0.00419956, y: 0.0178333
x: -0.00536435, y: 0.0229034
x: -0.00651403, y: 0.0279631
x: -0.00764886, y: 0.0330131
x: -0.00876908, y: 0.0380538
x: -0.00987494, y: 0.0430857
x: -1.00233e-09, y: 0.0486426
x: -1.004e-09, y: 0.0537725
x: -1.00579e-09, y: 0.0589052
x: -1.00769e-09, y: 0.0640411
x: -1.00963e-09, y: 0.0691804
x: -1.01165e-09, y: 0.0743234
x: -1.01374e-09, y: 0.0794704
x: -1.01588e-09, y: 0.0846217
x: -1.01804e-09, y: 0.0897776
x: -1.02027e-09, y: 0.0949382
x: -1.02251e-09, y: 0.100104
x: -1.02481e-09, y: 0.105275
x: -1.02716e-09, y: 0.110452
x: -1.02949e-09, y: 0.115635
x: -1.03186e-09, y: 0.120824
x: -1.03423e-09, y: 0.12602
x: -1.03665e-09, y: 0.131222
x: -1.03904e-09, y: 0.136432
x: -1.04146e-09, y: 0.141649
x: -1.04388e-09, y: 0.146873
x: -1.0463e-09, y: 0.152106
x: -1.04873e-09, y: 0.157347
x: -1.05097e-09, y: 0.162597
x: -1.05098e-09, y: 0.167855
x: -1.05096e-09, y: 0.173123
x: -1.05096e-09, y: 0.1784
x: -1.05094e-09, y: 0.183687
x: -1.05095e-09, y: 0.188985
x: -1.05094e-09, y: 0.194292
x: -1.05093e-09, y: 0.199611
x: -1.05092e-09, y: 0.20494
x: -1.05091e-09, y: 0.210281
x: -1.05091e-09, y: 0.215634
x: -1.05089e-09, y: 0.220999
x: -1.05088e-09, y: 0.226376
x: -1.05088e-09, y: 0.231766
x: -1.05086e-09, y: 0.237169
x: -1.05084e-09, y: 0.242585
x: -1.05084e-09, y: 0.248015
x: -1.05082e-09, y: 0.253459
x: -1.05081e-09, y: 0.258918
x: -1.05081e-09, y: 0.264391
x: -1.05079e-09, y: 0.269879
x: -1.05077e-09, y: 0.275383
x: -1.05077e-09, y: 0.280903
x: -1.05075e-09, y: 0.286439
x: -1.05074e-09, y: 0.291991
x: -1.05072e-09, y: 0.297561
x: -1.0507e-09, y: 0.303148
x: -1.05069e-09, y: 0.308752
x: -1.05068e-09, y: 0.314375
x: -1.05066e-09, y: 0.320016
x: -1.05065e-09, y: 0.325676
x: -1.05063e-09, y: 0.331355
x: -1.05061e-09, y: 0.337054
x: -1.05059e-09, y: 0.342773
x: -1.05057e-09, y: 0.348512
x: -1.05055e-09, y: 0.354273
x: -1.05054e-09, y: 0.360055
x: -1.05052e-09, y: 0.365858
x: -1.0505e-09, y: 0.371684
x: -1.05048e-09, y: 0.377532
x: -1.05046e-09, y: 0.383404
x: -1.05043e-09, y: 0.389299
x: -1.05041e-09, y: 0.395218
x: -1.0504e-09, y: 0.401162
x: -1.05037e-09, y: 0.40713
x: -1.05035e-09, y: 0.413124
x: -1.05033e-09, y: 0.419144
x: -1.0503e-09, y: 0.42519
x: -1.05028e-09, y: 0.431263
x: -1.05025e-09, y: 0.437364
x: -1.05023e-09, y: 0.443493
x: -1.0502e-09, y: 0.44965
x: -1.05018e-09, y: 0.455836
x: -1.05015e-09, y: 0.462051
x: -1.05012e-09, y: 0.468297
x: -1.0501e-09, y: 0.474573
x: -1.05007e-09, y: 0.48088
x: -1.05004e-09, y: 0.48722
x: -1.05002e-09, y: 0.493591
x: -1.04998e-09, y: 0.499996
x: -1.04995e-09, y: 0.506434
x: -1.04993e-09, y: 0.512906
x: -0.000124008, y: 0.519349
x: -0.000490231, y: 0.525698
x: -0.000846441, y: 0.532084
x: -0.00119268, y: 0.538507
x: -0.00152901, y: 0.544968
x: -0.00185546, y: 0.551468
x: -0.00217208, y: 0.558008
x: -0.00247891, y: 0.564588
x: -0.002776, y: 0.571211
x: -0.00306337, y: 0.577875
x: -0.00334107, y: 0.584583
x: -0.00360915, y: 0.591335
x: -0.00386762, y: 0.598131
x: -0.00411653, y: 0.604974
x: -0.00435591, y: 0.611864
x: -0.00458579, y: 0.618802
x: -0.0048062, y: 0.625788
x: -0.00501718, y: 0.632825
x: -0.00521876, y: 0.639912
x: -0.00541095, y: 0.647051
x: -0.0055938, y: 0.654243
x: -0.00576732, y: 0.661489
x: -0.00593155, y: 0.668791
x: -0.0060865, y: 0.676148
x: -0.00623222, y: 0.683563
x: -0.00636871, y: 0.691036
x: -0.00352202, y: 0.70066
x: -0.00364722, y: 0.708272
x: -0.00377069, y: 0.71594
x: -0.0038923, y: 0.723667
x: -0.00401189, y: 0.731453
x: -0.00412931, y: 0.739299
x: -0.0042444, y: 0.747207
x: -0.00435699, y: 0.755178
x: -0.00446691, y: 0.763213
x: -0.00457397, y: 0.771315
x: -0.004678, y: 0.779484
x: -0.0047788, y: 0.787721
x: -0.00487617, y: 0.796029
x: -0.0049699, y: 0.804409
x: -0.00505977, y: 0.812862
x: -0.00514557, y: 0.82139
x: -0.00522705, y: 0.829995
x: -0.00530398, y: 0.838678
x: -0.00537611, y: 0.847442
x: -0.00544316, y: 0.856289
x: -0.00550488, y: 0.865219
x: -0.00556097, y: 0.874235
x: -0.00561114, y: 0.88334
x: -0.00565508, y: 0.892535
x: -0.00569247, y: 0.901822
x: -0.00572298, y: 0.911204
x: -0.00574627, y: 0.920683
x: -0.00576195, y: 0.930261
x: -0.00576967, y: 0.939941
x: -0.00576902, y: 0.949725
x: -0.0057596, y: 0.959617
x: -0.00574097, y: 0.969618
x: -0.00571268, y: 0.979732
x: -0.00567428, y: 0.989961
x: -0.0059317, y: 1
x: -0.0161683, y: 1
x: -0.0263026, y: 1
x: -0.0363368, y: 1
x: -0.0462727, y: 1
x: -0.0561125, y: 1
x: -0.0658579, y: 1
x: -0.075511, y: 1
x: -0.0850734, y: 1
x: -0.094547, y: 1
x: -0.103933, y: 1
x: -0.113235, y: 1
x: -0.122452, y: 1
x: -0.131587, y: 1
x: -0.140642, y: 1
x: -0.149618, y: 1
x: -0.158516, y: 1
x: -0.167339, y: 1
x: -0.176087, y: 1
x: -0.184762, y: 1
x: -0.193365, y: 1
x: -0.201897, y: 1
x: -0.210361, y: 1
x: -0.218756, y: 1
x: -0.227086, y: 1
x: -0.23535, y: 1
x: -0.24355, y: 1
x: -0.251687, y: 1
x: -0.259762, y: 1
x: -0.267777, y: 1
x: -0.275732, y: 1
x: -0.283629, y: 1
x: -0.291468, y: 1
x: -0.299251, y: 1
x: -0.306979, y: 1
x: -0.314653, y: 1
x: -0.322274, y: 1
x: -0.329842, y: 1
x: -0.337359, y: 1
x: -0.344825, y: 1
x: -0.352242, y: 1
x: -0.359611, y: 1
x: -0.366931, y: 1
x: -0.374205, y: 1
x: -0.381433, y: 1
x: -0.388615, y: 1
x: -0.395753, y: 1
x: -0.402848, y: 1
x: -0.4099, y: 1
x: -0.41691, y: 1
x: -0.423878, y: 1
x: -0.430806, y: 1
x: -0.437694, y: 1
x: -0.444543, y: 1
x: -0.451354, y: 1
x: -0.458127, y: 1
x: -0.464863, y: 1
x: -0.471562, y: 1
x: -0.478226, y: 1
x: -0.484855, y: 1
x: -0.49145, y: 1
x: -0.49801, y: 1
x: -0.504538, y: 1
x: -0.511033, y: 1
x: -0.517496, y: 1
x: -0.523928, y: 1
x: -0.530329, y: 1
x: -0.5367, y: 1
x: -0.543041, y: 1
x: -0.549354, y: 1
x: -0.555637, y: 1
x: -0.561893, y: 1
x: -0.568121, y: 1
x: -0.574322, y: 1
x: -0.580497, y: 1
x: -0.586646, y: 1
x: -0.592769, y: 1
x: -0.598868, y: 1
x: -0.604942, y: 1
x: -0.610992, y: 1
x: -0.617019, y: 1
x: -0.623023, y: 1
x: -0.629004, y: 1
x: -0.634963, y: 1
x: -0.6409, y: 1
x: -0.646817, y: 1
x: -0.652712, y: 1
x: -0.658587, y: 1
x: -0.664443, y: 1
x: -0.670278, y: 1
x: -0.676095, y: 1
x: -0.681893, y: 1
x: -0.687673, y: 1
x: -0.693436, y: 1
x: -0.69918, y: 1
x: -0.704908, y: 1
x: -0.710619, y: 1
x: -0.716314, y: 1
x: -0.721993, y: 1
x: -0.727657, y: 1
x: -0.733305, y: 1
x: -0.738939, y: 1
x: -0.744558, y: 1
x: -0.750164, y: 1
x: -0.755756, y: 1
x: -0.761334, y: 1
x: -0.766958, y: 0.99975
x: -0.772702, y: 0.998907
x: -0.778425, y: 0.99806
x: -0.784128, y: 0.997208
x: -0.789811, y: 0.996351
x: -0.795474, y: 0.995489
x: -0.800043, y: 1
x: -0.805529, y: 1
x: -0.811004, y: 1
x: -0.816469, y: 1
x: -0.821925, y: 1
x: -0.827372, y: 1
x: -0.83281, y: 1
x: -0.838239, y: 1
x: -0.843661, y: 1
x: -0.849074, y: 1
x: -0.85448, y: 1
x: -0.859879, y: 1
x: -0.865271, y: 1
x: -0.871271, y: 0.995245
x: -0.876513, y: 0.996151
x: -0.881757, y: 0.997065
x: -0.887004, y: 0.997989
x: -0.892255, y: 0.998922
x: -0.897509, y: 0.999865
x: -0.902848, y: 1
x: -0.908196, y: 1
x: -0.91354, y: 1
x: -0.918881, y: 1
x: -0.924218, y: 1
x: -0.929551, y: 1
x: -0.934882, y: 1
x: -0.94021, y: 1
x: -0.945537, y: 1
x: -0.950861, y: 1
x: -0.956183, y: 1
x: -0.961504, y: 1
x: -0.966824, y: 1
x: -0.972143, y: 1
x: -0.977462, y: 1
x: -0.982781, y: 1
x: -0.9881, y: 1
x: -0.993419, y: 1
x: -0.998739, y: 1
x: -1.00406, y: 1.00012
x: -1.00939, y: 1.00062

Can you post a visualization of what this looks like? Your description
reminds me of the ripples in the ray cast height maps we encountered before
the DRC.

On Mon, Feb 15, 2016, 1:20 PM Russ Tedrake [email protected] wrote:

Just to post some numerics on the craziness… the following scans are
supposed to walk along a box at y=-1, to x=0, then y=+1. These are the
returns I get (in world coordiantes). This is with use_margins = false.
Note the stretch where I get accuracy to 1e-9 (which is the small_margin
that we set, e.g. the expected behavior). But the rest are much closer to
the 0.05, or large_margin. Something is very fishy here.

x: -1.00939, y: -1.00062
x: -1.00406, y: -1.00012
x: -0.998739, y: -1
x: -0.993419, y: -1
x: -0.9881, y: -1
x: -0.982781, y: -1
x: -0.977462, y: -1
x: -0.972143, y: -1
x: -0.966824, y: -1
x: -0.961504, y: -1
x: -0.956183, y: -1
x: -0.950861, y: -1
x: -0.945537, y: -1
x: -0.94021, y: -1
x: -0.934882, y: -1
x: -0.929551, y: -1
x: -0.924218, y: -1
x: -0.918881, y: -1
x: -0.91354, y: -1
x: -0.908196, y: -1
x: -0.902848, y: -1
x: -0.897509, y: -0.999865
x: -0.892255, y: -0.998922
x: -0.887004, y: -0.997989
x: -0.881757, y: -0.997065
x: -0.876513, y: -0.996151
x: -0.871271, y: -0.995245
x: -0.865271, y: -1
x: -0.859879, y: -1
x: -0.85448, y: -1
x: -0.849074, y: -1
x: -0.843661, y: -1
x: -0.838239, y: -1
x: -0.83281, y: -1
x: -0.827372, y: -1
x: -0.821925, y: -1
x: -0.816469, y: -1
x: -0.811004, y: -1
x: -0.805529, y: -1
x: -0.800043, y: -1
x: -0.795474, y: -0.995489
x: -0.789811, y: -0.996351
x: -0.784128, y: -0.997208
x: -0.778425, y: -0.99806
x: -0.772702, y: -0.998907
x: -0.766958, y: -0.99975
x: -0.761334, y: -1
x: -0.755756, y: -1
x: -0.750164, y: -1
x: -0.744558, y: -1
x: -0.738939, y: -1
x: -0.733305, y: -1
x: -0.727657, y: -1
x: -0.721993, y: -1
x: -0.716314, y: -1
x: -0.710619, y: -1
x: -0.704908, y: -1
x: -0.69918, y: -1
x: -0.693436, y: -1
x: -0.687673, y: -1
x: -0.681893, y: -1
x: -0.676095, y: -1
x: -0.670278, y: -1
x: -0.664443, y: -1
x: -0.658587, y: -1
x: -0.652712, y: -1
x: -0.646817, y: -1
x: -0.6409, y: -1
x: -0.634963, y: -1
x: -0.629004, y: -1
x: -0.623023, y: -1
x: -0.617019, y: -1
x: -0.610992, y: -1
x: -0.604942, y: -1
x: -0.598868, y: -1
x: -0.592769, y: -1
x: -0.586646, y: -1
x: -0.580497, y: -1
x: -0.574322, y: -1
x: -0.568121, y: -1
x: -0.561893, y: -1
x: -0.555637, y: -1
x: -0.549354, y: -1
x: -0.543041, y: -1
x: -0.5367, y: -1
x: -0.530329, y: -1
x: -0.523928, y: -1
x: -0.517496, y: -1
x: -0.511033, y: -1
x: -0.504538, y: -1
x: -0.49801, y: -1
x: -0.49145, y: -1
x: -0.484855, y: -1
x: -0.478226, y: -1
x: -0.471562, y: -1
x: -0.464863, y: -1
x: -0.458127, y: -1
x: -0.451354, y: -1
x: -0.444543, y: -1
x: -0.437694, y: -1
x: -0.430806, y: -1
x: -0.423878, y: -1
x: -0.41691, y: -1
x: -0.4099, y: -1
x: -0.402848, y: -1
x: -0.395753, y: -1
x: -0.388615, y: -1
x: -0.381433, y: -1
x: -0.374205, y: -1
x: -0.366931, y: -1
x: -0.359611, y: -1
x: -0.352242, y: -1
x: -0.344825, y: -1
x: -0.337359, y: -1
x: -0.329842, y: -1
x: -0.322274, y: -1
x: -0.314653, y: -1
x: -0.306979, y: -1
x: -0.299251, y: -1
x: -0.291468, y: -1
x: -0.283629, y: -1
x: -0.275732, y: -1
x: -0.267777, y: -1
x: -0.259762, y: -1
x: -0.251687, y: -1
x: -0.24355, y: -1
x: -0.23535, y: -1
x: -0.227086, y: -1
x: -0.218756, y: -1
x: -0.210361, y: -1
x: -0.201897, y: -1
x: -0.193365, y: -1
x: -0.184762, y: -1
x: -0.176087, y: -1
x: -0.167339, y: -1
x: -0.158516, y: -1
x: -0.149618, y: -1
x: -0.140642, y: -1
x: -0.131587, y: -1
x: -0.122452, y: -1
x: -0.113235, y: -1
x: -0.103933, y: -1
x: -0.094547, y: -1
x: -0.0850734, y: -1
x: -0.075511, y: -1
x: -0.0658579, y: -1
x: -0.0561125, y: -1
x: -0.0462727, y: -1
x: -0.0363368, y: -1
x: -0.0263026, y: -1
x: -0.0161683, y: -1
x: -0.0059317, y: -1
x: -0.00567428, y: -0.989961
x: -0.00571268, y: -0.979732
x: -0.00574097, y: -0.969618
x: -0.0057596, y: -0.959617
x: -0.00576902, y: -0.949725
x: -0.00576967, y: -0.939941
x: -0.00576195, y: -0.930261
x: -0.00574627, y: -0.920683
x: -0.00572298, y: -0.911204
x: -0.00569247, y: -0.901822
x: -0.00565508, y: -0.892535
x: -0.00561114, y: -0.88334
x: -0.00556097, y: -0.874235
x: -0.00550488, y: -0.865219
x: -0.00544316, y: -0.856289
x: -0.00537611, y: -0.847442
x: -0.00530398, y: -0.838678
x: -0.00522705, y: -0.829995
x: -0.00514557, y: -0.82139
x: -0.00505977, y: -0.812862
x: -0.0049699, y: -0.804409
x: -0.00487617, y: -0.796029
x: -0.0047788, y: -0.787721
x: -0.004678, y: -0.779484
x: -0.00457397, y: -0.771315
x: -0.00446691, y: -0.763213
x: -0.00435699, y: -0.755178
x: -0.0042444, y: -0.747207
x: -0.00412931, y: -0.739299
x: -0.00401189, y: -0.731453
x: -0.0038923, y: -0.723667
x: -0.00377069, y: -0.71594
x: -0.00364722, y: -0.708272
x: -0.00352202, y: -0.70066
x: -0.00636871, y: -0.691036
x: -0.00623222, y: -0.683563
x: -0.0060865, y: -0.676148
x: -0.00593155, y: -0.668791
x: -0.00576732, y: -0.661489
x: -0.0055938, y: -0.654243
x: -0.00541095, y: -0.647051
x: -0.00521876, y: -0.639912
x: -0.00501718, y: -0.632825
x: -0.0048062, y: -0.625788
x: -0.00458579, y: -0.618802
x: -0.00435591, y: -0.611864
x: -0.00411653, y: -0.604974
x: -0.00386762, y: -0.598131
x: -0.00360915, y: -0.591335
x: -0.00334107, y: -0.584583
x: -0.00306337, y: -0.577875
x: -0.002776, y: -0.571211
x: -0.00247891, y: -0.564588
x: -0.00217208, y: -0.558008
x: -0.00185546, y: -0.551468
x: -0.00152901, y: -0.544968
x: -0.00119268, y: -0.538507
x: -0.000846441, y: -0.532084
x: -0.000490231, y: -0.525698
x: -0.000124008, y: -0.519349
x: -1.04993e-09, y: -0.512906
x: -1.04995e-09, y: -0.506434
x: -1.04998e-09, y: -0.499996
x: -1.05002e-09, y: -0.493591
x: -1.05004e-09, y: -0.48722
x: -1.05007e-09, y: -0.48088
x: -1.0501e-09, y: -0.474573
x: -1.05012e-09, y: -0.468297
x: -1.05015e-09, y: -0.462051
x: -1.05018e-09, y: -0.455836
x: -1.0502e-09, y: -0.44965
x: -1.05023e-09, y: -0.443493
x: -1.05026e-09, y: -0.437364
x: -1.05028e-09, y: -0.431263
x: -1.0503e-09, y: -0.42519
x: -1.05033e-09, y: -0.419144
x: -1.05035e-09, y: -0.413124
x: -1.05037e-09, y: -0.40713
x: -1.0504e-09, y: -0.401162
x: -1.05041e-09, y: -0.395218
x: -1.05043e-09, y: -0.389299
x: -1.05046e-09, y: -0.383404
x: -1.05048e-09, y: -0.377532
x: -1.0505e-09, y: -0.371684
x: -1.05052e-09, y: -0.365858
x: -1.05054e-09, y: -0.360055
x: -1.05055e-09, y: -0.354273
x: -1.05058e-09, y: -0.348512
x: -1.05059e-09, y: -0.342773
x: -1.05061e-09, y: -0.337054
x: -1.05063e-09, y: -0.331355
x: -1.05064e-09, y: -0.325676
x: -1.05066e-09, y: -0.320016
x: -1.05068e-09, y: -0.314375
x: -1.05069e-09, y: -0.308752
x: -1.0507e-09, y: -0.303148
x: -1.05072e-09, y: -0.297561
x: -1.05073e-09, y: -0.291991
x: -1.05075e-09, y: -0.286439
x: -1.05077e-09, y: -0.280903
x: -1.05078e-09, y: -0.275383
x: -1.05079e-09, y: -0.269879
x: -1.0508e-09, y: -0.264391
x: -1.05081e-09, y: -0.258918
x: -1.05082e-09, y: -0.253459
x: -1.05084e-09, y: -0.248015
x: -1.05086e-09, y: -0.242585
x: -1.05086e-09, y: -0.237169
x: -1.05088e-09, y: -0.231766
x: -1.05088e-09, y: -0.226376
x: -1.05088e-09, y: -0.220999
x: -1.0509e-09, y: -0.215634
x: -1.05091e-09, y: -0.210281
x: -1.05092e-09, y: -0.20494
x: -1.05093e-09, y: -0.199611
x: -1.05094e-09, y: -0.194292
x: -1.05094e-09, y: -0.188985
x: -1.05094e-09, y: -0.183687
x: -1.05096e-09, y: -0.1784
x: -1.05096e-09, y: -0.173123
x: -1.05098e-09, y: -0.167855
x: -1.05098e-09, y: -0.162597
x: -1.04873e-09, y: -0.157347
x: -1.0463e-09, y: -0.152106
x: -1.04388e-09, y: -0.146873
x: -1.04146e-09, y: -0.141649
x: -1.03904e-09, y: -0.136432
x: -1.03665e-09, y: -0.131222
x: -1.03423e-09, y: -0.12602
x: -1.03186e-09, y: -0.120824
x: -1.02948e-09, y: -0.115635
x: -1.02714e-09, y: -0.110452
x: -1.02481e-09, y: -0.105275
x: -1.02251e-09, y: -0.100104
x: -1.02027e-09, y: -0.0949382
x: -1.01805e-09, y: -0.0897776
x: -1.01587e-09, y: -0.0846217
x: -1.01374e-09, y: -0.0794704
x: -1.01165e-09, y: -0.0743234
x: -1.00963e-09, y: -0.0691804
x: -1.00767e-09, y: -0.0640411
x: -1.00579e-09, y: -0.0589052
x: -1.004e-09, y: -0.0537725
x: -1.00233e-09, y: -0.0486426
x: -0.00987494, y: -0.0430857
x: -0.00876908, y: -0.0380538
x: -0.00764886, y: -0.0330131
x: -0.00651403, y: -0.0279631
x: -0.00536435, y: -0.0229034
x: -0.00419956, y: -0.0178333
x: -0.0030194, y: -0.0127525
x: -0.00182361, y: -0.00766041
x: -0.000611905, y: -0.00255652
x: -0.000611905, y: 0.00255652
x: -0.00182361, y: 0.00766041
x: -0.0030194, y: 0.0127525
x: -0.00419956, y: 0.0178333
x: -0.00536435, y: 0.0229034
x: -0.00651403, y: 0.0279631
x: -0.00764886, y: 0.0330131
x: -0.00876908, y: 0.0380538
x: -0.00987494, y: 0.0430857
x: -1.00233e-09, y: 0.0486426
x: -1.004e-09, y: 0.0537725
x: -1.00579e-09, y: 0.0589052
x: -1.00769e-09, y: 0.0640411
x: -1.00963e-09, y: 0.0691804
x: -1.01165e-09, y: 0.0743234
x: -1.01374e-09, y: 0.0794704
x: -1.01588e-09, y: 0.0846217
x: -1.01804e-09, y: 0.0897776
x: -1.02027e-09, y: 0.0949382
x: -1.02251e-09, y: 0.100104
x: -1.02481e-09, y: 0.105275
x: -1.02716e-09, y: 0.110452
x: -1.02949e-09, y: 0.115635
x: -1.03186e-09, y: 0.120824
x: -1.03423e-09, y: 0.12602
x: -1.03665e-09, y: 0.131222
x: -1.03904e-09, y: 0.136432
x: -1.04146e-09, y: 0.141649
x: -1.04388e-09, y: 0.146873
x: -1.0463e-09, y: 0.152106
x: -1.04873e-09, y: 0.157347
x: -1.05097e-09, y: 0.162597
x: -1.05098e-09, y: 0.167855
x: -1.05096e-09, y: 0.173123
x: -1.05096e-09, y: 0.1784
x: -1.05094e-09, y: 0.183687
x: -1.05095e-09, y: 0.188985
x: -1.05094e-09, y: 0.194292
x: -1.05093e-09, y: 0.199611
x: -1.05092e-09, y: 0.20494
x: -1.05091e-09, y: 0.210281
x: -1.05091e-09, y: 0.215634
x: -1.05089e-09, y: 0.220999
x: -1.05088e-09, y: 0.226376
x: -1.05088e-09, y: 0.231766
x: -1.05086e-09, y: 0.237169
x: -1.05084e-09, y: 0.242585
x: -1.05084e-09, y: 0.248015
x: -1.05082e-09, y: 0.253459
x: -1.05081e-09, y: 0.258918
x: -1.05081e-09, y: 0.264391
x: -1.05079e-09, y: 0.269879
x: -1.05077e-09, y: 0.275383
x: -1.05077e-09, y: 0.280903
x: -1.05075e-09, y: 0.286439
x: -1.05074e-09, y: 0.291991
x: -1.05072e-09, y: 0.297561
x: -1.0507e-09, y: 0.303148
x: -1.05069e-09, y: 0.308752
x: -1.05068e-09, y: 0.314375
x: -1.05066e-09, y: 0.320016
x: -1.05065e-09, y: 0.325676
x: -1.05063e-09, y: 0.331355
x: -1.05061e-09, y: 0.337054
x: -1.05059e-09, y: 0.342773
x: -1.05057e-09, y: 0.348512
x: -1.05055e-09, y: 0.354273
x: -1.05054e-09, y: 0.360055
x: -1.05052e-09, y: 0.365858
x: -1.0505e-09, y: 0.371684
x: -1.05048e-09, y: 0.377532
x: -1.05046e-09, y: 0.383404
x: -1.05043e-09, y: 0.389299
x: -1.05041e-09, y: 0.395218
x: -1.0504e-09, y: 0.401162
x: -1.05037e-09, y: 0.40713
x: -1.05035e-09, y: 0.413124
x: -1.05033e-09, y: 0.419144
x: -1.0503e-09, y: 0.42519
x: -1.05028e-09, y: 0.431263
x: -1.05025e-09, y: 0.437364
x: -1.05023e-09, y: 0.443493
x: -1.0502e-09, y: 0.44965
x: -1.05018e-09, y: 0.455836
x: -1.05015e-09, y: 0.462051
x: -1.05012e-09, y: 0.468297
x: -1.0501e-09, y: 0.474573
x: -1.05007e-09, y: 0.48088
x: -1.05004e-09, y: 0.48722
x: -1.05002e-09, y: 0.493591
x: -1.04998e-09, y: 0.499996
x: -1.04995e-09, y: 0.506434
x: -1.04993e-09, y: 0.512906
x: -0.000124008, y: 0.519349
x: -0.000490231, y: 0.525698
x: -0.000846441, y: 0.532084
x: -0.00119268, y: 0.538507
x: -0.00152901, y: 0.544968
x: -0.00185546, y: 0.551468
x: -0.00217208, y: 0.558008
x: -0.00247891, y: 0.564588
x: -0.002776, y: 0.571211
x: -0.00306337, y: 0.577875
x: -0.00334107, y: 0.584583
x: -0.00360915, y: 0.591335
x: -0.00386762, y: 0.598131
x: -0.00411653, y: 0.604974
x: -0.00435591, y: 0.611864
x: -0.00458579, y: 0.618802
x: -0.0048062, y: 0.625788
x: -0.00501718, y: 0.632825
x: -0.00521876, y: 0.639912
x: -0.00541095, y: 0.647051
x: -0.0055938, y: 0.654243
x: -0.00576732, y: 0.661489
x: -0.00593155, y: 0.668791
x: -0.0060865, y: 0.676148
x: -0.00623222, y: 0.683563
x: -0.00636871, y: 0.691036
x: -0.00352202, y: 0.70066
x: -0.00364722, y: 0.708272
x: -0.00377069, y: 0.71594
x: -0.0038923, y: 0.723667
x: -0.00401189, y: 0.731453
x: -0.00412931, y: 0.739299
x: -0.0042444, y: 0.747207
x: -0.00435699, y: 0.755178
x: -0.00446691, y: 0.763213
x: -0.00457397, y: 0.771315
x: -0.004678, y: 0.779484
x: -0.0047788, y: 0.787721
x: -0.00487617, y: 0.796029
x: -0.0049699, y: 0.804409
x: -0.00505977, y: 0.812862
x: -0.00514557, y: 0.82139
x: -0.00522705, y: 0.829995
x: -0.00530398, y: 0.838678
x: -0.00537611, y: 0.847442
x: -0.00544316, y: 0.856289
x: -0.00550488, y: 0.865219
x: -0.00556097, y: 0.874235
x: -0.00561114, y: 0.88334
x: -0.00565508, y: 0.892535
x: -0.00569247, y: 0.901822
x: -0.00572298, y: 0.911204
x: -0.00574627, y: 0.920683
x: -0.00576195, y: 0.930261
x: -0.00576967, y: 0.939941
x: -0.00576902, y: 0.949725
x: -0.0057596, y: 0.959617
x: -0.00574097, y: 0.969618
x: -0.00571268, y: 0.979732
x: -0.00567428, y: 0.989961
x: -0.0059317, y: 1
x: -0.0161683, y: 1
x: -0.0263026, y: 1
x: -0.0363368, y: 1
x: -0.0462727, y: 1
x: -0.0561125, y: 1
x: -0.0658579, y: 1
x: -0.075511, y: 1
x: -0.0850734, y: 1
x: -0.094547, y: 1
x: -0.103933, y: 1
x: -0.113235, y: 1
x: -0.122452, y: 1
x: -0.131587, y: 1
x: -0.140642, y: 1
x: -0.149618, y: 1
x: -0.158516, y: 1
x: -0.167339, y: 1
x: -0.176087, y: 1
x: -0.184762, y: 1
x: -0.193365, y: 1
x: -0.201897, y: 1
x: -0.210361, y: 1
x: -0.218756, y: 1
x: -0.227086, y: 1
x: -0.23535, y: 1
x: -0.24355, y: 1
x: -0.251687, y: 1
x: -0.259762, y: 1
x: -0.267777, y: 1
x: -0.275732, y: 1
x: -0.283629, y: 1
x: -0.291468, y: 1
x: -0.299251, y: 1
x: -0.306979, y: 1
x: -0.314653, y: 1
x: -0.322274, y: 1
x: -0.329842, y: 1
x: -0.337359, y: 1
x: -0.344825, y: 1
x: -0.352242, y: 1
x: -0.359611, y: 1
x: -0.366931, y: 1
x: -0.374205, y: 1
x: -0.381433, y: 1
x: -0.388615, y: 1
x: -0.395753, y: 1
x: -0.402848, y: 1
x: -0.4099, y: 1
x: -0.41691, y: 1
x: -0.423878, y: 1
x: -0.430806, y: 1
x: -0.437694, y: 1
x: -0.444543, y: 1
x: -0.451354, y: 1
x: -0.458127, y: 1
x: -0.464863, y: 1
x: -0.471562, y: 1
x: -0.478226, y: 1
x: -0.484855, y: 1
x: -0.49145, y: 1
x: -0.49801, y: 1
x: -0.504538, y: 1
x: -0.511033, y: 1
x: -0.517496, y: 1
x: -0.523928, y: 1
x: -0.530329, y: 1
x: -0.5367, y: 1
x: -0.543041, y: 1
x: -0.549354, y: 1
x: -0.555637, y: 1
x: -0.561893, y: 1
x: -0.568121, y: 1
x: -0.574322, y: 1
x: -0.580497, y: 1
x: -0.586646, y: 1
x: -0.592769, y: 1
x: -0.598868, y: 1
x: -0.604942, y: 1
x: -0.610992, y: 1
x: -0.617019, y: 1
x: -0.623023, y: 1
x: -0.629004, y: 1
x: -0.634963, y: 1
x: -0.6409, y: 1
x: -0.646817, y: 1
x: -0.652712, y: 1
x: -0.658587, y: 1
x: -0.664443, y: 1
x: -0.670278, y: 1
x: -0.676095, y: 1
x: -0.681893, y: 1
x: -0.687673, y: 1
x: -0.693436, y: 1
x: -0.69918, y: 1
x: -0.704908, y: 1
x: -0.710619, y: 1
x: -0.716314, y: 1
x: -0.721993, y: 1
x: -0.727657, y: 1
x: -0.733305, y: 1
x: -0.738939, y: 1
x: -0.744558, y: 1
x: -0.750164, y: 1
x: -0.755756, y: 1
x: -0.761334, y: 1
x: -0.766958, y: 0.99975
x: -0.772702, y: 0.998907
x: -0.778425, y: 0.99806
x: -0.784128, y: 0.997208
x: -0.789811, y: 0.996351
x: -0.795474, y: 0.995489
x: -0.800043, y: 1
x: -0.805529, y: 1
x: -0.811004, y: 1
x: -0.816469, y: 1
x: -0.821925, y: 1
x: -0.827372, y: 1
x: -0.83281, y: 1
x: -0.838239, y: 1
x: -0.843661, y: 1
x: -0.849074, y: 1
x: -0.85448, y: 1
x: -0.859879, y: 1
x: -0.865271, y: 1
x: -0.871271, y: 0.995245
x: -0.876513, y: 0.996151
x: -0.881757, y: 0.997065
x: -0.887004, y: 0.997989
x: -0.892255, y: 0.998922
x: -0.897509, y: 0.999865
x: -0.902848, y: 1
x: -0.908196, y: 1
x: -0.91354, y: 1
x: -0.918881, y: 1
x: -0.924218, y: 1
x: -0.929551, y: 1
x: -0.934882, y: 1
x: -0.94021, y: 1
x: -0.945537, y: 1
x: -0.950861, y: 1
x: -0.956183, y: 1
x: -0.961504, y: 1
x: -0.966824, y: 1
x: -0.972143, y: 1
x: -0.977462, y: 1
x: -0.982781, y: 1
x: -0.9881, y: 1
x: -0.993419, y: 1
x: -0.998739, y: 1
x: -1.00406, y: 1.00012
x: -1.00939, y: 1.00062

—
Reply to this email directly or view it on GitHub
https://github.com/RobotLocomotion/drake/issues/1712#issuecomment-184334692
.

It's a bit hard to see at these scales, but the laser is at the red star, and the returns are oddly symmetric:
lidar

and here is a zoom in on the bottom line....
lidar2

oops. lost the red star. lidar (raycast origin) is at (-1,0)

Very relevant to what I am working on right now. Thank you @RussTedrake for driving my attention to this. I'll take a look.

Here is a close up that I just made. The plot below shows distance as a function of angle. I run the same case but with a much smaller yaw range (-0.1 to 0.1) and I used 201 points (an odd number so I could see the zero angle case). The case is actually repeatable with different number of yaw points so I can run it with 5 points instead for easy debug. What the 201 points case shows is that there is a distinct point at which the plot breaks (see the data tips in the plot below). Break points are independent of range resolution.

At exactly zero angle the lidar return is correct.
lidarcloseup

The ray test happens deep inside bullet in btCollisionWorld.cpp:917 with the call to btCollisionWorld::rayTestSingle (in btCollisionWorld.cpp:262).
I simplified the problem to a single ray and I still get the wrong value. It looks like it is a bug within Bullet. I will write a very small bullet demo tomorrow outside drake with the same conditions to see if the problem persists.

Even deeper, Bullet is doing the final raycast with btSubsimplexConvexCast::calcTimeOfImpact at btSubSimplexConvexCast.cpp:38. There is some sort of iteration going on that I do not understand but clearly an overkill for ray-to-box test. And there is a very suspicious epsilon set to a quite large number of epsilon=0.0001. This is actually compared to the square of a distance which could explain the observed order of magnitude in the error.

Alejandro, if you can get this down to a simple demonstration of a Bullet problem we can get Erwin to take a look at it and probably get a quick fix. Let me know when you get to a point where you want him involved and I will attempt to pull him in.

After 8 (maxIter=56, it starts counting from 64) iterations in btSubsimplexConvexCast::calcTimeOfImpact the method returns with dist2=8.3221703372389529e-05 which is smaller than the required epsilon=0.0001.
As far as I know bullet has 3 implementations of ray/convex casting. Maybe we could tray using another implementation rather than btSubsimplexConvexCast?

@sherm1: that'd be really great! I'll work tomorrow in that little demo. From Drake I am working with only one box and one ray and I still have the problem. So I think it should be possible to write a simple Bullet test code that then Erwin can work with

@sherm1: I was working on the simple demo for Erwin and I found a solution to the problem (#2354). However I'll finish it up (I just have to clean it up now)because it'd be nice to have his input on this. Specially see if it'd be convenient to have the option to externally set this tolerance constant now buried deep inside Bullet.

I'm going to close this issue since https://github.com/RobotLocomotion/drake/pull/2354 was merged. Please re-open if this issue is not 100% resolved.

Was this page helpful?
0 / 5 - 0 ratings