自动化专业外文翻译模糊逻辑控制机器人走迷宫.docx
- 文档编号:13944843
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:15
- 大小:26.40KB
自动化专业外文翻译模糊逻辑控制机器人走迷宫.docx
《自动化专业外文翻译模糊逻辑控制机器人走迷宫.docx》由会员分享,可在线阅读,更多相关《自动化专业外文翻译模糊逻辑控制机器人走迷宫.docx(15页珍藏版)》请在冰点文库上搜索。
自动化专业外文翻译模糊逻辑控制机器人走迷宫
外文资料
FUZZYLOGICCONTROLFORROBOTMAZETRAVERSAL:
ANUNDERGRADUATECASESTUDY
JamesWolferChadA.George
Abstract
Aspreviouslyreported,IndianaUniversitySouthBendhasdeployedautonomousrobotsintheirComputerOrganizationcoursetofacilitateintroducingcomputersciencestudentstothebasicsoflogic,embeddedsystems,andassemblylanguage.Therobotshelptoprovideeffective,real-timefeedbackonprogramoperationandtomakeassemblylanguagelessabstract.Asapartoftheircourseworkstudentsarerequiredtoprogramasensor-basedtraversalofamaze.Thispaperdetailsonesolutiontothisproblememployingafuzzylogiccontrollertocreatelinguisticrules.
Keywords:
Fuzzylogic,pedagogy,robots,studentprojects
INTRODUCTION
Assemblylanguageprogramminginacomputerscienceenvironmentisoftentaughtusingabstractexercisestoillustrateconceptsandencouragestudentproficiency.
Toaugmentthisapproachwehaveelectedtoprovidehands-on,real-worldexperiencetoourstudentsbyintroducingrobotsintoourassemblylanguageclass.
Observingthephysicalactionofrobotscangeneratevaluablefeedbackandhavereal-worldconsequences–robotshittingwallsmakestudentsinstantlyawareofprogramerrors,forexample.
Italsoprovidesinsightintotherealitiesofphysicalmachinessuchasmotorcontrol,sensorcalibration,andnoise.Tohelpprovideameaningfulexperienceforourcomputerorganizationstudents,wereviewedthecoursewiththefollowingobjectivesinmind:
•Expandtheexperienceofourstudentsinamannerthatenhancesthestudent'sinsight,providesahands-on,visual,environmentforthemtolearn,andformsanintegratedcomponentforfutureclasses.
•Removesomeoftheabstractioninherentintheassemblylanguageclass.Specifically,tohelpenhancetheerrordetectionenvironment.
•Provideakinestheticaspecttoourpedagogy.
•Buildstudentexpertiseearlyintheirprogramthatcouldleadtoresearchprojectsandadvancedclassroomactivitieslaterintheirprogram.Specifically,inthiscase,tobuildexpertisetosupportlatercourseworkinintelligentsystemsandrobotics.
Asonecomponentinmeetingtheseobjectiveswe,incooperationwiththeComputerSciencedepartment,theIntelligentSystemsLaboratory,andtheUniversityCenterforExcellenceinTeaching,designedaroboticslaboratorytosupporttheassemblylanguageportionofthecomputerorganizationclassasdescribedin[1].
Thebalanceofthisreportdescribesoneexampleprojectresultingfromthisenvironment.Specifically,wedescribetheresultsofastudentprojectdevelopinganassemblylanguagefuzzyengine,membershipfunctioncreation,fuzzycontroller,andresultingrobotbehaviorinaLinux-basedenvironment.
WealsodescribesubsequentsoftwaredevlopmentinC#underWindows,includinggraphicalmembershiptuning,real-timedisplayofsensoractivation,andfuzzycontrollersystemresponse.Collectivelythesetoolsallowforrobustcontrollerdevelopment,assembly
languagesupport,andanenvironmentsuitableforeffectiveclassroomandpublicdisplay.
BACKGROUND
Robotshavelongbeenrecognizedfortheirpotentialeducationalutility,withexamplesrangingfromabstract,simulated,robots,suchasKarel[2]andTurtle[3]forteachingprogrammingandgeometryrespectively,tocompetitiveeventssuchasroboticsoccertournaments[4].
Asthecostofroboticshardwarehasdecreasedtheirmigrationintotheclassroomhasaccelerated[5,6].Drivenbythecombinedgoalsforthisclassandthefutureresearch
objectives,aswellassoftwareavailability,wechosetouseoff-the-shelf,KheperaII,robotsfromK-Team[7].
SIMULATEDROBOTDIAGRAM
TheK-TeamKepheraIIisasmall,two-motorrobotwhichusesdifferentialwheelspeedforsteering.Figure1showsafunctionaldiagramoftherobot.Inadditiontothe
twomotorsitincludesaseriesofeightinfraredsensors,sixalongthe“front”andtwointhe“back”oftherobot.Thisrobotalsocomeswithanembeddedsystem-calllibrary,avarietyofdevelopmenttools,andtheavailabilityofseveralsimulators.TheembeddedcodeintheKheperarobotsincludesarelativelysimple,butadequate,commandlevelinterfacewhichcommunicateswiththehostviaastandardserialport.Thisallowsstudentstowritetheirprogramsusingthehostinstructionset(IntelPentiuminthiscase),sendcommands,andreceiveresponsessuchassensorvalues,motorspeedandrelativewheelposition.
WealsochosetoprovideaLinux-basedprogrammingenvironmenttoourstudentsbyadaptingandremasteringtheKnoppixLinuxdistribution[9].OurcustomdistributionsupplementedKnoppixwithmodifiedsimulatorsfortheKhepera,theinterfacelibrary(includingsourcecode),
manuals,andassemblerdocumentation.Collectively,thisprovidesacompletedevelopmentplatform.
TheSIMKheperasimulator[8]includessourcecodeinC,andprovidesaworkablesubsetofthenativerobotcommandlanguage.Italsohastheabilitytoredirectinputandoutputtothephysicalrobotfromthegraphicsdisplay.Figure2showsthesimulatedKheperarobotinamazeenvironmentandFigure3showsanactualKheperainaphysicalmaze.ToprovideaseamlessinterfacetothesimulatorandrobotswemodifiedtheoriginalsimulatortomoreeffectivelycommunicatethroughapairofLinuxpipes,andwedevelopedasmallcustomsubroutinelibrarycallablefromthestudent'sassemblylanguageprograms.
AssignmentsfortheclassrangefrominitialCassignmentstocalltherobotroutinestoassemblylanguageassignmentsculminatingintherobottraversingthemaze.
FUZZYCONTROLLER
Oneapproachtorobotcontrol,fuzzylogic,attemptstoencapsulateimportantaspectsofhumandecisionmaking.Byformingarepresentationtolerantofvague,imprecise,ambiguous,andperhapsmissinginformationfuzzylogicenhancestheabilitytodealwithreal-worldproblems.Furthermore,byempiricallymodelingasystemengineeringexperienceandintuitioncanbeincorporatedintoafinaldesign.
Typicalfuzzycontrollerdesign[10]consistsof:
•Definingthecontrolobjectivesandcriteria
•Determiningtheinputandoutputrelationships
•Creatingfuzzymembershipfunctions,alongwith
subsequentrules,toencapsulateasolutionfrom
intputtooutput.
•Applynecessaryinput/outputconditioning
•Test,evaluate,andtunetheresultingsystem.
Figure4illustratestheconversionfromsensorinputtoafuzzy-linguisticvalue.Giventhreefuzzypossibilities,‘tooclose’,‘toofar’,and‘justright’,alongwithasensorreadingwecanascertainthedegreetowhichthesensorreadingbelongstoeachofthesefuzzyterms.NotethatwhileFigure4illustratesatriangularmembershipset,trapezoidsandothershapesarealsocommon.
Oncetheinputsaremappedtotheircorrespondingfuzzysetsthefuzzyattributesareused,expertsystemstyle,totriggerrulesgoverningtheconsequentactions,inthiscase,oftherobot.Forexample,aseriesofrulesforarobotmayinclude:
•Ifleft-sensoristoocloseandrightsensoristoofarthenturnright.
•Ifleftsensorisjustrightandforwardsensoristoofarthendrivestraight.
•Ifleftsensoristoofarandforwardsensoristoofarthenturnleft.
•Ifforwardsensorisclosethenturnrightsharply.
Thelogicaloperators‘and’,‘or’,and‘not’arecalculatedasfollows:
‘and’representssetintersectionandiscalculatedastheminimumvalue,‘or’iscalculatedasthemaximumvalueortheunionofthesets,and‘not’findstheinverseoftheset,calculatedas1.0-fitness.
Onceinputshavebeenprocessedandrulesapplied,theresultingfuzzyactionsmustbemappedtoreal-worldcontroloutputs.Figure5illustratesthisprocess.Hereoutputiscomputedasthecoordinateofthecentroidoftheaggregateareaoftheindividualmembershipsetsalongthehorizontalaxis.
ASSEMBLYLANGUAGEIMPLEMENTATION
Twoimplementationsofthefuzzyrobotcontrollerwereproduced.ThefirstwaswritteninassemblylanguagefortheIntelcpuarchitectureundertheLinuxoperatingsystem,thesecondinC#underWindowstoprovideavisuallyintuitiveinterfaceformembershipsetdesignandpublicdemonstration.
Figure6showsanexcerptofpseudo-assemblylanguageprogram.Theactualprogramconsistsofapproximatelyeighthundredlinesofhand-codedassemblylanguage.Intheassemblylanguageprogramsubroutinecallsarestructuredwithparameterspushedontothestack.Notethatthecodeforpushingparametershasbeeneditedfromthisexampletoconservespaceandtoillustratetheoverallroleofthecontroller.Inthiscode-fragmentthe‘open_pipes’routineestablishescontactwiththesimulatororrobot.Oncecommunicationisestablished,acontinousloopobtainssensorvalues,encodesthemasfuzzyinputs,interpretsthemthroughtherulebasetolinguisticoutputmemberswhicharethenconvertedtocontroloutputswhicharesenttotherobot.Thebulkoftheremainingcodeimplementsthefuzzyengineitself.
FUZZYCONTROLLERMAINLOOP
Membershipsetsweremanuallydefinedtoallowtherobottodetectandtrackwalls,avoidbarriers,andnegotiatevoidspacesinitfieldofoperation.Usingthiscontroller,boththesimulatedrobotandtheactualKheperasuccessfullytraversedavarietyofmazeconfigurations.
ASSEMBLYLANGUAGEOBSERVATIONS
Whileimplementingtheinputfuzzificationandoutputdefuzzificationinassemblylanguagewastediouscomparedwiththesametaskinahighlevellanguage,thelogicengineprovedtobewellsuitedtodescriptioninassemblylanguage.
Thelogicrulesweredefinedinatypeofpsuedo-codeusing‘and’,‘or’,‘not’asoperatorsandusingthefuzzyinputandoutputmembershipsetsasparameters.Wi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 专业 外文 翻译 模糊 逻辑 控制 机器人 迷宫