A simulation scenario is an environment and one or more robot models that is used to prototype a control algorithm. The extent to which the environment reflects real-world conditions and limitations depends on the desired results from the simulation. If it is important that the exact code you use in the simulator can run on a real robot, then the simulated world and services must carefully model every important aspect of the real world. If the simulator is to be used only to prototype or demonstrate an algorithm, then real-world fidelity is less important.
In this chapter, you'll use the new Corobot robot entity from the last chapter in a simulation scenario that mimics the Seattle Robotics Society's Robo-Magellan competition. A description of the competition and the rules can be found at
www.robothon.org/robothon/robo-magellan.php. Before the competition begins, a referee places cones on the course and then provides GPS coordinates to the contestants for their location. Robots start at a predetermined place and navigate to each cone, avoiding obstacles along the way. The challenges that the robots face are navigating over outdoor terrain, avoiding obstacles, and dealing with GPS signal problems.
In this simulation, you'll mainly focus on navigation and obstacle avoidance. You haven't built a GPS service yet so you'll use the robot position reported by the
SimulatedQuadDifferentialDrive to mimic this capability. ...