www.FreeLibros.me CONECTESE LLEGAMOS A TODO EL MUNDO VÍA »OCA * Y E Z Z Z 2 ! * CON LOS MEJORES © usershop.redusers.com LIBROS DE COMPUTACIÓN M [email protected] SÓLO VÁLIDO EN LA REPÚBLICA ARGENTINA VALIDO ENTODO EL MUNDO EXCEPTO ARGENTINA » HARDWARE » DESARROLLO » 352 PÁGINAS » 320 PÁGINAS » ISBN 978-987-1347-73-5 » ISBN 978-987-1347-51-3 REPARACIÓN A PROGRAMAR CON EL LENGUAJE MAS POTENTE » DESARROLLO / MICROSOFT » 400 PÁGINAS » ISBN 978-987-1347-76-6 www.FreeLibros.me www.FreeLibros.me TTÍÍTTUULLOO: Robótica avanzada AAUUTTOORR: Nicolás Arrioja Landa Cosio CCOOLLEECCCCIIÓÓNN: Manuales USERS FFOORRMMAATTOO: 17 x 24 cm PPÁÁGGIINNAASS: 352 Copyright © MMX. Es una publicación de Gradi S.A. Hecho el depósito que marca la ley 11723. Todos los derechos reservados. No se permite la reproducción parcial o to- tal, el almacenamiento, el alquiler, la transmisión o la transformación de este libro, en cualquier forma o por cualquier medio, sea electrónico o mecánico, mediante foto- copias, digitalización u otros métodos, sin el permiso previo y escrito del editor. Su infracción está penada por las leyes 11723 y 25446. La editorial no asume responsa- bilidad alguna por cualquier consecuencia derivada de la fabricación, funcionamien- to y/o utilización de los servicios y productos que se describen y/o analizan. Todas las marcas mencionadas en este libro son propiedad exclusiva de sus respectivos due- ños. Impreso en Argentina. Libro de edición argentina. Primera impresión realizada en Sevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. de Buenos Aires en enero de MMX. ISBN 978-987-663-020-7 Landa Cosio, Nicolás Arrioja Robótica avanzada. - 1a ed. - Banfield - Lomas de Zamora: Gradi, 2010. v. 179, 352 p. ; 24x17 cm. - (Manual users) IISSBBNN 997788--998877--666633--002200--77 1. Informática. I. Título CDD 005.3 www.redusers.com www.FreeLibros.me www.FreeLibros.me PRELIMINARES Nicolás Arrioja Landa Cosio Catedrático de IUNIVERTECHy de la Universidad Madero, ele- gido el mejor profesor de los ciclos 2006-2007 y 2007-2008, se de- dica a la investigación, consulta y capacitación en áreas relacionadas con la realidad virtual, la visualización científica y los videojuegos. En 1997, desarrolló el primer videojuego de realidad virtual in- mersiva en Latinoamérica, conocido como VRaptor. También, desarrolló el primer lenguaje de programación para realidad vir- tual en Latinoamérica CND- VR, que es usado en el medio académico para enseñar, de forma sencilla, los conceptos de programación de gráficas 3D. Ha sido catedrático en algunas de las universidades más importantes de México durante más de diez años. En esas instituciones, enseñó desde las bases de programación en lenguaje C hasta Inteligencia Artificial. Ha otorgado más de 25 conferencias relacionadas con el desarro- llo de la realidad virtual y los videojuegos en diversas universi- dades de México. Tiene una patente referida a interfaces ci- nemáticas para videojuegos. Diseñó el plan y el programa de estudios para la Maestría en Realidad Virtual y Video Juegos en IUNlVERTECH. Es autor de los libros DirectX, Inteli- gencia Artificial y Curso de programación C#, de esta misma editorial. En la actualidad, realiza una investigación sobre In- teligencia Artificial no-Algorítmica. Dedicatoria A mi tío Luis Gerardo Ignacio Arrioja Landa y del Villar. Agradecimientos A todas las personas que han hecho posible este libro. A Chester, de Phidgets Inc en Calgary. Al equipo de la editorial: Diego Spaciuk, Nicolás Kestelboim y todos aquellos que colaboraron. A María Eu- genia Pérez Duarte por su apoyo y su amistad, a mis alumnos y com- pañeros de trabajo. Al equipo de Audio-Animatronics, de Walt Dis- ney Imagineering, por la inspiración cuando era niño. 4 www.redusers.com www.FreeLibros.me Prólogo PRÓLOGO Desde su creación en 1972, por Kenneth L. Thompson, Brian Kernighan y Dennis M. Ritchie, el lenguaje de programación C ayudó de manera potencial al desarro- llo de sistemas operativos. Con el devenir del tiempo, C se convirtió en el lenguaje más popular para el diseño de software de sistemas. Años más tarde, surge el len- guaje C# (C Sharp en inglés) como un lenguaje más sencillo que, en la actualidad, se ha convertido en el más utilizado, potente, flexible y robusto. Como se sabe, es- te lenguaje ha tomado lo mejor de las características de los lenguajes preexistentes, ++ como Visual Basic, Java y C . El presente libro del Dr. Arrioja Landa Cosio se une al libro del mismo autor, pu- blicado con anterioridad por esta casa editorial, denominado Curso de Programación C#, el cual ha sido ampliamente aceptado por los usuarios de este lenguaje de pro- gramación. Son bien conocidas, en el ambiente latinoamericano, las habilidades didáctico-pedagógicas del autor en la escritura de libros. El presente texto cumple esta función al trabajar por proyectos, permitiendo de esta forma, al lector adoles- cente o joven, programar sus propios robots desde su PC a través de un lenguaje co- nocido o fácil de aprender como lo es C#. Uno de los sueños más desafiantes de las ciencias computacionales, en palabras del autor, es “crear dispositivos que inte- ractúen con el mundo real y sean controlados por la lógica de nuestros programas”. A través de este libro, miles de personas —expertos o principiantes— podrán acce- der a la programación de robots, desde sus PCs, de manera rápida y fácil. En resu- men, este texto le permitirá construir su robot de manera ágil y sencilla, ingresan- do de esta forma en el mundo de la robótica y de la inteligencia artificial. Es un gusto, como Director Académico de la Universidad Madero de Puebla, Mé- xico, presentar a la comunidad hispanohablante el cuarto libro de nuestro profesor, destacando su talento y su autoridad para escribir libros sobre lenguajes de progra- mación. En nuestra Universidad, el Dr. Arrioja Landa Cosio ha sido reconocido, en dos ocasiones consecutivas, como el mejor docente de licenciatura. En este sentido, no dudamos de que el presente trabajo contribuirá a la labor y al compromiso edu- cativos que tenemos las universidades latinoamericanas y españolas, y asimismo a la aplicación del lenguaje C# en la creación de robots. M.C. Sergio H. Díaz Martínez Director Académico Universidad Madero (UMAD) Puebla, México www.redusers.com 5 www.FreeLibros.me PRELIMINARES EL LIBRO DE UN VISTAZO Este libro nos introduce a la creación y programación de robots mediante el lenguaje C#, a través de diferentes proyectos sencillos de realizar. Veamos una breve descripción de los temas que abordamos en cada uno de los capítulos. Capítulo 1 Capítulo 4 LA INTERFAZ DEL PROYECTO ROBOT CON VISIÓN POR COMPUTADORA En este capítulo conoceremos cómo utilizar la En este capítulo construiremos un sistema PC para poder controlar robots. Aprendere- robótico que tiene visión por computadora. mos sobre el puerto USB y los diferentes ti- Por medio de los servos, podremos modificar pos de Phidgets que nos permiten controlar la dirección hacia donde ve la cámara web y distintos dispositivos y leer sensores. será capaz de seguir a los distintos objetos que entran en su campo de visión. Capítulo 2 LA PC EN CONEXIÓN CON EL MUNDO EXTERIOR Usando los Phidgets y el lenguaje de progra- Capítulo 5 mación C#, procederemos a controlar dispo- sitivos de salida y a leer valores de sensores. DEDO ROBÓTICO Y GUANTE VR Crearemos una aplicación base que nos ser- Crearemos un dedo robótico que es capaz de virá para el resto de los proyectos del libro. flexionarse usando un servo. El dedo será controlado por medio de un guante del mismo Capítulo 3 estilo que los usados en realidad virtual, el LAS HERRAMIENTAS DEL PROYECTO cual, por medio de un sensor, mandará la in- Conoceremos los distintos componentes que formación a la aplicación. necesitamos para crear los robots. Aprende- Capítulo 6 remos sobre los distintos tipos de baterías. Además, veremos la forma en la que funcio- SONAR ROBÓTICO nan los motores eléctricos y los sistemas de Usando un sistema de sonar, podemos detec- engranes. Por último, programaremos una tar la distancia hasta un objeto; al mover el aplicación que controle a los servos. sonar con un robot, podemos obtener en 6 www.redusers.com www.FreeLibros.me El libro de un vistazo Capítulo 8 nuestra computadora las distancias a los di- ferentes objetos que se encuentran a su alre- PLATAFORMA ROBÓTICA dedor. Incluso, es posible hacer muestreos Construiremos una plataforma robótica para estereoscópicos con este sistema. nuestra computadora laptop. Esto nos permi- te tener robots autónomos que no necesitan estar fijos a un lugar en particular. También, aprenderemos cómo controlar motores eléc- tricos usando la computadora. Capítulo 7 ROBOT ANIMATRÓNICO En este capítulo comenzaremos un proyecto divertido para crear nuestro propio robot ani- Servicios al lector matrónico: un rostro que representará la ani- mación que nosotros programamos. Podre- En este apartado encontraremos un listado de mos dar movimiento a todo el rostro del robot sitios útiles para mantenernos informados y desde nuestro equipo. Tanto el ojo, como la un índice que nos ayudará a encontrar los ceja y la boca estarán bajo nuestro control. términos más importantes de esta obra. ! INFORMACIÓN COMPLEMENTARIA A lo largo de este manual, encontrará una serie de recuadros que le brindarán información com- plementaria: curiosidades, trucos, ideas y consejos sobre los temas tratados. Cada recuadro está identificado con uno de los siguientes iconos: ❴❵ CURIOSIDADES ✱ ATENCIÓN ❘❘❘ DATOS ÚTILES Y SITIOS WEB (cid:2) E IDEAS NOVEDADES www.redusers.com 7 www.FreeLibros.me www.FreeLibros.me