📄 soccerbotcomp.rsg
字号:
; {{{ BEGIN --- Left Lower Arm --- ; ; (1) Define Position (def $LeftLowerArmPosX $LeftUpperArmPosX) (def $LeftLowerArmPosY $LeftUpperArmPosY) (def $LeftLowerArmPosZ (eval $LeftUpperArmPosZ - (eval $UpperarmHeight / 2.0) - $ElbowRadius - (eval $LowerarmHeight / 2.0) ) ) ; (2) Attach Left Lower Arm (nd Transform ; basic configuration (setName leftlowerarm) (setLocalPos $LeftLowerArmPosX $LeftLowerArmPosY $LeftLowerArmPosZ) (importScene rsg/agent/soccerbotleftlowerarmcomp.rsg matDarkGrey matGrey) (nd HingeJoint (attach ../boxBody ../../leftupperarm/boxBody) (setAnchor 0 0 (eval $LowerarmHeight / 2.0)) (setAxis 0) ; move around x-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName laj4)) ; install an effector to control the joint motors (nd HingeEffector (setName lae4)) ; set joint stops ;(setLowStopDeg 0 $Lae4Min) ;(setHighStopDeg 0 $Lae4Max) ) ) ; }}} END ; {{{ BEGIN --- Right Lower Arm --- ; ; (1) Define Position (def $RightLowerArmPosX $RightUpperArmPosX) (def $RightLowerArmPosY $RightUpperArmPosY) (def $RightLowerArmPosZ (eval $RightUpperArmPosZ - (eval $UpperarmHeight / 2.0) - $ElbowRadius - (eval $LowerarmHeight / 2.0) ) ) ; (2) Attach Right Lower Arm (nd Transform (setName rightlowerarm) (setLocalPos $RightLowerArmPosX $RightLowerArmPosY $RightLowerArmPosZ) (importScene rsg/agent/soccerbotrightlowerarmcomp.rsg matDarkGrey matGrey) ; install hinge joint to connect to the upper arm (nd HingeJoint (attach ../boxBody ../../rightupperarm/boxBody) (setAnchor 0 0 (eval $LowerarmHeight / 2.0)) (setAxis 0) ; move around x-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName raj4)) ; install an effector to control the joint motors (nd HingeEffector (setName rae4)) ; set joint stops ;(setLowStopDeg 0 $Rae4Min) ;(setHighStopDeg 0 $Rae4Max) ) ) ; }}} END ;;; ------------------------------------- ;;; LEGS ;;; ------------------------------------- (def $LeftHipPosX (eval $LowerTorsoPosX - (eval $LowerTorsoLength / 4.0) - 0.06)) (def $LeftHipPosY $LowerTorsoPosY) (def $LeftHipPosZ (eval $LowerTorsoPosZ - (eval $LowerTorsoHeight / 2.0 ) - (eval $HipHeight / 2.0))) (def $RightHipPosX (eval $LowerTorsoPosX + (eval $LowerTorsoLength / 4.0) + 0.06)) (def $RightHipPosY $LowerTorsoPosY) (def $RightHipPosZ (eval $LowerTorsoPosZ - (eval $LowerTorsoHeight / 2.0) - (eval $HipHeight / 2.0 ))) ; left hip (nd Transform (setName lefthip) (setLocalPos $LeftHipPosX $LeftHipPosY $LeftHipPosZ) (importScene rsg/boxspheres/box.rsg $HipLength $HipWidth $HipHeight $HipMass matDarkGrey) ; install hinge joint to connect to the torso (nd HingeJoint (attach ../boxBody ../../body/boxBody) (setAnchor 0 0 (eval $HipHeight * 0.5)) (setAxis 2) ; move around z-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName llj1)) ; install an effector to control the joint motors (nd HingeEffector (setName lle1)) ; set joint stops ;(setLowStopDeg 0 $Lle1Min) ;(setHighStopDeg 0 $Lle1Max) ) ) ; right hip (nd Transform (setName righthip) (setLocalPos $RightHipPosX $RightHipPosY $RightHipPosZ) (importScene rsg/boxspheres/box.rsg $HipLength $HipWidth $HipHeight $HipMass matDarkGrey) ; install hinge joint to connect to the torso (nd HingeJoint (attach ../boxBody ../../body/boxBody) (setAnchor 0 0 (eval $HipHeight * 0.5)) (setAxis 2) ; move around z-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName rlj1)) ; install an effector to control the joint motors (nd HingeEffector (setName rle1)) ; set joint stops ;(setLowStopDeg 0 $Rle1Min) ;(setHighStopDeg 0 $Rle1Max) ) ) (def $LeftThighPosX $LeftHipPosX) (def $LeftThighPosY $LeftHipPosY) (def $LeftThighPosZ (eval $LeftHipPosZ - (eval $HipHeight / 2.0) - (eval $ThighHeight / 2.0) )) (def $RightThighPosX $RightHipPosX) (def $RightThighPosY $RightHipPosY) (def $RightThighPosZ (eval $RightHipPosZ - (eval $HipHeight / 2.0) - (eval $ThighHeight / 2.0) )) ; left thigh (nd Transform (setName leftthigh) (setLocalPos $LeftThighPosX $LeftThighPosY $LeftThighPosZ) (importScene rsg/boxspheres/box.rsg $ThighLength $ThighWidth $ThighHeight $ThighMass matDarkGrey) ; install hinge joint to connect to the torso (nd UniversalJoint (attach ../boxBody ../../lefthip/boxBody) (setAnchor 0.0 0.0 (eval $ThighHeight / 2.0)) (setAxis1 1.0 0.0 0.0) ; move around the x-axis (setAxis2 0.0 1.0 0.0) ; move around the y-axis ; enable the joint motors (setMaxMotorForce 0 100) (setMaxMotorForce 1 100) ; install a perceptor (nd UniversalJointPerceptor (setName llj2_3)) ; install an effector to control the joint motors (nd UniversalJointEffector (setName lle2_3)) ; set joint stops ;(setLowStopDeg 0 $Lle2Min) ;(setHighStopDeg 0 $Lle2Max) ;(setLowStopDeg 1 $Lle3Min) ;(setHighStopDeg 1 $Lle3Max) ) ; attach left knee cylinder (virtual) (nd Transform (setLocalPos 0 0 (eval (eval $ThighHeight * -0.5) - 0.025)) (setLocalRotation 0 90 0) (nd CCylinder (setMaterial matRed) (setParams 0.1 (eval $ThighLength - 0.2)) ) ) ) ; right thigh (nd Transform (setName rightthigh) (setLocalPos $RightThighPosX $RightThighPosY $RightThighPosZ) (importScene rsg/boxspheres/box.rsg $ThighLength $ThighWidth $ThighHeight $ThighMass matDarkGrey) ; install hinge joint to connect to the torso (nd UniversalJoint (attach ../boxBody ../../righthip/boxBody) (setAnchor 0.0 0.0 (eval $ThighHeight / 2.0)) (setAxis1 1.0 0.0 0.0) ; move around the x-axis (setAxis2 0.0 1.0 0.0) ; move around the y-axis ; enable the joint motors (setMaxMotorForce 0 100) (setMaxMotorForce 1 100) ; install a perceptor (nd UniversalJointPerceptor (setName rlj2_3)) ; install an effector to control the joint motors (nd UniversalJointEffector (setName rle2_3)) ; set joint stops ;(setLowStopDeg 0 $Rle2Min) ;(setHighStopDeg 0 $Rle2Max) ;(setLowStopDeg 1 $Rle3Min) ;(setHighStopDeg 1 $Rle3Max) ; attach left knee cylinder (virtual) (nd Transform (setLocalPos 0 0 (eval (eval $ThighHeight * -0.5) - 0.025)) (setLocalRotation 0 90 0) (nd CCylinder (setMaterial matRed) (setParams 0.1 (eval $ThighLength - 0.2)) ) ) ) ) (def $LeftShankPosX $LeftThighPosX) (def $LeftShankPosY $LeftThighPosY) (def $LeftShankPosZ (eval $LeftThighPosZ - (eval $ThighHeight / 2.0) - (eval $ShankHeight / 2.0) - 0.05)) (def $RightShankPosX $RightThighPosX) (def $RightShankPosY $RightThighPosY) (def $RightShankPosZ (eval $RightThighPosZ - (eval $ThighHeight / 2.0) - (eval $ShankHeight / 2.0) - 0.05)) ; left shank (nd Transform (setName leftshank) (setLocalPos $LeftShankPosX $LeftShankPosY $LeftShankPosZ) (importScene rsg/boxspheres/box.rsg $ShankLength $ShankWidth $ShankHeight $ShankMass matDarkGrey) ; install hinge joint to connect to the thigh (nd HingeJoint (attach ../boxBody ../../leftthigh/boxBody) (setAnchor 0.0 0.0 (eval $ShankHeight / 2.0)) (setAxis 0) ; move around x-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName llj4) ) ; install an effector to control the joint motors (nd HingeEffector (setName lle4)) ; set joint stops ;(setLowStopDeg 0 $Lle4Min) ;(setHighStopDeg 0 $Lle4Max) ) ) ; right shank (nd Transform (setName rightshank) (setLocalPos $RightShankPosX $RightShankPosY $RightShankPosZ) (importScene rsg/boxspheres/box.rsg $ShankLength $ShankWidth $ShankHeight $ShankMass matDarkGrey) ; install hinge joint to connect to the thigh (nd HingeJoint (attach ../boxBody ../../rightthigh/boxBody) (setAnchor 0.0 0.0 (eval $ShankHeight / 2.0)) (setAxis 0) ; move around x-axis ; enable the joint motors (setMaxMotorForce 0 100) ; install a perceptor (nd HingePerceptor (setName rlj4)) ; install an effector to control the joint motors (nd HingeEffector (setName rle4)) ; set joint stops ;(setLowStopDeg 0 $Rle4Min) ;(setHighStopDeg 0 $Rle4Max) ) ) ; left foot (nd Transform (setName leftfoot) (setLocalPos $LeftShankPosX $LeftShankPosY (eval $LeftShankPosZ - (eval $ShankHeight / 2.0) - (eval $FootHeight / 2.0) - 0.05) ) ; install touch perceptor ;(nd TouchPerceptor (setName lf)) ; install FRP (nd ForceResistancePerceptor (setName lf) ) (importScene rsg/boxspheres/box_with_handler.rsg $FootLength $FootWidth $FootHeight $FootMass matDarkGrey) ; install hinge joint to connect to the shank (nd UniversalJoint (attach ../boxBody ../../leftshank/boxBody) (setAnchor 0.0 0.0 (eval $FootHeight * 3.0)) (setAxis1 1.0 0.0 0.0) ; move around the x-axis (setAxis2 0.0 1.0 0.0) ; move around the y-axis ; enable the joint motors (setMaxMotorForce 0 100) (setMaxMotorForce 1 100) ; install a perceptor (nd UniversalJointPerceptor (setName llj5_6)) ; install an effector to control the joint motors (nd UniversalJointEffector (setName lle5_6)) ; set joint stops ;(setLowStopDeg 0 $Lle5Min) ;(setHighStopDeg 0 $Lle5Max) ;(setLowStopDeg 1 $Lle6Min) ;(setHighStopDeg 1 $Lle6Max) ) ; static box at the back of the foot (nd Transform (setLocalPos 0.0 (eval -1 * (eval (eval $FootWidth / 2.0) - (eval $AnkleBoxWidth / 2.0))) (eval (eval $FootHeight / 2.0) + (eval $AnkleBoxHeight / 2.0)) ) (nd Box (setMaterial matGrey) (setExtents $AnkleBoxLength $AnkleBoxWidth $AnkleBoxHeight) ) ) ) ; right foot (nd Transform (setName rightfoot) (setLocalPos $RightShankPosX $RightShankPosY (eval $RightShankPosZ - (eval $ShankHeight / 2.0) - (eval $FootHeight / 2.0) - 0.05) ) ; install touch perceptor ;(nd TouchPerceptor (setName rf)) ; install FRP (nd ForceResistancePerceptor (setName rf) ) (importScene rsg/boxspheres/box_with_handler.rsg $FootLength $FootWidth $FootHeight $FootMass matDarkGrey) ; install hinge joint to connect to the shank (nd UniversalJoint (attach ../boxBody ../../rightshank/boxBody) (setAnchor 0.0 0.0 (eval $FootHeight * 3.0)) (setAxis1 1.0 0.0 0.0) ; move around the x-axis (setAxis2 0.0 1.0 0.0) ; move around the y-axis ; enable the joint motors (setMaxMotorForce 0 100) (setMaxMotorForce 1 100) ; install a perceptor (nd UniversalJointPerceptor (setName rlj5_6)) ; install an effector to control the joint motors (nd UniversalJointEffector (setName rle5_6)) ; set joint stops ;(setLowStopDeg 0 $Rle5Min) ;(setHighStopDeg 0 $Rle5Max) ;(setLowStopDeg 1 $Rle6Min) ;(setHighStopDeg 1 $Rle6Max) ) ; static box at the back of the foot (nd Transform (setLocalPos 0.0 (eval -1 * (eval (eval $FootWidth / 2.0) - (eval $AnkleBoxWidth / 2.0))) (eval (eval $FootHeight / 2.0) + (eval $AnkleBoxHeight / 2.0)) ) (nd Box (setMaterial matGrey) (setExtents $AnkleBoxLength $AnkleBoxWidth $AnkleBoxHeight) ) ) )) ; of space) ; EOF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -