standardized批处理for
批处理for 时间:2021-04-18 阅读:(
)
ModularDevelopmentofMobileRobotswithOpenSourceHardwareandSoftwareComponentsMartinoMigliavacca,AndreaBonarini,andMatteoMatteucciPolitecnicodiMilano,DipartimentodiElettronica,InformazioneeBioingegneria,PiazzaLeonardoDaVinci32,20133,Milano,Italy{migliavacca,bonarini,matteucci}@polimi.
itAbstract.
Prototypingandengineeringrobothardwareandlow-levelcontroloftenrequiretimeandeortsthussubtractedtocoreresearchac-tivities,suchasSLAMorplanningalgorithmsdevelopment,whichneedaworking,reliable,platformtobeevaluatedinarealworldscenario.
Inthispaper,wepresentRapidRobotPrototyping(R2P),anopensource,hardwareandsoftwarearchitecturefortherapidprototypingofroboticapplications,whereo-the-shelfembeddedmodules(e.
g.
,sensors,actu-ators,andcontrollers)arecombinedtogetherinaplug-and-playfashion,enablingtheimplementationofacomplexsysteminasimpleandmod-ularway.
R2Pmakespeopleinvolvedinrobotics,fromresearchersanddesignerstostudentsandhobbyists,dramaticallyreducethetimeandeortsrequiredtobuildarobotprototype.
1IntroductionInrecentyears,severaldevelopmentframeworks[6,4,11,8]havebeenpro-posedtoassistresearchersinthedesignofroboticapplications.
Whiletheseprojectsreallyboostedthedevelopmentofhigh-levelsoftware,hardwarede-signandlow-levelrmwaredevelopmentarestillcriticaltasks.
Todevelopanewmobilerobot,designersalwaysfacetheproblemofselectinghardwarede-vices,controllingthem,andinterfacingthemwiththehigh-levelsoftware.
Thisslowsdowntheprogressofroboticresearch,asprototypingandengineeringof-tenrequiresmoretimeandresourcesthantasksstrictlyrelatedtothetargetapplication.
Tosimplifythedevelopmentofnewroboticapplications,wedevelopedRapidRobotPrototyping(R2P)[2,1],anopensourcehardwareandsoftwareframe-workfocusedonspeedinguptheprototypingofroboticsystems.
R2Ppro-videshardwaremodulesthatimplementbasicfunctionalitiesneededbycommonroboticapplications,andalightweight,real-time,middlewaretoeasilywritelow-levelcontrolsoftware.
R2Ptargetsspanfrommobileautonomousrobotsusedforresearchpurposestoentertainmentandserviceapplications,suchasgames,telepresence,andrescue.
ThelimitsofR2P,attheactualstageofdevelopment,areonlyimposedbythemodulesalreadyavailable;moreover,asR2PisanopenS.
Behnkeetal.
(Eds.
):RoboCup2013,LNAI8371,pp.
576–583,2014.
cSpringer-VerlagBerlinHeidelberg2014RapidRobotPrototyping577source,modular,framework,itcanbeextendedbyuserswithadditionalmodulestocoverotherapplicationelds.
2ModularHardwareandSoftwareDevelopmentWhenanewroboticapplicationisinvestigated,therststepsinvolveselect-ingthehardwaredevices,e.
g.
,sensorandactuators,andbuildingtheplatformneededtovalidatetheoverallidea.
Lookingattoday'spossibilities,wecanpickdeviceseitherfromtheautomationmarketorfromthehobbymarket.
Com-ponentsfromautomationmarketareoftenexpensiveandoeroverkillingper-formancewithrespecttotherequirementsofaroboticapplicationprototype.
Moreover,automationdevicesoftenrequirepowersuppliesnotsuitableforbat-terypoweredsystemslikemobilerobots.
Ontheotherhand,devicesfromhobbymarketareusuallycheap,buttheyshowpoorperformance,lowreliability,andnoreal-timecapabilitiesmakingimpossibleanydistributedcontrolloop.
Havingselectedhardwaredevices,hereitcomestheproblemofinterfacingthemwitheachother,andwiththehigh-levelcontrolsoftware.
Dierentmanufacturersgenerallyusedierentdatalinksandprotocols,increasingwiringcomplexityandrequiringspecializeddevicedrivers.
Asaconsequence,resultingplatformsarecommonlybasedoncustomsetups,whicharehardlyreusableindierentprojects.
Althoughmobilerobotshavebeenbuiltfordecadesbyintegratinghet-erogeneousdevices,orimplementingcustomsolutions,wermlybelievethatamodularapproachbasedono-the-shelfcomponentswouldstronglyhelprobotdesignersindevelopingnewapplications.
Tothebestofourknowledge,theonlyavailablemodularroboticplatforms,suchastheE-puckeducationalrobot[10],theKepherarobot[7],andafewothers,areaimedatdevelopingsmallmobilerobotsforapplicationslikeswarmroboticsandtheirusageisrestrictedtocontroltheplatformtheyaredesignedfor.
WithR2P,weaimatfulllingthelackofhardwarecomponentsfocusedonrobotprototyping,pushingdesignstrategiescommonlyexploitedinsoftwarede-velopment–suchasmodular,component-based,softwareengineering–downtothehardwarelevel.
R2Preliesontheprinciplethattherequirementsofagenericrobotapplicationcanbeimplementedbymodulesnotonlyatsoftwarelevel,asitiscommoninmostframeworks,butalsoathardwarelevel.
Basicfunctionalitiessuchasmotorcontrol,distancemeasurement,inertialnaviga-tionareimplementedbyspecic,standardizedhardwaremodules,withcorre-spondingrmware,thatcanbepluggedonacommonbusandcaninteractinreal-time.
Firmwaredevelopmenttools,andamiddlewaretofosterdistributed,reusable,softwaredevelopment,areprovided,supportingusersinwritingcodeonresource-constraineddevices.
UsingR2P,robotdesignerscanbuildgenericplatformsbychoosingthemodulestheyneed,conguringthem,andeasilyde-velopingthecontrolsoftware,implementingcomplexsystemsinaplug-and-playfashion.
Integrationwithhigh-levelroboticsframeworks,suchasROS[11],isprovidedbyagatewaymodule.
578M.
Migliavacca,A.
Bonarini,andM.
Matteucci3R2P:TheRapidRobotPrototypingFrameworkInthissection,weintroduceR2Pdesignchoicesandarchitecture.
Then,areviewofsomeofthealreadyavailablehardwaremodulesarepresented.
3.
1PowerandDataLinkR2Pusesasingleconnectortotransportbothpoweranddata.
Powerconsump-tionislimitedto5V,200mA,foreachmodule,whichsuitestherequirementsofmostelectronicdevices,whilemodulesneedinghigherpower,suchasmo-tordrivers,mustrelyonauxiliaryconnections.
ModulesexchangedatausingtheCAN-Bus,whichhasbeendesignedtoworkinharshenvironmentsandisavailableonmanymicrocontrollers.
Itsmaximumdatarateof1Mbpsisgen-erallyenoughforadistributedsystemofsmartdevices,whereonlyhighlevelinformationneedstobesentoverthenetwork(i.
e.
,norawsensordataisex-changed),thusneedingarelativelysmallbandwidth[3].
AspartofR2P,wedevelopedRTCAN[9],aCAN-Busprotocoltargetedatroboticapplicationsthatsupportsbothsporadic,event-triggered,andperiodic,time-triggeredcom-munication,withsoftandhardreal-timeconstraints.
Toreducewires,adaisychainwiringschemaisadopted:eachmodulehastwoportstoconnecttothepreviousandthenextcomponent,asshowninFigure2(a).
Thisalsosupportseasyconnectionofnewmodulestoanexistingsystem.
3.
2EmbeddedFirmwareDevelopmentWritingcodeforresource-constraineddevices,suchasmicrocontrollersusedtointerfacewithsensorsandactuators,requiresspecicknowledgeandcompe-tence.
Mostrobotdesignersareusedtowritesoftwareondesktop-levelcom-putersystems,andtheyhavetospendtimeandeortstostartdevelopingcodetargetedtoembeddeddevices.
Toreducethiseort,theuseofanoperatingsystemcansignicantlysupportsoftwaredevelopmentevenforsmallembeddedsystemsasitfeaturesthreads,memorymanagement,messagepassingprimi-tives,andotherservicesprogrammersarecommonlyusedtodealwith.
More-over,anoperatingsystemwithreal-timecapabilitiesisimportanttomanagecritical,high-prioritytasks,whichareofteninvolvedinroboticsystems,e.
g.
,forclosed-loopcontrol.
Forthementionedreasons,R2PreliesonChibiOS/RT[12],areal-timeoperatingsystemdesignedfordeeplyembeddedrealtimeapplications.
ChibiOS/RThasbeenpreferredtootheralternativesforitsportability,easeofuse,richfeaturesset,andextremelyhigheciency;anyway,areviewofavailableembeddedoperatingsystemsisoutofthescopeofthispaper.
ChibiOS/RTalsoincludesaHardwareAbstractionLayer(HAL),whichabstractsthehardwareimplementationofdierentlowlevelperipherals,relievingthedeveloperfromacquiringspeciccompetenceoneachspecicplatformandmakingeasiertheportofexistingcodetodierenttargets.
RapidRobotPrototyping579!
"#$"#%"#&'!
$%&Fig.
1.
ThedistributedarchitectureoftheembeddedsoftwarecontrollingTriskar23.
3Publish/SubscribeMiddlewareTosupportthedevelopmentofmodularsoftwarecomponentsonembeddedtar-get,R2Pfeaturesalightweightcommunicationmiddleware.
R2Pmiddlewaremaingoalsaresoftwarereuse,real-timecommunication,ecientimplementa-tion,andeaseofuse.
Itfollowsthepublish/subscribeparadigm[5]:datapro-ducerspublishmessagesonatopic,i.
e.
,acommunicationchannel,whiledataconsumerssubscribetothecorrespondingtopictoreceivemessages.
Identifyingdatabyitscontent,i.
e.
,thetopicitispublishedon,insteadofbyitsproducer,alsopromotesloosely-coupledsoftwaredesignand,thus,codereuse.
Themiddle-wareprovidesconceptscommontomostroboticsframeworksusedoncomputersystems,suchassoftwarenodes,topics,publishers,subscribers,andmessagequeues.
R2PmiddlewareiswritteninasubsetofC++,totakeadvantageofsomeobject-orientedprogrammingfeatureswithoutcompromisingperformanceonembeddedtargets.
Itsimplementationisfocusedoncodeeciencyandmes-sagingperformance.
Softwarenodescansubscribetobothlocalandremotepublishers,withnodierencefromtheuserpointofview.
Themiddlewaresup-portsbothperiodicandsporadicpublishers,whichcanspecifyreal-timecom-municationconstraints:updateperiodfortime-triggeredmessages,anddeliverydeadlineforevent-triggeredones.
Finally,asimpleAPI,whichremindstheROSsyntax,enablesdeveloperstowriteembedded,distributedcodeastheyareusedtodooncomputersystems,fosteringcodereusethroughdierentprojects.
3.
4IntegrationwithROSWhileR2Psupportsrapiddevelopmentofroboticsystemsusingo-the-shelfhardwareandsoftwarecomponents,applicationsinvolvingcomputation-intensivetaskssuchascomputervision,localization,andcomplexplanning,mustalsorelyonacomputersystemand,eventually,asoftwareframework.
Amongthemanyavailabledevelopmentframeworksforroboticssoftware,ROS[11]iscurrentlythemostwidelyadoptedinacademiaandresearchlaboratories,and,recently,ithasbeenconsideredalsobyindustrialdevelopers.
Tonativelyintegrateresource-constraineddeviceswithinROS,wedevelopedμROSnode,alightweight,open580M.
Migliavacca,A.
Bonarini,andM.
Matteucci(a)Daisy-chainwiringofhardwaremodules(b)R2PIMU(c)R2PDCmotorcontrollerFig.
2.
R2Phardwaremodulessource,ANSICROSclientlibrary.
R2Pprovidesagatewaymodule(seeSec-tion3.
5),whichactsasaproxybetweentheR2PmiddlewareandROSsystems.
TopicspublishedontheR2PnetworkcanbeaccessedfromROSnodes,and,atthesameway,R2PmodulescansubscribedatapublishedbyROSsoftware.
3.
5O-the-ShelfHardwareComponentsWehavedesignedandbuilt,aspartoftheR2Pframework,asetofplug-and-playhardwaremodulesthatimplementbasicfunctionalitiesrequiredbycommonroboticsapplications.
ModulesarebasedonSTM32Cortex-M3microcontrollerswith20KbofRAMand128KbofFlashmemory,runningtheChibiOS/RTandtheR2Pmiddleware.
EachmodulehastwoRJ45portsfordaisy-chainconnectiontothebus,aserialporttodownloadnewrmwareandfordebuggingpurposes,andaJTAGheaderforadvanceduserswhowanttodirectlyaccessthemicro-controller.
Anoverviewofthecurrentlyavailablemodulesfollows.
PSUModule.
Thisisthepowersupplyunit,whichpowersallthemodulesconnectedtothebus.
Inputvoltagerangeisfrom5.
5Vto36VDC.
ADC-DCconverterproducesa5Vregulatedoutputwithmaximumcurrentsupplyof4Aandshortcircuitprotection.
Bothbatteryvoltageandcurrentdraincanbepublishedoverthenetworktomonitorpowerconsumptionandtoestimatetheresidualbatterylife.
DCMotorModule.
Thishigh-powermotorcontrollerboardcandriveDCmotorsupto36V,deliveringacontinuous20Acurrent.
Itfeaturesclosedloopcontrol,withpositionfeedbackfromaquadratureencoderandcurrentmea-surementfromtheon-boardHall-eectsensor.
TheDCmotormoduleacceptsposition,speed,andtorquesetpoints,andcanpublishpositionandspeedmes-sages,exploitingdatafromtheencoder,andthemeasuredcurrentdrawn.
IMUModule.
A10-DoFInertialMeasurementUnitfeaturingMEMSac-celerometer,gyroscope,magnetometerandpressuresensor.
AnadditionalserialporttoacquireGPScoordinatesfromanexternalGPSreceiverisalsoprovidedonthismodule.
Theon-boardsensorfusionalgorithmproducesheading,atti-tude,andpositionmessages.
RapidRobotPrototyping581ProximityModule.
AmoduletointerfacewithproximitysensorssuchastheSharpIRrangersorMaxBotixultrasonicsensors.
Eachmoduleconnectstoupto4sensors.
Calibrationanddatalteringalgorithmsrunonthemicrocon-troller,whichproducesdistancemeasurements.
GatewayModule.
ThisisthegatewaymodulementionedinSection3.
4.
ItfeaturesanEthernetportandamorepowerful,Ethernet-enabled,microcon-trollertohandletheTCP/IPstack.
R2PmessagescanbeforwardedfromtheCAN-BustotheIPnetwork,andtheotherwayaround.
ThegatewaymodulerunsROSnode,whichenablesadirectintegrationofR2PmoduleswithROSsystems.
3.
6OpenSourceDevelopmentR2Pisfullyopensource,bothhardwareandsoftware,toencourageitsadoptionandtotakeadvantageofcommunity-drivenimprovementstobecameamatureandwidespreadproject.
Thedesignoftheboards,thecodetheyrunandthemiddlewareareavailableontheR2Prepository:http://github.
com/openrobots-dev.
Atthemomentofwriting,R2Phasreacheditsmaturity(see,e.
g.
,theusecaseinthenextsection),butitsdevelopmentisstillactivelyprogressing,thus,therepositoryisfrequentlyupdated.
4UseCase:AnOmnidirectionalRobotWeusedR2PtodeveloptheomnidirectionalwheeledrobotTriskar2,showninFigure3(a).
Therobotsports3R2PDCmodules,aPSUmodule,aProximitymodule,andtheGatewaymoduletointerfacewithacomputerrunningROS.
Thelow-levelcontrolsoftwareembeddedonthemodules,whichexploitstheR2Ppublish/subscribermiddleware,isreportedinFigure3.
SoftwarecomponentsareenclosedinR2Pnodes,whichimplementbasicfunctionalities,performingaspe-cictask.
Then,nodesarecomposedasadistributedarchitecture,implementingacomplexsystemfrombasic,reusable,components.
Thisdesignstrategyisnotinnovative,beingcommonlyusedinsoftwaredevelopment;themaincontribu-tionofR2Pmiddlewareistobringthesameapproach,and,thus,thesameadvantages,toembeddedrmwaredevelopment,withthesameprogramminginterfacesknowntomostrobotdevelopers.
SoftwarenodeshavebeendeployedonthemodulesasshowninFigure3(b).
Somenodeshavetorunonspecicboards(e.
g.
,thosethataredirectlycon-nectedtothehardwarelikemotorcontrollernodes),whileotherscanrunonanyconnectedmodule.
Forexample,inourtests,theinversekinematicsmodeltocomputewheelspeedswasrunontheMotor1module,whiletheodometrynodewasdeployedonMotor2.
Inthisway,wecanbalanceprocessorloadandreducelatency,easilymovingnodesfromanhardwaremoduletoanother.
ThankstotheR2Pgateway,Triskar2canbecontrolledbyanyROSappli-cationpublishingnativeROStopics.
WerstlyteleoperatedtherobotbyusingstandardROSteleopmessages,thenwedevelopedaroboticgame,involvingtheTriskar2robotandaquadricopter,bothcontrolledbyROSsoftware.
582M.
Migliavacca,A.
Bonarini,andM.
MatteucciFig.
3.
TheTriskar2omnidirectionalplatform(a)andtheR2Phardwaremodulescontrollingtherobot(b)5ConclusionsInthispaper,wepresentedR2P,anopensourcehardwareandsoftwareframe-workfortherapidprototypingofrobots.
Bringingdesignstrategiessuchasmodulardevelopment,andcomponentsreuse,downtohardwarelevel,R2Pen-ablesrobotdesignerstobuildandcontrolaroboticplatformusingo-the-shelfmodules.
ExploitingtheR2Pframework,genericmobilerobotscanbebuiltbottom-upinadistributedplug-and-playfashionbysimplyselectingthehard-waremodulestosatisfytheneededfunctionalrequirementsandeasilyprogram-mingtheirinteraction.
Integrationwithhigh-levelsoftwareframeworks,e.
g.
,ROS,allowstodevelopcomplexapplication,whilelow-levelcontrolisimple-mentedbymeansofamodulardistributedarchitecture,withreal-timeper-formance,withouttheneedforadvanceddomain-specicknowledge.
WeareexploitingR2Ptodesignnewrobotsinourlaboratory,asshownbytheusecasepresentedinSection4,andtoupgradeourpreviousplatforms,therstbeingabalancingwheeledrobot,adierentialdriveheavy-dutyrobot,andanautonomouswheelchair.
TheopensourcelicenseencouragesrobotdesignerstoadoptexistingR2Pmodulestocontroltheirplatforms,andtodevelopnewhard-waremodulesandsoftwarecomponentsthatimplementnewfunctionalities.
Acknowledgements.
Thisworkhasbeenpartiallysupportedbytheresearchgrant"RoboticsfortheMasses"fromSTMicroelectronicsandRegioneLom-bardia,andbytheItalianMinistryofUniversityandResearch(MIUR)throughthePRIN2009grant"ROAMFREE:RobustOdometryApplyingMulti-sensorFusiontoReduceEstimationErrors".
References[1]Bonarini,A.
,Matteucci,M.
,Migliavacca,M.
,Rizzi,D.
:R2P:Anopensourcehardwareandsoftwaremodularapproachtorobotprototyping.
RoboticsandAutonomousSystemsRapidRobotPrototyping583[2]Bonarini,A.
,Matteucci,M.
,Migliavacca,M.
,Rizzi,D.
:R2P:anopensourcemod-ulararchitectureforrapidprototypingofroboticsapplications.
In:Proceedingsof1stIFACConferenceonEmbeddedSystems,ComputationalIntelligenceandTelematicsinControl,CESCIT2012(2012)[3]Bonarini,A.
,Matteucci,M.
,Migliavacca,M.
,Sannino,R.
,Caltabiano,D.
:Mod-ularlow-costrobotics:WhatcommunicationinfrastructureIn.
In:Proceedingsof18thWorldCongressoftheInternationalFederationofAutomaticControl(IFAC),pp.
917–922(2011)[4]Bruyninckx,H.
:Openrobotcontrolsoftware:theOROCOSproject.
In:Proceed-ings2001ICRA,IEEEInternationalConferenceonRoboticsandAutomation,pp.
2523–2528(2001)[5]Eugster,P.
T.
,Felber,P.
A.
,Guerraoui,R.
,Kermarrec,A.
-M.
:Themanyfacesofpublish/subscribe.
ACMComputingSurveys35(2),114–131(2003)[6]Gerkey,B.
P.
,Vaughan,R.
T.
,Howard,A.
:Theplayer/stageproject:Toolsformulti-robotanddistributedsensorsystems.
In:Proceedingsofthe11thInterna-tionalConferenceonAdvancedRobotics,pp.
317–323(2003)[7]Harlan,R.
M.
,Levine,D.
B.
,McClarigan,S.
:Thekheperarobotandthekrobotclass:aplatformforintroducingroboticsintheundergraduatecurriculum.
ACMSIGCSEBulletin33,105–109(2001)[8]Huang,A.
,Olson,E.
,Moore,D.
:LCM:Lightweightcommunicationsandmar-shalling.
In:IEEE/RSJInternationalConferenceonIntelligentRobotsandSys-tems(IROS),pp.
4057–4062(2010)[9]Migliavacca,M.
,Bonarini,A.
,Matteucci,M.
:RTCAN:areal-timeCAN-Buspro-tocolforroboticapplications.
In:2013InternationalConferenceonInformaticsinControl,AutomationandRobotics,ICINCO(2013)[10]Mondada,F.
,Bonani,M.
,Raemy,X.
,Pugh,J.
,Cianci,C.
,Klaptocz,A.
,Magne-nat,S.
,Zuerey,J.
-C.
,Floreano,D.
,Martinoli,A.
:Thee-puck,arobotdesignedforeducationinengineering.
In:Proceedingsofthe9thConferenceonAutonomousRobotSystemsandCompetitions,vol.
1,pp.
59–65(2009)[11]Quigley,M.
,Conley,K.
,Gerkey,B.
P.
,Faust,J.
,Foote,T.
,Leibs,J.
,Wheeler,R.
,Ng,A.
Y.
:ROS:anopen-sourcerobotoperatingsystem.
In:ICRAWorkshoponOpenSourceSoftware(2009)[12]Sirio,G.
D.
:ChibiOS/RTrealtimeoperatingsystem,http://www.
chibios.
org
IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...
Hostiger商家我们可能以前也是有见过的,以前他们的域名是Hostigger,后来进行微调后包装成现在的。而且推出Columbus Day哥伦布日优惠活动,提供全场的VPS主机首月7折月付2.79美元起的优惠。这里我们普及一下基础知识,Columbus Day ,即为每年10月12日,是一些美洲国家的节日,纪念克里斯托弗·哥伦布在北美登陆,为美国的联邦假日。Hostiger 商家是一个成立于2...
PacificRack在本月发布了几款特价产品,其中最低款支持月付仅1.5美元,基于KVM架构,洛杉矶机房,PR-M系列。PacificRack简称PR,QN机房旗下站点,主要提供低价VPS主机产品,基于KVM架构,数据中心为自营洛杉矶机房,现在只有PR-M一个系列,分为了2个类别:常规(Elastic Compute Service)和多IP产品(Multi IP Server)。下面列出几款秒...
批处理for为你推荐
操作http社交sns新闻联播网易yeah申请支付宝账户如何申请支付宝账户厦门三五互联科技股份有限公司厦门三五互联科技股份有限公司怎么样?即时通请问有没有人知道即时通是什么?怎样先可以开??discuz伪静态DZ怎么开启全站伪静态dezender如何将shopex和phpwind两个伪静态规则写在一起帖子标题百度贴吧如何改帖子的标题无忧验证码驾驶无忧登录手机号后,密码是哪个密码
域名服务器的作用 bbr diahosting webhostingpad 外国服务器 美国仿牌空间 qq数据库 网通ip ftp教程 gspeed 国外视频网站有哪些 贵阳电信 带宽测试 网络速度 zcloud 月付空间 weblogic部署 美国西雅图独立 crontab cc攻击 更多