https://github.com/sueda/eol-cloth
Revision d72a5eeeae52834e31de561f8e0dc6f2dac4cf4e authored by Nick Weidner on 07 August 2018, 22:52:55 UTC, committed by Nick Weidner on 07 August 2018, 22:52:55 UTC
1 parent 33e6b1d
Tip revision: d72a5eeeae52834e31de561f8e0dc6f2dac4cf4e authored by Nick Weidner on 07 August 2018, 22:52:55 UTC
Added fixed points, and did a lot of cleanup
Added fixed points, and did a lot of cleanup
Tip revision: d72a5ee
simulationSettings.json
// EOL Cloth simulation settings
// Not including a setting will fall back to its default
{
// Use either "mosek" or "gurobi". Make sure you've compiiled with the specified solver enabled
// This can be left undefined in which case Eigen solvers will be used, but simulations must be collision free
"solver": "mosek",
"timestep": 0.5e-2, // Defaults to 0.5e-2
"gravity": [0.0, 0.0, -9.8], // Defaults to -9.8 in the Z direction
"REMESH": true, // Defaults to false. The remeshing settings should be set if this is on.
"EOL": true, // Defaults to false. This on forces Remeshing on
// The default cloth is 1m x 1m, centerd at (0.5,0.5,0.0), with a 2 points x 2 points resolution
"Cloth": {
"cloth_obj": "", // This takes priority if an obj is specialized and init is defined
// Used in absence of a cloth obj
"init": {
"initial_cloth_res": [3, 3],
"corner1": [0.0, 0.0, 0.0],
"corner2": [1.0, 0.0, 0.0],
"corner3": [0.0, 1.0, 0.0],
"corner4": [1.0, 1.0, 0.0]
},
"Material": {
"density": 0.05, // Kg
"youngs": 50.0,
"poissons": 0.01,
"stiffness": 1.0e-5,
"damping": [0.0, 1.0]
},
// The inclusion of Remeshing in the settings file means to sim with it
"Remeshing": {
"refine_angle": 0.3,
"refine_compression": 0.005,
"refine_velocity": 0.5,
"size": [320e-3, 350e-3], // These are the main bounds that changes the overall resolution
"aspect_min": 0.2
},
// The corner points can be fixed or given a scripted motion
// 1 for the first three values turns on fix/script along the x,y,z axis
// The number of the second three values is the set velocity of that point along that axis, i.e. 0 is fixed
// When is the the point in simulation seconds the fixed parameters should change
"Fixed": {
"0": {
"when": 0,
//"corner1": [1, 1, 1, 0, 0, 0],
//"corner2": [1, 1, 1, 0, 0, 0],
"corner3": [1, 1, 1, 0, 0, 0],
"corner4": [1, 1, 1, 0, 0, 0]
},
"1": {
"when": 0.5,
//"corner1": [1, 1, 1, 0, 0, 0],
//"corner2": [1, 1, 1, 0, 0, 0],
"corner3": [1, 1, 1, 0.2, 0, 0],
"corner4": [1, 1, 1, 0.2, 0, 0]
}
}
},
// Obstacles can include points, boxes, or both
// Either can be loaded from an external file, defined here, or both
"Obstacles": {
"threshold": 5e-3,
"points_file": "",
"points": [
[0.51, 0.585, -10.001,
0.0, 0.0, 1.0]
],
"box_file": "",
"boxes": [
//[0.45, 0.45, 0.5,
//0.4425, 0.4425, -0.249,
//0.0, 0.0, 0.0,
//0.0, 0.0, 0.0]
[1.0, 1.5, 1.0,
0.9525, 0.4425, -0.549,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0]
]
}
}
Computing file changes ...