From 1aa4e49e75158c886c68bc463aebfa85a6003614 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 6 Sep 2024 21:52:07 +0100 Subject: [PATCH 01/18] Update arena layout --- simulator/protos/arena/Arena.proto | 1 + simulator/protos/arena/Pillar.proto | 76 +++ simulator/protos/props/BoxToken.proto | 2 +- simulator/worlds/arena.wbt | 732 ++++++++++++++++++-------- simulator/worlds/arena_floor.png | Bin 55628 -> 66524 bytes 5 files changed, 584 insertions(+), 227 deletions(-) create mode 100755 simulator/protos/arena/Pillar.proto diff --git a/simulator/protos/arena/Arena.proto b/simulator/protos/arena/Arena.proto index 01ebf22..0754203 100755 --- a/simulator/protos/arena/Arena.proto +++ b/simulator/protos/arena/Arena.proto @@ -59,6 +59,7 @@ PROTO Arena [ children [ Solid { # Floor translation 0 -0.002 0 + rotation 0 0 1 3.1416 children [ DEF FLOOR Shape { appearance Appearance { diff --git a/simulator/protos/arena/Pillar.proto b/simulator/protos/arena/Pillar.proto new file mode 100755 index 0000000..88388d6 --- /dev/null +++ b/simulator/protos/arena/Pillar.proto @@ -0,0 +1,76 @@ +#VRML_SIM R2023b utf8 +# template language: javascript +# tags: nonDeterministic + +EXTERNPROTO "../props/Marker.proto" + +PROTO Pillar [ + field SFVec3f translation 0 0 0 + field SFRotation rotation 0 1 0 0 + field SFVec3f size 0.13 0.13 0.13 + field SFVec2f {0.08 0.08, 0.15 0.15, 0.2 0.2} marker_size 0.08 0.08 + field SFFloat marker_height 0.065 + field SFColor colour 0.9 0.9 0.9 + field SFString marker "0" + field SFString model "" + field MFString texture_url [] +] +{ + Pose { + translation IS translation + rotation IS rotation + children [ + Solid { + translation 0 0 %<= fields.size.value.z / 2 >% + children [ + Shape { + appearance DEF PILLAR_APPEARANCE PBRAppearance { + baseColor IS colour + metalness 0 + roughness 1 + } + geometry DEF PILLAR_GEOMETRY Box { + size IS size + } + } + Marker { + translation 0 %<= fields.size.value.y / 2 + 0.001 >% %<= fields.marker_height.value - (fields.size.value.z / 2) >% + rotation 1 0 0 -1.5708 + size IS marker_size + name "front" + model IS marker + texture_url IS texture_url + } + Marker { + translation 0 %<= -(fields.size.value.y / 2 + 0.001) >% %<= fields.marker_height.value - (fields.size.value.z / 2) >% + rotation 1 0 0 1.5708 + size IS marker_size + name "back" + model IS marker + texture_url IS texture_url + } + Marker { + translation %<= fields.size.value.x / 2 + 0.001 >% 0 %<= fields.marker_height.value - (fields.size.value.z / 2) >% + rotation 0 1 0 1.5708 + size IS marker_size + name "side-1" + model IS marker + texture_url IS texture_url + } + Marker { + translation %<= -(fields.size.value.x / 2 + 0.001) >% 0 %<= fields.marker_height.value - (fields.size.value.z / 2) >% + rotation 0 1 0 -1.5708 + size IS marker_size + name "side-2" + model IS marker + texture_url IS texture_url + } + ] + name IS model + model IS model + boundingObject USE PILLAR_GEOMETRY + locked TRUE + } + ] + } +} diff --git a/simulator/protos/props/BoxToken.proto b/simulator/protos/props/BoxToken.proto index f84f25c..0a6bf87 100755 --- a/simulator/protos/props/BoxToken.proto +++ b/simulator/protos/props/BoxToken.proto @@ -7,7 +7,7 @@ EXTERNPROTO "./Marker.proto" PROTO BoxToken [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 - field SFVec3f size 0.12 0.12 0.12 + field SFVec3f size 0.13 0.13 0.13 field SFVec2f {0.08 0.08, 0.15 0.15, 0.2 0.2} marker_size 0.08 0.08 field SFColor colour 0.7 0.55 0.35 field SFString marker "0" diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index 17e3fc0..f0f8139 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -1,9 +1,7 @@ #VRML_SIM R2023b utf8 -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" EXTERNPROTO "../protos/arena/Arena.proto" -EXTERNPROTO "../protos/arena/Deck.proto" -EXTERNPROTO "../protos/arena/TriangleDeck.proto" -EXTERNPROTO "../protos/props/Can.proto" +EXTERNPROTO "../protos/arena/Pillar.proto" +EXTERNPROTO "../protos/props/BoxToken.proto" EXTERNPROTO "../protos/props/Marker.proto" EXTERNPROTO "../protos/SRObot.proto" @@ -12,259 +10,541 @@ WorldInfo { } Viewpoint { orientation 0.43231 0.43231 -0.79134 1.80272 - position 0 9.1 13.8 + position 0 6.4 9.5 } DEF AMBIENT Background { skyColor [ 0.4 0.4 0.4 ] - luminosity 1.6 + luminosity 1 } -TexturedBackgroundLight { +DirectionalLight { + ambientIntensity 1 + direction -0.1 -0.2 -1 + color 0.95 0.95 1 + intensity 1.5 + on TRUE + castShadows TRUE } -SRObot { - name "robot" - translation 0.45 1.95 0 - rotation 0 0 1 3.1415 - flagColour 1 0 0 +DEF ROBOT0 SRObot { + name "robot0" + translation 2.375 -2.375 0 + rotation 0 0 1 2.3562 + flagColour 0 1 0 controllerArgs ["0"] controller "usercode_runner" customData "start" } - -Arena { - size 5.4 5.4 - locked TRUE - floorTexture ["arena_floor.png"] -} -Deck { - name "TL deck" - size 1.2192 1.2192 - translation 2.0904 -2.0904 0.085 - locked TRUE -} -Deck { - name "BR deck" - size 1.2192 1.2192 - translation -2.0904 2.0904 0.085 - locked TRUE -} -Deck { - name "CR deck" - size 1.2192 1.2192 - translation -0.6096 -0.6096 0.085 - locked TRUE +DEF ROBOT1 SRObot { + name "robot1" + translation -2.375 -2.375 0 + rotation 0 0 1 0.7854 + flagColour 1 0.5 0 + controllerArgs ["1"] + controller "usercode_runner" + customData "start" } -Deck { - name "CL deck" - size 1.2192 1.2192 - translation 0.6096 0.6096 0.085 - locked TRUE +DEF ROBOT2 SRObot { + name "robot2" + translation -2.375 2.375 0 + rotation 0 0 1 -0.7854 + flagColour 1 0 1 + controllerArgs ["2"] + controller "usercode_runner" + customData "start" } -TriangleDeck { - name "TR deck" - size 1.2192 1.2192 - translation -2.0904 -2.0904 0.085 - locked TRUE +DEF ROBOT3 SRObot { + name "robot3" + translation 2.375 2.375 0 + rotation 0 0 1 -2.3562 + flagColour 1 1 0 + controllerArgs ["3"] + controller "usercode_runner" + customData "start" } -TriangleDeck { - name "BL deck" - size 1.2192 1.2192 - translation 2.0904 2.0904 0.085 - rotation 0 0 1 3.14159 + +Arena { + size 5.75 5.75 locked TRUE + floorTexture ["arena_floor.png"] } -DEF CANS Pose { - translation 0 0 0.05 +DEF PILLARS Pose { children [ - Can { - name "can1" - translation -0.3 0.44 0 + Pillar { + translation 0.75 -0.75 0 + size 0.13 0.13 0.13 + marker "195" + model "pillar_0" + texture_url ["sim_markers/195.png"] } - Can { - name "can2" - translation -1.5 1.2 0 + Pillar { + translation -0.75 -0.75 0 + size 0.13 0.13 0.13 + marker "196" + model "pillar_1" + texture_url ["sim_markers/196.png"] } - Can { - name "can3" - translation -1.5892 0.06 0 + Pillar { + translation -0.75 0.75 0 + size 0.13 0.13 0.13 + marker "197" + model "pillar_2" + texture_url ["sim_markers/197.png"] } - Can { - name "can4" - translation -2.33 -0.06 0 + Pillar { + translation 0.75 0.75 0 + size 0.13 0.13 0.13 + marker "198" + model "pillar_3" + texture_url ["sim_markers/198.png"] } - Can { - name "can5" - translation -1.5 -1.5 0 + Pillar { + translation 0 0 0 + size 0.13 0.13 0.26 + marker "199" + model "pillar_centre" + texture_url ["sim_markers/199.png"] } + ] +} - Can { - name "can6" - translation 0.3 -0.44 0 +DEF TOKENS Pose { + translation 0 0 0.07 + children [ + # 146, 132, 153, 145, 148, 121 + DEF TOKEN0_1 BoxToken { + translation 0.3 -2.45 0 + colour 0 1 0 + marker "146" + model "T146" + texture_url ["sim_markers/146.png"] + } + DEF TOKEN0_2 BoxToken { + translation 0.3 -2.05 0 + colour 0 1 0 + marker "132" + model "T132" + texture_url ["sim_markers/132.png"] + } + DEF TOKEN0_3 BoxToken { + translation 0.3 -1.65 0 + colour 0 1 0 + marker "153" + model "T153" + texture_url ["sim_markers/153.png"] + } + DEF TOKEN0_4 BoxToken { + translation 2.45 -0.3 0 + colour 0 1 0 + marker "145" + model "T145" + texture_url ["sim_markers/145.png"] + } + DEF TOKEN0_5 BoxToken { + translation 2.05 -0.3 0 + colour 0 1 0 + marker "148" + model "T148" + texture_url ["sim_markers/148.png"] + } + DEF TOKEN0_6 BoxToken { + translation 1.65 -0.3 0 + colour 0 1 0 + marker "121" + model "T121" + texture_url ["sim_markers/121.png"] + } + # 135, 126, 100, 103, 129, 102 + DEF TOKEN1_1 BoxToken { + translation -0.3 -2.45 0 + colour 1 0.5 0 + marker "135" + model "T135" + texture_url ["sim_markers/135.png"] + } + DEF TOKEN1_2 BoxToken { + translation -0.3 -2.05 0 + colour 1 0.5 0 + marker "126" + model "T126" + texture_url ["sim_markers/126.png"] + } + DEF TOKEN1_3 BoxToken { + translation -0.3 -1.65 0 + colour 1 0.5 0 + marker "100" + model "T100" + texture_url ["sim_markers/100.png"] + } + DEF TOKEN1_4 BoxToken { + translation -2.45 -0.3 0 + colour 1 0.5 0 + marker "103" + model "T103" + texture_url ["sim_markers/103.png"] + } + DEF TOKEN1_5 BoxToken { + translation -2.05 -0.3 0 + colour 1 0.5 0 + marker "129" + model "T129" + texture_url ["sim_markers/129.png"] } - Can { - name "can7" - translation 1.5 -1.2 0 + DEF TOKEN1_6 BoxToken { + translation -1.65 -0.3 0 + colour 1 0.5 0 + marker "102" + model "T102" + texture_url ["sim_markers/102.png"] } - Can { - name "can8" - translation 1.5892 -0.06 0 + # 109, 154, 158, 130, 127, 137 + DEF TOKEN2_1 BoxToken { + translation -0.3 2.45 0 + colour 1 0 1 + marker "109" + model "T109" + texture_url ["sim_markers/109.png"] } - Can { - name "can9" - translation 2.33 0.06 0 + DEF TOKEN2_2 BoxToken { + translation -0.3 2.05 0 + colour 1 0 1 + marker "154" + model "T154" + texture_url ["sim_markers/154.png"] } - Can { - name "can10" - translation 1.5 1.5 0 + DEF TOKEN2_3 BoxToken { + translation -0.3 1.65 0 + colour 1 0 1 + marker "158" + model "T158" + texture_url ["sim_markers/158.png"] + } + DEF TOKEN2_4 BoxToken { + translation -2.45 0.3 0 + colour 1 0 1 + marker "130" + model "T130" + texture_url ["sim_markers/130.png"] + } + DEF TOKEN2_5 BoxToken { + translation -2.05 0.3 0 + colour 1 0 1 + marker "127" + model "T127" + texture_url ["sim_markers/127.png"] + } + DEF TOKEN2_6 BoxToken { + translation -1.65 0.3 0 + colour 1 0 1 + marker "137" + model "T137" + texture_url ["sim_markers/137.png"] + } + # 105, 119, 136, 138, 128, 115 + DEF TOKEN3_1 BoxToken { + translation 0.3 2.45 0 + colour 1 1 0 + marker "105" + model "T105" + texture_url ["sim_markers/105.png"] + } + DEF TOKEN3_2 BoxToken { + translation 0.3 2.05 0 + colour 1 1 0 + marker "119" + model "T119" + texture_url ["sim_markers/119.png"] + } + DEF TOKEN3_3 BoxToken { + translation 0.3 1.65 0 + colour 1 1 0 + marker "136" + model "T136" + texture_url ["sim_markers/136.png"] + } + DEF TOKEN3_4 BoxToken { + translation 2.45 0.3 0 + colour 1 1 0 + marker "138" + model "T138" + texture_url ["sim_markers/138.png"] + } + DEF TOKEN3_5 BoxToken { + translation 2.05 0.3 0 + colour 1 1 0 + marker "128" + model "T128" + texture_url ["sim_markers/128.png"] + } + DEF TOKEN3_6 BoxToken { + translation 1.65 0.3 0 + colour 1 1 0 + marker "115" + model "T115" + texture_url ["sim_markers/115.png"] } ] } -Marker { - name "A0" - model "0" - size 0.1 0.1 - translation -1.4798 2.29 0.07 - rotation 0 0 1 1.5708 - texture_url ["sim_markers/0.png"] - upright TRUE -} -Marker { - name "A1" - model "1" - size 0.1 0.1 - translation -1.4798 1.99 0.07 - rotation 0 0 1 1.5708 - texture_url ["sim_markers/1.png"] - upright TRUE -} -Marker { - name "A2" - model "2" - size 0.1 0.1 - translation -0.4192 0.001 0.07 - rotation 0 0 1 3.1415 - texture_url ["sim_markers/2.png"] - upright TRUE -} -Marker { - name "A3" - model "3" - size 0.1 0.1 - translation -0.7192 0.001 0.07 - rotation 0 0 1 3.1415 - texture_url ["sim_markers/3.png"] - upright TRUE -} -Marker { - name "A4" - model "4" - size 0.1 0.1 - translation -2.699 0.91 0.07 - rotation 0 0 1 1.5708 - texture_url ["sim_markers/4.png"] - upright TRUE -} -Marker { - name "A5" - model "5" - size 0.1 0.1 - translation -2.699 0.61 0.07 - rotation 0 0 1 1.5708 - texture_url ["sim_markers/5.png"] - upright TRUE -} -Marker { - name "A6" - model "6" - size 0.1 0.1 - translation -2.19545 -1.98335 0.07 - rotation 0 0 1 2.3561 - texture_url ["sim_markers/6.png"] - upright TRUE -} -Marker { - name "A7" - model "7" - size 0.1 0.1 - translation -1.98335 -2.19545 0.07 - rotation 0 0 1 2.3561 - texture_url ["sim_markers/7.png"] - upright TRUE -} - -Marker { - name "B0" - model "0" - size 0.1 0.1 - translation 1.4798 -2.29 0.07 - rotation 0 0 1 -1.5708 - texture_url ["sim_markers/0.png"] - upright TRUE -} -Marker { - name "B1" - model "1" - size 0.1 0.1 - translation 1.4798 -1.99 0.07 - rotation 0 0 1 -1.5708 - texture_url ["sim_markers/1.png"] - upright TRUE -} -Marker { - name "B2" - model "2" - size 0.1 0.1 - translation 0.4192 -0.001 0.07 - rotation 0 0 1 0 - texture_url ["sim_markers/2.png"] - upright TRUE -} -Marker { - name "B3" - model "3" - size 0.1 0.1 - translation 0.7192 -0.001 0.07 - rotation 0 0 1 0 - texture_url ["sim_markers/3.png"] - upright TRUE -} -Marker { - name "B4" - model "4" - size 0.1 0.1 - translation 2.699 -0.81 0.07 - rotation 0 0 1 -1.5708 - texture_url ["sim_markers/4.png"] - upright TRUE -} -Marker { - name "B5" - model "5" - size 0.1 0.1 - translation 2.699 -0.51 0.07 - rotation 0 0 1 -1.5708 - texture_url ["sim_markers/5.png"] - upright TRUE -} -Marker { - name "B6" - model "6" - size 0.1 0.1 - translation 2.19545 1.98335 0.07 - rotation 0 0 1 -0.7853 - texture_url ["sim_markers/6.png"] - upright TRUE -} -Marker { - name "B7" - model "7" - size 0.1 0.1 - translation 1.98335 2.19545 0.07 - rotation 0 0 1 -0.7853 - texture_url ["sim_markers/7.png"] - upright TRUE +DEF WALL_MARKERS Pose { + children [ + # North wall + Marker { + name "A0" + model "0" + size 0.15 0.15 + translation 2.15625 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/0.png"] + upright TRUE + } + Marker { + name "A1" + model "1" + size 0.15 0.15 + translation 1.4375 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/1.png"] + upright TRUE + } + Marker { + name "A2" + model "2" + size 0.15 0.15 + translation 0.71875 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/2.png"] + upright TRUE + } + Marker { + name "A3" + model "3" + size 0.15 0.15 + translation 0 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/3.png"] + upright TRUE + } + Marker { + name "A4" + model "4" + size 0.15 0.15 + translation -0.71875 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/4.png"] + upright TRUE + } + Marker { + name "A5" + model "5" + size 0.15 0.15 + translation -1.4375 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/5.png"] + upright TRUE + } + Marker { + name "A6" + model "6" + size 0.15 0.15 + translation -2.15625 -2.874 0.125 + rotation 0 0 1 3.1415 + texture_url ["sim_markers/6.png"] + upright TRUE + } + # East wall + Marker { + name "A7" + model "7" + size 0.15 0.15 + translation -2.874 -2.15625 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/7.png"] + upright TRUE + } + Marker { + name "A8" + model "8" + size 0.15 0.15 + translation -2.874 -1.4375 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/8.png"] + upright TRUE + } + Marker { + name "A9" + model "9" + size 0.15 0.15 + translation -2.874 -0.71875 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/9.png"] + upright TRUE + } + Marker { + name "A10" + model "10" + size 0.15 0.15 + translation -2.874 0 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/10.png"] + upright TRUE + } + Marker { + name "A11" + model "11" + size 0.15 0.15 + translation -2.874 0.71875 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/11.png"] + upright TRUE + } + Marker { + name "A12" + model "12" + size 0.15 0.15 + translation -2.874 1.4375 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/12.png"] + upright TRUE + } + Marker { + name "A13" + model "13" + size 0.15 0.15 + translation -2.874 2.15625 0.125 + rotation 0 0 1 1.5708 + texture_url ["sim_markers/13.png"] + upright TRUE + } + # South wall + Marker { + name "A14" + model "14" + size 0.15 0.15 + translation -2.15625 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/14.png"] + upright TRUE + } + Marker { + name "A15" + model "15" + size 0.15 0.15 + translation -1.4375 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/15.png"] + upright TRUE + } + Marker { + name "A16" + model "16" + size 0.15 0.15 + translation -0.71875 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/16.png"] + upright TRUE + } + Marker { + name "A17" + model "17" + size 0.15 0.15 + translation 0 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/17.png"] + upright TRUE + } + Marker { + name "A18" + model "18" + size 0.15 0.15 + translation 0.71875 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/18.png"] + upright TRUE + } + Marker { + name "A19" + model "19" + size 0.15 0.15 + translation 1.4375 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/19.png"] + upright TRUE + } + Marker { + name "A20" + model "20" + size 0.15 0.15 + translation 2.15625 2.874 0.125 + rotation 0 0 1 0 + texture_url ["sim_markers/20.png"] + upright TRUE + } + # # West wall + Marker { + name "A21" + model "21" + size 0.15 0.15 + translation 2.874 2.15625 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/21.png"] + upright TRUE + } + Marker { + name "A22" + model "22" + size 0.15 0.15 + translation 2.874 1.4375 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/22.png"] + upright TRUE + } + Marker { + name "A23" + model "23" + size 0.15 0.15 + translation 2.874 0.71875 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/23.png"] + upright TRUE + } + Marker { + name "A24" + model "24" + size 0.15 0.15 + translation 2.874 0 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/24.png"] + upright TRUE + } + Marker { + name "A25" + model "25" + size 0.15 0.15 + translation 2.874 -0.71875 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/25.png"] + upright TRUE + } + Marker { + name "A26" + model "26" + size 0.15 0.15 + translation 2.874 -1.4375 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/26.png"] + upright TRUE + } + Marker { + name "A27" + model "27" + size 0.15 0.15 + translation 2.874 -2.15625 0.125 + rotation 0 0 1 -1.5708 + texture_url ["sim_markers/27.png"] + upright TRUE + } + ] } diff --git a/simulator/worlds/arena_floor.png b/simulator/worlds/arena_floor.png index 73809dc25b3bdcf1e9cca9e07efca7f24e0b785e..f0fa347adb260e7dd8dd1360a453920624315f8a 100755 GIT binary patch literal 66524 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 literal 55628 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 From 82b646e448849e6e9df4b984b3ec175732cb3036 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 6 Sep 2024 22:42:15 +0100 Subject: [PATCH 02/18] Update pillars --- simulator/worlds/arena.wbt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index f0f8139..3ee6040 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -10,7 +10,7 @@ WorldInfo { } Viewpoint { orientation 0.43231 0.43231 -0.79134 1.80272 - position 0 6.4 9.5 + position 0 7 10.4 } DEF AMBIENT Background { skyColor [ @@ -74,35 +74,35 @@ DEF PILLARS Pose { children [ Pillar { translation 0.75 -0.75 0 - size 0.13 0.13 0.13 + size 0.15 0.15 0.15 marker "195" model "pillar_0" texture_url ["sim_markers/195.png"] } Pillar { translation -0.75 -0.75 0 - size 0.13 0.13 0.13 + size 0.15 0.15 0.15 marker "196" model "pillar_1" texture_url ["sim_markers/196.png"] } Pillar { translation -0.75 0.75 0 - size 0.13 0.13 0.13 + size 0.15 0.15 0.15 marker "197" model "pillar_2" texture_url ["sim_markers/197.png"] } Pillar { translation 0.75 0.75 0 - size 0.13 0.13 0.13 + size 0.15 0.15 0.15 marker "198" model "pillar_3" texture_url ["sim_markers/198.png"] } Pillar { translation 0 0 0 - size 0.13 0.13 0.26 + size 0.15 0.15 0.30 marker "199" model "pillar_centre" texture_url ["sim_markers/199.png"] From 40a9102c24c6b73bb26f43c54b9dbdf052165be3 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 7 Sep 2024 09:05:43 +0100 Subject: [PATCH 03/18] Add support for vacuum pump Uses Webots connector devices --- .../modules/sbot_interface/devices/power.py | 32 ++++- .../modules/sbot_interface/devices/util.py | 2 + simulator/protos/robot/VacuumSucker.proto | 133 ++++++++++++++++++ 3 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 simulator/protos/robot/VacuumSucker.proto diff --git a/simulator/modules/sbot_interface/devices/power.py b/simulator/modules/sbot_interface/devices/power.py index 849914d..7e06fc4 100644 --- a/simulator/modules/sbot_interface/devices/power.py +++ b/simulator/modules/sbot_interface/devices/power.py @@ -4,7 +4,7 @@ from abc import ABC, abstractmethod from typing import Callable -from sbot_interface.devices.util import get_globals +from sbot_interface.devices.util import WebotsDevice, get_globals, get_robot_device class Output: @@ -36,6 +36,36 @@ def get_current(self) -> int: return 0 +class ConnectorOutput(Output): + """ + A class to represent a power output that controls a webots connector device. + + :param device_name: The name of the device in webots. + :param downstream_current: A function to get the current draw of the downstream device. + """ + + def __init__( + self, + device_name: str, + downstream_current: Callable[[], int] | None = None, + ) -> None: + super().__init__(downstream_current) + g = get_globals() + self._device = get_robot_device(g.robot, device_name, WebotsDevice.Connector) + self._enabled = False + + def set_output(self, enable: bool) -> None: + """Set the output state.""" + if enable: + self._device.lock() + else: + self._device.unlock() + + def get_output(self) -> bool: + """Get the output state.""" + return self._device.isLocked() + + class BaseBuzzer(ABC): """The base class for the buzzer device.""" diff --git a/simulator/modules/sbot_interface/devices/util.py b/simulator/modules/sbot_interface/devices/util.py index 9724b74..30640a3 100644 --- a/simulator/modules/sbot_interface/devices/util.py +++ b/simulator/modules/sbot_interface/devices/util.py @@ -13,6 +13,7 @@ Accelerometer, Camera, Compass, + Connector, DistanceSensor, Emitter, Gyro, @@ -45,6 +46,7 @@ class WebotsDevice: Accelerometer = Accelerometer Camera = Camera Compass = Compass + Connector = Connector DistanceSensor = DistanceSensor Emitter = Emitter GPS = GPS diff --git a/simulator/protos/robot/VacuumSucker.proto b/simulator/protos/robot/VacuumSucker.proto new file mode 100644 index 0000000..c9d4d22 --- /dev/null +++ b/simulator/protos/robot/VacuumSucker.proto @@ -0,0 +1,133 @@ +#VRML_SIM R2023b utf8 +# template language: javascript + +PROTO VacuumSucker [ + field SFString name "" + field SFVec3f translation 0 0 0 + field SFRotation rotation 0 0 1 0 +] { + Pose { + translation IS translation + rotation IS rotation + children [ + DEF BASE Solid { + translation 0 0 0.052 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry DEF BASE_GEO Box { + size 0.06 0.06 0.125 + } + } + ] + name "Tower Base" + boundingObject USE BASE_GEO + physics Physics { + density 500 # Hollow Aluminium + } + } + Pose { + translation 0 0 0.1 + children [ + SliderJoint { + jointParameters JointParameters { + axis 0 0 1 + minStop 0 + maxStop 0.27 + position 0.02 + } + device [ + LinearMotor { + name %<= "\"" + fields.name.value + " motor\"" >% + minPosition 0 + maxPosition 0.27 + maxVelocity 2 + sound "" + } + PositionSensor { + name %<= "\"" + fields.name.value + " position sensor\"" >% + } + ] + endPoint Solid { + translation 0.1 0 0 + children [ + Solid { + children [ + Pose { + translation -0.05 0 0.025 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry Box { + size 0.15 0.05 0.02 + } + } + ] + } + Pose { + translation -0.1 0 -0.45 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry Box { + size 0.05 0.05 0.12 + } + } + ] + } + ] + name "Armature" + } + DEF SUCKER Shape { + appearance PBRAppearance { + baseColor 0 0 0 + roughness 1 + metalness 1 + } + geometry DEF hook_geo Box { + size 0.05 0.05 0.03 + } + castShadows FALSE + } + Connector { + # Shift origin to be the lower face of the hook shape + translation 0 0 -0.015 + rotation 0 1 0 3.1416 + type "active" + distanceTolerance 0.1 + axisTolerance 0.7854 + rotationTolerance 0 + numberOfRotations 0 + tensileStrength 35 + shearStrength 20 + snap FALSE + autoLock TRUE + name IS name + unilateralUnlock TRUE + unilateralLock TRUE + } + ] + boundingObject USE hook_geo + physics Physics { + density 1500 # rubber + } + } + } + # TODO: secondary slider joint for telescoping column + ] + } + ] + } +} \ No newline at end of file From ae822ccb6d7b801e05eae7a3be1f567377f094a9 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Thu, 12 Sep 2024 20:57:29 +0100 Subject: [PATCH 04/18] Correct token numbering --- simulator/worlds/arena.wbt | 152 ++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index 3ee6040..1ddf185 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -113,177 +113,177 @@ DEF PILLARS Pose { DEF TOKENS Pose { translation 0 0 0.07 children [ - # 146, 132, 153, 145, 148, 121 + # 104, 102, 119, 100, 110, 117 DEF TOKEN0_1 BoxToken { translation 0.3 -2.45 0 colour 0 1 0 - marker "146" - model "T146" - texture_url ["sim_markers/146.png"] + marker "104" + model "T104" + texture_url ["sim_markers/104.png"] } DEF TOKEN0_2 BoxToken { translation 0.3 -2.05 0 colour 0 1 0 - marker "132" - model "T132" - texture_url ["sim_markers/132.png"] + marker "102" + model "T102" + texture_url ["sim_markers/102.png"] } DEF TOKEN0_3 BoxToken { translation 0.3 -1.65 0 colour 0 1 0 - marker "153" - model "T153" - texture_url ["sim_markers/153.png"] + marker "119" + model "T119" + texture_url ["sim_markers/119.png"] } DEF TOKEN0_4 BoxToken { translation 2.45 -0.3 0 colour 0 1 0 - marker "145" - model "T145" - texture_url ["sim_markers/145.png"] + marker "100" + model "T100" + texture_url ["sim_markers/100.png"] } DEF TOKEN0_5 BoxToken { translation 2.05 -0.3 0 colour 0 1 0 - marker "148" - model "T148" - texture_url ["sim_markers/148.png"] + marker "110" + model "T110" + texture_url ["sim_markers/110.png"] } DEF TOKEN0_6 BoxToken { translation 1.65 -0.3 0 colour 0 1 0 - marker "121" - model "T121" - texture_url ["sim_markers/121.png"] + marker "117" + model "T117" + texture_url ["sim_markers/117.png"] } - # 135, 126, 100, 103, 129, 102 + # 122, 121, 133, 134, 127, 131 DEF TOKEN1_1 BoxToken { translation -0.3 -2.45 0 colour 1 0.5 0 - marker "135" - model "T135" - texture_url ["sim_markers/135.png"] + marker "122" + model "T122" + texture_url ["sim_markers/122.png"] } DEF TOKEN1_2 BoxToken { translation -0.3 -2.05 0 colour 1 0.5 0 - marker "126" - model "T126" - texture_url ["sim_markers/126.png"] + marker "121" + model "T121" + texture_url ["sim_markers/121.png"] } DEF TOKEN1_3 BoxToken { translation -0.3 -1.65 0 colour 1 0.5 0 - marker "100" - model "T100" - texture_url ["sim_markers/100.png"] + marker "133" + model "T133" + texture_url ["sim_markers/133.png"] } DEF TOKEN1_4 BoxToken { translation -2.45 -0.3 0 colour 1 0.5 0 - marker "103" - model "T103" - texture_url ["sim_markers/103.png"] + marker "134" + model "T134" + texture_url ["sim_markers/134.png"] } DEF TOKEN1_5 BoxToken { translation -2.05 -0.3 0 colour 1 0.5 0 - marker "129" - model "T129" - texture_url ["sim_markers/129.png"] + marker "127" + model "T127" + texture_url ["sim_markers/127.png"] } DEF TOKEN1_6 BoxToken { translation -1.65 -0.3 0 colour 1 0.5 0 - marker "102" - model "T102" - texture_url ["sim_markers/102.png"] + marker "131" + model "T131" + texture_url ["sim_markers/131.png"] } - # 109, 154, 158, 130, 127, 137 + # 145, 146, 152, 157, 151, 156 DEF TOKEN2_1 BoxToken { translation -0.3 2.45 0 colour 1 0 1 - marker "109" - model "T109" - texture_url ["sim_markers/109.png"] + marker "145" + model "T145" + texture_url ["sim_markers/145.png"] } DEF TOKEN2_2 BoxToken { translation -0.3 2.05 0 colour 1 0 1 - marker "154" - model "T154" - texture_url ["sim_markers/154.png"] + marker "146" + model "T146" + texture_url ["sim_markers/146.png"] } DEF TOKEN2_3 BoxToken { translation -0.3 1.65 0 colour 1 0 1 - marker "158" - model "T158" - texture_url ["sim_markers/158.png"] + marker "152" + model "T152" + texture_url ["sim_markers/152.png"] } DEF TOKEN2_4 BoxToken { translation -2.45 0.3 0 colour 1 0 1 - marker "130" - model "T130" - texture_url ["sim_markers/130.png"] + marker "157" + model "T157" + texture_url ["sim_markers/157.png"] } DEF TOKEN2_5 BoxToken { translation -2.05 0.3 0 colour 1 0 1 - marker "127" - model "T127" - texture_url ["sim_markers/127.png"] + marker "151" + model "T151" + texture_url ["sim_markers/151.png"] } DEF TOKEN2_6 BoxToken { translation -1.65 0.3 0 colour 1 0 1 - marker "137" - model "T137" - texture_url ["sim_markers/137.png"] + marker "156" + model "T156" + texture_url ["sim_markers/156.png"] } - # 105, 119, 136, 138, 128, 115 + # 160, 169, 178, 176, 161, 179 DEF TOKEN3_1 BoxToken { translation 0.3 2.45 0 colour 1 1 0 - marker "105" - model "T105" - texture_url ["sim_markers/105.png"] + marker "160" + model "T160" + texture_url ["sim_markers/160.png"] } DEF TOKEN3_2 BoxToken { translation 0.3 2.05 0 colour 1 1 0 - marker "119" - model "T119" - texture_url ["sim_markers/119.png"] + marker "169" + model "T169" + texture_url ["sim_markers/169.png"] } DEF TOKEN3_3 BoxToken { translation 0.3 1.65 0 colour 1 1 0 - marker "136" - model "T136" - texture_url ["sim_markers/136.png"] + marker "178" + model "T178" + texture_url ["sim_markers/178.png"] } DEF TOKEN3_4 BoxToken { translation 2.45 0.3 0 colour 1 1 0 - marker "138" - model "T138" - texture_url ["sim_markers/138.png"] + marker "176" + model "T176" + texture_url ["sim_markers/176.png"] } DEF TOKEN3_5 BoxToken { translation 2.05 0.3 0 colour 1 1 0 - marker "128" - model "T128" - texture_url ["sim_markers/128.png"] + marker "161" + model "T161" + texture_url ["sim_markers/161.png"] } DEF TOKEN3_6 BoxToken { translation 1.65 0.3 0 colour 1 1 0 - marker "115" - model "T115" - texture_url ["sim_markers/115.png"] + marker "179" + model "T179" + texture_url ["sim_markers/179.png"] } ] } From 988759d2d41610303b13c5d26d8525f32d005f1e Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 27 Sep 2024 21:36:28 +0100 Subject: [PATCH 05/18] Fixes to servo jitter --- simulator/modules/sbot_interface/devices/servo.py | 2 +- simulator/modules/sbot_interface/devices/util.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/simulator/modules/sbot_interface/devices/servo.py b/simulator/modules/sbot_interface/devices/servo.py index a25da32..bb1e068 100644 --- a/simulator/modules/sbot_interface/devices/servo.py +++ b/simulator/modules/sbot_interface/devices/servo.py @@ -112,7 +112,7 @@ def set_position(self, value: int) -> None: """ # Apply a small amount of variation to the power setting to simulate # inaccuracies in the servo - value = int(add_jitter(value, (MIN_POSITION, MAX_POSITION))) + value = int(add_jitter(value, (MIN_POSITION, MAX_POSITION), std_dev_percent=0.5)) self._device.setPosition(map_to_range( value, diff --git a/simulator/modules/sbot_interface/devices/util.py b/simulator/modules/sbot_interface/devices/util.py index 30640a3..a160215 100644 --- a/simulator/modules/sbot_interface/devices/util.py +++ b/simulator/modules/sbot_interface/devices/util.py @@ -154,6 +154,6 @@ def add_jitter( std_dev = value * (std_dev_percent / 100.0) mean_offset = value * (offset_percent / 100.0) - error = value + gauss(mean_offset, std_dev) + error = gauss(mean_offset, std_dev) # Ensure the error is within the range return max(value_range[0], min(value_range[1], value + error)) From fb9e17d113735ab2b09820257377767b7b91d9a8 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 27 Sep 2024 21:37:21 +0100 Subject: [PATCH 06/18] Initial vacuum suction pump --- simulator/protos/props/BoxToken.proto | 35 ++++++++++++++++ simulator/protos/robot/VacuumSucker.proto | 51 +++++++++++++++++++---- 2 files changed, 78 insertions(+), 8 deletions(-) diff --git a/simulator/protos/props/BoxToken.proto b/simulator/protos/props/BoxToken.proto index 0a6bf87..5212570 100755 --- a/simulator/protos/props/BoxToken.proto +++ b/simulator/protos/props/BoxToken.proto @@ -14,6 +14,8 @@ PROTO BoxToken [ field SFString model "" field SFFloat mass 0.100 field MFString texture_url [] + field SFFloat connectorStrength 35 + field SFFloat connectorShear 20 ] { Solid { @@ -78,6 +80,39 @@ PROTO BoxToken [ model IS marker texture_url IS texture_url } + # Shape { + # appearance PBRAppearance { + # transparency 0.4 + # baseColor 1 0 0 + # } + # geometry Sphere { + # radius %<= fields.size.value.x / 2 * 1.44 >% + # subdivision 5 + # } + # } + Connector { + type "passive" + distanceTolerance %<= fields.size.value.x / 2 * 1.44 >% + axisTolerance 3.1415 + rotationTolerance 0 + numberOfRotations 0 + tensileStrength IS connectorStrength + shearStrength IS connectorShear + snap FALSE + name "Front Connector" + } + Connector { + rotation 0 0 1 3.1416 + type "passive" + distanceTolerance %<= fields.size.value.x / 2 * 1.44 >% + axisTolerance 3.1415 + rotationTolerance 0 + numberOfRotations 0 + tensileStrength IS connectorStrength + shearStrength IS connectorShear + snap FALSE + name "Rear Connector" + } ] name IS model model IS model diff --git a/simulator/protos/robot/VacuumSucker.proto b/simulator/protos/robot/VacuumSucker.proto index c9d4d22..3bf3d2e 100644 --- a/simulator/protos/robot/VacuumSucker.proto +++ b/simulator/protos/robot/VacuumSucker.proto @@ -5,6 +5,7 @@ PROTO VacuumSucker [ field SFString name "" field SFVec3f translation 0 0 0 field SFRotation rotation 0 0 1 0 + field SFFloat max_height 0.27 ] { Pose { translation IS translation @@ -37,14 +38,14 @@ PROTO VacuumSucker [ jointParameters JointParameters { axis 0 0 1 minStop 0 - maxStop 0.27 + maxStop IS max_height position 0.02 } device [ LinearMotor { - name %<= "\"" + fields.name.value + " motor\"" >% + name %<= "\"" + fields.name.value + " motor::main\"" >% minPosition 0 - maxPosition 0.27 + maxPosition IS max_height maxVelocity 2 sound "" } @@ -53,7 +54,7 @@ PROTO VacuumSucker [ } ] endPoint Solid { - translation 0.1 0 0 + translation 0.1 0 0.02 children [ Solid { children [ @@ -73,7 +74,7 @@ PROTO VacuumSucker [ ] } Pose { - translation -0.1 0 -0.45 + translation -0.1 0 -0.045 children [ Shape { appearance PBRAppearance { @@ -106,8 +107,8 @@ PROTO VacuumSucker [ translation 0 0 -0.015 rotation 0 1 0 3.1416 type "active" - distanceTolerance 0.1 - axisTolerance 0.7854 + distanceTolerance 0.1 # (0.14 / 2) * sqrt(2) + axisTolerance 3.1415 # TODO: check this rotationTolerance 0 numberOfRotations 0 tensileStrength 35 @@ -125,7 +126,41 @@ PROTO VacuumSucker [ } } } - # TODO: secondary slider joint for telescoping column + # Secondary slider joint for telescoping column + SliderJoint { + jointParameters JointParameters { + axis 0 0 1 + minStop 0 + maxStop %<= fields.max_height.value / 2 >% + position 0.01 + } + device [ + LinearMotor { + name %<= "\"" + fields.name.value + " motor::extension\"" >% + minPosition 0 + maxPosition %<= fields.max_height.value / 2 >% + maxVelocity 1 + sound "" + multiplier 0.5 + } + ] + endPoint Solid { + translation 0 0 -0.035 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry Box { + size 0.055 0.055 0.12 + } + } + ] + name "Extension" + } + } ] } ] From 182e4f855fae12cc2a77d6cb25479dc9b3ab110f Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 27 Sep 2024 21:38:43 +0100 Subject: [PATCH 07/18] Preliminary robot --- simulator/modules/sbot_interface/setup.py | 14 +- simulator/protos/SR2025bot.proto | 184 ++++++++++++++++++++++ simulator/worlds/arena.wbt | 10 +- 3 files changed, 199 insertions(+), 9 deletions(-) create mode 100755 simulator/protos/SR2025bot.proto diff --git a/simulator/modules/sbot_interface/setup.py b/simulator/modules/sbot_interface/setup.py index 5f022b0..b1b8dc6 100644 --- a/simulator/modules/sbot_interface/setup.py +++ b/simulator/modules/sbot_interface/setup.py @@ -26,8 +26,8 @@ from sbot_interface.devices.camera import Camera from sbot_interface.devices.led import Led, NullLed from sbot_interface.devices.motor import Motor -from sbot_interface.devices.power import NullBuzzer, Output, StartButton -from sbot_interface.devices.servo import NullServo +from sbot_interface.devices.power import ConnectorOutput, NullBuzzer, Output, StartButton +from sbot_interface.devices.servo import NullServo, Servo from sbot_interface.socket_server import Board, DeviceServer, SocketServer @@ -46,7 +46,10 @@ def setup_devices(log_level: int | str = logging.WARNING) -> SocketServer: # this is the configuration of devices connected to the robot devices: list[Board] = [ PowerBoard( - outputs=[Output() for _ in range(7)], + outputs=( + [ConnectorOutput('vacuum sucker')] + + [Output() for _ in range(6)] + ), buzzer=NullBuzzer(), button=StartButton(), leds=(NullLed(), NullLed()), @@ -60,7 +63,10 @@ def setup_devices(log_level: int | str = logging.WARNING) -> SocketServer: asset_tag='MOT', ), ServoBoard( - servos=[NullServo() for _ in range(8)], + servos=( + [Servo('vacuum sucker motor::main')] + + [NullServo() for _ in range(7)] + ), asset_tag='SERVO', ), LedBoard( diff --git a/simulator/protos/SR2025bot.proto b/simulator/protos/SR2025bot.proto new file mode 100755 index 0000000..ed4bf11 --- /dev/null +++ b/simulator/protos/SR2025bot.proto @@ -0,0 +1,184 @@ +#VRML_SIM R2023b utf8 +EXTERNPROTO "./robot/MotorAssembly.proto" +EXTERNPROTO "./robot/Caster.proto" +EXTERNPROTO "./robot/RobotCamera.proto" +EXTERNPROTO "./robot/UltrasoundModule.proto" +EXTERNPROTO "./robot/RGBLed.proto" +EXTERNPROTO "./robot/ReflectanceSensor.proto" +EXTERNPROTO "./robot/Flag.proto" +EXTERNPROTO "./robot/BumpSensor.proto" +EXTERNPROTO "./robot/VacuumSucker.proto" + +PROTO SR2025bot [ + field SFString name "" + field SFVec3f translation 0 0 0 + field SFRotation rotation 0 0 1 0 + field SFString controller "" + field MFString controllerArgs [] + field SFString customData "" + field SFColor flagColour 1 1 1 +] { + Robot { + name IS name + translation IS translation + rotation IS rotation + controller IS controller + controllerArgs IS controllerArgs + customData IS customData + children [ + Pose { + translation 0 0 0.049 + children [ + MotorAssembly { + name "left motor" + rotation 0 0 1 3.1415 + reversed TRUE + translation 0 0.1 0 + } + MotorAssembly { + name "right motor" + translation 0 -0.1 0 + } + Caster { + name "caster" + translation -0.13 0 -0.045 + } + DEF BASE Solid { + translation -0.045 0 -0.02 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.757 0.604 0.424 + roughness 1 + metalness 0 + } + geometry Box { + size 0.21 0.16 0.02 + } + } + ] + name "Chassis" + boundingObject DEF BASE_GEO Box { + size 0.21 0.16 0.02 + } + physics Physics { + density 3000 # Aluminium + } + } + DEF BOARD Solid { + translation -0.07 0 0 + rotation 0 0 1 1.5708 + children [ + Shape { + appearance PBRAppearance { + baseColor 0 0 0 + roughness 1 + metalness 0 + } + geometry Box { + size 0.08 0.06 0.02 + } + } + ] + name "Board" + } + RobotCamera { + name "camera" + translation 0.05 0 0.03 + } + Solid { + translation 0.03 0 0 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.4 0.4 0.4 + metalness 0 + } + geometry Box { + size 0.01 0.01 0.03 + } + } + ] + name "Camera riser" + } + VacuumSucker { + name "vacuum sucker" + translation -0.01 0 0 + } + UltrasoundModule { + name "ultrasound front" + translation 0.04 0 0 + } + UltrasoundModule { + name "ultrasound left" + translation -0.08 0.07 0 + rotation 0 0 1 1.5708 + } + UltrasoundModule { + name "ultrasound back" + translation -0.14 0 0 + rotation 0 0 1 3.1416 + } + UltrasoundModule { + name "ultrasound right" + translation -0.08 -0.07 0 + rotation 0 0 1 -1.5708 + } + RGBLed { + name "led 1" + translation -0.12 0.05 -0.008 + } + RGBLed { + name "led 2" + translation -0.12 0 -0.008 + } + RGBLed { + name "led 3" + translation -0.12 -0.05 -0.008 + } + ReflectanceSensor { + name "left reflectance sensor" + translation 0.03 0.02 -0.03 + rotation 0 0 1 1.5708 + } + ReflectanceSensor { + name "center reflectance sensor" + translation 0.03 0 -0.03 + rotation 0 0 1 1.5708 + } + ReflectanceSensor { + name "right reflectance sensor" + translation 0.03 -0.02 -0.03 + rotation 0 0 1 1.5708 + } + BumpSensor { + name "front left bump sensor" + translation 0.06 0.05 -0.02 + } + BumpSensor { + name "front right bump sensor" + translation 0.06 -0.05 -0.02 + } + BumpSensor { + name "rear left bump sensor" + translation -0.15 0.05 -0.02 + } + BumpSensor { + name "rear right bump sensor" + translation -0.15 -0.05 -0.02 + } + Flag { + name "flag" + translation 0.03 0.05 0.09 + flagColour IS flagColour + } + ] + } + ] + boundingObject Pose { + translation -0.045 0 0.029 + children [USE BASE_GEO] + } + physics Physics {} + } +} diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index 1ddf185..b2e840d 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -3,7 +3,7 @@ EXTERNPROTO "../protos/arena/Arena.proto" EXTERNPROTO "../protos/arena/Pillar.proto" EXTERNPROTO "../protos/props/BoxToken.proto" EXTERNPROTO "../protos/props/Marker.proto" -EXTERNPROTO "../protos/SRObot.proto" +EXTERNPROTO "../protos/SR2025bot.proto" WorldInfo { basicTimeStep 8 @@ -27,7 +27,7 @@ DirectionalLight { castShadows TRUE } -DEF ROBOT0 SRObot { +DEF ROBOT0 SR2025bot { name "robot0" translation 2.375 -2.375 0 rotation 0 0 1 2.3562 @@ -36,7 +36,7 @@ DEF ROBOT0 SRObot { controller "usercode_runner" customData "start" } -DEF ROBOT1 SRObot { +DEF ROBOT1 SR2025bot { name "robot1" translation -2.375 -2.375 0 rotation 0 0 1 0.7854 @@ -45,7 +45,7 @@ DEF ROBOT1 SRObot { controller "usercode_runner" customData "start" } -DEF ROBOT2 SRObot { +DEF ROBOT2 SR2025bot { name "robot2" translation -2.375 2.375 0 rotation 0 0 1 -0.7854 @@ -54,7 +54,7 @@ DEF ROBOT2 SRObot { controller "usercode_runner" customData "start" } -DEF ROBOT3 SRObot { +DEF ROBOT3 SR2025bot { name "robot3" translation 2.375 2.375 0 rotation 0 0 1 -2.3562 From 4ab59d0b46d6dd5ed783c74196016a9682c3c32d Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 27 Sep 2024 22:08:33 +0100 Subject: [PATCH 08/18] Update keyboard robot --- example_robots/keyboard_robot.py | 55 ++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/example_robots/keyboard_robot.py b/example_robots/keyboard_robot.py index 3d15285..8f33ca8 100644 --- a/example_robots/keyboard_robot.py +++ b/example_robots/keyboard_robot.py @@ -1,10 +1,9 @@ import math from controller import Keyboard -from sr.robot3 import A0, A1, A2, Robot +from sr.robot3 import A0, A1, A2, OUT_H0, Colour, Robot -# Any keys still pressed in the following period will be handled again -# leading to rprinting sensors multiple times +# Keyboard sampling period in milliseconds KEYBOARD_SAMPLING_PERIOD = 100 NO_KEY_PRESSED = -1 @@ -15,7 +14,11 @@ "right": (ord("D"), ord("L")), "sense": (ord("Q"), ord("U")), "see": (ord("E"), ord("O")), - "led": (ord("R"), ord("P")), + "led": (ord("Z"), ord("M")), + "sucker_enable": (ord("X"), ord(",")), + "sucker_disable": (ord("C"), ord(".")), + "lift_up": (ord("R"), ord("P")), + "lift_down": (ord("F"), ord(";")), "boost": (Keyboard.SHIFT, Keyboard.CONTROL), "angle_unit": (ord("B"), ord("B")), } @@ -120,10 +123,12 @@ def print_camera_detection(robot: Robot) -> None: robot = Robot() - keyboard = KeyboardInterface() +lift_height = robot.servo_board.servos[0].position + +ZONE_CONTROLS = robot.zone -key_sense = CONTROLS["sense"][robot.zone] +assert ZONE_CONTROLS < len(CONTROLS["forward"]), "No controls defined for this zone" print( "Note: you need to click on 3D viewport for keyboard events to be picked " @@ -138,36 +143,54 @@ def print_camera_detection(robot: Robot) -> None: keys = keyboard.process_keys() # Actions that are run continuously while the key is held - if CONTROLS["forward"][robot.zone] in keys["held"]: + if CONTROLS["forward"][ZONE_CONTROLS] in keys["held"]: left_power += 0.5 right_power += 0.5 - if CONTROLS["reverse"][robot.zone] in keys["held"]: + if CONTROLS["reverse"][ZONE_CONTROLS] in keys["held"]: left_power += -0.5 right_power += -0.5 - if CONTROLS["left"][robot.zone] in keys["held"]: + if CONTROLS["left"][ZONE_CONTROLS] in keys["held"]: left_power -= 0.25 right_power += 0.25 - if CONTROLS["right"][robot.zone] in keys["held"]: + if CONTROLS["right"][ZONE_CONTROLS] in keys["held"]: left_power += 0.25 right_power -= 0.25 - if CONTROLS["boost"][robot.zone] in keys["held"]: + if CONTROLS["boost"][ZONE_CONTROLS] in keys["held"]: boost = True + if CONTROLS["lift_up"][ZONE_CONTROLS] in keys["held"]: + # constrain to [-1, 1] + lift_height = max(min(lift_height + 0.05, 1), -1) + robot.servo_board.servos[0].position = lift_height + + if CONTROLS["lift_down"][ZONE_CONTROLS] in keys["held"]: + # constrain to [-1, 1] + lift_height = max(min(lift_height - 0.05, 1), -1) + robot.servo_board.servos[0].position = lift_height + # Actions that are run once when the key is pressed - if CONTROLS["sense"][robot.zone] in keys["pressed"]: + if CONTROLS["sense"][ZONE_CONTROLS] in keys["pressed"]: print_sensors(robot) - if CONTROLS["see"][robot.zone] in keys["pressed"]: + if CONTROLS["see"][ZONE_CONTROLS] in keys["pressed"]: print_camera_detection(robot) - if CONTROLS["led"][robot.zone] in keys["pressed"]: - pass + if CONTROLS["sucker_enable"][ZONE_CONTROLS] in keys["pressed"]: + robot.power_board.outputs[OUT_H0].is_enabled = 1 + + if CONTROLS["sucker_disable"][ZONE_CONTROLS] in keys["pressed"]: + robot.power_board.outputs[OUT_H0].is_enabled = 0 + + if CONTROLS["led"][ZONE_CONTROLS] in keys["pressed"]: + robot.kch.leds[1].colour = Colour.MAGENTA + elif CONTROLS["led"][ZONE_CONTROLS] in keys["released"]: + robot.kch.leds[1].colour = Colour.OFF - if CONTROLS["angle_unit"][robot.zone] in keys["pressed"]: + if CONTROLS["angle_unit"][ZONE_CONTROLS] in keys["pressed"]: USE_DEGREES = not USE_DEGREES print(f"Angle unit set to {'degrees' if USE_DEGREES else 'radians'}") From 30c5f2d340d50d81ea8182a6f64a02ed7b2e2035 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Fri, 27 Sep 2024 22:15:45 +0100 Subject: [PATCH 09/18] Read servo position back from webots --- simulator/modules/sbot_interface/devices/servo.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/simulator/modules/sbot_interface/devices/servo.py b/simulator/modules/sbot_interface/devices/servo.py index bb1e068..41d207c 100644 --- a/simulator/modules/sbot_interface/devices/servo.py +++ b/simulator/modules/sbot_interface/devices/servo.py @@ -97,8 +97,11 @@ def __init__(self, device_name: str) -> None: self._enabled = False g = get_globals() self._device = get_robot_device(g.robot, device_name, WebotsDevice.Motor) + self._pos_sensor = self._device.getPositionSensor() self._max_position = self._device.getMaxPosition() self._min_position = self._device.getMinPosition() + if self._pos_sensor is not None: + self._pos_sensor.enable(g.timestep) def disable(self) -> None: """Disable the servo.""" @@ -128,6 +131,12 @@ def get_position(self) -> int: Position is the pulse width in microseconds. """ + if self._pos_sensor is not None: + self.position = int(map_to_range( + self._pos_sensor.getValue(), + (self._min_position + 0.001, self._max_position - 0.001), + (MIN_POSITION, MAX_POSITION), + )) return self.position def get_current(self) -> int: From 26994e6ca1eb80ed5e5ba7d1da7dee40dc62952e Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 28 Sep 2024 19:49:31 +0100 Subject: [PATCH 10/18] Improve robot --- .../modules/sbot_interface/devices/motor.py | 2 +- simulator/protos/SR2025bot.proto | 62 ++++++---- simulator/protos/props/BoxToken.proto | 8 +- simulator/protos/robot/BumpSensor.proto | 4 +- simulator/protos/robot/VacuumSucker.proto | 109 ++++++++++++------ 5 files changed, 119 insertions(+), 66 deletions(-) diff --git a/simulator/modules/sbot_interface/devices/motor.py b/simulator/modules/sbot_interface/devices/motor.py index 46c579a..4cba116 100644 --- a/simulator/modules/sbot_interface/devices/motor.py +++ b/simulator/modules/sbot_interface/devices/motor.py @@ -97,7 +97,7 @@ def __init__(self, device_name: str) -> None: self._device.setVelocity(0) self._max_speed = self._device.getMaxVelocity() # Limit the torque the motor can apply to have realistic acceleration - self._device.setAvailableTorque(1) + self._device.setAvailableTorque(2) def disable(self) -> None: """Disable the motor.""" diff --git a/simulator/protos/SR2025bot.proto b/simulator/protos/SR2025bot.proto index ed4bf11..c05edcc 100755 --- a/simulator/protos/SR2025bot.proto +++ b/simulator/protos/SR2025bot.proto @@ -33,18 +33,18 @@ PROTO SR2025bot [ name "left motor" rotation 0 0 1 3.1415 reversed TRUE - translation 0 0.1 0 + translation 0 0.14 0 } MotorAssembly { name "right motor" - translation 0 -0.1 0 + translation 0 -0.14 0 } Caster { name "caster" - translation -0.13 0 -0.045 + translation -0.15 0 -0.045 } DEF BASE Solid { - translation -0.045 0 -0.02 + translation -0.065 0 -0.02 children [ Shape { appearance PBRAppearance { @@ -53,20 +53,20 @@ PROTO SR2025bot [ metalness 0 } geometry Box { - size 0.21 0.16 0.02 + size 0.25 0.25 0.02 } } ] name "Chassis" boundingObject DEF BASE_GEO Box { - size 0.21 0.16 0.02 + size 0.25 0.25 0.02 } physics Physics { - density 3000 # Aluminium + density 2000 # 66% Aluminium } } DEF BOARD Solid { - translation -0.07 0 0 + translation -0.05 0 0 rotation 0 0 1 1.5708 children [ Shape { @@ -82,6 +82,26 @@ PROTO SR2025bot [ ] name "Board" } + DEF STABILISER Solid { + translation -0.16 0 0 + children [ + Shape { + appearance PBRAppearance { + baseColor 0.8 0.8 0.75 + roughness 1 + metalness 0 + } + geometry DEF WEIGHT_GEO Box { + size 0.04 0.15 0.02 + } + } + ] + name "Chassis weight" + boundingObject USE WEIGHT_GEO + physics Physics { + density 8000 # Steel + } + } RobotCamera { name "camera" translation 0.05 0 0.03 @@ -103,7 +123,7 @@ PROTO SR2025bot [ } VacuumSucker { name "vacuum sucker" - translation -0.01 0 0 + translation 0.01 0 -0.02 } UltrasoundModule { name "ultrasound front" @@ -111,30 +131,30 @@ PROTO SR2025bot [ } UltrasoundModule { name "ultrasound left" - translation -0.08 0.07 0 + translation -0.08 0.12 0 rotation 0 0 1 1.5708 } UltrasoundModule { name "ultrasound back" - translation -0.14 0 0 + translation -0.18 0 0 rotation 0 0 1 3.1416 } UltrasoundModule { name "ultrasound right" - translation -0.08 -0.07 0 + translation -0.08 -0.12 0 rotation 0 0 1 -1.5708 } RGBLed { name "led 1" - translation -0.12 0.05 -0.008 + translation -0.11 0.08 -0.008 } RGBLed { name "led 2" - translation -0.12 0 -0.008 + translation -0.11 0 -0.008 } RGBLed { name "led 3" - translation -0.12 -0.05 -0.008 + translation -0.11 -0.08 -0.008 } ReflectanceSensor { name "left reflectance sensor" @@ -153,30 +173,30 @@ PROTO SR2025bot [ } BumpSensor { name "front left bump sensor" - translation 0.06 0.05 -0.02 + translation 0.06 0.06 -0.02 } BumpSensor { name "front right bump sensor" - translation 0.06 -0.05 -0.02 + translation 0.06 -0.06 -0.02 } BumpSensor { name "rear left bump sensor" - translation -0.15 0.05 -0.02 + translation -0.19 0.06 -0.02 } BumpSensor { name "rear right bump sensor" - translation -0.15 -0.05 -0.02 + translation -0.19 -0.06 -0.02 } Flag { name "flag" - translation 0.03 0.05 0.09 + translation 0.03 0.07 0.09 flagColour IS flagColour } ] } ] boundingObject Pose { - translation -0.045 0 0.029 + translation -0.065 0 0.029 children [USE BASE_GEO] } physics Physics {} diff --git a/simulator/protos/props/BoxToken.proto b/simulator/protos/props/BoxToken.proto index 5212570..461d7fa 100755 --- a/simulator/protos/props/BoxToken.proto +++ b/simulator/protos/props/BoxToken.proto @@ -12,7 +12,7 @@ PROTO BoxToken [ field SFColor colour 0.7 0.55 0.35 field SFString marker "0" field SFString model "" - field SFFloat mass 0.100 + field SFFloat mass 0.080 field MFString texture_url [] field SFFloat connectorStrength 35 field SFFloat connectorShear 20 @@ -86,13 +86,13 @@ PROTO BoxToken [ # baseColor 1 0 0 # } # geometry Sphere { - # radius %<= fields.size.value.x / 2 * 1.44 >% + # radius %<= fields.size.value.x / 2 * 1.4 >% # subdivision 5 # } # } Connector { type "passive" - distanceTolerance %<= fields.size.value.x / 2 * 1.44 >% + distanceTolerance %<= fields.size.value.x / 2 * 1.4 >% axisTolerance 3.1415 rotationTolerance 0 numberOfRotations 0 @@ -104,7 +104,7 @@ PROTO BoxToken [ Connector { rotation 0 0 1 3.1416 type "passive" - distanceTolerance %<= fields.size.value.x / 2 * 1.44 >% + distanceTolerance %<= fields.size.value.x / 2 * 1.4 >% axisTolerance 3.1415 rotationTolerance 0 numberOfRotations 0 diff --git a/simulator/protos/robot/BumpSensor.proto b/simulator/protos/robot/BumpSensor.proto index c2b8927..f567512 100755 --- a/simulator/protos/robot/BumpSensor.proto +++ b/simulator/protos/robot/BumpSensor.proto @@ -17,12 +17,12 @@ PROTO BumpSensor [ roughness 0.7 } geometry DEF BUMPER Box { - size 0.01 0.05 0.01 + size 0.01 0.07 0.01 } } ] boundingObject Box { - size 0.03 0.05 0.01 + size 0.03 0.07 0.01 } } } \ No newline at end of file diff --git a/simulator/protos/robot/VacuumSucker.proto b/simulator/protos/robot/VacuumSucker.proto index 3bf3d2e..6baffca 100644 --- a/simulator/protos/robot/VacuumSucker.proto +++ b/simulator/protos/robot/VacuumSucker.proto @@ -5,41 +5,41 @@ PROTO VacuumSucker [ field SFString name "" field SFVec3f translation 0 0 0 field SFRotation rotation 0 0 1 0 - field SFFloat max_height 0.27 + field SFFloat max_height 0.35 + field SFFloat forward_reach 0.12 ] { Pose { translation IS translation rotation IS rotation children [ - DEF BASE Solid { - translation 0 0 0.052 + Pose { + translation 0 0 %<= fields.max_height.value / 4 >% children [ - Shape { - appearance PBRAppearance { - baseColor 0.7 0.7 0.7 - roughness 1 - metalness 0 - } - geometry DEF BASE_GEO Box { - size 0.06 0.06 0.125 + DEF BASE Solid { + children [ + Shape { + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry DEF BASE_GEO Box { + size 0.06 0.06 %<= fields.max_height.value / 2 >% + } + } + ] + name "Tower Base" + boundingObject USE BASE_GEO + physics Physics { + density 500 # Hollow Aluminium } } - ] - name "Tower Base" - boundingObject USE BASE_GEO - physics Physics { - density 500 # Hollow Aluminium - } - } - Pose { - translation 0 0 0.1 - children [ SliderJoint { jointParameters JointParameters { axis 0 0 1 minStop 0 maxStop IS max_height - position 0.02 + position 0.01 } device [ LinearMotor { @@ -54,27 +54,42 @@ PROTO VacuumSucker [ } ] endPoint Solid { - translation 0.1 0 0.02 + translation %<= (fields.forward_reach.value + 0.055) - 0.05 >% 0 %<= fields.max_height.value / 4 - 0.05 >% children [ Solid { children [ Pose { - translation -0.05 0 0.025 + translation %<= 0.025 - (fields.forward_reach.value + 0.055) / 2 >% 0 0.08 children [ - Shape { + Shape { # Horizontal arm appearance PBRAppearance { baseColor 0.7 0.7 0.7 roughness 1 metalness 0 } geometry Box { - size 0.15 0.05 0.02 + size %<= fields.forward_reach.value + 0.055 >% 0.05 0.02 + } + } + ] + } + Pose { + translation %<= 0.05 - (fields.forward_reach.value + 0.055) >% 0 %<= 0.06 - (fields.max_height.value / 4) >% + children [ + Shape { # Column + appearance PBRAppearance { + baseColor 0.7 0.7 0.7 + roughness 1 + metalness 0 + } + geometry DEF COLUMN_GEO Box { + size 0.05 0.05 %<= fields.max_height.value / 2 + 0.02 >% } } ] } Pose { - translation -0.1 0 -0.045 + translation 0 0 0.045 children [ Shape { appearance PBRAppearance { @@ -83,13 +98,20 @@ PROTO VacuumSucker [ metalness 0 } geometry Box { - size 0.05 0.05 0.12 + size 0.05 0.05 0.05 } } ] } ] name "Armature" + boundingObject Pose { + translation %<= 0.05 - (fields.forward_reach.value + 0.055) >% 0 %<= 0.06 - (fields.max_height.value / 4) >% + children [USE COLUMN_GEO] + } + physics Physics { + density 200 # Hollow Aluminium + } } DEF SUCKER Shape { appearance PBRAppearance { @@ -98,17 +120,17 @@ PROTO VacuumSucker [ metalness 1 } geometry DEF hook_geo Box { - size 0.05 0.05 0.03 + size 0.05 0.05 0.04 } castShadows FALSE } Connector { - # Shift origin to be the lower face of the hook shape - translation 0 0 -0.015 + # Shift origin to near the lower face of the hook shape + translation 0 0 -0.01 rotation 0 1 0 3.1416 type "active" - distanceTolerance 0.1 # (0.14 / 2) * sqrt(2) - axisTolerance 3.1415 # TODO: check this + distanceTolerance 0.094 # (0.14 / 2) * sqrt(2) + axisTolerance 3.1415 rotationTolerance 0 numberOfRotations 0 tensileStrength 35 @@ -120,7 +142,14 @@ PROTO VacuumSucker [ unilateralLock TRUE } ] - boundingObject USE hook_geo + boundingObject Pose { + translation 0 0 0.005 + children [ + Box { + size 0.05 0.05 0.03 + } + ] + } physics Physics { density 1500 # rubber } @@ -132,7 +161,7 @@ PROTO VacuumSucker [ axis 0 0 1 minStop 0 maxStop %<= fields.max_height.value / 2 >% - position 0.01 + position 0.005 } device [ LinearMotor { @@ -145,7 +174,7 @@ PROTO VacuumSucker [ } ] endPoint Solid { - translation 0 0 -0.035 + translation 0 0 0.005 children [ Shape { appearance PBRAppearance { @@ -153,12 +182,16 @@ PROTO VacuumSucker [ roughness 1 metalness 0 } - geometry Box { - size 0.055 0.055 0.12 + geometry DEF COLUMN_GEO Box { + size 0.055 0.055 %<= fields.max_height.value / 2 + 0.01 >% } } ] name "Extension" + boundingObject USE COLUMN_GEO + physics Physics { + density 200 # Hollow Aluminium + } } } ] From 11826d5d152cc6b056b9025271d35dc03b41cda6 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 28 Sep 2024 19:54:56 +0100 Subject: [PATCH 11/18] Fix logging for when there is no usercode to run --- simulator/controllers/usercode_runner/usercode_runner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/simulator/controllers/usercode_runner/usercode_runner.py b/simulator/controllers/usercode_runner/usercode_runner.py index 6621c75..c090217 100644 --- a/simulator/controllers/usercode_runner/usercode_runner.py +++ b/simulator/controllers/usercode_runner/usercode_runner.py @@ -48,7 +48,7 @@ def get_robot_file(robot_zone: int) -> Path: # Check if the robot file exists if not robot_file.exists(): - raise FileNotFoundError(f"No robot controller found for zone {robot_file}") + raise FileNotFoundError(f"No robot code to run for zone {robot_zone}") return robot_file @@ -169,8 +169,9 @@ def main() -> bool: robot_file = get_robot_file(zone) except FileNotFoundError as e: print(e.args[0]) + robot.step() # Not having a robot file is not an error in dev mode - return game_mode == 'comp' + return game_mode != 'comp' # Setup log file prefix_and_tee_streams( From ac8f177ed1495d3bbe0dbac4e22f651495f55faa Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 28 Sep 2024 19:57:13 +0100 Subject: [PATCH 12/18] Improve viewpoint --- simulator/worlds/arena.wbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index b2e840d..45a0568 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -10,7 +10,7 @@ WorldInfo { } Viewpoint { orientation 0.43231 0.43231 -0.79134 1.80272 - position 0 7 10.4 + position 0 6.67 9.87 } DEF AMBIENT Background { skyColor [ From fd2b7bffb6766ea8e3aae71a94ddd35a3a7d5e03 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 28 Sep 2024 20:07:52 +0100 Subject: [PATCH 13/18] Fix keyboard robot --- example_robots/keyboard_robot.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/example_robots/keyboard_robot.py b/example_robots/keyboard_robot.py index 8f33ca8..a013942 100644 --- a/example_robots/keyboard_robot.py +++ b/example_robots/keyboard_robot.py @@ -91,12 +91,12 @@ def print_sensors(robot: Robot) -> None: print("Touch sensor readings:") for pin, name in touch_sensor_names.items(): - touching = robot.arduino.pins[pin].digital_value + touching = robot.arduino.pins[pin].digital_read() print(f"{pin} {name: <6}: {touching}") print("Reflectance sensor readings:") for Apin, name in reflectance_sensor_names.items(): - reflectance = robot.arduino.pins[Apin].analog_value + reflectance = robot.arduino.pins[Apin].analog_read() print(f"{Apin} {name: <12}: {reflectance:.2f} V") @@ -107,8 +107,9 @@ def print_camera_detection(robot: Robot) -> None: for marker in markers: print(f" #{marker.id}") print( - f" Position: {marker.distance:.0f} mm, azi: {angle_str(marker.azimuth)}, " - f"elev: {angle_str(marker.elevation)}", + f" Position: {marker.position.distance:.0f} mm, " + f"{angle_str(marker.position.horizontal_angle)} right, " + f"{angle_str(marker.position.vertical_angle)} up", ) yaw, pitch, roll = marker.orientation print( @@ -126,9 +127,13 @@ def print_camera_detection(robot: Robot) -> None: keyboard = KeyboardInterface() lift_height = robot.servo_board.servos[0].position +# Automatically set the zone controls based on the robot's zone +# Alternatively, you can set this manually +# ZONE_CONTROLS = 0 ZONE_CONTROLS = robot.zone -assert ZONE_CONTROLS < len(CONTROLS["forward"]), "No controls defined for this zone" +assert ZONE_CONTROLS < len(CONTROLS["forward"]), \ + "No controls defined for this zone, alter the ZONE_CONTROLS variable to use in this zone." print( "Note: you need to click on 3D viewport for keyboard events to be picked " @@ -186,9 +191,13 @@ def print_camera_detection(robot: Robot) -> None: robot.power_board.outputs[OUT_H0].is_enabled = 0 if CONTROLS["led"][ZONE_CONTROLS] in keys["pressed"]: + robot.kch.leds[0].colour = Colour.MAGENTA robot.kch.leds[1].colour = Colour.MAGENTA + robot.kch.leds[2].colour = Colour.MAGENTA elif CONTROLS["led"][ZONE_CONTROLS] in keys["released"]: + robot.kch.leds[0].colour = Colour.OFF robot.kch.leds[1].colour = Colour.OFF + robot.kch.leds[2].colour = Colour.OFF if CONTROLS["angle_unit"][ZONE_CONTROLS] in keys["pressed"]: USE_DEGREES = not USE_DEGREES From f388cb7b814e4a8c09bd887452d8c9d0faa19f58 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 28 Sep 2024 20:55:25 +0100 Subject: [PATCH 14/18] It's a 4 player game --- simulator/environment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulator/environment.py b/simulator/environment.py index 65af930..b512acc 100644 --- a/simulator/environment.py +++ b/simulator/environment.py @@ -11,7 +11,7 @@ MODULES_ROOT = SIM_ROOT / 'modules' GAME_MODE_FILE = SIM_ROOT / 'mode.txt' -NUM_ZONES = 1 +NUM_ZONES = 4 def setup_environment() -> None: From 2956bbb37b8db8594d48a51926de0594965637de Mon Sep 17 00:00:00 2001 From: WillB97 Date: Wed, 2 Oct 2024 22:15:22 +0100 Subject: [PATCH 15/18] Make pillars multiples of 130mm tall --- simulator/worlds/arena.wbt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/simulator/worlds/arena.wbt b/simulator/worlds/arena.wbt index 45a0568..321f53f 100755 --- a/simulator/worlds/arena.wbt +++ b/simulator/worlds/arena.wbt @@ -74,35 +74,35 @@ DEF PILLARS Pose { children [ Pillar { translation 0.75 -0.75 0 - size 0.15 0.15 0.15 + size 0.15 0.15 0.13 marker "195" model "pillar_0" texture_url ["sim_markers/195.png"] } Pillar { translation -0.75 -0.75 0 - size 0.15 0.15 0.15 + size 0.15 0.15 0.13 marker "196" model "pillar_1" texture_url ["sim_markers/196.png"] } Pillar { translation -0.75 0.75 0 - size 0.15 0.15 0.15 + size 0.15 0.15 0.13 marker "197" model "pillar_2" texture_url ["sim_markers/197.png"] } Pillar { translation 0.75 0.75 0 - size 0.15 0.15 0.15 + size 0.15 0.15 0.13 marker "198" model "pillar_3" texture_url ["sim_markers/198.png"] } Pillar { translation 0 0 0 - size 0.15 0.15 0.30 + size 0.15 0.15 0.26 marker "199" model "pillar_centre" texture_url ["sim_markers/199.png"] From d5cfd2a78a4ccb4e21430791651fabeb41995eb5 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Sat, 5 Oct 2024 21:17:54 +0100 Subject: [PATCH 16/18] Fix missing type annotations in Webots --- simulator/modules/sbot_interface/devices/power.py | 4 ++-- simulator/modules/sbot_interface/devices/servo.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/simulator/modules/sbot_interface/devices/power.py b/simulator/modules/sbot_interface/devices/power.py index 7e06fc4..71b06d1 100644 --- a/simulator/modules/sbot_interface/devices/power.py +++ b/simulator/modules/sbot_interface/devices/power.py @@ -57,9 +57,9 @@ def __init__( def set_output(self, enable: bool) -> None: """Set the output state.""" if enable: - self._device.lock() + self._device.lock() # type: ignore[no-untyped-call] else: - self._device.unlock() + self._device.unlock() # type: ignore[no-untyped-call] def get_output(self) -> bool: """Get the output state.""" diff --git a/simulator/modules/sbot_interface/devices/servo.py b/simulator/modules/sbot_interface/devices/servo.py index 41d207c..92e7e07 100644 --- a/simulator/modules/sbot_interface/devices/servo.py +++ b/simulator/modules/sbot_interface/devices/servo.py @@ -4,7 +4,10 @@ The servo will apply a small amount of variation to the power setting to simulate inaccuracies in the servo. """ +from __future__ import annotations + from abc import ABC, abstractmethod +from typing import TYPE_CHECKING from sbot_interface.devices.util import ( WebotsDevice, @@ -14,6 +17,9 @@ map_to_range, ) +if TYPE_CHECKING: + from controller import PositionSensor + MAX_POSITION = 2000 MIN_POSITION = 1000 @@ -97,7 +103,7 @@ def __init__(self, device_name: str) -> None: self._enabled = False g = get_globals() self._device = get_robot_device(g.robot, device_name, WebotsDevice.Motor) - self._pos_sensor = self._device.getPositionSensor() + self._pos_sensor: PositionSensor | None = self._device.getPositionSensor() # type: ignore[no-untyped-call] self._max_position = self._device.getMaxPosition() self._min_position = self._device.getMinPosition() if self._pos_sensor is not None: From c60d294217a44cf1a2f63a5d2c10f388fa9160af Mon Sep 17 00:00:00 2001 From: WillB97 Date: Tue, 8 Oct 2024 22:03:06 +0100 Subject: [PATCH 17/18] Document the updated robot --- assets/images/robot.png | Bin 67056 -> 177406 bytes assets/user_readme.md | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/assets/images/robot.png b/assets/images/robot.png index fc8b613996524236e2238e79b6d683a4519444bf..ecf4c460b0d8d955c7e8fd01211c51456724560b 100644 GIT binary patch literal 177406 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

kVg6FS%Aq;SZs{b*OAoT@FXLZp1#v1;LIr$3 z_YKCnZDDDd9Vh??Pl0FSXsN$K~%WQtnsY5c@zJi*}a z=JkXllh7DVnN?k9=sd2%Erc+T=sre)-0%p>HKHcxD(J1BSI<68a|t)DpRs)69JmJL z#X@0IT3Yl0{zm^KcHRn7r;%E6&3BzmI^S%$Y3cug`)^Ib_pjsO1lvN=u?cnXTe`pt zy>&#^tFi@}+L|T;3g;pLWa9kPdn|HY*UK!C8HH>IA$dxBH#z$1@_m|I6fYat zOehU90R#YFj&WZ@_-!;bmem-vaVla=Z}t&UGKOJ}E1ZdmXs;e2x^<~8kH56r z0v;mM5MB)6m@KqStMm(7M#$Y48`t|6_0ai?@8GBpdfRB! zI&5JUd3C3UcFpF@X}ZEvRVq^(twx;5R? zXOQnG6xujKLl{=>MPSx;H+t0QyNX6p;#_P2acCS@z?ye%>=PF2tYL-}GZDZ#^-*&7 zhVTICjx8fpyK7C@O7&?#%n~!_@4$Q337Ur$2JLg_ z-@Cj?=kj&^>l#Em*55Dt!K`*4+dE*0llSZ8+#b>I$V3%g!kkIQCc#SA{=+P4nc$<` z1tsLNKWS0vDghWCBA_ffTG{CcoxjlVtk`Vx6^g@f7`!IlV}W|q*b3@>yudcEz5V=uAY}4zLy|3sY^Z_njw?3?#kZVt4Y=MobIu=i*5JeAkuvlRBd? z_o2aneTHRx2+y=^^*(bf-LX5Vo}t|}XM6AKymJ=?`l(k99;vnm7x2r1-*_Q zhvQP?9@Ek%WscvNt~Qd=J;v3%azhEbNx z+-#v7}EbI4RbT5_8xF9Wfvw1FmUo0FqUxaI8 zJQ#UW3M8Zb%O};%i(n^vT#D0eB;Z2#t#<3ur~_X^?vg-ndrc;!* zwVCSfc9QoXDq5v%@Qyh|Guv!%uiIG4hDyLe4B9Nqfn+g!jqL~tFPeD-Q!Bs(_|RL8lNB*-{85t6TvaEAqb&D>Wf$Y8ww7?F%Ja?s7M`YYo3$m62Ab zPHM+Js}_<577)UuF6qPOQ%xF@?vsB?SuV(#0+atf$&q7%;VuS52#vr7hfl=U5b2T$<*LaOX$`hhe%ue09=)Qg@7?nx+S zj5G<0Sn3#CTxk2MDi~SVafit>`*nxSEFJp)I+66hlHgVQR!||>MV9jtTANzo)x(kT zEwwXjCX=3t*2V;^vMbaS5^nx${tKUUFz7_nkIzB)e zXXk!u1Y7Y9q>7Z2lux}@8Wk5jjmkQWpBen?bQuAt$Rwe=D zsJatom{TTM))V;uqjU|2v)kAPXZJL@N2x+H-YQr!N$4JG)Qzkh-nEy;12SeJpWBDh zGY65OyHpI<#KYH;3U1OGm3BxUx?1*AB%R%))AK8c^m2a_;m-whi#p}Nl#9kf%RC`H zZE&nGD$g!QEm@&K4%D{(wZsPEFb1Klrl1JMtv{jM@aeR7L&rD+eRJ^<(8u6Z1#k|@ zj{7Y+*{NyKFUOBK=Y1bS=+hzB^x4n>h-na;vdF=7;c857v!bijUeR z9)2thOsn!NxsPdA>&MmxHR zCI1HYcfY-sr$;xVQy(x>h9?GVF9oVX2J*)8fi#$mGHr|~ZUH!tcd@MXxWTH_krGt< z7-WI>Tk51bNwlIqd0Q^5AuJ9_W^HQ&Q|@bI0;G~bZ!=L z4zNA)5&{3UU+r!etKhAGVwrkUlhLt1&J^10)Dh>+0pz+Gy6NS;X!iHa5K!mMN8>~3 zlq=C<&K94ho5zcnJ8FJw1OPWiCL>i=x0srxh~z=RhQ?U@D}UcJ>(3YYj-qatv5yIm zAK}z+?2*G#!+J9?@~5I~vL2un9?%0*3^MkD2xwWaJ{}MI0j|EQK0kC3|IQl-^HMh3 zQ%lLY?&hJO6Qv<<1;k8_rPq0w-#^jca zoAt+5fH6cZHeN9p-Jl4PQRizfM0Vqn+}LTF7nuj!)U2yAS}T)OswYnmhFF%(l@-Bw z8X77E{{cBF@Uu3d67UHZ7Z*KCk6U0gI`K^Xjvx>o&{VjxrxkY=B?jWeL)!2>SzA~z zSB;J=WQr6I9*)DoxurXbk^xHPzv-)WuND#%RR(-?$&U_@<+d(BxwRg~90?PE=^{9cW6rc}aGqKMD8>$-WQ3 zs-E5j&78@S9vn%B`}4k#&8B-x0u?e!x4#u7VoS0e!s$ft;-gP~`J8Y_ULIDaC_?UU zPEEF!HiO*sr+kc%5&l-H)Z()dJDh)H`tS8uC@uJW6CIsJa|?^kwO=c`ni+v+GE30m z0cPQ_VK1|Nk$%n;1p~WVj^WKjoYZL>_I;`#V`>cWbFRl3L9rc_c6ZNxY9xM=N_XE< zhD6Cs7jbM47J9pxXk1l(I(}sdHf5cg0{>c6C{^d)<4iI##}9Mi_4uR z8ker}xsM4CDe4Ayv85&SOV>bk)~^r88@b%SD=VjzsGrQj(_18K(C_D{D*;4db5h zdQn>KObesGoICO48{x=ZXTpa2|9^aOCZ=(}yQ--lKbV44yNe?BhS>dpZN6EO^W*`y zzO`%hc@&toY{Gb7+MTzb?`$HYrhQMjYEE6K8Ce9jv73X zt~|r5%3bZN0+UOg9W=aeN6zlDgfJCFZE8>=18ekGyIgI(TwL~fNRKnu6eUqfl??87 zgt;e5bq)A26t&Rm$)MKfH)voWjO7tTs`d};9?j9kK2T`cUIxapS=t(||h#wch0KP*6|E3Y@MSV4G%yEJBjqhcXaqf%Ls z0h`4c?piT4ZL@Kn;d8f17*z}#JbYOA|02g0D3wsoX7+&1 zm*vAcMqr;IK+ICdxFjHgsnN4hrWWvN%FfodyeBm>dOCnA(BnGuj~*GnauXGuJZr+q z^db9oEe(xfA)F4@9;sk>d;2(1b%6%WdS<5^^NZu^Udk#( ztoNXe@b8u5Tt5svR=KfE7`?Hyt^g2V;Z!k?JNkE59g&EA;Yqu`v1y`l^v*$4cluA` zW>78_bO?U@M%1I`O2p7OE!Op+ylvpgd8(OiTm68^*Y*NN6Llr7;=u%du5e@@0D9Dr zMyfZcd zN(FO{?~;&(Ux5 z=a`WDgVcxw&&~?^A{gYKZ2rVaQ9b}aHx>|4A}Fq8YHv*#j-Ez=HGf7M#y|5x4A4cu zE>|(}71%dn>^Rw|;+UPorpI$#5dy}>q%KqUnTCY=>{M!7`bD_( z!bfYw5>Gwn@Y-lTM-V4}Q`?AsK+~OSfu<-`NrRWh{P#|H@5!w51Ri!ql5+e$E<{Ef zHZyKrH{ZV2e$&`@$~duqB_-16iITmeu^K>uc=P?(8ARl<`@)ETFCAEIG2v6GAi$`L ze=~0`WXK!nN?7Tmu7s)+GAMdqFS;6Qgj5-hF&U_?HKIG4lz<|&w-;w$yLnu|jccV* ztm(-noWO9Ak7g4*)gT-3vly-UE#TWgu6KMoFA?&n`csv1pidotr;vHfaIoMj1s+M9 zh|DZ(p7EtDvUH){gCZ5LPpX-u>aC{`x-m}cmv=3JZJkOds>xEbfOxaz=V#B{1CvLf zZI_{xm5&AdR|3X}y|8CYSu3);zCPoACP=b(R^m@B9-iIiNqP-yZ{ESLeQN=KvG9w4 zCDlnc9L2knroX%NeBbHk%=!`}|E1wrw(u2P=GU1R!ZH#c=f|C>?(v2z#En+7;HFI6 z(X521x4WQHs#dMscC#}i0mC4jJ2zIm&ZqrlFjIe~oUD=;zB)7G*1Ps{F5FJVOQ467 z0k~3XZg)2Ul?zd4%s3=8+3Rq--;pMI!Z4u=1Hg+NMN9+72TCQw(!5o=vMv^Tc>e7? zDz%6y2f`)6fwNbao(&ymYI;1z(jv`?oqa2Wz_V<+Fea*4g=nZ*-7H*tKs6RjatQ$? zBJHCe6DhtvSn+J=5a6&$V{?o%qk<}cOkrNF#dvCqK04ttacM!UPYfW|O#SgfsF=b3 zD6fl^(iVK`FV5w{01iQ3=0d>In-&HFTB35MFfV{6hZMzcW6AF_DDyWvJvTE{GQhIA zkB~haFPbbl-hnD!Cn6a9NQhR=>*?#CIrBrvXy8aX?v19%a;VZ^$jje=F}oa9Rfqxt zh~K~4$Nh@JrT!z_w-I@@m=i14qm7!Gg~qV(_(zvsjWl_2=)Y?}8Dyr5!yXw-9PLjH z7JB|vSedjDN{|ZB3%k;E%lV{>Ob`}D>iy>gwK9{d6Alvi+`sc0Lb$q0X_%ve#xTJS zRVfY~**P)k{o}MBRA-jxUvAZI%QF{j$6KfBzcVj8KSMR`=aGeVS_Oc}QEJ(|&@418 zS8yC*OLI^{s^)2MxJHG|GL$uNZ|C74t@NT7YmiO;T9p-|VX{Xe`KMu|f>IqrF`Jhl zUu7Ve3mLlHdI@`+H7hR<*O9vPFy1%o4UTirP#Fi4*_{)}0jK82DNXAa?$gG8QsrB4 zoBwkcg3LEoK>@*XXp@?X2nT~PAwE9d!NIa+wM;3;x<$Zx_6v-zh7y2QIhU&N?(UA} z2`S8m)c3LbYe%!|v-8zX6zSvya#^+N#Jy=roNN*Ni}l2))5RTU6R%C7X5cT`szRAB zosSzagp0S(v;wKYdbb%Jy_Q^5viO^#IkQm;4jOp%!1P)SKDkg7ZnpD`x0N)~)uk0a zzoYAWSLF@c#UKqNUmR5F!6!tX=H}3bNv=psGzKfajiA5fr{9MZM2iJ+N-;sHP(1Dk;{ z$q%TVxtQwersAWo`+dAw&-mRP&+7<-&fGShCcz2u!skN0kmcfZoQEypvLHq&xK?kO+d|apQCTOmos3*?`+uBsDa+u#RZ-lb)DdTQARfQA+BCMXAsw$e1aj&@ilqAFsS3Yy(tWm>NW}n_s3uUc zy)R{hhxdy4S9=fv_;V(YX5%XMyi!v@@n-nwtCAMs)T+8zC6Rrt&CRI?Phf-YY;R}7 zvHK{NcPBeL;HA_J|L+)M$R<2$d_gD(TTMVn-f>qviU~S9H0r6IToEh<*x>zO@)wx5 zSrAP*nn<)zsN1#+Lmxj7+_Bd_OZa|sa?s^qeV4%^VqT3U`yr$ka%e?P)ED9ilV~}*IrA|NW8uXy_?xJcs=G1H0yD~hwpQna9|?S$u-MhS2HF@ zH`Aqw+LBP#{m@=eXf6oVEc%^f|A)4I-7bo7EPfwJS!Kg9=qiV<0tg`k>9KC+^ z3`a7Qbntn(gZVA>6kD;KF4>vQ;en!1{XE z3DQ!TiRnn>V-{`e1j+K`!3zy=oud(%7T@o{7-YO#mMQ0QWu9N0A7h7FouG2oa=}Z$8&+ckIS&WdPfR zGS*|oi<-`{dGAq}kZ>_a$n`#{28;NA3JhB2Vhj_?HAO2}J+lsr9xB_CiQX$Mt!~(% zY?UiAPCjUpP~ZiO?(7&>&Ht%o$#raXQrx{(>wh<(?8cQvwpbG18|YP*aD*H9(N01m zb*|hwv0ECB$CVN90Q%o;^d^~VrYv}6ntK3BKESt1F3}5$Uvb-glPD2OGb?b#jX3Oj zIcJP~P0@ajOG#PqdsglSqt?8X8Fi+ZGz30{Dap>Ye)BJ-DqbAQvhOPB-|-wbE&g)IqG*P78Wwcgy!v1> z8zI{kVa!SJnO;{fN$V6dP~Ysw-Ursj`g`>KfsYa6kXGVac<%0)NAY8M1Rn)HLYOX4 zPxJ9QKNxdra?z`-zI}`pZ(+Yb)=l_ z%jVhkF40)zKp0*JdS?}1lw(>?WAoo`Yfkjx@EQ2%nWRJ;wUnh|)zSmhufk;G>1d9q zUXtQ{B$V|S@ZjeqiZ<_6t!$QlEYfG1Gk9g1ZY1Q|yOgQFp_qv=isI!e&hH>eSt(ms z$n$E@;EbZq3}OZK%Uep;$k6CqstnQXv((~(nQVHZ%754R{(h;jS<#$@?QfTYTD74c zRBOnlj)-;a`MeQKW9UZB>z>CE(i$oKpO)7V)|PK*3z;MePt!<|`i{;@Y&z!K{mh!8 zvy@~~GDVWP8O3M_=vqM5-@@AHaW$%hD1q8^d6nz@JhW45>uLS(oSRr>K6GnXBmv>Z z(5ZVvW<_6H(q5s|ecATKX~Or^DYG*&(0wsfH$a-ST4)D?sg2+%6WJ$FW;ct)HyJ*y z4-Sj)1x^a5h;`Y=&NyR@-D)CEw(UmRsHiBF34b(gfh;_hf%HTgC)zwbQ#V|^pv78hBzHi{d-{^O50j`cb`Wr<~#J=82ESSz2Z|u{&B0F5~@ne<5 z`P7$PBJos)ft?AKY>MdQe5OMUcw{ZgVOwR1d=&g#eyS+_e^k8#V_s_)EgGY-)7VC1 z`;Fbkw%x{Q?8dg$*lBFDv28bY&f2^CyZ4-?`2#c0niyluG4p7Em^w5@D!xB`SyO8m zFZ^;?jJ=|t4YR*=eiK~v`tTZjPh%3wcGeiq>p04mDQs52E4lkW}(6C)!a zNXGyi&qZ?n#Oh&Q$^YmO#F8}r1oy>_3O4tJPY=s@D~t34(v1htu2&KXh}HoK2OH=3 z7=3fX>dCfzsKyEI)&+f-!2R-;;P%nb3RR@4iSePEW!{IVCpswg$)oux#`IT11CMkC z20Ak4-^#uy$^UeCl+!YSw$Ja8_t~$h$=v6zP9Lc1do#t7t$fcj%q>qj&YosuySxJ% zsL01NbA=DbRu{DJ!@kvNASkc-VB}KsP@+~UKSJv2g-{L;oWnC(P`(ulCCkEamKGyl zbMKRiPiW_e>B}z3cd63a*|S?ob8ok|`EkNB_gM572)>GW98qQJax3(j3XloQ*$JHp zLG1_{TYhyDHn?bbC7`T4#W=!dj9W$7mr*?k&$>)Opft~iUqB}{d)pjMRe|_qK9zvGeq7oma~n(XQ`AV<8Q>X7+iMT?$k>pC4zU+*&;RKYI}iHqimnuFB@^ENs$+2H8TMUSB#(IhR!ZD zlXaH(%@iD4a@RxH4_VE67@UNi=ETEOv`1O^@33=+;GPBKnFQ0^ZDg9|4XoSZk( z7zOQ|q3VG>N6V~|IO=6K0hFV>)uS+AB_zq3N#oA7#cE-+@M>rk&uFMOM>#W}(Iegr z9_q67J6^Wr)zrIH3lWbu!oztr|cw)629l;r48!~%FPVJiSI19cqkUT`~(jgN+!rl zJ|U-YDHr3jGpG|SI?ARfU}nKemiv##5t1&dsOR&g9kd^yfSkb$q3m9Y6Y?M=@WJKf z9%8Q-va z{rd74)XejgFQk={{%nDAvSU+n1-oJk{@vY%W#Xy#O;h3_CL9|K2prc2e=Cq5@MvZ7 zrq1zoC__fUsuQt)lF#8Vj$0@XHjc4^`kEEqZnTzcKj!P?2RAn?LXz|-*t_kA90)Dw z;Tza*fQQBuyRm~Su;YO|1OFKDQ2r{8$pv$%@1j-Tm*0;3#bzMw9JWy%iPa4xD}#v~*m z=kRf=ZrPL*8)+k_xv)ExL>-hQYZn-b_Wb@2D87RR+Wyd-1e0+YlTcr&wDip&J~Y6B z+UHhXKRdM>7-?qO1)njxDDl7`mXnwK5cNLndwfa=tYA`Yk@*)&2Ie}>A9*ygpQ%gd z*R9XkxMt=V}iLF6*Wh4kU1;RWLSQ%cd9e1Z)MpG9JGt!0!DFPn=?R!>TH*1J_S5&GqecbqGsXY7Dh- zym?u5#L~a6YRI#Z`)0`in?y}P;P_uRbHO4cq@UDx;?mwjlgQ?rL<&|~CXBN?jV5j|>jb>gHkwo7TGRMSOgXYaMvKnSXHfdu&u+mzV z3)&KX3g?FOgj2UkTbnap8VL5qf)Opc=@lC)JM6D0p-oOjKC?&3|E&~<`(j15^kDY! zcHlU{RP&2k9*gH;28C6#{lg>s4tWnatldrR)mlDyE;^%d_G& zI|wiYdxWEP*o6BihoAg#`@!8~a?6qjkzo|1xUK%1?$(W6TpAe=%*7`v*G$7g7cVB? zZ;CrzwtA*t?{{1~*!cL;fpWW^E+zG#2I-+K!AM4b=lA`KfWX2A(z?DBmedhQpXcVk!uJOI6*?zEO?zC$_^2YQaHkxC76^1d)DjKNH_^y1I=mpSl&iP(zr&lK6P; z0&#}>UVDumzF_7Qg=72=ZmOg#6#e@YDSRI8S#%7nz8pAI7XSWBtmefDhwI?{eWdnq zjB7MCv?xK0Q)iJ%a1fVsk1#j%*X^7bo*xF=xQ5+rTNdm$R(7chC9)i2V&keI=HTf{ zs7K#wvDDf3UYE_X`+(OnaG5Ge;5fBjOZ&}vpGy=jx;fsI9k7Sa)IHJYF;&cAy z=EeL4_3&%Mmv?)-vmuQC4;uU+^nV?n=QmzLGP=>v6@bZ>eK*bM3-Q~Q^+J_vwok|X z>Q`$7g#7QUu?{3nN;ko!OPh0^Jx+u?v01IjsHBLYp}@7G{vSBNxfnf6a#Lavm8)|M zd*qV?2Cm38B)wt+pLhL(FPf4Tf@GuDULEm54O%W*iLSu~6eI=7WQXBr+sZevy~#e@ zS#h5lHXCP)BJ?Q_@WEN=SvYycXtK#GdDyL#BlGZ`zB|o+x{n%AWm{Zd|4g`EBNdaV z?r7D8NKhRY^$`Kg``nRznAFXZfrpy_Sz37Qn7_UT`-o#7>(#rHLDt{rAdT)U(X@{xP2-07V{9W*sh&{uC|+~5 zH0!K{9J10Ld8WuL&pZHvef(eGaz3o7p$iWi!nwh#COvMvu3d~x9&9|X7gHmS7Yv+ZaW08vlxj&hLKIQ_L%r_r|3kfsW`b*RYd7C9aXmKwQLnIrZiFI) zW*)8OuQHN0`8eTvRXi^v_%?$;Em9y)p#t+%wayAHI|bGLc4;ou>GhbOUKC7bU8bAm zRqDE9t&m7F3i(4zfA2@hxulQmjQ=-RyjDi$i#onJJ&`Lr1y>2$*;gei4zi!2@AfI| zd@)c6na@GVt^IbNM!TBeh`KqV9CCCyrRGJ}ay8&JTV`U+st2GHdqBWR5LvpfL*Nnd zL8G*C?CoLCJ$5(~U2#ot!9BSY{_L>ekrMf8t%VtbNy*7t6&acOE`A!;gHGv#mKMak zp`nt&oXAF^-A*tn7wk0m*Rf9fdsvdvP@2Ko+Uc+xi-Cb*|3M1vlA1|IGt-CppvP#R z7vKf~W9Hvc7{Fpt%7R&`lGvlB5Ynhd<^(^ZPb&cjlR9tbn=2~hcWOimGh zc9>-xy~|Q%1`X9lKuV7}*HWt))MziW2d=`1-ztg3V>aw*uy3=`hACP@Y63!na6aOk>lEzGC3Z zv$7LxE;>@h=AzmxKHq~No=lG;0YS6ThZirH0Fmp1olZh~H>XyTQ81QPmoqK;D(o&Q zlEPjHx#8p3m+9FFlId<88BtaosKCHbHa50=<=BIzbDFRt;irq5kINzcnS@x!=>0^# zrh^pI5_<;T3j?EjDXeN3!284h-}|Fc>v7Vhf*5-LL;QXa6y%jX@m3yU3$65e>+hDI zMC@?JP<=dofwJ!N-U9&DsnJTx6gGS=&a$7fpPZ)jrepOwbMMwlxWk$i?r!kDX8gf`MCyRrGqWLGXR zVZr|450%K7Ya56i7K~)HR;^Xs)HgY`%d-dkXZli3SVY^$yc$MwK-68KhJXe%H;E!M zD<@&&!A=Jv%2FESosy)HBoAW>Qv&f)cu%>1sodS|L`|2p|N8^Q6puAc-KIiy{G{>n zIGO!?*_${>gx~(KU4=Xe>d~KX9UX^%4Angy@iZvxXNjc=7hRF0QOm3BOL5tyMwC(3 zmUIB3;{rs-S*xQnxP`QS6`^vAnkDvOX_8t0?UKqo*dE_Ap^hNE#(S{U=}d0J&; zGQJw4&oLzo;jv#l5Mxgv;U8Jayl)q>zrVlA;-|ZUWyE5IG5tn7cDW}|$|gZfoGP(^ zz-rHH0k?2;teLY)H2pa4svc^Jn=t6DiFfyor?)dSj?x-I{+XTNH( zH6`EUaEOd+E5oR>jJ0a*nWBfocjn6w9Y2u(RUoR<2At#CXp>qZ->A}$`XYqq8EA(| z5h}e@gm4`FL|2x7W%!>KfG_hLLy_P8d=($cW<4-53m1NG3b6Q4l=fvQ{}l2Kl!i{D zZo+{V1!Szfe#d&lYEBGg6b`2_ji#{ifiH-WJ64(9H59YzgHh7>f(~w>Inu^Tdb&=# zDvuacMr2#KB>y3LP|jXr2e3j9uX}rUxoJ{haC?1f$`GTOkii&IMxQ=Wp;H)CS&Xmc zIJ22|a%re2l?reQFG=sZ?=}3{mEqYSg)%`>c!!Kz`Qrqs2V3fs{uKjA?qevE8?}?m zmkSHt!QT5A9kL?g7JeRw*=sG*AgF{rp4n0X3(3%3o5H%fwX`SLufiVUWB1g*1`mhY zi@TXK_(>PfZm}xNWbAVqDTdH2Hw{!0xY20O4?IANA41e(eD)~kYhSoAz27)5d~=UA z8e$rvq9a&%4J$vT!Q!nv&a3(f-?gG8W3LelCLcAZ^f;fr-gao_zrw zqkDOFGHKO0pie|@EmM@JY}h-73Kn*SaQf!X4G|7CAJ@x0A~a&CEIV&}9P^m<|Bo0% z-b=C2YkRa{X&a}DO9wyK{oR&YnC`fT#8!?%CQE>>_}wBDJbg@?8uHJyeY)njs?SeUxF2fWsQbxim%Qc{B(9ZBCU z+qDTQU!+yy!bVZX9%!CEOqR04B}|M8K}oJ{`X)O&AKr!ty*}^8*gb;h1zq?U>0z9X8;V{O@ZrS|;v&${1?HRI5LIWhKnjq&;kP;|c&8mZ9A3xsgovu>Y#2xQ-)gzg~UawEfM>8S# zi%y?sZJJ;?-gRv!ueZY>rQ2Tbn#bk$8o)uUF@bfCgH0zMxX@HZ572irCJZc5|AL(S zeoqgIirJzy$?9i6(9PALjjBs?-gb(DiTf4o9rpLGo9u3jGO{O zuFl%Jcz&U3p*p=4(T@iPsWl)O3>@APfJWb4dv;KQPmJL4(H-tF<=*2O`3a0gF_4nV zasYTK{s(Eapki{2gGubaY6MS0AZ&iHM8IEpq*kd0aimsD&-^3WZ!r`BKwVg=-zmsR zpLf^%l{t%l$^B2i7>W%KOfIfgIT`Qh)KmLLSocWiQ}G5da42U9Xy7b~mDLXJnxCs0 za|7j}G@KFaO7MI>IQIpAN*FreT~b#NRflT)76zZ28S_x)27CV#4Yj3a$cv^5I3nU& zU0W*Lk!waun|^Sx@z8%cjV;`XLe_HiC{IR5PmGKqO+H$?3F*pyEq%8a1x~p|vbYGd z8mJ-wNuX&wL~Zs>=s-iUx*pScd^C~FtXMIK_p833O`)0esYZN~n49}2}^pKgrZv%WO2Wst_{t)&rqu2WFtg%Ek*`i|7ToYqZp1DS&F z!s}pncq03Cskm6dmg|#{AOR@pYTpBd+^R1kgAaS__4IwOp++@HT$7cun+Wo)v8~m0 zd6Nb9GmW^^k|Z$V{T)xrDslHdbZx||`P6F$6rnx*%o8-8BBio&c%2`p7>~q2_+eMr zfMpkxez}xJ%c~iM7wFabrWWCf+A3=7ZL`4`h?0292&CuQoU(;t$9og})`VX%s?E%YdjEG88 zy1aLfn`m>et@{25d3Fjo-2KAiS71W1F0<~Y5p}sITu{c>LIfq;w7iI^CnqIoFo zIY99==z&(9ZCEpQhjdiO3A}TLpTLi7wg*`51IJ>mY0jW^j2XqO5Kz#H7o?yYzqN5L zzKER0Xqn-tx;Jh?@g@@7^K)^!fNk#Y6Ow7ntp=)P_%@W|ad5fJNo@X1iw5P_>TLY_ zVxd+-F~TZ5RGmlB!O1rxUe`o_Od>~Nv=`oApD*=m-RN$0w!5^0!{j8dIsq`3%%v9X^Lw$X93XdWO-(5#t3sEPIglTuQpO$}3U*96VZi zdHGX$Al12x`VWh}(-~g6?5Zh@AE?-)qoX~m!#0Tvi9cnmD5Ce~R`ETIv+Vv2;{AkDbO zNU*$&P}DglR=RiOK88`5y!jx6jdqu_-J==F1?zmG#(s{Pi?U<~^)mbl{g`d?`UMGE zIf~E{D8nPVb7)ULaZx)uB+;EXPf*X6Zcv;O6Mo9UqYkx?N5$zrTvQkcy5>R!tNfHG z0wM>e--*!X1aC)e2*8ngvlqC|OHizT$d-q=m1gFM=QTe~UCcT~kdlzdOCw5>%df^< z*$ks%QL=EYC@c0%COg|0^4JWwKl>|EJaEhd&bVAg2=^Wz#uQJdBpZ*QuJjd=??SJ! z7-jt&!?6=V^U_{HAPfvE*trOtSj9k9^rV9qO{yeFNvgYx(&hq~BI&A6 zH%fa21qYO1X{kqAwkjrp+XQo=*b0C}M!JO*JsOxKk!_Nolm^h~$`6q%g0N>Dz=1=W z0YYRm!^U$fNS02aF+y?{VO?=wSzk%z*!$cJQ+-5x97Xe;-H>B!_nrZ2;TPzZ4`SYW}V4v_xc)tD_=6ibN3;^4f>ItO+| zx?H6r7Wp2pku;OqXD+}Yo^)*<$XmBUfBq!Wk9=VxP!{1o(quzF2G>+qla$p8CD~0V zRV2fP!5_rR(;dimOA?b;;9ZG5!`4zGK_q{*?<-xL*YGkewV|P;r(vN;^va>Dg<;`%e{|9lfbsW}@u!5fH<0*q?$rpLiByLi^ zwI_kv6-M{DIjb5Uce%ZW%=H6(m?{wa^-au5LsXj@e%;NXRJ{7CK_|ePZrga(!8nL+ z-u}22YceBH=Uy-R%Vl%0#v&YTv~HEVlQUhq-oG=Qe4_f{aK?#&2P`z3$0%?7AFcxbzec6^=NIZQ8PDY5 zJ*tEbY8y(aqe;-xDD(ULi`N^D&!3~=_`v~?5yKsIxo*SZ#r-pII_#HYKCgAaJ+<@- zF&xLh?QEzCz6xke6zPUf^$jnTGbzQ^T%QM?%~pl6(W&|dRqd>tf$1EIL~$vLWlk#aku&OcAK%z!@1S>A!oT9M z*~Aa3J(S96Ch@0PS&_4S^b8Aw~UXw}g70$FQxeSPhE zzRGE-itOi~=;g{RnC3Z7sCJF&XldCzXZ44{V>1-XN$Us85OJ-*|OXmmQ+-7&d=7%@Q7H25gdNQ{bDf zDknj2#|k{NET%?p|5{gvYnk8r-Q(0z7^dThnw4=7V%#Ai{cG?qsO*VgRV4>ovFqH{ zFL^jw&bV(1|NaoI-|EqD-Gk5$oRTWNT3&32@Hq@c!$4hLv6QShDEAx8xtPAsjyEfV4yY=oMmKPZ8 zO5G*Y#o{k%9$$7BTyofj8|h(XP14s>bD{5dOXes=HSqAQl7FioBmc`KPFW0$uN4c! z9R#7BC?jDt&1Kd56QFcC1(3y=cgjK|-AZ2Qw$~~%GTIu6)>nGKo#4BIS=c&i-s&{;R76mnhQn1MJ)F+Vm(qlVCn!bl z=7!K!Ax#PB)72PY@?*i8uo6l=prs(<^Z)EErts3os-}f^Z}4-Msvfo>Gjs}H>+hx3 zpeJmP>xv4;aaV^EUOSiT-1tgQu?STR`vmF*8NBM7vEoGvf6AQ>2q?od^wNp#^@D5v zc$KLjxloXx`q>QAJqt%X_hJx^ku<&jhXS63Md&8Ul${YafI(_kG;T717ZtzXedykH zm6q-!`m;5O;)sgz%VSInQU{MEj1kpx)dbCfl;?Eh03 z-lOgx9PnkjXqMj6R2w%=_fgQ5yL_z|dk>wlB z6?!Yn)1RH=O5#6jgHV5)H_h`{SxfiX`_jTw*%lbKHLcic-d@jXT)?$2$z+C}C_Ck2 ziCsZXOHdV4eCol&g;wE*{l)}chB{JU7LewKl0@f8`lBKgXBJM7l7*J-fYUAvFo5O41fg{}x z3oRuhUz-rtEUwW*;zwD=3yh2nX3VmvW7f&SU2a%4F7^akCnd;!%9j4mC{r%<9+xt%zVIqYeQ7dIq|8v|#(J=H7MYd)eFpBi$Ghk-f1P7s20 zv~?ijmopkz=tgfN`NW4OiP>I-iM${Bh^^`2EBZ7i2Y13&%S0}9d!`p#kT*@}o%y^& zC(?OeDwKx{q+~y=>HYk~4MHq&2~&%=v+PwM4~bSK1}~2=8-u34u11z`bPZ166CIrH zb{vVhy}pk1!X5?gvLP?QfdJV&h-%;cxKX9zZkV-7+{UQ@UBxoEm(-~8fNmS5^hKd~ z<>WS_F&Y+}R3uO^bZweI1SPhx(3A~JJi2p9{O8Wh!nX>Iky@?O*D?RQxH^knXVz?+|2n z&(~F*Z;AKo+HLRNFLzA`BTmqp41sbmX}D+v9Nc(AOed2+NXb6y;R7340Q*WKV>f@Eq<@Z~*vBUtGOnO z>?Inag7H60jSzcA;pb7cB@o$vBr+r(o6CW&EuO1hMP-hq=37I)Ww$7~ip81jqN4H- z3wY#RCX|908I_DOP3%(LEzr^aOyj;;u0;LS-I-xjNz4}NRWL!v-J#m#6Rw5c;?Kl% zNe1nXiA+sbONuid1FJz*b5t0 z(R<9eAZWP5Et02Pw(#N@F%!;`R7#^SgCb-26ZT2iEw4Oo%z1m>lp2UoaARN{Z5tQa zJlE5Eqsg5&h0J^If|h%Lv=r^{N1_gRlGQO_z_egfl5%YW2aR-_FFG_iV|^VF?stMV z^$sy(yrBM(ow=^Ne+B-r<0*?vrRWZAvUa-cG*w#3WKQWoSv|vz)$)%zRK^Rm!^lbJ z6i+BZ&mQP3YW--fXoWSHS#3xRx_IjbcI#~0ZjM{kt89FE0#sCC2u*`kaD}?k@m)g= zoDKf~!9O-P)j)#sI_ysLxvnr*$kHhJE?S!n!nwZn3T)P;Fmq&ZuSTwEIpY%50rOo+ zk~xPnKC`_e=&@{5-r0z9GT?O@`~$M)=mSB*wRBS(8jH)?L69Ygd}`WqprO>HQcQre zPvk4YKvP*xOIyLB9ajB3$iI>Rh5CDX`U=?Nu&T2Sgx}U5fu|_Zv~G?!9E==a3Kdwj zX3xGgVv`a}GnjVY{B(fS4+#LbaMBzj>}+sYJcx-J(SoSm6%bAn5_n?L?o|tXU-!ob ziS=Q80eh&kCv|4hE#d$0S!e+3-K>m2qU=6V2jg}A@P4Bxl$MTQLY9Q%Cp-9~;4(3M z|Llr3tZBphtF?9Ar*6iR2e{Pu3C0W`3pOM-+YsK;LakI&P0p2lVRRBTo7{d)jlG|K z9o-#eHIFwGl%&3bVq3dm{Xn$sBg3zr#v|4BJujB$kieAa^69h%=+4ZH^cEr``9@kn z=PvnCwmf_@raqL~<7K$S#$=!2dtp(78!vj2y>@mj9Z~VKF#Mju;NSCMkZxLYm_N=m z6)*;zA5#QJ{|u|lJw%e=a9V=mIhHN~i69^}+QlUA>MD5X^7@X;fC(p=(w#?tac>>Y zkHHt+E4hCQ`u(R8NfdYROspnV# zJ_!`_4dj*C*n4<8QWFy?g}BG7#J0Au}*Xw_aJ&hMToG3Adv4BNxxQ}(-A;1p zd+Y%hXSpa?a?h?BTAIuCg64yX#b23fi8tVmBN(zcO7nn{07O;V)~U(KY2X)J%tVa zV>uG)g+jcdFW5eVzvULYq>&H<6-hms*Hzzk_DeT{0!Xej%dA0&exW~HM;Hv`c9@It z?|44(t>8P9)iG5ms)`H_28R5Zf8myI!YsRb<+3%aVC^zO6I1V4q?FC;_lV&D zgN;x)4ipO&*E!lnxVB^Hmb#(tLnU-%)h#LE8?ZqJ2((nwn7R_SN#BwtL9}5;Wp)?! zDs30Fk81Iuv)#g4&J<)c;mZ8Q8sH=zK<}dqoj#YwH&6z-A>#Sod>cV>ltnr2Bi*cy7K@}ifI|kM<(=qel1zAyLHz;F5 zhs1npjo#NoeHLQXK4IH1;(TjAv$!pq)ykM$9=f)v%oNxodOzyuSnI?(f_FNc{of2_GnoBKYg-%wFK@RUerO6}s7QS)2!Ds10T}_~Igz zu=%kvx*9msQeXCQ_UYCMHH%g_X;rPe|L)O4UPVOB)b1|kal~j$(Zb;)JB4C^iOBew z@%1-!Oz~WZ*S?b-l)a-3@76W5IyfH1pRn3V{p^*NmO1~^0*Fw;fn}OUk=P_qjg%+h zvnMBECuax;3p#rypq8mA0f}88d{44$T#uP5#CLO|5 z3&Z$-LJ0T8utBM0>gXHLPjxppYkrl-MHaUBDUW2-Oo$+-V(!g)2Q0qxI`&R5m)C`s z=V@iU9GCfo0}32QG{?qF0e1-OR?1F!ha22op;ihitEPvwR|DD&9Q+Rh!x#uYSD6P3 zLK`pLWfyvn<-7p_2oimW00X3EQ-x$q1FkGD!Oy*^=J0@JkPp8>LY7q=yF#H79~@Ok zw~2a-@rR$5qTE2JFqlCOQ|?;YoINwQu=R2=)8D4y8eZ}H7hzQzDe1le1oujUcz{qv zpeGxZ2q+n=wE=2wniu>xTx^L*-7$8D#qhm7tWShF=a#1v5oDZ>3KaID(h-G3cq4m- z!2VMLtmRTp8=6Nu-E3iw<6JuHfDA8qIt}k#fE-*@>^*S(%Y4G?YIv{~;-APl{*_h# z`}o*7VSMeH0Dgu1%tclY!WJ3z+Tya4=nE8MSpWl~58z$G#l`hQ6o5lBYNRbd`-0zb zfF(!6WxRIr)gfLXGSMQxl<|f?M;yoXsLrzz1~NT*L>Ikfq7@|4s-IqN0=0gb7p^Qb zS5`21-SaVHn!2A24A2XCT$J+4VWOcCxjF1bcf78i%Has(rU$$QR%+$rw8E4YOmiQT zpNOuP%{Ij-Cz|@Fv=uq4*+!azd#Iz>@eiz=-02CC_*XZXyT^~j6M)d9h*V3Nir@y< zyKx4tBISdxJ|h`!ar=Int;yk}6j^WcyQ{!B(c<57ZPooQ!@`x3kO;~;0L+Vj-o&MB z5+KeAI4$2zww!lc~t~ z!+~Qlbz9`fC(7KnyXV)Y4Z)^nO(41&@Pp=JR!1GH)Z|9N=(SOIOWB%9TRME6Ru!ka zScKgLP{IvvI4!v5`S0gT_+LEmmh>4VKxH{I$;THiF!EAhB$HRL=h|=Qu6i2pUOTW= zZ`;R-eE)psA!%_jP1@;IS@Q;0IL|>q63jP*gQrc_gWqO>(WE=rd*n;SML#Du3PcE% z+^WMOV%Z`utr#ApH)fih5cZ&9kMiun@E0?bng{@v^}-ye#?o%Arj?4}22arEw@;TP z&e>m*6GgM(tqxJdrAfBWR+_-6Dac=*@Qy+4L_g%=IJ(X*Sd2vHZ4C_#NAS)mcM(4` zANYl3tzH~Y&}6BcW3K54Ch=M#mj#F$uyyk05)tZI$=aojp)u`ESvP3?KQ9*89oa$9 zf9P@G29^ry>ezrgAr{)ik3`ikI8I!j{kt5CDbgPN=#j*;8*22Df_SX*TWmOCG6_lT zKYo}fMEwm376mcj1!blw2rNKpy2RY*6u#sXe|LEOb1dL#!a`q0i=fM z@=PlL2?+ujv?y8s^;jJ&37waaYm3KG-mUWletTa`_@fyhTB%Swsb;(}es#%vfVtj4u2$VH4@Mkf-2l zaPT>Groi_n?UO5A6V0RpVEFoK>tz+$!e}@-elfa{$LGMPs-~@GRK*)i@ttgd4@~t^ zz&={HtazopTj=#=x|LYxab)NI{rs!q*!Zs#b0!;)XY!dE^VW#mrWO>9v zD>uDc)l?mxLG5{D?0TWVN94|LR7`Wt_{TgE66C4}zy`zfovp4{pO&GA26aFS4_5~6 zFG*B`V0wCbz?9nUb(P(Kg}|d}nBRM-F9JzS8cYN7!|#mb+!kW|tHn2vArHon&+8|* z+&zT>|A?nj$o`d^-J=4AN7-)MH{08yrz!V~je70TV(l+Oc?0Nux&O(EiwwvTc7p9c zl720DBcwNJRyzJP3P#d@h%m1*V_qnl`}uN(Nh z!b6Hj$s`3?*ToIY`(?g?uas=`#SnvN z?7A1#U$bw55p$br|X0^Ro@EXF9S*g^Ju;W;B?-oW9Qai}#Y*}K1+*jeC_(x!fB!0Wx zixz4m)47U~%VoldqW#N=Rv8!?ZVgi_)|uwlL779{BSvQu_MMA>Uf(uf@0rW1HUJIi zqGTWzB6{VOD1F!wieFGs{$mN7a9LLpp^CZfp=@RBkCBLb#c|S9E%Lg>@bHn`xHG@<1(&?(ay)=AVs?{FEB7W+q?JkL7abnJ8xHy?BDOy&01}#!F@jmxTo7) zEVMRg@h+o$X?&6@qwmq`hP%}}>}&oL>Ax(-q2qQ<{0$C%X(L5MiGWxY&Ad#6KxH$4 z%9x`sFkA1$nCWCouAp~o%22#tS{nO-<@o8^27|zZ>0`I*X3NiUlYSXoF?in+lzz-9 z6iBeaz$8>$j711=u-dWHK(4xuC6vDX`n93qq`FT7t9?ZqVj`-;diEiMKkG7-`k-RP zu_04B7(>0yHX<^Eo|Z4}Co|logW|zFk@5%B|EW51f2&R_F_0uC1@7ne_9)E*dWtDD zyr)$8@nX_5fZi$76;Q-2Px~=0DfGyc%%pc_q_&y(7_1GiT}!HjCpj$*VX@@OQ%vbd zh=^Xc@9SR`K3_}ZyO2G%sd6}4H+lxV-`nf?Tk185yg#%s1IZVh54$ z8*9wACOZtFJ#C_KDs%Wj$_R2o|sLhRTfCSO>8vat;Z~1(i-c zP&J<_8@o>2L+{YQCx3TniL3~DIQtMl9LikP9CSi1Akt+_sE%n+MPYPDQVmtR<$6$=-A1e5`8?VHJ(c_Uz5gP26#e4Tn_@_Xnp>49I(l|U{9!R)9pfvJ+9@;22cD%o{r64w6BNi7SWaYtyKM@8=|j6p}p zQ!)r7V8PW4XSV2!q0`$I8;UbiG6+L|S ztUY(m1z^94ak-g-TnF%rOUk2QKFt@kdU+K1;kbOT_FUw7`cGkaImD@I`xEPMQDyVc zE?ym^o&MVS{-^MtUweV)!}q)K;sY~Ym1Q;TM(En;McmSbOp0XE@BR;QuFUdQj@87t z#m~@X=2?1U55fg1i2i(RJT4N*dpNrcU9G*tvxdgdx2#qiaM~&lw<9$tb;+L=N$M*`i&#{q4@831 ztejZz81VV%Y4YS+>$IPcP$hEpf=omrmxbm_NIC1N6BjnnWrZjU_Hyb~;;^bKdQHaQ z=rO2Yfo2G>(Z#2&$J6|$kNNZ0a_L-wfq}v6I(^cWH`60LcOXoRsc5j@fG;U##Mhim z88hf=X)}Ox$e5t(H^sPB|!|$SAipuo%-?8oXodP=J);Ed%@--o!I5&MK3)b&&R|%;%tpm!ROlz z@2g>I+e8itIgK6-+6l;552_WA8{awwdc0fyR^D0bT?(nwa=%XW*J1l))RARg&w?Z` zPfyv9NC$~jj_*e=VH_DsRpfK{XCsp2I>#A>iAatkxRhIRi8WmqUZ0BfEegz|zOT6) zA3Kwfx$tH(jB@8tfwjHAJp+DfzuSs^kLz93B40%M2(=A789{P z@6PvS>-X)^ZX&+_JJ_P1C|Nj7UoY<0Q&GOy5cqf;;b2A{%vqdx~!;DrSPlTB`&0VHOOe%@VONz$ISYn7Z~QcPl$SqpU9rB22$|YeL9WsyaK)ix%UP)RPP?m0b*7`N8?Ik8u$~&oC1nc8)+{VXxOH6VUQt<8D&ohq?5qpk(Y3GMfJrYyBSMOp2%=N>V_rux?4KP z@;qOdY!<-@*;3)S;Df~5nK8Ly8H1uVz@ z>9afj_StIzK|zo9-q()`gHVm-nqshDajl;;igSocJp1dH8(W;oLHtA zt(`{b!C%HiSEHvB5l+#~$?@>T!zTXyce~MCbWmKGP(*!sWTnE>ngC}TkcNpA*y95Xx+}+*X-6gm?1PJc# z76=5lojiHJJ-htm59eI;-CbQ>U47BDt*t99iQc}g?tVj#e=_5v&K|=6q9LKYqQg+C zS=5Hq$*e4|i_SZUKayp5Hm09F2Wkb!t;tU^!TaM9NCSOb;`7wJx%g*b(afwZ0nhuB za2$&_%pnCpaY4Ft*q=}!Nyl00QynPq82cgQhC;H1cr{P?ZzcZcv$Tc^AsAAUq1$0p zDp5vn7NS=qi6y1h4Iut<*OS}=uLyz2E>+rp}sy@U39tM*3WwI z)1di|j>hGeuDR{GV(QOPRAj^lGuY`C` zp$puT$x4S}?tQ_lMQ#tXn=g?tb@RKiMw`WYx>#m8PUHz977=6=ZZ%feMn(r9Y}ui9 z=_<2(e{E%_u?p{w-|X@_Tx)eaVZeIqorVWM7U2IsIW3w$T{6xBA!j5u!gqJ43?uNo z$^MJiOPk9=u(FgGzIzL2IaQDqWCp)=S#|b!<%*&A`FQkDs(vhrVhI9HvL! zX2&C3gFHeF&`oNhfT+#z71#A2o-NSwvQEBiSw~8;)>JRxhHn%V)MxOFX8Oqm<2Yi? z^IPn(7Kh0xt74`(Hm{!FJ@MFcp@_94>scd^M#lvO?uPYznFH-jv&c^$)aVx%YgLv* zj*?#O#t24hNlR6K<$R~!$pbBvG!+QamJ1OF_+yT_tNYs%^YL1ymkVLI$qCeb;l4Gw z`xbr~hPWlXAhvOFr|)sjUeQKwDg)>k%OeJ5f5sueJmB!}Bw<{X;v7qQMiadU+ciM>? zk1V+@E%Ph=U%~n-b7(%B&A*#H0=l0waysrtKWekjCoLh%phiRImeF?aM~#K5nOReH zRxGGQHQ>M(MnyIWA+rB8A{}y%fxSkwypY8+!U^V3d_P%RJlURkY7`hW_Wgs*VfiI7 zThu=Im&mG!7$5B7LKl~#^OEl7Q9DkBwfsmTpSWfh?iu3nU90_mvN#vMBuciqq_~3Y z4mOr(CB*gUa*eoGY)&+4tw#B59&VrgOhS%o8I9sI{M=kXX8T^t_dN*AFG|sC^L%h% z=B3ezIGOqzGIbLF=|Q3yAT~u;SD3Qx?r7DiFS?=aJzV~RwBVid=1mB)Q8o$WNC3#t z)!OV|Y^BL?eUMlZgKl)rQ&?6^6cgB-$kAhH|7b{TNQ+1s`U^a{AhW*bKI?!ETsYks zcloo>`?M71L>8v)yx;SnRWlzWu9>|1tr+Rsn8qbJ%-!XC*ikEgHmMh#Q>*r2-tf8< z?TQ0UF;RZb-i%T`G_#udDQ4mS&I5{46E!Xi!qISGRbswn_zEWx*fZL&sT2!Pze z`VB6s;Na}{PYu%o(*uiv5>AbexjOk~)fKH&$pUaEH}?QEw)BCTLgM$2BpxTmkSU&^ zBQ;oB$YLVlZw++$2Yo*q85+J4ZQi>#udWxB<3&tRFCLMpZ?w~$`fg*PK%N~^|Eg;? ze+q-ZHbR_wa4+6FQshA_UVC9sGRCb3kXI&^wvG~MNS?u3SM(c|es zCx}{A?=KkcxcyaexVF1PX2fgobRv3gv>sHSq=@@*X0^|`iRJWSh>;7IIO3go5y|uh zX_TS~oNXz{F;<;KcvGK$ z?@;!b!uXc=B-=vVL2(8{M_j)yJr&ihJx@i)i*`XMZRC^GJPI;D7%T9IK_nEcy#mo)Jl$(fB*pNgj19_^n;%$5Lbt7tu z^Q}8&gX``0V>Z{`Q#W>kGA8>mi|FRLDbD~O?=6~lNHsx8olLLnke2e?2u+i(1taHL z&Z}}1_@%3oylm-v>N8|8cSjetwGdi-4g|<&a>e}(NvnS$$>modMGTPJQp9A38f1|hGWQBCS#4{3+67JYZYrO%lZ6j4YQ4+?>w3nRI1 zpPJ;~bzk+d_QfxXDB2+aXq!!xayauof)n)ut*3S(UDl~0b>yAm-Am00OvLcN918ue z^`!3%cOG>KqNW(e9QGm1Mv!|YBl*(44o8a!p@4opY~I&*xI36`3qG%IGK629Oz>{L zl{8QJbTAg^Mst@qVtzVFY04t&|KMylI>*(+#%p9DB0YjAK%3(7{`u0STnwO?JoH0S zTjCN>nE)xAPiw6WEaPp25$%5`@rcGrv38&Tp|anA3@Kth%AQlR;f7rc2dwB{Eckx} z@3&?kg113&3xPg4v%@X3S@`hhkeFsKNj;V}Y$ zElGOJXpp*cVxY4-542! zVX#otvNf@Jve1NTk`AZdhEm$IzUK%`HNY!WJwK4X*(fDzEM7cMRM=*{xpunQ-zd&W zG^~V3q~i0x_ELES6?mBqe?G{6#oOB=(?Iy%leYw#w$-z%S$sP5c{NXl4^g&0|1Yrq zm+SBiYVxIIQCm^*wS7q6!^nX`eMPm07T=U7?r!e4_{Zi4)yUEuA-Jsp#eDVt4;2X6>oclU;C&#Q^=A}n&&+%w{ z&7ho2o_Df?NU(6q2UPBweP5-m?kO#S@V?l`FTePhKxvbY0HNd;DnQ zoT`UB6F$Uhbiu`#(GWg$3HA@$7uOF*b4$om(MyrdAr1&H9I)8lPt%J;nrCnbLY*7m z$;isdrPcRR!eKyIt?Gm~27imfKWPV`GHWvnDk$`C64U+X@K5~huZ{cPX1<+GG76f@ z^2QJBSSs+Jb_Rm&4N_3$q-))6HHGfIiH-CZyUZ%^zn1_g%+lj~K8zpoF7GllF0s2K zUl7XWYsD0xm)6JsMCL!b2^M^M*dHe)%muttXHiZ^xP!3ru(6Xy1(gAT=8bAWPe? z?f7uKpTYo!=3{mL@E7*C1OAgAakW8gIw2znyIO4DZn8@mLCeIzQgp}y0Aya}v>SZ2 z66*)**(EeVJ19tTBl7}Ulg1qq0FY`>$KQx`9Mvm6CC#SBLz`;rKfd(-v&-3~>3H6r z7$@COT@!0oc|jYRUrFCTUP`jE)3#+T9mYWcO#_>%q2$Q(b%S-$EyqY**tHrSU-}fs z4zvqAq(tV)7hnkF`#gN1Cek_*gtOWei4`%&%8Tn7GnPLT^UmMf&_bBDjjJ0rL)%1G zQj4Xp<=lriIo-=++HC8SCt-ubq;6zK!`q_i^3Tm|=F3$D;rzmYo01Sq1{{tSMb3qw z#z>8!J2!5C?5|~vQ<*MLOR$l$RcM`BxnY3+hhQpmOFcB@7=}tNdJY>0R?nB494-vT zfQsnUGPA!7FWx^@x+FI7($!YP?c!J$?A5gWrXBsl#oeacVb%Fph%DFC{gLf2E0E;D4NAsr=4M*3T0?$dHip~gHKq$zOWr3h@$gq$$qW^JvnRGTReY4=;Q-0#p z2O-DSfF-Jw!b|;7Vj%|`lRH#NGyp_7D&TQzT}W-n1@-?6O9x25>vOvdF?Z@0pI8uk zIl1iNLaq`408rrq&;>p9VZVQXT<8cZg^--i6ItlVH-RmndHm*M<#D5T2

2|M8v> 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 z zJ5r)+*ooxwiNs&~NU{Um0AE^n7UkPl;Xa$Jah7B7ZGi%0AZfxceX=#yt9kK?GcQ=8 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

sz$}9#dC)<00PEKiNGq~izTU{yB>ZG?B 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 z

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 diff --git a/assets/user_readme.md b/assets/user_readme.md index 2f00f98..e3e87c0 100644 --- a/assets/user_readme.md +++ b/assets/user_readme.md @@ -168,11 +168,12 @@ The robot has a number of boards attached to it that can be interacted with usin These boards include: - Power Board (serial number: `PWR`) + - OUT_H0 controls the vacuum pump. Enabling this allows the robot to pick up the token. - Motor Board (serial number: `MOT`) - The left wheel is connected to motor 0. - The right wheel is connected to motor 1. - Servo Board (serial number: `SERVO`) - - No servos are attached to the simulated robot. + - Servo 0 controls the lifter. Setting the position to -1 will move the lifter to the bottom position and a position of 1 will move the lifter to the top position. - Arduino Board (serial number: `Arduino1`) - The attached sensors are covered in the [Sensors](#attached-sensors) section. - Camera (serial number: `Camera`) From b1487ed025e01ec2dd73ffa68aaf44a0d8417103 Mon Sep 17 00:00:00 2001 From: WillB97 Date: Tue, 8 Oct 2024 22:06:30 +0100 Subject: [PATCH 18/18] Explain using other zones --- assets/user_readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/assets/user_readme.md b/assets/user_readme.md index e3e87c0..3dc1efa 100644 --- a/assets/user_readme.md +++ b/assets/user_readme.md @@ -255,6 +255,15 @@ If you see a message saying that Python cannot be found that looks similar to th As well as the guidance above, there are a few other points to note when using the simulator. These can help you to understand what is happening and how to get the most out of the simulator. +### Using Other Zones + +If the arena has multiple starting zones, you can run multiple robots in the simulator. +To test how your robot behaves in each starting zone of the arena, you can copy your robot's code to run in each corner. + +In the folder where you extracted the simulator, alongside the `zone_0` folder, you may have other `zone_` folders. +Such as `zone_1`, `zone_2`, etc. +Each of these folders can contain a `robot.py` file that will be run in the corresponding starting zone of the arena. + ### Performance Optimisations The default settings work for most users however if you are using a less powerful computer or one without a dedicated graphics card (as is the case on many laptops), you may wish to adjust the graphics settings to enable the simulation to run faster.