CS 444 - Week 13 Lecture 1 - 2015-04-21

setting the GROUNDWORK for the SumoBot project

*   Ground Rules! 

    [BUT these have been modified since -- SEE the LATEST/CURRENT list
    under IMPORTANT ANNOUNCEMENTS section of public course web site!]

    *   common design constraints:
        *   each robot must be made from the parts from
            only one kit

        *   during each match, each brick must be using
	    a rechargeable battery

        *   each robot must be programmed using
	    leJOS only

        *   robots must be completely autonomous
            once the match starts --
	    any kind of remote control or human
	    interaction after that is forbidden
            *   (for example, human actions to calibrate
	        the sensors right before the match are
		fine and encouraged)

    *   SumoBots will compete on the provided 
        oval white field coliseum, with a black boundary
        *   two of these will be available for
	    testing throughout the project
  
        *   "ring" will refer to the oval white part

        *   "coliseum" will refer to the board as a whole

    *   to start a match, two SumoBots are placed in
        that ring, on one of the little "stars"

    *   only TWO robots at a time participate in
        a match

    *   if a part of a robot touches the ground
        OUTSIDE of the coliseum, the match is ended

    *   if neither robot has caused the match to end
        in a given time limit [to be determined!],
	the match ends in a draw [probably]

    *   a robot that is flipped over, 
        and/or becomes unable to maneuver,
	ends a match

    *   the GOAL is push or lift your opponent
        so it is out of bounds or cannot maneuver --

        *   that is, this is SUMO wrestling-based!!
            [NOT professional-wrestling-WWE-type-based!]

	HOWEVER...

        *   a robot may not drop parts,
            accidentally or deliberately
            *   if a robot drops a part, that ends the match

        *   NO violent behaviors are allowed
            *   if it looks like the goal is to
	        damage the other robot or its
		parts, the match will be considered
		ended

            *   robots may NOT "beat up" on each
	        other

        *   (if a robot loses a part during an
	    acceptable maneuver...?
	    ...that will generally end the
	    match, generally in favor of the
	    non-part-losing robot.

	    for a NON-acceptable maneuver?
	    ...it's the opposite!)

        *   it is the JUDGE's discretion what
	    is too violent, acceptable, etc.

    *   I will post the possibly-evolving rules prominently
        on the course web site
        (yes, that means I might refine them,
	 I do not intend to add nasty twists --
	 unless I must...)
-------------------
some STARTING tips/suggestions/etc.,
which you will HOPEFULLY add to in your research!

*   Scott Burgess has noted:
    *   three basic strategies seem to work well:

        *   SPEED
        *   STRENGTH
        *   SMARTS

        *   in his experience? while a robot MIGHT
	    be successful with only 1 of the first
	    2, it almost certainly WON'T be successful
	    without the 3rd!

*   Tradeoffs...
    *   [eep, we may need discuss GEARING briefly..]
    *   there are TRADEOFFS to consider in your
        design possibilities...
    *   for example:
        *   power vs. speed
        *   size (bigger? smaller? optimal dimensions?)
        *   weight (lighter? heavier?)
        *   complexity (maybe get something working,
	                then refine?)
        *   time to program

    *   something to consider: what are your team's
        strengths?

        *   a good strategy might include
	    putting greater effort into those aspects
	    your team is best at...

*   Scott noted:
    Sun Tzu noted that you had to find your enemy
    in order to defeat him --

    HERE, you should use sensor or sensors
    to detect your opponent!

    *   note the strengths and weaknesses of
        the kit's sensors!

    *   how many sensors make sense to use?

*   Robot Sumo is practiced WIDELY,
    *   it is ENCOURAGED (see the current individual
        assignment!) to look for and research for
	ideas/strategies/etc.!

    *   (please do attribute your sources, though!)

    *   (yes, that DOES mean you CAN use a design
        from the web or ACM Digital Library! BUT
	attribute it)

*   TEST. YOUR. ROBOT.

*   see the posted additional suggestions
    from SuGObot.com...

*   Torque -
    Torque = Force * Radius
    *   the turning force that the motors apply to
        the wheels

    *   the trick is to put it to good use!