#VRML_SIM R2023b utf8 # Describe the functionality of your PROTO here. PROTO three_omniwheel [ field SFVec3f translation 0 0 0.0694759 field SFRotation rotation 0 0 1 0 field SFBool supervisor FALSE field SFString controller "omni_robot_test" field SFString wheel_1 "wheel1" field SFString wheel_2 "wheel2" field SFString wheel_3 "wheel3" field SFString enc_1 "pw1" field SFString enc_2 "pw2" field SFString enc_3 "pw3" field SFString imu "IMU" ] { DEF OMNI_WHEELS Robot { translation IS translation rotation IS rotation children [ GPS { } InertialUnit { name IS imu } DEF SOLID1 Solid { children [ DEF WHEEL1 HingeJoint { jointParameters HingeJointParameters { position 2.1643615637298633e-06 anchor -0.1 0 0 } device [ RotationalMotor { name IS wheel_2 maxVelocity 40 } PositionSensor { name IS enc_2 } ] endPoint Solid { translation -0.18800000000000022 0 0 rotation 1 0 0 2.1643135136802424e-06 children [ DEF sr1 HingeJoint { jointParameters HingeJointParameters { position 57.8185179862605 axis 0 1 0 anchor -0.02 0 0.05 } endPoint Solid { translation -0.02 0 0.05 rotation 0 -1 0 5.0133350855353624 children [ DEF r1 Pose { rotation -1 0 0 1.5708 children [ DEF SMALL_WHEEL_SHAPE Shape { appearance PBRAppearance { baseColor 1 0.752941 0.796078 roughness 1 metalness 0 } geometry Cylinder { height 0.02 radius 0.01 } } ] } ] name "sr1" boundingObject USE r1 physics Physics { density -1 mass 0.1 } } } DEF sr2 HingeJoint { jointParameters HingeJointParameters { position -72.87950575726012 axis 0 -0.707107 0.707107 anchor -0.02 0.03535 0.03535 } endPoint Solid { translation -0.02 0.03535 0.03535 rotation 0 -0.7071067811865475 0.7071067811865475 2.5187179288949184 children [ DEF r2 Pose { rotation -1 0 0 2.27 children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr2" boundingObject USE r2 physics Physics { density -1 mass 0.1 } } } DEF sr3 HingeJoint { jointParameters HingeJointParameters { position 254.08525159893895 axis 0 1 0 anchor -0.02 0 -0.05 } endPoint Solid { translation -0.02 0 -0.05 rotation 0 0.9999999999999999 0 2.757839311755494 children [ DEF r3 Pose { rotation -1 0 0 1.5708 children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr3" boundingObject USE r3 physics Physics { density -1 mass 0.1 } } } DEF sr4 HingeJoint { jointParameters HingeJointParameters { position -91.5154893085253 axis 0 -0.707107 0.707107 anchor -0.02 -0.03535 -0.03535 } endPoint Solid { translation -0.02 -0.03535 -0.03535 rotation 0 0.7071067811865476 -0.7071067811865476 3.550895008011093 children [ DEF r4 Pose { rotation -1 0 0 2.27 children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr4" boundingObject USE r4 physics Physics { density -1 mass 0.1 } } } DEF sr5 HingeJoint { jointParameters HingeJointParameters { position -57.77216958013899 axis 0 0 1 anchor -0.02 0.05 0 } endPoint Solid { translation -0.02 0.05 0 rotation 0 0 1 5.059683491656872 children [ DEF r5 Pose { children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr5" boundingObject USE r5 physics Physics { density -1 mass 0.1 } } } DEF sr6 HingeJoint { jointParameters HingeJointParameters { position 29.313352597901943 axis 0 0 1 anchor -0.02 -0.05 0 } endPoint Solid { translation -0.02 -0.05 0 rotation 0 0 1 4.180611369183597 children [ DEF r6 Pose { children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr6" boundingObject USE r6 physics Physics { density -1 mass 0.1 } } } DEF sr7 HingeJoint { jointParameters HingeJointParameters { position -30.271672667590778 axis 0 0.707107 0.707107 anchor -0.02 0.03535 -0.03535 } endPoint Solid { translation -0.02 0.03535 -0.03535 rotation 0 -0.7071067811865476 -0.7071067811865476 5.138931438872432 children [ DEF r7 Pose { rotation -1 0 0 0.76 children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr7" boundingObject USE r7 physics Physics { density -1 mass 0.1 } } } DEF sr8 HingeJoint { jointParameters HingeJointParameters { position 43.759922240170496 axis 0 0.707107 0.707107 anchor -0.02 -0.03535 0.03535 } endPoint Solid { translation -0.02 -0.03535 0.03535 rotation 0 0.7071067811865475 0.7071067811865475 6.060810397092978 children [ DEF r8 Pose { rotation -1 0 0 0.76 children [ USE SMALL_WHEEL_SHAPE ] } ] name "sr8" boundingObject USE r8 physics Physics { density -1 mass 0.1 } } } DEF WHEEL_TRANS Pose { translation -0.02 0 0 rotation 0 -1 0 1.5708 children [ DEF WHEEL_SHAPE Shape { appearance PBRAppearance { baseColor 0.678431 0.847059 0.901961 roughness 1 metalness 0 } geometry Cylinder { height 0.02 radius 0.05 subdivision 20 } } ] } ] boundingObject Pose { translation -0.02 0 0 rotation 0 -1 0 1.5708 children [ DEF wheel1 Shape { appearance PBRAppearance { baseColor 0.8 0.8 0.8 transparency 0.12999999523162842 roughness 1 metalness 0 emissiveColor 0 1 0 } geometry Cylinder { height 0.02 radius 0.05 } } ] } physics Physics { } } } ] name "wheel 1" boundingObject DEF DUMMY Sphere { radius 0.01 } physics Physics { } } DEF SOLID2 Solid { rotation 0 0 1 2.09 children [ DEF WHEEL2 HingeJoint { jointParameters HingeJointParameters { position 2.147203700564652e-06 anchor -0.1 0 0 } device [ RotationalMotor { name IS wheel_3 maxVelocity 40 } PositionSensor { name IS enc_3 } ] endPoint Solid { translation -0.18800000000000022 0 0 rotation -1 0 0 0.0024036627866462442 children [ DEF sr1 HingeJoint { jointParameters HingeJointParameters { position 201.28591247298849 axis 0 1 0 anchor -0.02 0 0.05 } endPoint Solid { translation -0.02 0 0.05 rotation 0 1 0 0.22398264324171874 children [ USE r1 ] name "sr1" boundingObject USE r1 physics Physics { density -1 mass 0.1 } } } DEF sr2 HingeJoint { jointParameters HingeJointParameters { position -547.5899169781771 axis 0 -0.707107 0.707107 anchor -0.02 0.03535 0.03535 } endPoint Solid { translation -0.02 0.03535 0.03535 rotation 0 -0.7071067811865477 0.7071067811865477 5.330390053626466 children [ USE r2 ] name "sr2" boundingObject USE r2 physics Physics { density -1 mass 0.1 } } } DEF sr3 HingeJoint { jointParameters HingeJointParameters { position -206.92828017054742 axis 0 1 0 anchor -0.02 0 -0.05 } endPoint Solid { translation -0.02 0 -0.05 rotation 0 -1 0 5.866350340800657 children [ USE r3 ] name "sr3" boundingObject USE r3 physics Physics { density -1 mass 0.1 } } } DEF sr4 HingeJoint { jointParameters HingeJointParameters { position 420.37627206700927 axis 0 -0.707107 0.707107 anchor -0.02 -0.03535 -0.03535 } endPoint Solid { translation -0.02 -0.03535 -0.03535 rotation 0 -0.7071067811865476 0.7071067811865476 5.68604179315656 children [ USE r4 ] name "sr4" boundingObject USE r4 physics Physics { density -1 mass 0.1 } } } DEF sr5 HingeJoint { jointParameters HingeJointParameters { position -222.66482730239827 axis 0 0 1 anchor -0.02 0.05 0 } endPoint Solid { translation -0.02 0.05 0 rotation 0 0 1 3.529843756066848 children [ USE r5 ] name "sr5" boundingObject USE r5 physics Physics { density -1 mass 0.1 } } } DEF sr6 HingeJoint { jointParameters HingeJointParameters { position 512.1259858934077 axis 0 0 1 anchor -0.02 -0.05 0 } endPoint Solid { translation -0.02 -0.05 0 rotation 0 0 -1 3.0952092953184036 children [ USE r6 ] name "sr6" boundingObject USE r6 physics Physics { density -1 mass 0.1 } } } DEF sr7 HingeJoint { jointParameters HingeJointParameters { position -594.2001560064724 axis 0 0.707107 0.707107 anchor -0.02 0.03535 -0.03535 } endPoint Solid { translation -0.02 0.03535 -0.03535 rotation 0 -0.7071067811865476 -0.7071067811865476 3.580737131591283 children [ USE r7 ] name "sr7" boundingObject USE r7 physics Physics { density -1 mass 0.1 } } } DEF sr8 HingeJoint { jointParameters HingeJointParameters { position 368.1888428392369 axis 0 0.707107 0.707107 anchor -0.02 -0.03535 0.03535 } endPoint Solid { translation -0.02 -0.03535 0.03535 rotation 0 0.7071067811865475 0.7071067811865475 3.764095022820868 children [ USE r8 ] name "sr8" boundingObject USE r8 physics Physics { density -1 mass 0.1 } } } USE WHEEL_TRANS ] boundingObject Pose { translation -0.02 0 0 rotation 0 -1 0 1.5708 children [ DEF wheel1 Shape { appearance PBRAppearance { baseColor 0.8 0.8 0.8 transparency 0.12999999523162842 roughness 1 metalness 0 emissiveColor 0 1 0 } geometry Cylinder { height 0.02 radius 0.05 } } ] } physics Physics { } } } ] name "wheel 2" boundingObject USE DUMMY physics Physics { } } DEF SOLID3 Solid { rotation 0 0 1 4.18 children [ DEF WHEEL3 HingeJoint { jointParameters HingeJointParameters { position 2.1651704619267438e-06 anchor -0.1 0 0 } device [ PositionSensor { name IS enc_1 } RotationalMotor { name IS wheel_1 maxVelocity 40 } ] endPoint Solid { translation -0.188 0 0 rotation -1 0 0 0.003907274705380449 children [ DEF sr1 HingeJoint { jointParameters HingeJointParameters { position 108.70539791483581 axis 0 1 0 anchor -0.02 0 0.05 } endPoint Solid { translation -0.02 0 0.05 rotation 0 -1 0 4.391937614396743 children [ USE r1 ] name "sr1" boundingObject USE r1 physics Physics { density -1 mass 0.1 } } } DEF sr2 HingeJoint { jointParameters HingeJointParameters { position -411.60744599975556 axis 0 -0.707107 0.707107 anchor -0.02 0.03535 0.03535 } endPoint Solid { translation -0.02 0.03535 0.03535 rotation 0 -0.7071067811865476 0.7071067811865476 3.0827842740971523 children [ USE r2 ] name "sr2" boundingObject USE r2 physics Physics { density -1 mass 0.1 } } } DEF sr3 HingeJoint { jointParameters HingeJointParameters { position -175.16445331775438 axis 0 1 0 anchor -0.02 0 -0.05 } endPoint Solid { translation -0.02 0 -0.05 rotation 0 1 0 0.7647352832740422 children [ USE r3 ] name "sr3" boundingObject USE r3 physics Physics { density -1 mass 0.1 } } } DEF sr4 HingeJoint { jointParameters HingeJointParameters { position 604.8094183337004 axis 0 -0.707107 0.707107 anchor -0.02 -0.03535 -0.03535 } endPoint Solid { translation -0.02 -0.03535 -0.03535 rotation 0 -0.7071067811865476 0.7071067811865476 1.6236288444600624 children [ USE r4 ] name "sr4" boundingObject USE r4 physics Physics { density -1 mass 0.1 } } } DEF sr5 HingeJoint { jointParameters HingeJointParameters { position -72.1547326648585 axis 0 0 1 anchor -0.02 0.05 0 } endPoint Solid { translation -0.02 0.05 0 rotation 0 0 0.9999999999999999 3.243491021296538 children [ USE r5 ] name "sr5" boundingObject USE r5 physics Physics { density -1 mass 0.1 } } } DEF sr6 HingeJoint { jointParameters HingeJointParameters { position 135.00475088700045 axis 0 0 1 anchor -0.02 -0.05 0 } endPoint Solid { translation -0.02 -0.05 0 rotation 0 0 -1 3.2253258709504475 children [ USE r6 ] name "sr6" boundingObject USE r6 physics Physics { density -1 mass 0.1 } } } DEF sr7 HingeJoint { jointParameters HingeJointParameters { position -236.81899650662353 axis 0 0.707107 0.707107 anchor -0.02 0.03535 -0.03535 } endPoint Solid { translation -0.02 0.03535 -0.03535 rotation 0 0.7071067811865476 0.7071067811865476 1.9420451662007516 children [ USE r7 ] name "sr7" boundingObject USE r7 physics Physics { density -1 mass 0.1 } } } DEF sr8 HingeJoint { jointParameters HingeJointParameters { position 203.55589624475382 axis 0 0.707107 0.707107 anchor -0.02 -0.03535 0.03535 } endPoint Solid { translation -0.02 -0.03535 0.03535 rotation 0 0.7071067811865476 0.7071067811865476 2.4939664150070575 children [ USE r8 ] name "sr8" boundingObject USE r8 physics Physics { density -1 mass 0.1 } } } USE WHEEL_TRANS ] boundingObject Pose { translation -0.02 0 0 rotation 0 -1 0 1.5708 children [ DEF wheel1 Shape { appearance PBRAppearance { baseColor 0.8 0.8 0.8 transparency 0.12999999523162842 roughness 1 metalness 0 emissiveColor 0 1 0 } geometry Cylinder { height 0.02 radius 0.05 } } ] } physics Physics { } } } ] name "wheel 3" boundingObject USE DUMMY physics Physics { } } Camera { translation 0 0 2 fieldOfView 0.5 width 640 height 480 exposure 1.0 projection "planar" } DEF BODY_TRANS Pose { translation 0 0 0.03 children [ Shape { appearance PBRAppearance { baseColor 0.564706 0.933333 0.564706 roughness 1 metalness 0 } geometry Cylinder { height 0.15 radius 0.18 subdivision 18 } } ] } ] boundingObject USE BODY_TRANS physics Physics { } recognitionColors [ 0 0 0 ] controller IS controller supervisor IS supervisor } }