The specific goal of this contest is to build a computer controlled Robot that can move through a model floor plan structure of a house, find a lit candle and then extinguish it in the shortest time subject to a few operating factors. This is meant to simulate the real-world operation of a Robot performing a fire protection function in an actual home. The candle represents a fire which has started in the home and which the Robot must find and then extinguish. However, the real goal of the contest is to advance Robotics technology and knowledge both in the competing individuals and in the world in general while using Robotics as an educational tool to enhance students' learning.
This contest has been constructed as a simulation within Matlab, with the arena configuration set to the 2004 contest rules, with the candle located in the northwest room (Fig. 1).Red circles indicate the arena walls.Black squares represent white lines on the arena floor that can be detected with the line detector sensors.The candle is a green square at the centre of a black square arc.
The robot is shown as a black circle with sensors (‘+’ symbols) located within.Infrared range sensor envelopes are represented by dashed red lines to the front, rear, left, and right of the robot’s forward direction.The two flame sensors are mounted on the front of the robot and angled inwards slightly.The sensor envelopes are shown as dashed green lines.The line detector sensors are located at the front and rear of the robot and can sense black squares within the dashed black detection circles.
Figure 1 – Trinity Fire-Fighting Home Robot Competition Matlab simulation arena with the robot at the Home position
The robot has been modelled as a differential-drive vehicle with four Sharp IR range finders, two Grove Flame sensors, and two line detectors.
|------- /O\ X |UVU| X X=|> <|=X X |^| X \O/ -------||legend: Vfront range finder > <side range finders ^rear range finder Oline sensor Uflame sensor | -chassis edges Xwheel =axle||specs: wheelbase20 cm length20 cm range dist80 cm range angle15 deg flame dist60 cm flame angle5 deg max speed~17 cm/s (50rpm motors with 6.65cm dia. tyres)|
The simulator (trinity02.m) has been programmed to detect objects (goals, obstacles, etc.) and render the current state of the arena and robot.Your goal is to write the CONTROL ACTION section of the simulator to command the two drive motors in order for the robot to detect and reach the goal (candle).
Some example code is already present in the CONTROL ACTION section that enables the robot to drive north, turn west, and then enter the floating room in the northeast corner of the arena.The code represents a form of path planning that uses a state-based system, i.e. Perform Step #1, then proceed to Step #2, etc.The sequence of the steps is a form of roadmap for the robot; a way to give a general sequence of instructions without dictating how the instructions are met.You no not have to use this code (e.g. you may choose for your path to head west from the home position instead of north) and are allowed to make changes, if desired.
For this part of the workshop:
·Update you CONTROL ACTIONsection of the simulator to search for the goal (candle) in each of the four rooms
·Set line 78 to be:rng('shuffle');
·Uncomment line 103: goal_val = double('a') + round(rand*9,0);
·Comment out line 104:%goal_val = double('b');
·How many of the goals were you able to reach with 0.010, 0.020, 0.025, 0.050, and 0.100 values for both sensor_noiseand movement_noise?
·What is the maximum amount of sensor and movement noise can your new control action steps handle (note: you may need to perform several runs at each noise level to verify this)?
You may add additional variables, arrays, and matrices if it helps your control scheme, but do not alter the provided features.
The simulator will register that you have reached the goal (candle) when the front line sensor detects a line whilst the left and right flame sensors both detect the goal.There is no need for an ‘extinguish candle’ function.
Submit your Matlab code, the final statistics presented in the Matlab Command Window, and a video of your best run.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of