https://github.com/sueda/eol-cloth
Tip revision: cc8f24eef81283c541b859c05dd8ceed7813271f authored by Shinjiro Sueda on 15 October 2019, 01:48:02 UTC
Update README.md
Update README.md
Tip revision: cc8f24e
simulationSettingsBox.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": "gurobi",
"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": {
// Only 3 corners of format [x ,y, z, X, Y]
"init": {
"initial_cloth_res": [3, 3],
"corner1": [0.0, 0.0, 0.0, 0.0, 0.0],
"corner2": [1.0, 0.0, 0.0, 1.0, 0.0],
"corner3": [0.0, 1.0, 0.0, 0.0, 1.0],
"corner4": [1.0, 1.0, 0.0, 1.0, 1.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 time 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.35,
//"corner1": [1, 1, 1, 0, 0, 0],
//"corner2": [1, 1, 1, 0, 0, 0],
"corner3": [1, 1, 1, 0.1, 0, 0],
"corner4": [1, 1, 1, 0.1, 0, 0]
}
}
},
// Obstacles can include points, boxes, or both
// Either can be loaded from an external file, defined here, or both
"Obstacles": {
// Collision threshold
"threshold": 5e-3,
// Point definitions comma seperated
// Each instance of a point follows the structure [x y z xn yn zn]
// The x,y,z values are the location of the point
// The xn,yn,zn values are the points normal direction
"points": [
],
// Box definitions comma seperated
// Each instance of a box follows the structure [x y z xs xy xz xv yv zv xw yw zw]
// The x,y,z values are the center of the point
// The xs,ys,zs values are the scale along each local axis
// The xv,yv,zv values are the velocity along that local axis
// The xw,yw,zw values are the angular velocity around that local axis
"boxes": [
[1.2, 1.5, 1.0,
0.9175, 0.4425, -0.549,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0]
]
}
}