Move SDF precomputation to the mujoco compiler.
Before: ``` Simulation time : 2.24 s Steps per second : 4472 Realtime factor : 8.94 x Time per step : 223.6 µs Newton iters / step : 2.47 Contacts / step : 3.37 Constraints / step : 13.49 Degrees of freedom : 12 Dynamic memory usage : 0.2% of 14M ``` After: ``` Simulation time : 1.71 s Steps per second : 5854 Realtime factor : 11.71 x Time per step : 170.8 µs Newton iters / step : 2.19 Contacts / step : 3.45 Constraints / step : 13.79 Degrees of freedom : 12 Dynamic memory usage : 0.2% of 14M ``` PiperOrigin-RevId: 781075182 Change-Id: Ie509047ff581ab0df4b10bbd394c27d350ab5a13
This commit is contained in:
committed by
Copybara-Service
parent
a3d251f552
commit
96118da08b
@@ -222,6 +222,7 @@ struct mjCOctree_ {
|
||||
std::vector<int> child_; // children of each node (nnode x 8)
|
||||
std::vector<double> node_; // bounding boxes (nnode x 6)
|
||||
std::vector<int> level_; // levels of each node (nnode x 1)
|
||||
std::vector<double> coeff_; // interpo coefficients (nnode x 8)
|
||||
std::vector<Triangle> face_; // mesh faces (nface x 3)
|
||||
double ipos_[3] = {0, 0, 0};
|
||||
double iquat_[4] = {1, 0, 0, 0};
|
||||
@@ -246,6 +247,8 @@ class mjCOctree : public mjCOctree_ {
|
||||
level_.clear();
|
||||
face_.clear();
|
||||
}
|
||||
void AddCoeff(double coeff) { coeff_.push_back(coeff); }
|
||||
const std::vector<double>& Coeff() const { return coeff_; }
|
||||
|
||||
private:
|
||||
void Make(std::vector<Triangle>& elements);
|
||||
|
||||
Reference in New Issue
Block a user