Реализован спавн робота с контроллерами в виртуальной среде webots

This commit is contained in:
Даниил Грабарь
2025-11-21 13:49:04 +10:00
parent a24cc16e0a
commit 9918c2bfc6
44 changed files with 7264 additions and 10 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,152 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# keywords: industrial/other
# A table for placing collaborative work and working with it
# It is possible to add a network cabinet on the back of the table
# template language: javascript
PROTO CollaborativeRobotTable [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "CollaborativeRobotTable"
field SFString contactMaterial "TableMaterial"
field SFBool locked FALSE
field SFBool showCabinet FALSE # Defines the display of the network cabinet
]
{
%<
let showCabinet = fields.showCabinet.value;
>%
Solid {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
contactMaterial IS contactMaterial
children [
%< if (showCabinet) { >%
Group {
children [
Solid {
translation -0.66 4.26e-06 0.099998
rotation 0.5773509358560258 -0.577349935856137 -0.577349935856137 2.09439
children [
Pose {
translation -0.3135 0.19 0
children [
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/ElectricCabinet.obj"
]
}
}
]
translationStep 0.001
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/CabinetFrame.obj"
]
}
}
]
name "Cabinet"
}
]
}
%< } >%
Group {
children [
Solid {
children [
Pose {
translation 0 0 0.79
children [
Shape {
appearance PBRAppearance {
roughness 1
metalness 0
}
geometry Box {
size 1.28 1.08 0.02
}
}
]
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/TableFrame.obj"
]
}
}
Pose {
translation -0.263 0 0.8
children [
Shape {
appearance PBRAppearance {
baseColor 0.517647 0.513726 0.568627
roughness 1
}
geometry Mesh {
url [
"./meshes/iiwaTable/PlateUnderRobot.obj"
]
}
}
]
translationStep 0.001
}
]
name "Table"
}
]
}
]
boundingObject Group {
children [
%< if (showCabinet) { >%
Pose {
translation -0.78 4.97601e-06 0.609998
rotation 0.5773509358560258 -0.577349935856137 -0.577349935856137 2.09439
children [
Box {
size 0.66 0.96 0.28
}
]
}
%< } >%
Pose {
translation 0 0 0.4035
children [
Box {
size 1.28 1.08 0.7926
}
]
}
]
}
}
}
@@ -0,0 +1,111 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: http://www.apache.org/licenses/LICENSE-2.0
# Model of the Intel Realsense D455 RGBD camera.
# keywords: sensor/range-finder, sensor/camera
# template language: javascript
PROTO IntelRealsenseD455 [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "IntelRealsenseD455"
field SFBool locked FALSE
field SFString controller "<none>"
field MFString controllerArgs [ ]
field SFBool supervisor FALSE
field SFString{"HD", "VGA", "FULL"} resolution "VGA"
field SFFloat fieldOfView 1.4746 # Diagonal ~84.43° from inr parametrs
field SFFloat minRange 0.01
field SFFloat maxRange 6.0
field SFNode focus NULL
field SFNode recognition Recognition{}
field SFNode physics Physics {
density -1
mass 0.35
centerOfMass [0 0 0]
}
]
{
%<
const cameraName = fields.name.value;
const resMode = fields.resolution.value.toUpperCase();
let width = 1280;
let height = 800;
if (resMode === "VGA") {
width = 640;
height = 480;
} else if (resMode === "HD") {
width = 1280;
height = 720;
} else if (resMode === "FULL") {
width = 1280;
height = 800;
}
>%
Robot {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
controller IS controller
controllerArgs IS controllerArgs
supervisor IS supervisor
children [
RangeFinder {
translation 0.005 0 0
name %<='"' + cameraName + '_depth"'>%
locked TRUE
radarCrossSection 0.01
fieldOfView IS fieldOfView
width %<= width >%
height %<= height >%
near IS minRange
minRange IS minRange
maxRange IS maxRange
noise 0.01
resolution 0.001
}
Camera {
translation 0.005 0 0
name %<='"' + cameraName + '_rgb"'>%
locked TRUE
fieldOfView IS fieldOfView
width %<= width >%
height %<= height >%
near IS minRange
far 10
exposure 0.5
antiAliasing TRUE
noise 0.01
focus IS focus
recognition IS recognition
}
Solid {
translation 0.013 0 0
rotation 0.5773489358556708 0.5773509358554485 0.5773509358554485 2.0944
children [
CadShape {
url [
"./meshes/cameras/visual/IntelRealsenseD455.dae"
]
}
]
locked TRUE
}
]
boundingObject Pose {
children [
Box {
size 0.027 0.123 0.025
}
]
}
physics IS physics
}
}
@@ -0,0 +1,83 @@
#VRML_SIM R2025a utf8
# license: Apache License 2.0
# license url: https://www.apache.org/licenses/LICENSE-2.0
# keywords: industrial/other
# Workspace limiter in the form of square blocks that can be increased in size
# template language: javascript
PROTO WorkspaceLimiter [
field SFVec3f translation 0 0 0
field SFRotation rotation 0 0 1 0
field SFString name "WorkspaceLimiter"
field SFBool locked FALSE
field SFVec2f countLimiter 1 1 # Defines the number of blocks by X and Y
field SFVec3f scale 1 1 1 # Defines the size of the blocks
field SFFloat spacing 0.02 # Defines the distance between blocks
]
{
%<
let countLimiter = fields.countLimiter.value;
let scale = fields.scale.value;
let spacing = fields.spacing.value;
let widthCount = countLimiter.x;
let heightCount = countLimiter.y;
let boxWidth = 1.25;
let boxHeight = 1;
let boxDepth = 0.01;
if (spacing <= 0) {
console.error("The indentation between the blocks cannot be negative")
spacing = 0.02
}
>%
Solid {
translation IS translation
rotation IS rotation
name IS name
locked IS locked
children [
%<
for (let i = 0; i < widthCount; i++) {
for (let j = 0; j < heightCount; j++) {
let x = (i * (boxWidth + spacing) - (widthCount - 1) * (boxWidth + spacing) / 2) * scale.x;
let y = (j * (boxHeight + spacing) - (heightCount - 1) * (boxHeight + spacing) / 2) * scale.y;
>%
Transform {
translation %<= x >% 0 %<= y >%
scale %<= scale.x >% %<= scale.y >% %<= scale.z >%
children [
Shape {
appearance PBRAppearance {
roughness 1
metalness 0
IBLStrength 5
}
geometry Box {
size %<= boxWidth >% %<= boxDepth >% %<= boxHeight >%
}
}
Shape {
appearance PBRAppearance {
baseColor 0.57 0.57 0.57
roughness 1
metalness 0
}
geometry Mesh {
url ["./meshes/WorkspaceLimiter/fence.obj"]
}
}
]
}
%<
}
}
>%
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,130 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:21.11.2024 15:39:40
v 0.625 0.05 0.5
v 0.625 0.05 -0.5
v 0.574999 0.05 -0.449999
v -0.625 0.05 -0.5
v -0.574999 0.05 -0.449999
v -0.625 0.05 0.5
v -0.574999 0.05 0.449999
v 0.574999 0.05 0.449999
v 0.625 0 -0.5
v 0.625 0 0.5
v 0.574999 0 0.449999
v -0.625 0 0.5
v -0.574999 0 0.449999
v -0.625 0 -0.5
v -0.574999 0 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0.05 0.449999
v 0.574999 0 0.449999
v -0.574999 0 0.449999
v -0.574999 0.05 0.449999
v 0.574999 0.05 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0 0.449999
v 0.574999 0.05 0.449999
v -0.574999 0.05 -0.449999
v -0.574999 0 -0.449999
v 0.574999 0 -0.449999
v 0.574999 0.05 -0.449999
v -0.574999 0.05 0.449999
v -0.574999 0 0.449999
v -0.574999 0 -0.449999
v -0.574999 0.05 -0.449999
v 0.625 0.05 -0.5
v 0.625 0 -0.5
v -0.625 0 -0.5
v -0.625 0.05 -0.5
v 0.625 0.05 0.5
v 0.625 0 0.5
v 0.625 0 -0.5
v 0.625 0.05 -0.5
v -0.625 0.05 0.5
v -0.625 0 0.5
v 0.625 0 0.5
v 0.625 0.05 0.5
v -0.625 0.05 -0.5
v -0.625 0 -0.5
v -0.625 0 0.5
v -0.625 0.05 0.5
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
f 1//1 2//2 3//3
f 2//2 4//4 5//5
f 4//4 6//6 7//7
f 6//6 1//1 8//8
f 5//5 3//3 2//2
f 8//8 7//7 6//6
f 7//7 5//5 4//4
f 3//3 8//8 1//1
f 9//9 10//10 11//11
f 10//10 12//12 13//13
f 12//12 14//14 15//15
f 14//14 9//9 16//16
f 13//13 11//11 10//10
f 16//16 15//15 14//14
f 15//15 13//13 12//12
f 11//11 16//16 9//9
f 17//17 18//18 19//19
f 19//19 20//20 17//17
f 21//21 22//22 23//23
f 23//23 24//24 21//21
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
File diff suppressed because one or more lines are too long
@@ -0,0 +1,194 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:20.11.2024 23:59:52
v 0.27 0.23 -0.019999
v 0.27 0.949999 -0.019999
v 0.31 0.99 -0.019999
v -0.31 0.99 -0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.23 -0.019999
v 0.27 0.189999 -0.019999
v -0.31 0 -0.019999
v -0.27 0.189999 -0.019999
v 0.31 0 -0.019999
v 0.27 0 -0.019999
v -0.27 -0 -0.019999
v -0.27 0.23 0.019999
v -0.27 0.189999 0.019999
v 0.27 0.189999 0.019999
v -0.31 0.99 0.019999
v -0.31 0 0.019999
v -0.27 -0 0.019999
v 0.27 0.949999 0.019999
v 0.31 0.99 0.019999
v 0.27 0.23 0.019999
v 0.31 0 0.019999
v -0.27 0.949999 0.019999
v 0.27 0 0.019999
v 0.27 0.23 0.019999
v 0.27 0.23 -0.019999
v -0.27 0.23 -0.019999
v -0.27 0.23 0.019999
v -0.31 0.99 0.019999
v -0.31 0.99 -0.019999
v -0.31 0 -0.019999
v -0.31 0 0.019999
v -0.31 0.99 0.019999
v 0.31 0.99 0.019999
v 0.31 0.99 -0.019999
v -0.31 0.99 -0.019999
v 0.31 0 0.019999
v 0.31 0 -0.019999
v 0.31 0.99 -0.019999
v 0.31 0.99 0.019999
v 0.27 0 0.019999
v 0.27 0 -0.019999
v 0.31 0 -0.019999
v 0.31 0 0.019999
v 0.27 0 -0.019999
v 0.27 0 0.019999
v 0.27 0.189999 0.019999
v 0.27 0.189999 -0.019999
v -0.27 0.189999 0.019999
v -0.27 0.189999 -0.019999
v 0.27 0.189999 -0.019999
v 0.27 0.189999 0.019999
v -0.27 -0 0.019999
v -0.27 -0 -0.019999
v -0.27 0.189999 -0.019999
v -0.27 0.189999 0.019999
v -0.31 0 0.019999
v -0.31 0 -0.019999
v -0.27 -0 -0.019999
v -0.27 -0 0.019999
v 0.27 0.23 -0.019999
v 0.27 0.23 0.019999
v 0.27 0.949999 0.019999
v 0.27 0.949999 -0.019999
v 0.27 0.949999 -0.019999
v 0.27 0.949999 0.019999
v -0.27 0.949999 0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.949999 -0.019999
v -0.27 0.949999 0.019999
v -0.27 0.23 0.019999
v -0.27 0.23 -0.019999
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 1 -0 0
vn 1 -0 0
vn 1 -0 0
vn 1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn -0 -1 0
vn -0 -1 0
vn -0 -1 0
vn -0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
f 1//1 2//2 3//3
f 4//4 5//5 6//6
f 4//4 3//3 2//2
f 2//2 5//5 4//4
f 3//3 7//7 1//1
f 6//6 1//1 7//7
f 8//8 6//6 9//9
f 7//7 9//9 6//6
f 6//6 8//8 4//4
f 10//10 11//11 7//7
f 7//7 3//3 10//10
f 9//9 12//12 8//8
f 13//13 14//14 15//15
f 14//14 16//16 17//17
f 17//17 18//18 14//14
f 19//19 20//20 16//16
f 21//21 15//15 20//20
f 15//15 21//21 13//13
f 22//22 20//20 15//15
f 20//20 19//19 21//21
f 16//16 23//23 19//19
f 16//16 14//14 13//13
f 13//13 23//23 16//16
f 15//15 24//24 22//22
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
f 49//49 50//50 51//51
f 51//51 52//52 49//49
f 53//53 54//54 55//55
f 55//55 56//56 53//53
f 57//57 58//58 59//59
f 59//59 60//60 57//57
f 61//61 62//62 63//63
f 63//63 64//64 61//61
f 65//65 66//66 67//67
f 67//67 68//68 65//65
f 69//69 70//70 71//71
f 71//71 72//72 69//69
@@ -0,0 +1,222 @@
#OBJ
#T-FLEX CAD ObjGenerator generate date:20.11.2024 23:59:6
v 0.625 0.541 0.019999
v 0.625 0.764999 0.019999
v 0.675 0.721 0.019999
v 0.634999 0.764999 0.019999
v 0.675 0.725 0.019999
v 0.634999 0.541 0.019999
v 0.675 0.721 0.208
v 0.625 0.764999 0.208
v 0.625 0.541 0.208
v 0.675 0.725 0.208
v 0.634999 0.764999 0.208
v 0.634999 0.541 0.208
v 0.634999 0.764999 0.208
v 0.675 0.725 0.208
v 0.675 0.725 0.019999
v 0.634999 0.764999 0.019999
v 0.675 0.721 0.208
v 0.634999 0.541 0.208
v 0.634999 0.541 0.019999
v 0.675 0.721 0.019999
v 0.625 0.541 0.208
v 0.625 0.541 0.019999
v 0.634999 0.541 0.019999
v 0.634999 0.541 0.208
v 0.675 0.725 0.208
v 0.675 0.721 0.208
v 0.675 0.721 0.019999
v 0.675 0.725 0.019999
v 0.634999 0.764999 0.208
v 0.634999 0.764999 0.019999
v 0.625 0.764999 0.019999
v 0.625 0.764999 0.208
v 0.6125 0.787999 0.261999
v 0.0125 0.787999 0.261999
v 0.0125 0.012 0.261999
v 0.6125 0.012 0.261999
v 0.0125 0.787999 0.25
v 0.0125 0.787999 0.261999
v 0.6125 0.787999 0.261999
v 0.6125 0.787999 0.25
v 0.6125 0.787999 0.25
v 0.6125 0.787999 0.261999
v 0.6125 0.012 0.261999
v 0.6125 0.012 0.25
v 0.6125 0.012 0.25
v 0.6125 0.012 0.261999
v 0.0125 0.012 0.261999
v 0.0125 0.012 0.25
v 0.0125 0.012 0.25
v 0.0125 0.012 0.261999
v 0.0125 0.787999 0.261999
v 0.0125 0.787999 0.25
v 0.625 0 0
v 0 0 0
v 0 0.8 0
v 0.625 0.8 0
v 0 0 0.25
v 0.0125 0.012 0.25
v 0.0125 0.787999 0.25
v 0.625 0 0.25
v 0.6125 0.012 0.25
v 0.625 0.8 0.25
v 0.6125 0.787999 0.25
v 0 0.8 0.25
v 0.625 0.8 0.25
v 0.625 0.8 0
v 0 0.8 0
v 0 0.8 0.25
v 0 0 0.25
v 0 0 0
v 0.625 0 0
v 0.625 0 0.25
v 0 0 0
v 0 0 0.25
v 0 0.8 0.25
v 0 0.8 0
v 0.625 0.8 0
v 0.625 0.764999 0.019999
v 0.625 0.541 0.019999
v 0.625 0.541 0.208
v 0.625 0.764999 0.208
v 0.625 0.8 0.25
v 0.625 0 0
v 0.625 0 0.25
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.707106 0.707106 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0.976187 -0.21693 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn -0 1 0
vn -0 1 0
vn -0 1 0
vn -0 1 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn -1 -0 0
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 -1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 0 1
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn -1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
vn 1 0 0
f 1//1 2//2 3//3
f 2//2 4//4 5//5
f 5//5 3//3 2//2
f 3//3 6//6 1//1
f 7//7 8//8 9//9
f 7//7 10//10 11//11
f 9//9 12//12 7//7
f 11//11 8//8 7//7
f 13//13 14//14 15//15
f 15//15 16//16 13//13
f 17//17 18//18 19//19
f 19//19 20//20 17//17
f 21//21 22//22 23//23
f 23//23 24//24 21//21
f 25//25 26//26 27//27
f 27//27 28//28 25//25
f 29//29 30//30 31//31
f 31//31 32//32 29//29
f 33//33 34//34 35//35
f 35//35 36//36 33//33
f 37//37 38//38 39//39
f 39//39 40//40 37//37
f 41//41 42//42 43//43
f 43//43 44//44 41//41
f 45//45 46//46 47//47
f 47//47 48//48 45//45
f 49//49 50//50 51//51
f 51//51 52//52 49//49
f 53//53 54//54 55//55
f 55//55 56//56 53//53
f 57//57 58//58 59//59
f 60//60 61//61 58//58
f 58//58 57//57 60//60
f 60//60 62//62 63//63
f 64//64 59//59 63//63
f 59//59 64//64 57//57
f 63//63 62//62 64//64
f 63//63 61//61 60//60
f 65//65 66//66 67//67
f 67//67 68//68 65//65
f 69//69 70//70 71//71
f 71//71 72//72 69//69
f 73//73 74//74 75//75
f 75//75 76//76 73//73
f 77//77 78//78 79//79
f 80//80 81//81 82//82
f 79//79 83//83 77//77
f 81//81 78//78 77//77
f 80//80 84//84 83//83
f 77//77 82//82 81//81
f 83//83 79//79 80//80
f 82//82 84//84 80//80
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff