4 6LVWHPDFRQÀJXUDEOH GHVLPXODFLyQ'SDUD UREyWLFDPyYLO3ODWDIRUPDGH GHVDUUROOR. Recibido 20 de septiembre de 2006, aprobado 30 de noviembre de 2006. Juan Bautista Martínez Suárez Nelson Londoño Ospina Ingeniero Electrónico. Gerente unidad de negocios De- Ingeniero Electrónico, candidato a Ph.D. Universidad del VDUUROORHQ,QWHUQHW*RDO1HW/WGD0LHPEUR*UXSRGH Valle. Profesor Asociado, Departamento de Ingeniería LQYHVWLJDFLyQHQPDQHMRH¿FLHQWHGHOD(QHUJtD(OpFWULFD Eléctrica. Miembro del Grupo de investigación en ma- *,0(/&DWHJRUtD$&ROFLHQFLDV8QLYHUVLGDGGH$QWLR- QHMRH¿FLHQWHGHOD(QHUJtD(OpFWULFD*,0(/&DWHJRUtD quia, línea de Robótica y Mecatrónica (GIRAA). Mede- $&ROFLHQFLDV8QLYHUVLGDGGH$QWLRTXLDHQODOtQHDGH OOtQ&RORPELD 5REyWLFD\0HFDWUyQLFD*,5$$0HGHOOtQ&RORPELD juanbm@epm.net.co nlondono@udea.edu.co Nelson David Muñoz Ceballos Ingeniero Electrónico, M.Sc. en Ingeniería. Depto. de Ingeniería de Sistemas. Miembro del Grupo de investigaFLyQHQPDQHMRH¿FLHQWHGHOD(QHUJtD(OpFWULFD*,0(/ &DWHJRUtD $ &ROFLHQFLDV 8QLYHUVLGDG GH $QWLRTXLD OtQHDGH5REyWLFD\0HFDWUyQLFD*,5$$0HGHOOtQ&Rlombia. nmunoz@udea.edu.co RESUMEN Se presenta un sistema software que permite simular y controlar robots móviles, parametrizar características hardware, visualizar el estado de sensores y accionar actuadores (simulados o reales). K++ utiliza un sultados obtenidos en la programación de un algoritmo de control. PALABRAS CLAVE Robótica móvil, Simulación, ActiveX, DirectX, Sockets. lenguaje de programación propio. Se describen los re- &RQÀJXUDEOH'6LPXODWLRQ6\VWHPIRU0RELOH5RERWLFV .'HYHORSPHQW3ODWIRUP ABSTRACT A software system for simulation and control of mobile robots is presented, which allows hardware characteristic parametrization, sensors state visualization and to drive actuators (simulated or real). K++ uses an own programming language. Results from the programming of control algorithm are described. KEYWORDS Mobile robotics, Simulation, ActiveX, DirectX, Sockets. #25 revista de ingeniería. Universidad de los Andes. rev.ing. ISSN. 0121-4993. Mayo de 2007 5 INTRODUCCIÓN /DPD\RUtDGHORVVLVWHPDVGHGHVDUUROORRORVVLPXODGRUHV HQ UREyWLFD PyYLO HVWiQ GHILQLGRV SDUD XQ URERWHVSHFtILFR\JHQHUDOPHQWHQRVRQFRPSDWLEOHV FRQ RWURV WLSRV GH URERWV SRU HMHPSOR .LNV >@ N0DWODE>@\$PRUVLP>@HQWUHRWURV1RREVWDQWH VRQPXFKRVORVURERWVTXHQRFXHQWDQFRQVLVWHPDV GH GHVDUUROOR HVWUXFWXUDGR QL SRVLELOLWDQ KHUUDPLHQWDVGHVLPXODFLyQ\YDOLGDFLyQ([LVWHODQHFHVLGDGGH FRQWDUFRQXQDSODWDIRUPDVRIWZDUHYHUViWLO\UHFRQILJXUDEOH SDUD HO HVWXGLR \ YDOLGDFLyQ GH GLIHUHQWHV WLSRV GH URERWV PyYLOHV HVSHFLDOPHQWH SODWDIRUPDV UREyWLFDV GH LQYHVWLJDFLyQ 3DUD VXSOLU HVWD QHFHVLGDGVHGLVHxyXQVLVWHPDGHGHVDUUROORSDUDUREyWLFD PyYLO GHQRPLQDGR . FRPSXHVWR SRU XQ VLPXODGRU \ XQ OHQJXDMH GH SURJUDPDFLyQ TXH SHUPLWH GHVDUUROODUDSOLFDFLRQHVGHFRQWUROOLJDGRDXQFRPSLODGRU TXH RIUHFH ODV SRVLELOLGDGHV GH FRQYHUWLU HQ HMHFXWDEOH FXDOTXLHU GHVDUUROOR LPSOHPHQWDGR GLFKD SURJUDPDFLyQHVGHWLSRHVWUXFWXUDGDWHQLHQGRFRPR SUHPLVDHOIiFLOPDQHMRGHODVLQWD[LV$GLFLRQDOPHQWH HO VLPXODGRU SHUPLWH HO OHYDQWDPLHQWR GH PDSDV GH HQWRUQRQDYHJDFLyQ'HQPDSDVGHELWV\'FRQ 'LUHFW;&RPRVLVWHPDEDVHVHWRPyHMHPSORGHODV FDUDFWHUtVWLFDVGHOURERW.KHSHUD>@6HLPSOHPHQWy XQ VLVWHPD GH PyGXORV IXQFLRQDOHV R SULPLWLYDV GH VRIWZDUH TXH GHVFULEH ODV FDUDFWHUtVWLFDV \ FRPSRUWDPLHQWRVGHOURERW\SHUPLWHVLPXODUPRWRUHVVHQVRUHV DFWXDGRUHV HWF 'LFKRV PyGXORV IXHURQ FRQVWUXLGRV HQ FRPSRQHQWHV $FWLYH; GHVDUUROODGRV HQ 9LVXDO%DVLF6HXVyODHILFLHQFLDGHOGHVDUUROOR5$' 5DSLG$SSOLFDWLRQ'HYHORSPHQWODUHXWLOL]DFLyQGH ORV FRPSRQHQWHV $FWLYH; >@ \ OD SRWHQFLDOLGDG GH FUHDFLyQGHHVFHQDULRV'FRQ'LUHFW;>@ 3DUDODLQYHVWLJDFLyQ\HOGHVDUUROORGHVRIWZDUHSDUD URERWVDXWyQRPRVHVPX\LPSRUWDQWHFRQWDUFRQXQ HQWRUQRGHVLPXODFLyQORPiVUHDOSRVLEOHDVtFRPR FRQXQVRIWZDUHGHDOWRQLYHOTXHSHUPLWDVREUHOOHYDU ODV SUREOHPiWLFDV GH EDMR QLYHO GH ORV GLVSRVLWLYRV UREyWLFRV 6LQ HPEDUJR PXFKDV YHFHV HV QHFHVDULR WDPELpQ SRGHU PRGLILFDU FDUDFWHUtVWLFDV GH EDMR QLYHOSDUDSRUHMHPSORDxDGLUQXHYRVGLVSRVLWLYRVR PRGLILFDUORV(VSRUHOORIXQGDPHQWDOFRQWDUFRQXQ VLVWHPDGHFRQWURO\VLPXODFLyQDELHUWRSRUWDEOHHVFDODEOH\UHXVDEOH # 25 revista de ingeniería técnica Figura 1. Diagrama de bloques de una arquitectura básica de un robot. ARQUITECTURA TÍPICA DE UN SISTEMA ROBOT 8QD EUHYH GHVFULSFLyQ GH OD FRQILJXUDFLyQ WtSLFD GH XQURERWVHSUHVHQWDHQOD)LJXUD>@HVWHHVTXHPD EiVLFR HV HO XWLOL]DGR HQ OD DUTXLWHFWXUD GH VRIWZDUH SURSXHVWDHQHOVLPXODGRUGH. 8VXDULRGHILQHODWDUHDTXHGHEHUHDOL]DUHOURERW\ ODVXSHUYLVD 5RERW FRQIRUPD EiVLFDPHQWH HO KDUGZDUH \ VRIWZDUHGHOVLVWHPD$VXYH]FRQVWDGH Sensores: (OHPHQWRVTXHSHUFLEHQVHxDOHVGHODPELHQWH\ODFRQYLHUWHQHQLQIRUPDFLyQ Algoritmos de Control: (VWUXFWXUD FRPSXWDFLRQDO IRUPDGDSRUGLYHUVRVPyGXORVLQWHUFRQHFWDGRV\FX\D IXQFLyQHVJDUDQWL]DUHOFXPSOLPLHQWRGHODVWDUHDV Actuadores: (OHPHQWRV HOpFWURPHFiQLFRV TXH JHQHUDQHOGHVSOD]DPLHQWRGHOURERW (QWRUQRORFRQVWLWX\HWRGRVLVWHPDH[WHUQRTXHLQWHUDFW~DFRQHOURERWSXHGHVHUHVWiWLFRRGLQiPLFR SISTEMA K++ (O . HVWi FRPSXHVWR SRU GLIHUHQWHV HOHPHQWRV 9HU)LJXUD EL SIMULADOR K++ (VLQWHUDFWLYR\YLVXDO(QOD)LJXUDVHREVHUYDSDUWHGHODVSHFWRGHOVLPXODGRUTXHVHLPSOHPHQWyDSOLFDQGRWpFQLFDVGHPDQHMRHQ 0DSDV GH ELWV SDUD GHWHFFLyQ GH ERUGHV SRVLFLRQDPLHQWRQDYHJDFLyQ\OHYDQWDPLHQWRGHPDSDV 'LUHFW; SDUD OD FUHDFLyQ \ QDYHJDFLyQ GH HVSDFLRV HQ'HQEDVHDLPiJHQHVHQ' 6 Figura 2. Acceso a caracterizar un robot. 0DWULFHVGHWUDQVIRUPDFLyQKRPRJpQHDVSDUDODURWDFLyQ\WUDQVODFLyQGHREMHWRVHQ'\' 6RFNHWVSDUDODFRPXQLFDFLyQHQWUHHOSURJUDPDGH FRQWURO\HOVLPXODGRU )XQFLRQHVWULJRQRPpWULFDVSDUDHOFiOFXORGHODGLUHFFLyQGHORVVHQVRUHVGXUDQWHODQDYHJDFLyQ (O VLPXODGRU SHUPLWH PHGLDQWH PHQ~V UHDOL]DU XQ FRQMXQWRGHIXQFLRQHVHQWUHODVTXHVHGHVWDFDQ - Parametrización virtual del robot: 8QR GH ORV DVSHFWRV PiV LPSRUWDQWHV GHO VLVWHPD . HV SRGHU GHILQLU XQ URERW PyYLO TXH FXPSOD FRQ XQD VHULH GH FDUDFWHUtVWLFDV SUHHVWDEOHFLGDV TXH SXHGHQ VHU PRGLILFDEOHV GHSHQGLHQGR GHO WLSR GH URERW TXH VH GHVHH VLPXODU (VWH VLPXODGRU SHUPLWH GHILQLU ORV VHQVRUHV GHILQLFLyQ SROLQRPLDO GH OD UHVSXHVWD GHO VHQVRU ORVDFWXDGRUHVGHILQLFLyQGHODFLQHPiWLFD\ORVFRPDQGRV GH FRQWURO DVRFLDGRV D IXQFLRQHV SULPLWLYDV GHILQLFLyQGHODYHORFLGDGGHFDGDPRWRUUHVSXHVWD GH ORV FRQYHUVRUHV $' DVRFLDGRV D ORV VHQVRUHV HWF 3RU HMHPSOR OD RSFLyQ GH SDUDPHWUL]DFLyQ GH XQ URERW HVWi GLVSRQLEOH HQ HO VLPXODGRU PHGLDQWH PHQ~GH+HUUDPLHQWDV&DUDFWHUL]DU5RERWFRPRVH Figura 4. Vista inicial del Parametrizador. REVHUYDHQOD)LJXUD\ODVRSFLRQHVGHOSDUDPHWUL]DGRUTXHVHLQGLFDQHQOD)LJXUDDVt • Sensores: &DQWLGDG GH ELW GH FRQYHUVLyQ OyJLFD GH XVRLQWURGXFFLyQGHIXQFLRQHVGHWUDQVIHUHQFLDJUiILFDVWDEXODGDRSRUHFXDFLRQHV • Actuadores:&DQWLGDGSURSLHGDGHVItVLFDVHOpFWULFDV FDUDFWHUtVWLFDFLQHPiWLFD\GLQiPLFDHWF • Comandos AsociadosVXEVHFFLyQGHOSDUDPHWUL]DGRU 6H LPSOHPHQWy GHELGR D OD QHFHVLGDG GH FDPELDU HO WLSR GH DOJRULWPR GH FRQWURO GH ORV DFWXDGRUHV \ OD LQIRUPDFLyQHQYLDGDDOURERWUHDOYtD56 (QHOVLPXODGRUHVSRVLEOHUHDOL]DUYDULDVRSHUDFLRQHV HQWUHODVTXHVHUHVDOWDQ &DPELRGHOiQJXORGHLQLFLRHQODQDYHJDFLyQ *XDUGDGR DXWRPiWLFR GH OD LPDJHQ GHO HQWRUQR UHFRUULGRPDSDGHQDYHJDFLyQSDUDHYLWDUTXHSRU ROYLGRSRUIDOODGHHQHUJtDRSRUEORTXHRGHO3&VH SLHUGDHOPDSDJHQHUDGR &DPELRGHOHQWRUQRGHQDYHJDFLyQ 3RVLELOLGDGGHFDPELDUODFXUYDFDUDFWHUtVWLFDGHORV VHQVRUHVUHVSXHVWDGLVFUHWL]DGDGHOVHQVRUDOPDWHULDO GHODVSDUHGHVGHOHQWRUQR 9HUODVFRRUGHQDGDVGHOPDSD\HOiQJXORGHQDYHJDFLyQUHVSHFWRDODUHIHUHQFLDDEVROXWD )LJXUD'LDJUDPDGH%ORTXHVGHO&RPSLODGRU6LPXODGRU. 9LVXDOL]DUHOHVSDFLRGHWUDEDMRHQ')LJXUD HVWUXFWXUD GH FRQWURO VLQ WHQHU TXH FDPELDU HO SURJUDPDGHVLPXODFLyQHQVt&RUUHVSRQGHDODLQWHUID] GRQGH VH YDQ D SURJUDPDU WRGRV ORV DOJRULWPRV GH FRQWURO /D )LJXUD LOXVWUD HO DPELHQWH GH WUDEDMR GHOFRPSLODGRU/DQHFHVLGDGGHHVWUXFWXUDUSRUPHGLR GH XQ OHQJXDMH GH SURJUDPDFLyQ HVSHFtILFR ORV DOJRULWPRV GH FRQWURO OOHYy D OD LPSOHPHQWDFLyQ GH WpFQLFDVGHSURJUDPDFLyQGHDOWRQLYHO\FRQGXMRDOD FUHDFLyQGHXQOHQJXDMHGHQRPLQDGR. /(1*8$-('(352*5$0$&,Ï1 Figura 5. Vista del Simulador K++. &DPELR GHO WLSR GH UHQGHUL]DFLyQ UHGLEXMDGR GH SROtJRQRVGHOPDSDHQ'/RVWLSRVGHUHQGHUL]DGR GLVSRQLEOHVVRQSRUSXQWRVSRUOtQHDVSRUVyOLGRV 'HWHQHU WHPSRUDOPHQWH OD VLPXODFLyQ FDPELDU HO iQJXORGHQDYHJDFLyQVDOYDUHOPDSDJHQHUDGR )DFLOLWDU TXH HO XVXDULR SXHGD HVWDEOHFHU XQD SRVLFLyQLQLFLDOSDUDHOURERWVLPXODGR 3HUPLWHYHUHOHQWRUQRGHVLPXODFLyQSRUHOTXHVH QDYHJD\HOPDSDGHHQWRUQRJHQHUDGRSRUORVVHQVRUHV GHOURERWVLPXODGRFRPRVHREVHUYDHQOD)LJXUD 9LVXDOL]DU \ DOPDFHQDU PDSDV GH HQWRUQR PLHQWUDV VHHIHFWXDEDODVLPXODFLyQRODQDYHJDFLyQGHOURERW UHDO SRU OR TXH VH RSWy SRU KDFHUOR SDUWH LPSOtFLWD GHO VLVWHPD HQ HVWH FDVR VH SXHGHQ JHQHUDU WLSRV GHPDSDV 3RUGHWHFFLyQGHERUGH(OPDSDVHJHQHUDFXDQGR XQR GH ORV VHQVRUHV VLPXODGRV GHWHFWD XQ ERUGH HQ HVDFRRUGHQDGDVHGLEXMDXQSXQWR 3RUHVSDFLRUHFRUULGR6HJHQHUDGHMDQGRXQUDVWUR GHOHVSDFLRRFXSDGRSRUHOURERWHVGHFLUPLHQWUDV ORV VHQVRUHV SHUPLWDQ HO GHVSOD]DPLHQWR GHO URERW pVWHJHQHUDXQDPDUFDSRUGRQGHVHPRYLy (/&203,/$'25. 8Q VHJXQGR FRPSRQHQWH GHVDUUROODGR HQ HO SUR\HFWRHVHOFRPSLODGRUGDGDODQHFHVLGDGGHFDPELDUOD 7UDEDMDUFRQDOJRULWPRVGHFRQWUROSDUDURERWVH[LJH DSOLFDUOHQJXDMHVGHSURJUDPDFLyQGHDOWRQLYHO\SRU WDQWRFRPDQGRVPiVHVSHFtILFRVSDUDDSOLFDFLRQHVHQ UREyWLFD . FXHQWD FRQ DUFKLYRV IXHQWH SURSLRV TXHFRQWLHQHQEiVLFDPHQWH 8QD HVWUXFWXUD DOJRUtWPLFD UHJLGD SRU XQ HVWLOR GH SURJUDPDFLyQ LPSHUDWLYR IXQFLRQDO PRGXODU \ RULHQWDGRDREMHWRV /RVDUFKLYRVIXHQWHVFRQH[WHQVLyQNSSRGSS$UFKLYRV%DFNXS /DVOtQHDVGHFyGLJRWHUPLQDUiQFRQSXQWR\FRPD 3URWRFRORGHGHFODUDFLyQHVSHFLILFDFLyQLQLFLDOL]DFLyQGHYDULDEOHV\GHIXQFLRQHV (OFRPSLODGRUFRQGHSXUDFLyQGHHUURUHV 0HQ~D\XGD &RQYHUVLyQDXQSURJUDPDHMHFXWDEOH /DFRPXQLFDFLyQTXHUHDOL]DHOSURJUDPDHVPHGLDQWHVRFNHWVQRVHUHTXLHUHFRQILJXUDU ,QFOX\H FRPDQGRV SURSLRV SDUD FDGD WDUHD FRPR SRUHMHPSOR:6&TXHSHUPLWHHVFULELUHOGDWRGHFRQWUROHQHOSXHUWRSDUDVHUHQYLDGRDOURERWUHDORSDUD HOURERWVLPXODGR (OVLJXLHQWHHVXQOLVWDGRGHDOJXQDVGHODVYDULDEOHV FRPDQGRV\PpWRGRVXWLOL]DGRVSRUHOOHQJXDMH # 25 revista de ingeniería técnica 7 8 var [variable]; Declara una nueva variable. var [variable]=[valor] Declara una variable y la asigna. var [var], [var], [var]; Declara más de una variable. [variable] = [expresión]; Asignación de variable. KLGH 2FXOWDODDSOLFDFLyQ show; Muestra la aplicación. show_controls; Muestra los controles Minimizar &HUUDUGHODYHQWDQD KLGHBFRQWUROV 2FXOWDORVFRQWUROHV0LQLPL]DU &HUUDUGHODYHQWDQD HQDEOHBFDG +DELOLWD&7/B$/7B'(/ GLVDEOHBFDG 'HVKDELOLWD&7/B$/7B'(/ end; Finaliza el programa en esa posición. Figura 6. Vista del compilador K++. ¿QLVK µ )LQDOL]DHMHFXFLyQGHO programa. &RPRGtQSDUDFRPHQWDULRV VALIDACIÓN DE RESULTADOS 3DUD YDOLGDU ORV HOHPHQWRV GHO . VH SURSXVR XQD HVWUDWHJLDGHFRQWUROGHODQDYHJDFLyQGHOURERWPyYLONKHSHUD)LJXUDEDVDGDHQODDSOLFDFLyQGHXQD WpFQLFDGHLQWHOLJHQFLDFRPSXWDFLRQDO Figura 7. Algunas características del khepera. 1 $ 9 ( * $ & , Ï 1 < ( 9 $ 6 , Ï 1 ' ( 2 % 6 7 È & 8 / 2 6 % $ 6 $ ' $ put [expresión]; Muestra texto, todo al tiempo. (181$5('1(8521$/$57,),&,$/51$ inp [variable]; Entrada de datos, no acepta 9DULDV LQYHVWLJDFLRQHV VREUH OD DSOLFDFLyQ GH ODV UHGHV QHXURQDOHV HQ HO FRQWURO GH URERWV PyYLOHV VH GHVFULEHQ HQ >@ (Q HVWH FDVR VH LPSOHPHQWy XQD UHGQHXURQDOSHUFHSWURQPXOWLFDSDFRQDOJRULWPRGH DSUHQGL]DMH EDFNSURSDJDWLRQ IXQFLyQ GH DFWLYDFLyQ WDQJHQWHKLSHUEyOLFDFRQHQWUDGDVXQDFDSDRFXOWD GH QHXURQDV \ XQD FDSD GH VDOLGD FRQ QHXURQDV /DDUTXLWHFWXUDGHODUHGVHREVHUYDHQOD)LJXUD\ ODHVWUXFWXUDGHFDGDQHXURQDVHREVHUYDHQOD)LJXUD /RVSDWURQHVGHHQWUHQDPLHQWRUHSUHVHQWDURQGLIHUHQWHVHVWDGRVURERWREVWDFXORV>@/DUHGQHXURQDO VHHQWUHQyPHGLDQWH0DWODE'HVSXpVGHLWHUDFLRQHV HO HUURU GLVPLQX\H QRWDEOHPHQWH \ OXHJR GH LWHUDFLRQHVVHREWXYRXQHUURUGH/DVFDUDFWHUtVWLFDVGHODUHGFRQVLGHUDGDVRQ nulos. pass [variable]; Entrada de datos encriptada(*). br; Retorno de carro (siguiente línea). title [expresión]; Título de la aplicación; se muestra en la barra de título. GHOHWH>H[SUHVLyQ@ %RUUDXQDUFKLYRHVSHFt¿FR ER[>H[SUHVLyQ@>WtWXOR@ &UHDXQFXDGURGHGLiORJR [título] es opcional. pause [expresión]; Pausa el programa un tiempo HVSHFt¿FR RSHQ>H[SUHVLyQ@ $EUHXQDUFKLYRHVSHFL¿FR ZHE>H[SUHVLyQ@ (QOD]DDXQD85/ wav [expresión]; Ejecuta un archivo WAV (audio). 0DWUL]GHHQWUDGD>[@VHQVRUHV\FDVRV 0DWUL]GHVDOLGD>[@PRWRUHVDFWXDGRUHV\ DFFLRQHVHVSHUDGDV )XQFLyQGHDFWLYDFLyQWDQJHQWHKLSHUEyOLFD $OJRULWPREDFNSURSDJDWLRQUiSLGRFRQIDFWRUDGDSWDEOHGHDSUHQGL]DMH\PRPHQWXP & Ï ' , * 2 ' ( / $ 5 ( ' 1 ( 8 5 2 1 $ / ( 1 / ( 1 * 8 $ - ( ' ( 352*5$0$&,Ï1. &RQODUHGHQWUHQDGDVHSURJUDPyODDUTXLWHFWXUDGH OD ILJXUD XWLOL]DQGR HO OHQJXDMH GH SURJUDPDFLyQ . \ HO FRPSLODGRU $ FRQWLQXDFLyQ VH REVHUYD SDUWHGHODOJRULWPRFRGLILFDGR inc “ej\robot”; 5DWDGHDSUHQGL]DMH function main( ) (UURU { 'RQGH HQVLPXODFLyQ\HQODLPSOHPHQWDFLyQ UHDOHQHOURERW title “Red Neuronal”; PDWUL]GHSHVRVSULPHUDFDSDRFXOWD var w1 =”-3.1329,0.9322,-4.3843,1.4555,1.1492,2.0926,0.2629,4.8811, -0.8426,0.3324, 0.6651,2.1470,-1.2618,2.1959, 0.7445, Neuronas 3.2244, 2.0572,-.0133,1.8638,0.5167, Pesos -2.2901,3.6034,1.3471,1.2931,1.4219, S1 0.6584,-1.0265,0.9059,0.1803,5.4044, S2 0.8321,- 0.9517,0.1575,1.6699,2.5773, Motor izquierdo S3 3.1493”; S4 PDWUL]GHSHVRVVHJXQGDFDSDRFXOWD var w2=”-0.8023, 1.5231 ,-0.2285,-4.6099,-3.1600,- S5 2.3097!7 .5366,-4.5653,-2.2480, S6 Motor derecho -2.1292,-2.1529,5.5818”; S7 S7 Capas ocultas var b1 =”0.0739,-2.6911,5.4271,-1.4515,-3.3440,0.5035”; Entradas ELDVGHODSULPHUDFDSDRFXOWD Salidas ELDVGHODVHJXQGDFDSDRFXOWD var b2=”0.9832,2.2533”; var gn1=”0,0,0,0,0,0”; var gn2=”0,0”; Figura 8. Representación de la RNA var i,j,tmp,x,z,y =3,Vel_nom=50; S1 X= 1 S2 )XQFWLRQDUUDQFDVyORVHHMHFXWDXQDYH]SDUDXQFRQWURO Um br al Sa l i da S3 Fn de Activación ( tanh) S5 Er r or Ȉ Ȉ S4 S6 &DOODUUDQFD } Pesos S7 Sal i da des eada FRQWLQXRGHEHHVWDUHQXQFLFORLQ¿QLWR { for i=1 to 6; tmp=0; for j= 1 to 8; S8 tmp=tmp+( omt(“senx”, 1 j)*omt(“w1”,i,j)); E n trad a s next j; tmp=tmp+omt(“b1”,1,i); Figura 9. Estructura de cada neurona tmp=tanh(tmp); # 25 revista de ingeniería técnica 9 10 tmp=imt(“gn1”,1,i,tmp); next i; for i=1 to 2; tmp=0; for j=1 to6; tmp=tmp+(omt(“gn1”,1,j)*omt(“w2”,i,j)); next j; tmp=tmp+omt(“b2”,1,i); tmp=imt(“gn2”,1,i,tmp); next i; Wsc “D,” & omt(“gn2”, 1,1) & “,” & omt(“gn2”, 1 ,2),0; } /RVUHVXOWDGRVREWHQLGRVHQODVLPXODFLyQSUHVHQWDURQ XQD UHVSXHVWD DFHSWDEOH QR VH REVHUYDQ FROLVLRQHV SHVHDTXHHQODUHGVyORVHHVSHFLILFDURQSDWURQHV GH HQWUHQDPLHQWR 6LQ HPEDUJR IXH QHFHVDULR UHHQWUHQDUODUHGFRQPiVSDWURQHVGHHQWUDGDV²VDOLGDV XQ WRWDO GH SDWURQHV SDUD TXH VH GHVHPSHxDUD DFHSWDEOHPHQWHHQHOHQWRUQRUHDOD~QVHSUHVHQWDURQ DOJXQDVFROLVLRQHVGDGRTXHDVSHFWRVGHODGLQiPLFD GHO VLVWHPD FRPR OD LQHUFLD OD IULFFLyQ HQWUH RWURV QR IXHURQ FRQWHPSODGRV HQ OD VLPXODFLyQ $GHPiV VHQRWDXQDJUDQLQIOXHQFLDGHOUXLGRDPELHQWHHQORV VHQVRUHVLQIUDUURMRVGHGLVWDQFLDWDQWRSRUODOX]GH GtDFRPRSRUODLOXPLQDFLyQDUWLILFLDOGHODVOiPSDUDV IOXRUHVFHQWHVGHOODERUDWRULR CONCLUSIONES 6H GLVHxy H LPSOHPHQWR XQD KHUUDPLHQWD GH DPSOLD DSOLFDFLyQHQHOHVWXGLRGHVDUUROOR\YDOLGDFLyQGHVLVWHPDVURERWL]DGRVTXHIDFLOLWDHOGLVHxRGHDOJRULWPRV GHFRQWUROSDUDURERWVPyYLOHVLQFOX\HQGRODFDUDFWHUL]DFLyQ GH GLIHUHQWHV GLVSRVLWLYRV HOHFWUyPHFiQLFRVVHQVRUHVDFWXDGRUHVHQWUHRWURV (O FRPSLODGRU HO SDUDPHWUL]DGRU \ HO VLPXODGRU SHUPLWHQ GHILQLU XQ URERW FRQ EDVH HQ XQD VHULH GH FDUDFWHUtVWLFDV SUHHVWDEOHFLGDV TXH SXHGHQ VHU PRGLILFDEOHV \ DFRQGLFLRQDGDV D GLIHUHQWHV WLSRV GH URERWVPyYLOHV/DSRVLELOLGDGGHFUHDFLyQGHPDSDVGH HQWRUQR GHULYDGRV GH OD GHWHFFLyQ GH ERUGH R VHJXLPLHQWRGHUXWDHVXQRGHORVPiVLPSRUWDQWHVORJURVGHHVWHSUR\HFWR /RV UHVXOWDGRV REWHQLGRV HQ OD LPSOHPHQWDFLyQ GHO DOJRULWPR GH FRQWURO \ QDYHJDFLyQ GDQ SLH D TXH HO HVWXGLR GH HVTXHPDV PiV FRPSOHMRV SXHGDQ VHU LPSOHPHQWDGRV \ YDOLGDGRV PHGLDQWH HVWD KHUUDPLHQWD ORFXDOIDFLOLWDHOWUDEDMRDHVWXGLDQWHVHLQYHVWLJDGRUHV UHODFLRQDGRVFRQHOiUHDGHUREyWLFDPyYLO\SHUPLWH GHVDUUROODUODDSOLFDFLyQGHGLIHUHQWHVWLSRVGHFRQWURO HQ URERWV PyYLOHV &RPR WUDEDMR IXWXUR VH DEUH OD SRVLELOLGDG GH KDFHU VLPXODFLRQHV UHPRWDV \D TXH OD FRPXQLFDFLyQHQWUHHOSURJUDPDHMHFXWDEOHJHQHUDGR SRU HO FRPSLODGRU \ HO VLPXODGRU VH UHDOL]D D WUDYpV GH VRFNHWV GH FRPXQLFDFLyQ pVWH VHUtD XQ SUR\HFWR FRPSOHPHQWDULR REFERENCIAS [1] T. Nilsson. Kiks User Guide [2] Y. Piguet, S. Legon. N0DWODE 0DWODE FRPPDQGV IRU .KHSHUD .7HDP 6$ $FFHVR VHSWLHPEUH GH KWWSIWSNWHDPFRP NKHSHUDPDWODEUHDGPHW[W >@73HWULQLý(,YDQMNR,3HWURYLý ´$025VLP ² $ 0RELOH 5RERW 6LPXODWRU IRU 0DWODEµ (Q Proceedings of 15th International Workshop on Robotic. %DODWRQIUHG+XQJDU\ [4] Khepera user manual. .7HDP6$$FFHVRHQHURGHKWWSZZZN WHDPFRP [5] K. Moore. ActiveX Control Tutorial. 'HYHORSHUFRP$FFHVR0D\RGHKWWSZZZ GHYHORSHUFRPQHWYEDUWLFOHSKS [6] B. Correas Suárez. Fundamentos Gráficos por Computador [7] N. Londoño Ospina. Análisis y diseño de una arquitectura para robots, desde una concepción metodológica.0HGHOOtQ [8] A. M. Zalzala, y A. S. Morris. Neural networks for robotic control.('(OOLV+RUZRRG [9] G. Pezzotti, N. Londoño, J. Valencia. ´5HGHVQHXURQDOHVSDUDHYLWDFLyQGHREVWiFXORVHQUREyWLFD PyYLOµ (Q Memorias IX Congreso Latinoamericano de Control Automático.6DQWLDJRGH&DOLQRYLHPEUHGH # 25 revista de ingeniería técnica 11