| 18 | |
| 19 | |
| 20 | class SimulationArgs(tap.Tap): |
| 21 | horizon: int = 1000 |
| 22 | dt: float = 1e-3 |
| 23 | contact_solver: str = "ADMM" # set to PGS or ADMM |
| 24 | maxit: int = 100 # solver maxit |
| 25 | tol: float = 1e-6 # absolute constraint solver tol |
| 26 | tol_rel: float = 1e-6 # relative constraint solver tol |
| 27 | warm_start: int = 1 # warm start the solver? |
| 28 | mu_prox: float = 1e-4 # prox value for admm |
| 29 | material: str = "metal" # contact friction |
| 30 | compliance: float = 0 |
| 31 | max_contacts_per_pair: int = 4 |
| 32 | mujoco: bool = False |
| 33 | Kp: float = 0 # baumgarte proportional term |
| 34 | Kd: float = 0 # baumgarte derivative term |
| 35 | seed: int = 1234 |
| 36 | random_init_vel: bool = False |
| 37 | display: bool = False |
| 38 | display_traj: bool = False |
| 39 | solve_ccp: bool = False |
| 40 | debug: bool = False |
| 41 | debug_step: int = -1 |
| 42 | dont_stop: bool = False |
| 43 | admm_update_rule: str = "spectral" |
| 44 | ratio_primal_dual: float = 10 |
| 45 | tau: float = 0.5 |
| 46 | rho: float = 10.0 |
| 47 | rho_power: float = 0.05 |
| 48 | rho_power_factor: float = 0.05 |
| 49 | lanczos_size: int = 3 |
| 50 | linear_update_rule_factor: float = 2 |
| 51 | |
| 52 | |
| 53 | def setupSimulatorFromArgs(sim: simple.Simulator, args: SimulationArgs): |
no outgoing calls
no test coverage detected