Commentaires 0

Retranscription du document

Requirements for the 2007 Robot Project -Critical Systems DevelopmentRune WintherJanuary 26,20071 IntroductionThis document presents the requirement of the 2007-project in the “criti-cal systems development” course.Brieﬂy described,the project consists ofprogramming a robot to solve a number of tasks as deﬁned by our robot lab-oratory,in such a way that the robot is roobust with regard to single point offailures.In principle,this means that the software that is developed shouldbe such that failure in any single component should not prevent the robotfrom solving its tasks.In practice,the required fault tolerance will be lessstrict.The background for the tasks the robot will face is the Robocup com-petetion,arranged annually in Copenhagen.Since the Robocup tasks onlychange minimally from one year to another,we have built a sligthtly mini-mized version of last years Robocup challenge in our own robot laboratory.The group that has the best performing robot will be allowed to representØstfold University College at the 2007 Robocup competetion.Deadline andactual criteria for being chosen will be announced later.The most important aim of this project is to teach some of the practi-calities of developing fault tolerant software,and to supplement the moretheoretical sides of the course.In order to be able to develop the robot’ssoftware successfully,you will need to know which components might failand how they might fail,i.e.you will need to perform some level of riskanalysis.To make your robot fault tolerant,you will need to ﬁnd ways ofprogramming the robot so that it can complete its tasks,even in the case ofcomponent failures.12 The robotThe robot’s main parts are its chassis and its electronics.2.1 Robot ChassisThe robot’s chassis has been purchased from Lynxmotion,USA,and is ofthe type 4WD3.Figure1 shows the basic robot.The robot is manouveredthrough the use of 4 motors,one for each wheel.In the case of our robot,the motors on each side are wired together so that the robot is driven in“tank-mode”.This means that the speed of the wheels on the left and rightsides are controlled independently.To make the robot turn,you just have toset diﬀerent speeds on the left and right sides.Figure 1:The basic 4WD3 chassis with wheels and motors.The motors can be driven equally fast forward and backwards,which alsomeans that the robot can “turn on a dime”,i.e.changing its heading withoutchanging its position.2.2 ElectronicsThe robot’s electronics is made up from both “oﬀ-the-shelf” and self-madecomponents.The following is a list of the robot’s electronic components:• Eyebot controller,a Motorola 68332 CPUcomplemented with a numberof IO-options.• Three IR distance measuring sensors.One facing forward and one oneach side at 90 degrees to the robot’s front.• Forward facing camera.2• Two shaft encoders,one each side measuring the rotation of the wheels.• Lightsensor array,positioned under the front of the robot.This arrayis used to follow lines.• Motorcontroller for controlling the speed of the motors on each side.• Servo with arm to be used for grabing a golfball.• Pressure sensor that detects contact with an object in front of the armcontrolled by the servo.Attached to this arm is also a magnet onspringloaded string.Information on how to program the robot and utilize it’s sensors will beprovided elsewhere.3 The challengeThe challenge essentially consists of two parts:• To program the robot so that it solves all deﬁned tasks.• To programthe robot so that it is robust with regard various componentfailures.3.1 The deﬁned tasksAs stated in Chapter 1,the tasks are based on the Robocup 2006 compete-tion.For the sake of this course a few of the 2006 tasks will be ignored.The layout of the tasks is illustrated in Figure 3.1,where the numbersrefer to the diﬀerent tasks.All the tasks are described in Table 3.1 below.3.2 Required robustnessSince this project’s theme is the development of critical systems,which ob-viously need to be robust,certain robustness requirements must be met bythe developed software.These are:• Excluding the shaft encoders,no singel sensor failure shall prevent therobot reaching the ﬁnishline.• A critical1failure to any of its actuators should be identiﬁed and therobot stopped.1In the meaning “impossible to complete any more tasks”3Task#DescriptionInproject?1Passing the gate within a certain timelimit (TBD)Yes2Speed test.Drive a piece of the courseas fast as possible.Yes3Avoid the gate with the lights on.No4Open the tunnel and drive through.Yes5Find the golfball and put it in the holeon top of the ramp.Yes6Drive up the ramp,through the gate.Yes7Find the second golf ball and put it inthe hole on the ramp.Yes8Drive down the stairsYes9For extra points,also drive through thegate on the slope down from the ramp.Yes10Drive through both gates.The distancebetween the gates is variable,and thespace between the gates is covered by aplate.Yes11Drive through the gate.The gate’sposition is variable,but it will alwaysremain at the same distance from theblack line.YesTable 1:A brief description of the various tasks.4Figure 2:Schematic layout of the tasks.4 Expected deliverablesThere are essentially four diﬀerent deliverables that are required in thisproject:• A risk analysis of the robots essential hardware,i.e.sensors and actu-ators.• A detailed design,including a speciﬁc description of what has beendone to achieve robustness.• The code that makes the robot solve all its tasks.• An explicit argument giving a convincing explanation of why the de-veloped code fulﬁlls its requirements2.2Functional as well as non-functional5