scorpion-stagemodel.inc

Go to the documentation of this file.
00001 # Scorpion Robot model for Stage
00002 # ...Include file for Stage World File
00003 
00004 # =========================================================================== #
00005 # A model describing a Evolution Robotics Scorpion robot
00006 #
00007 # Use this file for inclusion in Stage World files when simulating 
00008 #  Scorpion robots
00009 #
00010 
00011 # Use this include in your Stage World file:
00012 #  include "../scorpion-stagemodel.inc"
00013 # Then create an object of the "scorpionrobot" model after the include:
00014 #  scorpionrobot
00015 #  (
00016 #     name "scorpionrobot1"
00017 #     pose [-2.000 -1.500 0.000]
00018 #  )
00019 # ... of course changing the name and start position to your own choices
00020 
00021 # Jonas Fonseca <fonseca@diku.dk>
00022 # Bue Petersen <buep@diku.dk>
00023 # Department of Computer Science University of Copenhagen
00024 # January 2007
00025 # =========================================================================== #
00026 
00027 # The Evolution Robotics Scorpion Robot has ir sensors, digital sensor and a bumper device.
00028 # The robot itself is described below, but its devices (sensors and bumper) are
00029 #  described in other files included here below.
00030 # The creation of the devices on the robot is done last in the robot
00031 #  description.
00032 # The sensor and bumper are models as well as the robot itself.
00033 
00034 # Include device description from other files
00035 # Makes them reuseable and save space in this file.
00036 # Notice path relative to the Stage Configuration file
00037 include "../scorpion-ir-range-stagemodel.inc"
00038 # Stage has no binary sensor models and they are not needed in 2D
00039 #include "../scorpion-ir-binary-stagemodel.inc"
00040 # Bumpers not supported in Stage>=1.5
00041 #include "../scorpion-bumper-stagemodel.inc"
00042 
00043 
00044 # The model of the Scorpion robot defined from the position model
00045 define scorpionrobot position
00046 (
00047   # - Properties of the "position" model -
00048   # The Scorpion have differential steering (a seperate motor for each wheel)
00049   drive "diff"
00050 
00051   # - Robots localization -
00052   # If "gps" the position model reports its position with perfect accuracy. 
00053   # If "odom", a simple odometry model is used and position data drifts from
00054   #  the ground truth over time. The odometry model is parameterized by the
00055   #  odom_error property. 
00056   # As standard use a precise odometry in Stage because we often prototype
00057   # It can be overwritten when the robot object is created
00058   localization "gps"
00059 
00060 
00061   # - Properties of general model ("model)" -
00062   # This specify the pose of the model in its parent's coordinate system
00063   # As ERSP world coordinate system and the robots coordinate system is
00064   #  coincident when turning the robot on we set this to origo
00065   # Typically the this start position is overwritten when object is created
00066   pose [0 0 0]
00067   # Size of the Scorpion robot in 2D projection on the floor is:
00068   # 43,9 cm (length) and 40,6 cm (width)
00069   size [0.44 0.41]
00070   # The Scorpion robot's center - coincident with origo the robot's 
00071   #  coordinate system as ERSP uses. It is -6 cm a the X-axis
00072   # Heading is not used
00073   origin [-0.06 0.0 0]
00074   # Velocity of the model is zero at start
00075   velocity [0 0 0]
00076   
00077   # Choosing from X11 database (rgb.txt) looks darker gray
00078   color "DarkGray"
00079 
00080   # The followin lines determine how the model appears in various sensors
00081   
00082   # Our robot should collide with other models that have this property set
00083   obstacle_return 1
00084   
00085   # Even though Scorpion robots don't have laser they can be seen by laser
00086   laser_return 1
00087   
00088   # ... it will also be detected by ranger sensors
00089   ranger_return 1
00090   
00091   # ... if other robots have a gripper this can "grap" the robot
00092   gripper_return 1
00093 
00094   # - GUI properties of the general model ("model") -
00095   # Draw a nose on the model so we can see where the bumper is placed
00096   gui_nose 1
00097   
00098   # Scaling grid over the robot is not used. Typically the map model has it
00099   gui_grid 0
00100   
00101   # Allow to move the model with a mouse in the GUI window
00102   gui_movemask 1
00103   
00104   
00105   # - Unit square body shape properties of the general model ("model") -
00106   # This polygon approximates the shape of the robot
00107   polygons 1
00108   polygon[0].points 4
00109   polygon[0].point[0] [  0.06  0.21 ]
00110   polygon[0].point[1] [  0.06 -0.21 ]
00111   polygon[0].point[2] [ -0.38 -0.21 ]
00112   polygon[0].point[3] [ -0.38  0.21 ]
00113 
00114   # - Devices on the robots -
00115   # Create robots sensors and bumper - they are models as well.
00116   # They are describe above (included from other files) but first created here
00117   scorpionirrangesensors()
00118   # Binary sensors not supported! See above
00119  #scorpionirbinarysensors()
00120   # Bumper not supported! See above
00121  #scorpionbumper()
00122 )

Generated on Sat Jan 13 03:11:09 2007 for ERSP Player driver by  doxygen 1.5.1