(
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,
)
| 52 | |
| 53 | |
| 54 | def createSimulator( |
| 55 | model: pin.Model, |
| 56 | geom_model: pin.GeometryModel, |
| 57 | max_num_contacts: int = 4, |
| 58 | tol: float = 1e-8, |
| 59 | tol_rel: float = 1e-12, |
| 60 | mu_prox: float = 1e-4, |
| 61 | maxit: int = 1000, |
| 62 | Kp: float = 0.0, |
| 63 | Kd: float = 0.0, |
| 64 | ): |
| 65 | data = model.createData() |
| 66 | geom_data = geom_model.createData() |
| 67 | simulator = simple.Simulator(model, data, geom_model, geom_data) |
| 68 | simulator.admm_constraint_solver_settings.absolute_precision = tol |
| 69 | simulator.admm_constraint_solver_settings.relative_precision = tol_rel |
| 70 | simulator.admm_constraint_solver_settings.max_iter = maxit |
| 71 | simulator.admm_constraint_solver_settings.mu = mu_prox |
| 72 | simulator.constraints_problem.setMaxNumberOfContactsPerCollisionPair( |
| 73 | max_num_contacts |
| 74 | ) |
| 75 | simulator.constraints_problem.Kp = Kp |
| 76 | simulator.constraints_problem.Kd = Kd |
| 77 | return simulator |
| 78 | |
| 79 | |
| 80 | model = pin.buildModelFromMJCF(f"{current_dir}/robots/go2/mjcf/go2.xml") |
no test coverage detected