Sistema configurable de simulación 3D para robótica móvil

Anuncio
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
[email protected]
[email protected]
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.
[email protected]
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.
%DODWRQIUHG+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
Descargar