Добавлены 3д модели для второго эксперемнта и два мира для эксперемента

This commit is contained in:
Даниил Грабарь
2026-11-06 16:37:06 +10:00
parent e94f9ac47e
commit 1caa919ea4
31 changed files with 536188 additions and 142043 deletions
@@ -0,0 +1,72 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Металл_|_оцинкованный
Ns 562.500000
Ka 0.820000 0.820000 0.820000
Kd 0.566810 0.612066 0.625345
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Металл_|_тёмный
Ns 462.399994
Ka 0.750000 0.750000 0.750000
Kd 0.151058 0.176774 0.186989
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Пластик_|_графит
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.039947 0.046149 0.052842
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_светло-серый
Ns 384.399994
Ka 1.000000 1.000000 1.000000
Kd 0.701169 0.708298 0.680020
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_серый
Ns 313.600006
Ka 1.000000 1.000000 1.000000
Kd 0.425905 0.453456 0.442323
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_средне-серый
Ns 302.500000
Ka 1.000000 1.000000 1.000000
Kd 0.271577 0.293216 0.288816
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Резина_|_чёрная
Ns 102.399994
Ka 1.000000 1.000000 1.000000
Kd 0.002263 0.002932 0.003697
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,62 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Клеммник_|_синий_по_референсу
Ns 384.399994
Ka 1.000000 1.000000 1.000000
Kd 0.001963 0.133209 0.409826
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Металл_|_оцинкованный.001
Ns 562.500000
Ka 0.820000 0.820000 0.820000
Kd 0.566810 0.612066 0.625345
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Металл_|_тёмный.002
Ns 462.399994
Ka 0.750000 0.750000 0.750000
Kd 0.151058 0.176774 0.186989
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Пластик_|_графит.002
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.039947 0.046149 0.052842
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_тёмно-синий
Ns 313.600006
Ka 1.000000 1.000000 1.000000
Kd 0.000805 0.071761 0.212044
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Резина_|_чёрная.002
Ns 102.399994
Ka 1.000000 1.000000 1.000000
Kd 0.002263 0.002932 0.003697
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Лотки_|_глубокий_синий
Ns 360.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000805 0.042987 0.183549
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,32 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Платформа_|_текстурированная
Ns 48.400013
Ka 1.000000 1.000000 1.000000
Kd 0.013473 0.016068 0.017936
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Разметка_|_жёлтая
Ns 360.000000
Ka 1.000000 1.000000 1.000000
Kd 0.804559 0.573159 0.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Разметка_|_серая
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.344026 0.368591 0.378676
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,92 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Корпуса_|_серый_по_референсу.001
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.353741 0.383775 0.378676
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Металл_|_оцинкованный.002
Ns 562.500000
Ka 0.820000 0.820000 0.820000
Kd 0.566810 0.612066 0.625345
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Металл_|_тёмный.003
Ns 462.399994
Ka 0.750000 0.750000 0.750000
Kd 0.151058 0.176774 0.186989
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Панель_ПЛК_|_тёмный_графит
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.010398 0.013473 0.016988
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_графит.003
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.039947 0.046149 0.052842
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_светло-серый.002
Ns 384.399994
Ka 1.000000 1.000000 1.000000
Kd 0.701169 0.708298 0.680020
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_серый.001
Ns 313.600006
Ka 1.000000 1.000000 1.000000
Kd 0.425905 0.453456 0.442323
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_средне-серый.002
Ns 302.500000
Ka 1.000000 1.000000 1.000000
Kd 0.271577 0.293216 0.288816
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Резина_|_чёрная.003
Ns 102.399994
Ka 1.000000 1.000000 1.000000
Kd 0.002263 0.002932 0.003697
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,72 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Индикатор_|_зелёный
Ns 608.399963
Ka 1.000000 1.000000 1.000000
Kd 0.052842 0.573159 0.067725
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Корпуса_|_серый_по_референсу
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.353741 0.383775 0.378676
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Металл_|_тёмный.001
Ns 462.399994
Ka 0.750000 0.750000 0.750000
Kd 0.151058 0.176774 0.186989
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Пластик_|_графит.001
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.039947 0.046149 0.052842
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_светло-серый.001
Ns 384.399994
Ka 1.000000 1.000000 1.000000
Kd 0.701169 0.708298 0.680020
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_средне-серый.001
Ns 302.500000
Ka 1.000000 1.000000 1.000000
Kd 0.271577 0.293216 0.288816
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Резина_|_чёрная.001
Ns 102.399994
Ka 1.000000 1.000000 1.000000
Kd 0.002263 0.002932 0.003697
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Корпуса_|_серый_по_референсу.002
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.353741 0.383775 0.378676
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,82 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Крышка_|_прозрачная_синяя
Ns 705.600098
Ka 1.000000 1.000000 1.000000
Kd 0.056374 0.353741 0.535642
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 0.420000
illum 9
newmtl Крышка_|_синие_кромки
Ns 640.000000
Ka 1.000000 1.000000 1.000000
Kd 0.020951 0.173439 0.271577
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 0.650000
illum 9
newmtl Медь_|_катушка
Ns 291.599945
Ka 0.320000 0.320000 0.320000
Kd 0.560499 0.275833 0.121986
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Металл_|_оцинкованный.003
Ns 562.500000
Ka 0.820000 0.820000 0.820000
Kd 0.566810 0.612066 0.625345
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Металл_|_тёмный.004
Ns 462.399994
Ka 0.750000 0.750000 0.750000
Kd 0.151058 0.176774 0.186989
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 3
newmtl Пластик_|_графит.004
Ns 291.599945
Ka 1.000000 1.000000 1.000000
Kd 0.039947 0.046149 0.052842
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_средне-серый.003
Ns 302.500000
Ka 1.000000 1.000000 1.000000
Kd 0.271577 0.293216 0.288816
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
newmtl Пластик_|_тёмно-синий.001
Ns 313.600006
Ka 1.000000 1.000000 1.000000
Kd 0.000805 0.071761 0.212044
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Лотки_|_глубокий_синий.001
Ns 360.000000
Ka 1.000000 1.000000 1.000000
Kd 0.000805 0.042987 0.183549
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Dark_tool_steel.002
newmtl Dark_tool_steel.003
Ns 504.100067
Ka 0.820000 0.820000 0.820000
Kd 0.160000 0.180000 0.200000
@@ -21,7 +21,7 @@ Ni 1.500000
d 1.000000
illum 3
newmtl Satin_stainless_steel.002
newmtl Satin_stainless_steel.003
Ns 562.500000
Ka 0.880000 0.880000 0.880000
Kd 0.520000 0.560000 0.590000
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
# Blender 5.2.1 LTS MTL File: 'None'
# www.blender.org
newmtl Black_elastomer
newmtl Black_elastomer.001
Ns 193.600006
Ka 1.000000 1.000000 1.000000
Kd 0.012000 0.016000 0.019000
@@ -11,7 +11,7 @@ Ni 1.500000
d 1.000000
illum 2
newmtl Dark_tool_steel.001
newmtl Dark_tool_steel.005
Ns 504.100067
Ka 0.820000 0.820000 0.820000
Kd 0.160000 0.180000 0.200000
@@ -21,7 +21,7 @@ Ni 1.500000
d 1.000000
illum 3
newmtl Satin_stainless_steel.001
newmtl Satin_stainless_steel.005
Ns 562.500000
Ka 0.880000 0.880000 0.880000
Kd 0.520000 0.560000 0.590000
@@ -31,7 +31,7 @@ Ni 1.500000
d 1.000000
illum 3
newmtl Socket_recess.001
newmtl Socket_recess.004
Ns 250.000000
Ka 0.100000 0.100000 0.100000
Kd 0.006000 0.007000 0.008000
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,122 @@
#VRML_SIM R2025a utf8
# Original-size grant magazine. The sealant OBJ export is 10 times smaller
# than the other tool meshes, so scale only that tool visual.
# The OBJ meshes use Y as vertical; the default rotation maps Y to world Z.
PROTO GrantToolRack [
field SFVec3f translation 0 0 0
field SFRotation rotation 1 0 0 1.57079632679
]
{
Solid {
translation IS translation
rotation IS rotation
name "grant_tool_magazine"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.72 0.47 0.14
roughness 0.56
metalness 0.35
}
geometry Mesh {
url [ "../../objects/grant/tool-magizine.obj" ]
}
}
Solid {
translation -0.135 0.01 0
name "grant_vacuum_tool_docked"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.16 0.47 0.72
roughness 0.5
metalness 0.25
}
geometry Mesh {
url [ "../../objects/grant/vacum-tool.obj" ]
}
}
]
boundingObject Pose {
translation 0.00054 0.07 0
children [ Box { size 0.0821 0.14 0.081 } ]
}
}
Solid {
translation -0.045 0.01 0
name "grant_magnetic_tool_docked"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.43 0.30 0.65
roughness 0.4
metalness 0.45
}
geometry Mesh {
url [ "../../objects/grant/magnit-tool.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.07 0
children [ Box { size 0.036 0.14 0.036 } ]
}
}
Solid {
translation 0.045 0.01 0
name "grant_sealant_tool_docked"
locked TRUE
children [
Transform {
scale 10 10 10
children [
Shape {
appearance PBRAppearance {
baseColor 0.23 0.57 0.31
roughness 0.6
metalness 0.15
}
geometry Mesh {
url [ "../../objects/grant/germetic-tool.obj" ]
}
}
]
}
]
boundingObject Pose {
translation 0 0.07 0
children [ Box { size 0.05608 0.14 0.05608 } ]
}
}
Solid {
translation 0.135 0.01 0
name "grant_wrench_tool_docked"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.80 0.32 0.18
roughness 0.4
metalness 0.45
}
geometry Mesh {
url [ "../../objects/grant/wranch-tool.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.07 0
children [ Box { size 0.049 0.14 0.049 } ]
}
}
]
boundingObject Pose {
translation 0 0.005 0
children [ Box { size 0.42 0.01 0.14 } ]
}
}
}
@@ -0,0 +1,9 @@
Webots Project File version R2025a
perspectives: 000000ff00000000fd0000000300000000000001ca0000039ffc0200000001fb00000012005300630065006e0065005400720065006501000000000000039f0000000000000000000000010000023a00000390fc0200000001fb0000001400540065007800740045006400690074006f00720100000014000003900000003f00ffffff000000030000078000000039fc0100000002fb0000000e0043006f006e0073006f006c006501000001d0000005b00000000000000000fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c0100000000000007800000006900ffffff000005440000039000000004000000040000000100000008fc00000000
simulationViewPerspectives: 000000ff00000001000000020000016c000004a00100000002010000000101
sceneTreePerspectives: 000000ff00000001000000030000001c000002b2000000fa0100000002010000000201
maximizedDockId: -1
centralWidgetVisible: 1
orthographicViewHeight: 1
textFiles: -1
consoles: Console:All:All
@@ -0,0 +1,8 @@
Webots Project File version R2025a
perspectives: 000000ff00000000fd0000000300000000000001ca0000039ffc0200000001fb00000012005300630065006e0065005400720065006501000000000000039f0000000000000000000000010000023a00000390fc0200000001fb0000001400540065007800740045006400690074006f00720000000014000003900000003f00ffffff0000000300000780000000a0fc0100000002fb0000000e0043006f006e0073006f006c006501000001d0000005b00000000000000000fb0000001a0043006f006e0073006f006c00650041006c006c0041006c006c010000000000000780000000000000000000000780000003cb00000004000000040000000100000008fc00000000
simulationViewPerspectives: 000000ff00000001000000020000016c000004a00100000002010000000101
sceneTreePerspectives: 000000ff00000001000000030000001c000000c0000000fa0100000002010000000201
maximizedDockId: -1
centralWidgetVisible: 1
orthographicViewHeight: 1
textFiles: -1
@@ -0,0 +1,188 @@
#VRML_SIM R2025a utf8
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto"
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto"
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto"
EXTERNPROTO "../../resource/protos/CollaborativeRobotTable.proto"
EXTERNPROTO "../../resource/protos/WorkspaceLimiter.proto"
EXTERNPROTO "../../resource/protos/GrantToolRack.proto"
# Based on ../iiwa.wbt. The robot is spawned by iiwa_bringup at
# (-0.25, 0, 0.79), facing world +X. All workpieces stay on the table
# in front of its base. The tabletop is at world Z = 0.793 m.
# The workpiece OBJ meshes use Y as their vertical axis. The shared axis-angle
# rotation first maps Y to world Z, then turns the workpieces 45 degrees
# around world Z. Coordinates and dimensions are metres.
#
# Base scene: the hatch lies separately on the tabletop for pickup and
# transfer. The robot starts without an attached tool; the magazine holds
# four static tools. For an already installed
# hatch, use body_hatch_installed.wbt. For experiment 02, offset
# BODY_HATCH_BODY by +0.003 m in X. Experiment 03 keeps an empty fixture;
# experiment 12 omits the hatch.
WorldInfo {
title "Body and hatch - grant experiments"
basicTimeStep 32
optimalThreadCount 4
contactProperties [
ContactProperties {
material1 "TableMaterial"
coulombFriction [ 0.6 ]
bounce 0
bounceVelocity 0
softERP 1
softCFM 0.0001
}
ContactProperties {
material1 "tool"
material2 "TableMaterial"
bounce 0
softCFM 0.002
maxContactJoints 100
}
ContactProperties {
material1 "default"
material2 "default"
maxContactJoints 20
bounce 0
softCFM 0.001
}
]
}
Viewpoint {
orientation 0.19663259328507318 -0.09057124279298501 -0.9762850368805829 3.9867817928674034
position 1.75 -1.85 1.77
followType "Mounted Shot"
ambientOcclusionRadius 3
}
TexturedBackground {
}
TexturedBackgroundLight {
texture "noon_sunny_empty"
luminosity 2
}
RectangleArena {
name "Arena"
floorSize 12 12
wallHeight 2
}
CollaborativeRobotTable {
translation 0 0 -0.007
locked TRUE
showCabinet TRUE
}
DEF limiter Group {
children [
WorkspaceLimiter {
translation -1.56 -0.219999 1.01
rotation 0 0 1 1.5708
name "WorkspaceLimiter_back"
locked TRUE
scale 2.32 1 2
}
WorkspaceLimiter {
translation -0.04 1.18 1.01
name "WorkspaceLimiter_right"
locked TRUE
scale 2.43 1 2
}
]
}
DirectionalLight {
direction -0.1 0.1 0
intensity 2
}
# Fixture plate: bottom Y=-0.010 m rests on the tabletop. The two rails
# support the body at Y=+0.0161 m without intersecting its underside.
DEF BODY_HATCH_STAPEL Solid {
translation 0.30 0.12 0.803
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_stapel"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.30 0.34 0.39
roughness 0.55
metalness 0.55
}
geometry Mesh {
url [ "../../objects/grant/stapel.obj" ]
}
}
]
boundingObject Group {
children [
Pose {
translation 0 -0.005 0
children [ Box { size 0.35 0.01 0.22 } ]
}
Pose {
translation -0.104 0.008 0
children [ Box { size 0.014 0.016 0.156 } ]
}
Pose {
translation 0.104 0.008 0
children [ Box { size 0.014 0.016 0.156 } ]
}
]
}
}
# The body shares the fixture centre. Its +0.020 m height puts the
# underside on top of the fixture rails.
DEF BODY_HATCH_BODY Solid {
translation 0.30 0.12 0.823
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_body"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.64 0.68 0.72
roughness 0.45
metalness 0.45
}
geometry Mesh {
url [ "../../objects/grant/base-detail.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.000695 0
children [ Box { size 0.30 0.00915 0.17 } ]
}
}
DEF BODY_HATCH_CAP Solid {
translation 0.35 -0.25 0.790667
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_cap"
children [
Shape {
appearance PBRAppearance {
baseColor 0.78 0.82 0.86
roughness 0.35
metalness 0.55
}
geometry Mesh {
url [ "../../objects/grant/cap.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.004165 0
children [ Box { size 0.1384 0.00367 0.0984 } ]
}
physics Physics {
mass 0.1
}
}
# The rack is in the front-left work area, clear of the loose hatch.
# Its 180-degree yaw faces the tool sockets toward the robot.
GrantToolRack {
translation 0.12 -0.42 0.793
rotation 0 0.70710678118 0.70710678118 3.14159265359
}
@@ -0,0 +1,182 @@
#VRML_SIM R2025a utf8
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto"
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto"
EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto"
EXTERNPROTO "../../resource/protos/CollaborativeRobotTable.proto"
EXTERNPROTO "../../resource/protos/WorkspaceLimiter.proto"
EXTERNPROTO "../../resource/protos/GrantToolRack.proto"
# Based on ../iiwa.wbt. The robot is spawned by iiwa_bringup at
# (-0.25, 0, 0.79), facing world +X. All workpieces stay on the table
# in front of its base. The tabletop is at world Z = 0.793 m.
# The workpiece OBJ meshes use Y as their vertical axis. The shared axis-angle
# rotation first maps Y to world Z, then turns the workpieces 45 degrees
# around world Z. Coordinates and dimensions are metres.
#
# Installed scene for experiments 04, 14 and 15: the hatch is fixed on
# the body surface. The magazine holds the four static tool models.
# For a loose hatch that the robot can pick up, use body_hatch.wbt.
WorldInfo {
title "Body with installed hatch and tool magazine"
basicTimeStep 32
optimalThreadCount 4
contactProperties [
ContactProperties {
material1 "TableMaterial"
coulombFriction [ 0.6 ]
bounce 0
bounceVelocity 0
softERP 1
softCFM 0.0001
}
ContactProperties {
material1 "tool"
material2 "TableMaterial"
bounce 0
softCFM 0.002
maxContactJoints 100
}
ContactProperties {
material1 "default"
material2 "default"
maxContactJoints 20
bounce 0
softCFM 0.001
}
]
}
Viewpoint {
orientation 0.19663259328507318 -0.09057124279298501 -0.9762850368805829 3.9867817928674034
position 1.75 -1.85 1.77
followType "Mounted Shot"
ambientOcclusionRadius 3
}
TexturedBackground {
}
TexturedBackgroundLight {
texture "noon_sunny_empty"
luminosity 2
}
RectangleArena {
name "Arena"
floorSize 12 12
wallHeight 2
}
CollaborativeRobotTable {
translation 0 0 -0.007
locked TRUE
showCabinet TRUE
}
DEF limiter Group {
children [
WorkspaceLimiter {
translation -1.56 -0.219999 1.01
rotation 0 0 1 1.5708
name "WorkspaceLimiter_back"
locked TRUE
scale 2.32 1 2
}
WorkspaceLimiter {
translation -0.04 1.18 1.01
name "WorkspaceLimiter_right"
locked TRUE
scale 2.43 1 2
}
]
}
DirectionalLight {
direction -0.1 0.1 0
intensity 2
}
# Fixture plate: bottom Y=-0.010 m rests on the tabletop. The two rails
# support the body at Y=+0.0161 m without intersecting its underside.
DEF BODY_HATCH_STAPEL Solid {
translation 0.30 0.12 0.803
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_stapel"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.30 0.34 0.39
roughness 0.55
metalness 0.55
}
geometry Mesh {
url [ "../../objects/grant/stapel.obj" ]
}
}
]
boundingObject Group {
children [
Pose {
translation 0 -0.005 0
children [ Box { size 0.35 0.01 0.22 } ]
}
Pose {
translation -0.104 0.008 0
children [ Box { size 0.014 0.016 0.156 } ]
}
Pose {
translation 0.104 0.008 0
children [ Box { size 0.014 0.016 0.156 } ]
}
]
}
}
# The body shares the fixture centre. Its +0.020 m height puts the
# underside on top of the fixture rails.
DEF BODY_HATCH_BODY Solid {
translation 0.30 0.12 0.823
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_body"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.64 0.68 0.72
roughness 0.45
metalness 0.45
}
geometry Mesh {
url [ "../../objects/grant/base-detail.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.000695 0
children [ Box { size 0.30 0.00915 0.17 } ]
}
}
DEF BODY_HATCH_CAP Solid {
translation 0.30 0.12 0.82594
rotation 0.862856209461 0.357406744337 0.357406744337 1.717771517458
name "body_hatch_cap"
locked TRUE
children [
Shape {
appearance PBRAppearance {
baseColor 0.78 0.82 0.86
roughness 0.35
metalness 0.55
}
geometry Mesh {
url [ "../../objects/grant/cap.obj" ]
}
}
]
boundingObject Pose {
translation 0 0.004165 0
children [ Box { size 0.1384 0.00367 0.0984 } ]
}
}
# The rack is visible in the front-left work area, facing the robot.
GrantToolRack {
translation 0.12 -0.42 0.793
rotation 0 0.70710678118 0.70710678118 3.14159265359
}