#VRML V2.0 utf8 # Lab 3: A relaxed World # developed on IRIX. # Name: Yuan Kui Shen # Login: cs184-ac # SID: 12940472 DEF RobotX Transform { children [ DEF RobotY Transform { rotation 1 0 0 1.57075 children [ DEF Body Transform { rotation 0 1 0 -0.75 children [ Transform { translation 0 3 0 children Shape { appearance DEF Chrome Appearance { material Material { diffuseColor 1 0.5 0.0 specularColor 1 0.5 0.0 shininess 0.6 } } geometry Cylinder { height 6 radius 1 } } } , Transform { translation 0.5 6 0 rotation 0 0 1 1.57075 children DEF UpperArm Transform { rotation 0 1 0 -1 children [ DEF ShoulderJoint Shape { appearance DEF Chrome1 Appearance { material Material { diffuseColor 0.75 0.5 0.0 specularColor 0.75 0.5 0.0 shininess 0.6 } } geometry Cylinder { height 3 radius 0.75 } } Transform { translation -0.75 -0.5 -0.75 rotation 1 0 0 1.57075 children [ Shape { appearance USE Chrome1 geometry Extrusion { crossSection [ 0 0, 0 1 1.5 1, 1.5 0 0 0 ] spine [ 0 0 0, 0 5 0 ] scale [ 1 1, 0.75 0.65] } } , Transform { translation 0.5 5.0 0 rotation 1 0 0 -1.57075 children DEF LowerArm Transform { rotation 0 1 0 1 children [ DEF ElbowJoint Transform { translation 0 -0.75 0 children Shape { appearance DEF Chrome2 Appearance { material Material { diffuseColor 0.5 0.5 0.0 specularColor 0.5 0.5 0.0 shininess 0.6 } } geometry Cylinder { height 1.5 radius 0.5 } } } DEF LowerArmLength Transform { translation -0.5 -0.75 0 rotation 1 0 0 1.57075 children [ Shape { appearance USE Chrome2 geometry Extrusion { crossSection [ 0 0, 0 0.75 1.125 0.75, 1.125 0 0 0 ] spine [ 0 0 0, 0 3.5 0 ] scale [ 1 1, 0.75 0.75 ] } } , Transform { translation 0.41 3.5 0.3 children DEF Wrist Transform { children [ Transform { translation 0 0.25 0 children Shape { appearance DEF Chrome3 Appearance { material Material { diffuseColor 0.25 0.5 0.0 specularColor 0.25 0.5 0.0 shininess 0.8 } } geometry Cylinder { radius 0.25 height 0.5 } } } Transform { translation 0 0.5 0 rotation 1 0 0 1.57075 children [ Shape { appearance USE Chrome3 geometry Cylinder { radius 0.25 height 1 } } ##### The Pincers ###### DEF LeftPincer Transform { translation 0 -0.5 0 children Shape { appearance USE Chrome3 geometry Extrusion { crossSection [ -0.125 -0.125, -0.125 0.125, 0.125 0.125, 0.125 -0.125, -0.125 -0.125 ] spine [ 0 0 0 0 0 -0.5 0 0.25 -0.5 ] } } } DEF RightPincer Transform { translation 0 0.5 0 children Shape { appearance USE Chrome3 geometry Extrusion { crossSection [ -0.125 -0.125, -0.125 0.125, 0.125 0.125, 0.125 -0.125, -0.125 -0.125 ] spine [ 0 0 0 0 0 -0.5 0 -0.25 -0.5 ] } } } ] } ] } } ] } ] } } ] } ] } } ] } ]} # RobotY ]} # ROBOTX PROTO Label [ exposedField MFString labelText "" ] { Transform { translation -0.5 -2 0 children Shape { appearance Appearance { material Material {} } geometry Text { string IS labelText fontStyle FontStyle { size 0.65 } } } } } ########################### ###### The Controls ####### ########################### Transform { translation 12 0 -3 rotation 0 0 1 -1.57075 children [ Transform { rotation 1 0 0 1.57075 children Transform { rotation 0 1 0 1.57075 children Label { labelText ["Right", "Pincer"] } } } DEF RightPincerControl Transform { children Shape { appearance USE Chrome3 geometry Sphere { radius 0.5 } } } DEF RightPincerSensor PlaneSensor { maxPosition 0 0.5 minPosition 0 0.25 offset 0 0.5 0 } ] } Transform { translation 10 0 -3 rotation 0 0 1 -1.57075 children [ Transform { rotation 1 0 0 1.57075 children Transform { rotation 0 1 0 1.57075 children Label { labelText ["Left","Pincer"] } } } DEF LeftPincerControl Transform { children Shape { appearance USE Chrome3 geometry Sphere { radius 0.5 } } } DEF LeftPincerSensor PlaneSensor { maxPosition 0 -0.25 minPosition 0 -0.5 offset 0 -0.5 0 } ] } #### Main Body Rotational Control ###### Transform { translation 0 0 -3 rotation 1 0 0 1.57075 children [ Label { labelText ["Rotate", "Body"] } DEF BodyControl Transform { children Shape { appearance USE Chrome geometry Cylinder { radius 0.5 height 1 } } } DEF BodySensor CylinderSensor { offset -0.75 } ] } ##### UpperArm Control ######### Transform { translation 2 0 -3 rotation 0 0 1 1.57075 children [ Transform { rotation 1 0 0 1.57075 children Transform { rotation 0 1 0 -1.57075 children Label { labelText ["Upper", "Arm"] } } } Transform { children DEF UpperArmControl Transform { children Shape { appearance USE Chrome1 geometry Cylinder { radius 0.5 height 1 } } } } DEF UpperArmSensor CylinderSensor { offset -1 } ] } ##### LowerArm Control ######### Transform { translation 4 0 -3 rotation 0 0 1 1.57075 children [ Transform { rotation 1 0 0 1.57075 children Transform { rotation 0 1 0 -1.57075 children Label { labelText ["Lower", "Arm"] } } } Transform { children DEF LowerArmControl Transform { children Shape { appearance USE Chrome2 geometry Cylinder { radius 0.5 height 1 } } } } DEF LowerArmSensor CylinderSensor { offset 1 } ] } ###### Wrist Control ############ Transform { translation 6 0 -3 rotation 1 0 0 1.57075 children [ Label { labelText ["Turn", "Wrist"] } DEF WristControl Transform { children Shape { appearance USE Chrome3 geometry Cylinder { radius 0.5 height 1 } } } DEF WristSensor CylinderSensor { } ] } ######## XY plane Motion controls ######## Transform { translation -6 0 -3 children [ Transform { rotation 1 0 0 1.57075 children Label { labelText ["Slide", "Sideways"] } } DEF SidewaysControl Transform { children Shape { appearance USE Chrome2 geometry Sphere { radius 0.5 } } } DEF SidewaysSensor PlaneSensor { maxPosition 5 0 minPosition -5 0 } ] } Transform { translation -10 0 3 rotation 1 0 0 1.57075 children [ Transform { children Label { labelText ["Slide", "Forward/Backward"] } } DEF ForwardBackwardControl Transform { children Shape { appearance USE Chrome2 geometry Sphere { radius 0.5 } } } DEF ForwardBackwardSensor PlaneSensor { minPosition 0 -5 maxPosition 0 5 } ] } ROUTE ForwardBackwardSensor.translation_changed TO RobotY.set_translation ROUTE ForwardBackwardSensor.translation_changed TO ForwardBackwardControl.set_translation ROUTE SidewaysSensor.translation_changed TO RobotX.set_translation ROUTE SidewaysSensor.translation_changed TO SidewaysControl.set_translation ROUTE LeftPincerSensor.translation_changed TO LeftPincer.set_translation ROUTE LeftPincerSensor.translation_changed TO LeftPincerControl.set_translation ROUTE RightPincerSensor.translation_changed TO RightPincer.set_translation ROUTE RightPincerSensor.translation_changed TO RightPincerControl.set_translation ROUTE BodySensor.rotation_changed TO Body.set_rotation ROUTE BodySensor.rotation_changed TO BodyControl.set_rotation ROUTE UpperArmSensor.rotation_changed TO UpperArm.set_rotation ROUTE UpperArmSensor.rotation_changed TO UpperArmControl.set_rotation ROUTE LowerArmSensor.rotation_changed TO LowerArm.set_rotation ROUTE LowerArmSensor.rotation_changed TO LowerArmControl.set_rotation ROUTE WristSensor.rotation_changed TO Wrist.set_rotation ROUTE WristSensor.rotation_changed TO WristControl.set_rotation Viewpoint { position 0 -25 3 orientation 1 0 0 1.57075 description "General" } NavigationInfo { type "EXAMINE" }