Learning Matlab by Digital Simulation of a 4-Rover Game

« Return to Course Catalog

One Section Available to Choose From:

Course DatesMeeting TimesStatusInstructor(s)CRNRegistration
July 22, 2019 - August 02, 20197/22 - 8/02M-F 12:15P-3:05POpenJerry Daniels

Course Description

Matlab is a widely used computer programming system. This course will provide you with the opportunity to learn Matlab programming as applied to a 2-dimensional game that incorporates the principles of Artificial Intelligence (AI). Namely, you will simulate a robot game called Last Rover Roving (LRR). You will learn about the Matlab editor, and its single step debugging features. The difference between Matlab scripts and functions will be explained. You will use different data types, and see how Matlab has its own version of object-oriented programming.

You will begin the course by watching 4 real robot rovers autonomously chase each other around on a blocked-off section of the floor, while each rover attempts to detect and turn off lever switches on the back of its opponent rovers. You will then modify and create your own Matlab code for simulating the LRR game.

In the default LRR game simulation, robot rovers are programmed in the form of circular shapes. Colored sections represent the back and a “beak” serves as the front of a rover.

The master code that runs a game/tournament has sections to:
* Create Initial Positions and Orientations
* React to Contacting a Wall
* React to Colliding with another Rover
* Decide if the Front of one Rover has “hit” the Kill Switch of another Rover

You will modify this default code for the demo simulation. One version of simulated LRR has 3 rovers running as default drones. The 4th rover is under the control of a student’s code for initial position, orientation, speed, reaction to walls or collisions, means of detecting kill switches, and chasing drones it detects. If the student’s code improves on the drones’ code, the student’s drone will win more LRR tournaments than the 3 drones.

By suppressing the real-time graphics of simulated LRR, a student can run hundreds of different parameter combinations per minute, and achieve an “artificial intelligence” solution to optimal performance.

Below links to a (video of a) Matlab movie for a LRR game, where Rover 4 (violet rear) is the winner:

In this course, students will:
*Learn how to program math-oriented objectives in Matlab, a world standard for computer math
*Learn how to simulate a 2-dimensional game in Matlab, by using analytic geometry
*Learn principles of AI (artificial intelligence) for improving game performance

Prerequisites: Students should have taken Trigonometry in high school prior to enrolling in this course.


Course Information

  • Course Code: CEEN0938
  • Length: 2 weeks

Program Information


Brown’s Pre-College Program in the liberal arts and sciences, offering over 200 non-credit courses, one- to four-weeks long, taught on Brown’s campus. For students completing grades 9-12 by June 2019.

Visit Program Page Learn How to Apply
Back to Top