(
model: pin.Model,
geom_model: pin.GeometryModel,
max_num_contacts: int = 4,
tol: float = 1e-8,
tol_rel: float = 1e-12,
mu_prox: float = 1e-4,
maxit: int = 1000,
Kp: float = 0.0,
Kd: float = 0.0,
)
| 17 | |
| 18 | |
| 19 | def createSimulator( |
| 20 | model: pin.Model, |
| 21 | geom_model: pin.GeometryModel, |
| 22 | max_num_contacts: int = 4, |
| 23 | tol: float = 1e-8, |
| 24 | tol_rel: float = 1e-12, |
| 25 | mu_prox: float = 1e-4, |
| 26 | maxit: int = 1000, |
| 27 | Kp: float = 0.0, |
| 28 | Kd: float = 0.0, |
| 29 | ): |
| 30 | data = model.createData() |
| 31 | geom_data = geom_model.createData() |
| 32 | simulator = simple.Simulator(model, data, geom_model, geom_data) |
| 33 | simulator.admm_constraint_solver_settings.absolute_precision = tol |
| 34 | simulator.admm_constraint_solver_settings.relative_precision = tol_rel |
| 35 | simulator.admm_constraint_solver_settings.max_iter = maxit |
| 36 | simulator.admm_constraint_solver_settings.mu = mu_prox |
| 37 | simulator.constraints_problem.setMaxNumberOfContactsPerCollisionPair( |
| 38 | max_num_contacts |
| 39 | ) |
| 40 | simulator.constraints_problem.Kp = Kp |
| 41 | simulator.constraints_problem.Kd = Kd |
| 42 | return simulator |
| 43 | |
| 44 | |
| 45 | model = pin.buildModelFromMJCF(f"{current_dir}/robots/go2/mjcf/go2.xml") |
no test coverage detected