-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathCHANGES
3038 lines (2568 loc) · 93.1 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
r576
----
- Fixed bug with mini callbacks on EventDrivenSimulator
r575
----
- SVD methods now more robust; if one SVD fails, a different algorithm will be
tried
r574
----
- Fixed tolerance bug in Optimization::qp_convex_activeset()
- Added post-step callbacks to Simulator and EventDrivenSimulator
r573
----
- CylinderPrimitive::intersect_seg() should now be more robust when a point
is already inside the cylinder
r572
----
- Fixed bug in PSDeformableBody (springs were not being created, because
set_mesh() was never called in load_from_xml()) and DeformableCCD (broad
phase was not updating for deformable bodies)
r571
----
- Fixed Dan's fixes relating to "q-tare" and initial joint values for q
r570
----
- Fixed bug for regularized Lemke solver during which (occasionally), a
solution would be within tolerance for the equilibrated problem but not for
the original problem
r560
----
- Fixed some bugs in regularized LCP solver
r559
----
- Removed MatrixNN
- LinAlg::pseudo_inverse() and LinAlg::solve_LS_fast() now more efficient
- Optimization::lcp_lemke_regularized() should now be more robust
r558
----
- Fixed bug in applying impulses to rigid bodies (RigidBody::update_velocity())
r557
----
- Fixed bugs in BlockIterator
- Updated LinAlg to give correct Q and R matrices from QR factorization
- Updated LinAlg to implement QR factorization updates (not working)
- Matrix multiplication mechanics now changed to be more abstract (underlying
arithmetic still done via BLAS)
- Added triangular solve to CBLAS
- Active-set QP solver now faster
r556
----
- Significant updates to optimization code
- Added iterators for block matrix code
r555
----
- Fixed bug in computing real event times
r554
----
- Added "true" time to events for proper processing
r553
----
- Fixed issues with Zeno points and simplified Zeno point handling mechanism
r552
----
- Altered Zeno point handling mechanism and removed semi-implicit integration
- Fixed Runge-Kutta-Fehlberg integrator
r551
----
- Bugfixes to the bugfixes to the previous bugfix (should now be working)
r550
----
- Bugfixes to the previous bugfix (still broken)
r549
----
- Major bugfix: event checking should now work properly independent of
integrator type
r548
----
- Geometric primitives no longer report intersection if a point is
interpenetrating (but on its way out of the primitive)
r547
----
- Fixed dynamics bugs for multi-branch bodies in independent coordinates
r546
----
- Fixed build bug with Optimization.cpp when built using OMP
r545
----
- Bugfixes to CRBAlgorithm for floating bases
r544
----
- Fixed bug in CRBAlgorithm - inertias were not being computed properly
r543
----
- Fixed bug in CRBAlgorithm inertia matrix inverse call from RCArticulatedBody
r542
----
- Added option to build Moby as threadsafe and to simplify openmp support
r541
----
- Fixed bug in PSDeformableBody for computing contact events
r540
----
- DeformableBody should now be more efficient (simpler and likely bugfixed too)
r539
----
- Modifications to parallelized version of O(n^2) inversion
r538
----
- Fixed bug in loading PSDeformableBody objects from XML
r537
----
- Fixed bug in inertia update for TriangleMeshPrimitive
r536
----
- Added convexify-inertia attribute to TriangleMeshPrimitive to allow for
using the convex hull of a triangle mesh for purposes of inertial property
calculation
r535
----
- Modified qp_convex_activeset(): should be faster and now takes account of
bounds constraints
r534
----
- MCArticulatedBody (standard joint friction model) works properly again
r533
----
- Small bugfix to event handling for joint limits for articulated bodies
r532
----
- Bugfix to PSDeformableBody::load_from_xml() - node indices were not being
read properly
- Fixed bug with driver and offscreen rendering
r531
----
- Bugfix to DeformableBody's not having their collision geometries serialized
- Kinematic now saves viewing options
r530
----
- Serialization bugfixes
r529
----
- Output bugfixes
r528
----
- Bugfix for PSDeformableBody contact events
r527
----
- SQP now working
r526
----
- Updated banditII simulation (example/banditII.xml)
r525
----
- Compilation-related bugfixes
r524
----
- Updated Kinematic
r523
----
- Fixed bug with OSGGroupWrapper
- Updated banditII arm examples
r522
----
- Default number of friction cone edges for contacts is now 2 (making it harder
to inadvertently trigger SQP solver)
r521
----
- Fixed bug in ImpactEventHandler (QP solution): impulses were not retrieved
properly
r520
----
- Fixed visualization problems
r519
----
- SQP algorithm still does not work properly
- Updated ImpactEventHandler with new methods
r518
----
- Fixed bug with CSG displaying improperly
r517
----
- Fixed bug with supports in CRBAlgorithm
r516
----
- Fixed major bug in computing dynamics: forces were only being accumulated
but never reset
r515
----
- Implementation finished (not tested) of impacts/events with new joint friction
model
r514
----
- Fixed bug in graphics output with driver using -y option
r513
----
- Fixed potential bugs in SQP
r512
----
- Added sequential quadratic programming method to Optimization
r511
----
- Joint friction model more robust for loops (hopefully)
r510
----
- Updated joint friction model for bodies with loops
- Updated QP impact model
r509
----
- Fixed dynamics for RCABs with loops
- Hessian calculation for joint friction model is now closed form (fast)
- driver no longer opens a window when "-r" option not used
r508
----
- Joint friction model works properly on RCArticulatedBody's w/o loops
- Gradient calculation for joint friction model is now closed form (fast)
- **** Dynamics is BROKEN for RCAB's with loops ****
r507
----
- Reverted nullspace computation
- Fixed RCArticulatedBody forward dynamics computation when no explicit
constraints are present
- MCArticulatedBody forward dynamics computation updated to reflect changes
in ArticulatedBody
- added line in CMakeLists.txt to build plugin (optional)
- RCArticulatedBody and MCArticulatedBody do not use new dynamics model by
default
r506
----
- Updated RCArticulatedBody forward dynamics algorithm to properly account
for joint friction (NOTE: it uses numerical differentiation and is currently
quite slow)
- MCArticulatedBody forward dynamics is now broken
r505
----
- Fixed bug in TriangleMeshPrimitive
- Added features to driver to enable reading parameters/options from XML
r504
----
- Fixed creation of triangle meshes for OSG visualization
r503
----
- Fixed viewer to work with OSG
r502
----
- Implemented new dynamics model for absolute coordinate articulated bodies
r501
----
- Fixed bug in PSDeformableBody.cpp
r500
----
- Fixed joint friction model (sliding friction, loopless) for forward dynamics
in independent coordinates
r499
----
- Fixed MCArticulatedBody calc_fwd_dyn()
r498
----
- Updated joint friction model for forward dynamics in independent coordinates
r497
----
- Verified proper computation of Dx in MCArticulatedBody; fixed forward
dynamics to no longer treat sticking / non-sticking friction separately
(Jx, Dx are *not* respective nullspaces)
r496
----
- Fixed computation of Dx in MCArticulatedBody?
r495
----
- Fixed computation of Dx in RCArticulatedBody
r494
----
- Continued bugfixes for joint friction in forward dynamics
r493
----
- Some bugfixes for joint friction in forward dynamics
r492
----
- Completed cmake provisions, transition to OpenSceneGraph partially complete
r491
----
- Incomplete cmake provisions, transition to OpenSceneGraph
r490
----
- Corrected implementation of changes in r489
r489
----
- Implemented joint friction for articulated bodies in absolute coordinates
in absence of events
- Partially implemented kinematic loops for articulated bodies in reduced
coordinates
r488
----
- Bugfixes to FSAB-based inverse generalized inertia algorithm
r487
----
- Faster inverse generalized inertia matrix computations as well as good
opportunities for parallelization
r486
----
- Bugfixes to event handling
r485
----
- Incorporated Alistair's priority queue modifications to C2ACCD
r484
----
- Moby 3.0 (alpha)
- FSAB and CRB algos are now objects for each RCAB rather than derived from
Base class
- Getting inverse generalized inertia matrix works w/both CRB and FSAB algos
- Spatial arithmetic now computed much more quickly for reduced coordinate
bodies
- Absolute coordinate bodies bug-fixed
r483
----
- NOTE: does not compile!
- Making generalized coordinates variable (axis-angle or Rodrigues)- this
should speed things considerably
- Added classes for faster spatial algebra computation
r482
----
- Fixed some bugs in CRBAlgorithm and RCArticulatedBody with regard to
events
- MCArticulatedBody does not currently work
- FSABAlgorithm::apply_generalized_impulse() now works for bodies with
non-floating bases (using CRBAlgorithm for check)
- Updated FSABAlgorithm to take account of floating bases for generalized
impulses
r481
----
- Limits w/friction works (at least on RCArticulatedBody types)
- Added method for applying generalized impulse using FSABAlgorithm
(doesn't necessarily work yet!)
r480
----
- Added Poisson restitution to ImpactEventHandler
- Fixed bug in computing AABB from SSL
- Added speedup to C2A collision detector
r479
----
- Debugged Jacobian computation for MCArticulatedBody
r478
----
- Transition to Moby 3.0
r477
----
- Joint friction now works for MCArticulatedBody
- Added method for computing joint friction to CRBAlgorithm (implemented, but
not debugged, and not activated)
- Fixed bugs with joint axes being in inboard frame for maximal-coordinate
joint implementations and being in outboard frame for reduced-coordinate
implementations; SphericalJoint and UniversalJoint have *not* been fixed
r476
----
- Removed some compile warnings
- Added general matrix multiplication routines to Matrix3
- Added method in ArticulatedBody to find first joint limit violation
- Fixed FixedJoint::determine_Q(); now does essentially nothing
- Joints no longer use pointers to spatial axes in global frame
r475
----
- Fixed bugs in PSDeformableBody integration
- MCArticulatedBody now works with new generalized coordinate formulation
- Higher order integrators now work correctly
r474
----
- Anitescu-Potra restitution model now working with new generalized coordinate
scheme
r473
----
- Generalized coordinates functional but Anitescu-Potra restitution not
working
r472
----
- Still working on transition to generalized coordinates (not functional)
r471
----
- Fixed bug with RCArticulatedBody not updating base generalized coordinates
r470
----
- Transitioned to using generalized coordinates exclusively (rather than the
old, Baraff-type approach); generalized coordinates formulated using unit
quaternions. NOTE: there seems to be an issue with reduced-coordinate articulated
bodies.
r469
----
- Introduced new modified Gaussian-elimination based algorithm for contact reduction
- Anitescu-Potra now uses regularization in solving contact problems
r468
----
- PSDeformableBody's were not being integrated properly; fixed that
- Anitescu-Potra solver was not applying friction; fixed that
r467
----
- Fixed bug in AnitescuPotraSolver (new model): was trying to use upper
triangular Cholesky factorization in a lower triangular solving method
- Optimization::optimize_convex_pd() should now be more robust w.r.t.
satisfying inequality constraints (at the expense of some speed)
- Added Optimization::qp_convex_ip() for solving convex quadratic programming
problems using an interior-point solver
- QpRestitutionModel is currently in a state of flux
r466
----
- Added QpRestitutionModel back to XMLReader
- QpRestitutionModel now attempts to eliminate redundant contact points
- LinAlg::pseudo_inverse() can now be passed the output matrix as an argument
- LinAlg::pseudo_inverse() is now much faster for non-square matrices (UNTESTED)
- Reverted changes to CvxOptRestitutionModel
- A-P contact model now reports change in work
- Nearly all LCP solvers (iterative, Lemke) have been improved w.r.t. speed
- LCP solvers no longer verify that constraints are met to within tolerances;
that is up to the calling application
r465
----
- Fixed some bugs in DeformableBody code
r464
----
- Re-added QpRestitutionMode; several bugfixes
- Possible bugfix to TriangleMeshPrimitive::create_visualization()
- Added methods for doing convex quadratic programming through LCP duality
r463
----
- Fixed another bug with the Lemke LCP solver
r462
----
- Enumerative LCP solver no longer called when Lemke solver fails
- Changed matrix inversion to a much faster and much more stable
triangular matrix solver for Anitescu-Potra method
- Bugfix in Optimization::lcp_lemke()
- Minor bugfixes / alterations to Optimization::lcp_lemke(), AnitescuPotra
model / solver, LinAlg, and PathLCPSolver (specifically, PATH interface
now permits epsilon tolerance option)
r461
----
- Refactored geometric primitive code; should be more robust
- Added DeformableCCD collision detector
- CSG primitive is now more robust
r460
----
- CylinderPrimitive made more robust for collision detection purposes
r459
----
- Fixed bug caused by gcc: having same class- defined in source (rather than
header) files- would cause problems with virtual derived classes
- Fixed bugs in point_inside() and intersect_seg() methods for BoxPrimitive
and incorporated intersection tolerance
- Fixed bug in GeneralizedCCD: contact points and normals were computed in
a body's frame at t0 rather than at tc (the time of contact)
- Fixed bug in ImpulseContactSimulator::find_TOI() - integrating invalidates
contact map (the invalidation is now accounted for)
- Fixed bug in OBB::intersect_seg() - point of intersection now accounts for
position of OBB center
- Fixed bug in RCArticulatedBody::calc_jacobian_column() - state of articulated
body was inadvertently altered
- Made RCArticulatedBody::apply_impulse() more efficient - now does nothing
if zero impulse is applied
r458
----
- Modified vector and matrix copy() function to copy_from() - more descriptive
- Modified sphere, cylinder, cone, box primitives to allow edge sampling
r457
----
- Updated AltCvxOptRestitutionModel - now uses joint constraint forces to
determine joint friction model
r456
----
- Added methods for multiplication to SparseMatrixN
- Updated AltCvxRestitutionModel
r455
----
- Fixed bug in CvxOptRestitutionModel that could permit interepenetration
- Added AltCvxOptRestitutionModel (not fully incorporated or finished)
r454
----
- Added impulse-based dampening via generalized coordinates
- Predictions by generalized coordinates now match predictions by impulse
application and measurement
- Convex optimization now uses least squares optimization when solving singular
system (rather than ridge regression)
- Added methods for computing (K,u) to CollisionMethod (K is inverse contact
space inertia matrix coupled with inverse generalized inertia matrices)
- Fixed bug in virtual vertex generation for cylinder primitive
- CRBAlgorithm and FSABAlgorithm now call methods to prepare articulated body
for impulse application; this is considerably slower but safer
r453
----
- line segment/cylinder intersection is now more robust
- virtual vertices now generated at endcaps of cylinder too
r452
----
- SpherePrimitive now checks for interior point in intersect_seg
- CSG now determines its own vertices- no mesh is necessary
- CSG now takes transforms into account when doing line seg intersection
r451
----
- ContactSimulator::collision_tolerance is now fed into the collision methods
r450
----
- Fixed bug in determining vertices for cylinder
r449
----
- GeneralizedCCD now takes relative collision geometry transforms into account
- BoxPrimitive segment intersection now takes relative primitive transforms
into account
- FixedJoint now works with rigid bodies that have been transformed in the
XML file
- interior-point LCP method now checks for tolerances met (early termination
check)
r448
----
- Fixed small bugs in CylinderPrimitive (point inside query)
r447
----
- Optimized symmetric iterative LCP solver
- projected gradient LCP solver now checks for solution intermittently
- CvxOptRestitutionModel now utilizes multiple LCP solvers
- Fixed bug in Cylinder/line segment intersection
r446
----
- Fixed bugs in CSG and generic BV intersection codes
- Optimized Optimization::qp() slightly
r445
----
- Fixed bugs in xPrimitive (except TriangleMeshPrimitive, for which no bug
was present) relating to double transforming
- Fixed bug in C2ACCD related to collision geometries having relative
transformations
- C2ACCD now only checks geometries that have been specifically assigned
r444
----
- Added SparseMatrix/Vector classes
r443
----
- Removed method for determining nonredundant contacts
r442
----
- Bugfix to method for determining nonredundant contacts
r441
----
- Added method for determining nonredundant contacts and removed max-points
points attribute from ContactData
r440
----
- MeshDCD has been reverted to old line segment intersection code
- Edge subsampling for primitives has been added
r439
----
- Euler angles were not being updated on set_position_state()
- CompGeom::intersect_seg_plane() was reporting incorrect results
- MeshDCD still does not work robustly
r438
----
- MeshDCD now uses edge-based intersection
r437
----
- Made variables static for extra speed, where possible and appropriate, when
not using multithreading (_OPENMP not defined)
- Changed the way that the contact map is handled in ContactSimulator,
ImpulseContactSimulator, and CvxOptTimeStepper: the contact map is now
managed by ContactSimulator (including contact removal)
- CvxOptTimeStepper now uses the collision detection updating system to speed
performance
- Replaced my rotating caliper's algorithm implementation with a modified
version of Dave Eberly's implementation; seems to be more robust
- Added method for computing optimal lower dimensional OBBs
- Added method for computing minimal OBBs
r436
---
- C2A collision detector is more robust
r435
---
- Added SSR bounding volume type
- Added C2A collision detector
r434
----
- Bodies now take care of their own integration to simplify introduction
of velocity-level (or even position-level) dynamics
r433
----
- Fixed bug in CompGeom::intersect_seg_plane(); when segment was of really
small length, intersect_seg_plane() would report that the segment was
parallel to the plane
r432
----
- Added bouncing sphere example
r431
----
- MeshDCD now eliminates contacts with degenerate normals
- Added bouncing-sphere example
r430
----
- Increased speed of qp_projgrad()
r429
----
- Fixed bug in DeformableBody related to visualization and resulting from
last commit
- Sped up DeformableBody performance
- PSDeformableBody default-kp/default-kv parameters added to XML
- Updated documentation for deformable bodies
r428
----
- Sped up loading deformable model state in DeformableBody
r427
----
- Sped up finding tetrahedra procedure in DeformableBody
r423
----
- Modified Moby to support deformable body mechanics (currently mass-spring
systems only)
******
Port to stable/unstable system
******
r414
----
- Fixed bug in BV::intersects() related to bounding sphere / OBB intersections
- Reverted change to Optimization::qp_gradproj() that solved to such high
tolerances
- CSG now can use loaded meshes instead of having to do operation
r413
----
- ImpulseContactSimulator now steps to TOI before checking whether contact
is impacting
- Fixed bug in determining AABB of transformed OBB
- RigidBody::set_transform() now updates Euler angles too
- Optimization::qp_gradproj() now solves to closer tolerances
r412
----
- Polyhedron Boolean operations now work properly; added CSG and AABB classes
r411
----
- Added polyhedron Boolean operation methods; various bugfixes
r410
----
- Fixed bug in GeneralizedCCD where occasionally BVH traversal would stop
prematurely
r409
----
- Moved collision detection timing to ContactSimulator
r408
----
- Implemented some sparse matrix optimizations to CvxOptTimeStepper
r407
----
- Sped CvxOptTimeStepper when zero convex optimization BFGS iterations are used
r406
----
- Fixed bug with SpherePrimitive::intersect_seg()
- Added intersection_tolerance to all primitives (only implemented in Sphere,
Box, and TriangleMesh currently)
- Heavily modified CvxOptTimeStepper
- Sped LinAlg::pseudo_inverse() of square matrices
r405
----
- Made CvxOptTimeStepper more efficient
r404
----
- AnitescuPotraRestitutionModel no longer uses enumerative LCP solver
(change was accidentally committed)
- Convex optimization routines now use indices to determine which objective /
constraint function to compute
- CvxOptTimeStepper has been optimized and now uses method 2 (no stabilization):
stabilization seems to require a different parameterization
r403
----
- Updated Optimization::lcp_enum() to no longer use an evaluation function and
AnitescuPotraRestitutionModel to check for energy gain
r402
----
- Optimization::lcp_enum() now takes advantage of multiprocessor systems using
OpenMP
r401
----
- CvxOptTimeStepper now uses BFGS algorithm for large scale stepping
r400
----
- Updated Moby to work with pkg-config
- Updated Moby to work with Qt4 on OS X
- SConstruct now produces a pkg-config file
r399
----
- Fixed bugs in BFGS implementation
- Made line search algorithm for robust
r398
----
- Added BFGS to Optimization
r397
----
- Added More'-Thuente line search to Optimization
r396
----
- Moby now converted to QT4 - scons does not support QT4 so Kinematic must
be built manually
r395
----
- Convex optimization now uses far less memory
r394
----
- Collision detection now uses sweep and prune for faster broad phase
r393
----
- Joint friction model now incorporates step size for correct coefficient
selection and uses Polyak's algorithm for speed improvements over interior
point method
- Bugfixes to Polyak's algorithm implementation
r392
----
- Optimized collision detection routines considerably by eliminating testing
of vertices multiple times
r391
----
- Optimized collision detection routines using Shark
r390
----
- Fixed Qt-related crashing bug that emerged with newer versions of Qt
- CvxOptTimeStepper now uses analytical gradient/Hessian in place of numerical
versions
r389
----
- Changed template filename for output of VRML files - number in sequence is
now before time
- Fixed bug in RigidBody::get_generalized_inertia() - angular part of inertia
matrix was not being transformed as it should have
- Added time stepping method (CvxOptTimeStepper)
r388
----
- Fixed bug that was causing incorrect inverse dynamics calculation in
RNEAlgorithm
- Fixed bug that was causing incorrect forward dynamics calculation for
tree-structured bodies in FSABAlgorithm
- Fixed bug that was causing incorrect generalized inertia matrix calculation
in RCArticulatedBody
- Added more stable impulse-based joint friction model
r387
----
- Fixed bug in RCArticulatedBody::calc_generalized_inertia() - inertia was
not being correctly calculated on subsequent calls
r385
----
- Added square dampening terms to DampingForce
- GeneralizedCCD now assumes that bodies are not in contact
r384
----
- Contact impulses can now be obtained via a post-impulse callback function
- Made some changes to facilitate operation in arbitrary precision calculations
- Moby now links against SoQt3 rather than generic SoQt; this was causing
segfaults on systems with SoQt4 and both Qt3 and Qt4.
- Added ODEPACK support
r383
----
- Quat::epsilon_equals() did not correctly report that a quaternion was
equal to its conjugate; that has been changed
- Removed missing .inl targets from SConstruct
r382
----
- Added arbitrary precision arithmetic option to Moby
r381
----
- Fixed minor bug in QpRestitutionModel
r380
----
- Fixed bug that was causing collision tolerance to be unspecified for
TriangleMeshPrimitive
- Re-incorporated QpRestitutionModel into the build
- Made Optimization::qp() more robust and slightly faster
- QpRestitutionModel now uses poisson-type restitution
r379
----
- Kinematic now longer crashes when no joint limits are given
r378
----
- Points now uniformly distributed on sphere in SpherePrimitive.cpp
- Added adjust-center program to examples
- Fixed bug in determining initial feasible point for use_lcp_solver=true in
CvxOptRestitutionModel
- Primitive::create_visualization() now uses a random color for objects
- Fixed bug in OBB expansion (OBB::calc_vel_exp_BV())
- Added DampingForce to recurrent forces
- Fixed bug in AnitescuPotraRestitutionModel: normals were not being computed
correctly for rigid bodies
r376
----
- Altered scons build to not install example/view if USE_INVENTOR is false
r375
----
- Multistep integrators now work properly
- CvxOptRestitutionModel will now use alternative method for finding feasible
point if primary method fails
- Transitioned license file (COPYING) to LGPL v2.1
r374
----
- Fixed bug in CvxOptRestitutionModel
- CvxOptRestitutionModel now uses Poisson-based restitution model (should be
energetically consistent, though this has not been verified)
- Added parameters.txt to explain the effect of the various parameters upon
the simulation
- Added 'install' option to SCons build
r372/r373
----
- Fixed build problem
r371
----
- Added install option to SCons build
>>>>>>> .r374
r370
----
- Fixed improper operation of variable step Euler integrator
r369
----
- Added variable step Euler integrator (VariableEulerIntegrator)
r368
----
- SConstruct file was looking for Qt during configure process even when
USE_INVENTOR=false; fixed
r367