########################################### # Description for a CS Freiburg fieldplayer # # Exampe configuration file for the # robocup simulator # # Alexander Kleiner # # 30.08.2002 # ########################################### Version = 1.2; #server name where the simulator was started serverName = lummerland.informatik.uni-freiburg.de; #server port on which the server is listening #may be changed to run multiple simulators on one host serverPort = 1025; #robot name for identification at server (uncritical) robotName = berti; robotClass = pioneer; robotSubClass = dx; robotID = 2; #startup position when game is resetted #available positions: # RIGHT_ATTACK # LEFT_ATTACK # RIGHT_DEFENDER # LEFT_DEFENDER # GOALKEEPER # PENALTY # CUSTOM position = CUSTOM; customPosX = -2000; customPosY = 0; customPosTh = 0; #determines if the player plays from left to right (HOME) of #vice versa (GUEST) team = HOME; #Used for physical simulation of impacts weight = 7000; #in g #defines what kind of motion model is used to simulate the robot # MATH for mathematical simulation of CoPs Stuttgart # NEURAL for neural network based simulation of CS-Freiburg motionModel { name=differential2WDneural; #maximum translational velocity maxTransVel = 2000; #in mm/s #maximum rotational velocity maxRotVel = 300; #in deg/s }; #body of the robot you can define various primitives # CIRCLE, FILLED_CIRCLE, LINE, RECTANGLE #their colors # BLACK,WHITE,GREEN,RED,LIGHT_RED,ORANGE, # ORANGE_RED,MAGENTA,CYAN,LIGHT_GREEN,DARK_OLIVE_GREEN, # BLUE,LIGHT_BLUE,YELLOW,LIGHT_GREY,GREY,DARK_GREY #the collision parameter (1 = detect collision, 0 = no collision) body { RECTANGLE,DARK_GREY,1,-145,-175,290,350,222,6666; FILLED_CIRCLE,DARK_GREY,0,0,175,290,80; FILLED_CIRCLE,DARK_GREY,0,-145,-85,60,180; FILLED_CIRCLE,DARK_GREY,0,145,-85,60,180; RECTANGLE,BLACK,0,-130,-155,270,160; }; ############################# # Sensors ############################# #the odometry sensor, it returns absolute cartesian coordinates #and the velocities sensor { name = DifferentialRobot; type = ODOMETRY; feature = CURRENT_POSITION; posReturn = ABS_CARTES; sigmaDistance = 0.9; # 100.0 / 1000.0 sigmaRotation = 0.017; # 6.0 / 360 sigmaDrift = 0.1; # 100 / 1000 wheelDistance = 350; }; #The real position of the robot #We simply use the Plugin for DifferentialRobots without #any noise sensor { name = DifferentialRobot; type = SIMULATION; feature = CURRENT_POSITION; sigmaDistance = 0.0; sigmaRotation = 0.0; sigmaDrift = 0.0; posReturn = ABS_CARTES; }; # The Velocity sensor { name = DifferentialRobot; type = ODOMETRY; feature = CURRENT_VELOCITY; posReturn = TRANSROT_VEL; }; # The LMS 200 Laser scanner sensor { type = LRF; name = LMS; feature = SCAN; posReturn = REL_POLAR; posX = 0; posY = 0; posTh = 0; viewDistance = 8000; fieldOfView = 180; sigma = 0.0; # Resolution of Scanner: # 0: One degree # 1: One half degree resolution = 0; angleStartTh = -90; }; #the camera detecting the ball sensor { type = CAMERA; name = DFWV500; feature = BALL_POSITION; posReturn = REL_POLAR; fieldOfView = 70; #in deg viewDistance = 6000; #in mm posX = 0; #in mm posY = 0; #in mm posTh = 0; #in mm sigmaDist = 10.0; sigmaAngle = 1.0; }; #the blue goal sensor { type = CAMERA; name = DFWV500; feature = BLUE_GOAL_POSITION; posReturn = REL_POLAR; fieldOfView = 360; #in deg viewDistance = 5000; #in mm posX = 0; #in mm posY = 0; #in mm posTh = 0; #in mm sigmaDist = 0; sigmaAngle = 0; }; #the yellow goal sensor { type = CAMERA; name = DFWV500; feature = YELLOW_GOAL_POSITION; posReturn = REL_POLAR; fieldOfView = 360; #in deg viewDistance = 5000; #in mm posX = 0; #in mm posY = 0; #in mm posTh = 0; #in mm sigmaDist = 0; sigmaAngle = 0; }; #the poles (any color) sensor { type = CAMERA; name = DFWV500; feature = POLE_POSITION; posReturn = REL_POLAR; fieldOfView = 360; #in deg viewDistance = 5000; #in mm posX = 0; #in mm posY = 0; #in mm posTh = 0; #in mm sigmaDist = 0; sigmaAngle = 0; }; #the fieldlines sensor { useSensorForMarkov = TRUE; type = CAMERA; name = DFWV500; feature = FIELDLINES; posReturn = REL_CARTES; fieldOfView = 360; #in deg viewDistance = 8000; #in mm posX = 0; #in mm posY = 0; #in mm posTh = 0; #in mm sigmaDist = 0; sigmaAngle = 0; }; #the kicker sensor to deteckt the ball in front #sensor { # type = BUMPER; # name = flipper_shoot; # detect = BALL; # posReturn = DIGITAL; # fieldOfView = 180; #in deg # viewDistance = 340; #in mm #}; #the stall sensor to detect the robots stall #sensor { # type = CURRENT; # name = WheelStuck; # detect = WHEEL_STALL; # posReturn = NONE; #}; ############################# # Manipulators ############################# manipulator { name = kicker; defaultState = 1; timeToChange = 100; #in ms acceleration = 10000; #in mm/s^2 state 0 { RECTANGLE,BLACK,1,-125,-235,250,20; RECTANGLE,BLACK,1,-100,-230,20,50; RECTANGLE,BLACK,1,100,-230,20,50; }; state 1 { RECTANGLE,BLACK,1,-125,-200,250,20; RECTANGLE,BLACK,1,-100,-190,20,5; RECTANGLE,BLACK,1,80,-190,20,5; }; }; manipulator { name = leftEar; defaultState = 1; timeToChange = 0; acceleration = 0; state 0 { RECTANGLE,BLACK,1,-155,-275,15,65; RECTANGLE,BLACK,1,-155,-210,5,40; }; state 1 { RECTANGLE,BLUE,1,-155,-210,5,40; }; }; manipulator { name = rightEar; defaultState = 1; timeToChange = 0; acceleration = 0; state 0 { RECTANGLE,BLACK,1,140,-275,15,65; RECTANGLE,BLACK,1,150,-210,5,40; }; state 1 { RECTANGLE,BLUE,1,150,-210,5,40; }; };