You are on page 1of 11

Parte IV Robótica de hardware

Capítulo 13: El uso de MRDS con Robótica de hardware Capítulo 14: control remoto de un robot móvil Capítulo 15: El uso de un brazo robótico Capítulo 16: robots autónomos Capítulo 17: Nuevos servicios de escritura de hardware

En este capítulo se ofrece una visión general de los capítulos de hardware. Los robots industriales no están cubiertos en este libro. Si usted tiene experiencia con robots. "Si usted quiere aprender más acerca de robótica. Por el contrario. Definitivamente no es conveniente para el diseño y programación de robots que puedan ser utilizados para el manejo de materiales peligrosos o que operan en entornos médicos. siempre que la baja .aspx?ForumGroupID=383 y SiteID = 1. en este libro que ha aprendido mucho sobre Microsoft Robotics Developer Studio (MRD). Varios tipos diferentes de robots están cubiertos. Debe tener en cuenta los robots en este libro para ser juguetes educativos o de herramientas de investigación. incluso los programas de grado con títulos como "Ingeniería Robótica" y "Mecatrónica. usted debe visitar regularmente la página de inicio MRDS y comprobar el foro de discusión: http://forums. incluyendo los robots con ruedas y un brazo robótico. aunque la repetición es también bueno cuando usted está aprendiendo el nuevo material.com/MSDN/default. . Esto es la intención de hacer las partes individuales independientes entre sí.microsoft. no un reemplazo. debe verla como un suplemento a la documentación en línea. Hasta ahora. No se supone que sabe mucho acerca de la robótica. Afortunadamente. así como algunos conceptos clave en robótica. la mayoría de fabricantes de robots tienen foros de discusión activa. y no te enseña cómo construir un robot de partida a partir de piezas de repuesto. y puedes aprender mucho de las experiencias de otras personas. entonces usted debe encontrar el capítulo útil para adquirir una comprensión básica del campo. especialmente si la aplicación es la vida crítico. debe dedicar algún tiempo a su librería favorita en línea o en su librería local.la comunicación a escala se toma el cuidado de para usted. si no han utilizado robots antes. no introduce el nuevo código. Debido a que este libro está diseñado para introducir a los programadores de Microsoft Robotics Developer Studio.Usando MRDS con Robótica Hardware Bienvenido a la parte de hardware del libro. Además. sobre todo utilizando el simulador. una característica clave de los cuales es que usted puede utilizar el mismo código para controlar un robot simulado en un robot real. este significa que usted ya sabe cómo manejar un robot real. Parte del material de las partes anteriores del libro es volver a discutirse en esta parte del libro. Los capítulos siguientes se explica cómo usar una variedad de reales robots con MRDS. es posible que desee descremada rápidamente a través de este material. Hay un sinnúmero de libros de texto en el tema de la robótica y todo. Usted También puede ser capaz de encontrar un club de robótica en su área local. En particular.

Esto podría resultar en graves lesiones tanto a la persona humana y el robot. Por lo tanto. Mantenga lejos de las mascotas y los niños: Como dicen en las películas. Aparte del riesgo evidente para los niños por la ingestión de ellos. Hay muchos diferentes cuestiones de seguridad. Si actúa con sensatez. Asegúrese de que está bien iluminada y bien ventilados. nunca debe trabajar con niños o animales. y y Lea las instrucciones del fabricante: Lea siempre las instrucciones del fabricante s de un robot y siga todas las advertencias de seguridad.Consideraciones de seguridad Antes de empezar Antes de empezar. Soldadura presenta un riesgo similar de soldadura fundida volando por el aire si se mueve la punta del soldador. sobre todo si a rasgar sus sensores de descuento! y y Mantenga una distancia segura: Los robots se mueven a veces sin previo aviso. deben usar protección para los ojos cada vez que se monten (o desmonte) de un robot. los brazos robóticos pueden mover muy rápido y fácilmente asoman a los ojos si no son cuidadosos. Del mismo modo. que tendrá una gran cantidad de pequeños componentes. Los niños y las mascotas puede ser fascinado por su robot y quiere jugar con ella. y que hay un montón de espacio libre alrededor del robot antes de empezar a funcionamiento. pero los más importantes son los siguientes: y El entorno de trabajo: Este es el más importante. Los robots a menudo tienen bordes afilados y salientes y puede hacer cosas inesperadas si interferir con ellos. asegúrese de que usted da a sus robots montón de espacio para moverse. tenga en cuenta que el trabajo con robots reales pueden ser peligrosos. así como la posibilidad de quemaduras por la plancha caliente. Esto debería ser suficiente de la fatalidad y pesimismo. Por lo tanto. Incluso los adultos pueden tropezar con él y caen si un robot de unidades frente a ellos en el momento equivocado. Incluso podría ser entretenido. debería tener una agradable y experiencia educativa. estos pequeños objetos pueden volar repentinamente si una herramienta se desliza. . Nunca trate de empujarlo más allá de sus límites o utilizarlo para fines de que no era la intención. Utilizar gafas de seguridad: Si usted está construyendo un robot.

pero el capítulo 15 se muestra cómo utilizar un Lynx 6 brazo robótico utilizando los servicios de modificación de Lynxmotion. los robots con dos ruedas de accionamiento independiente. Aunque el Kondo KHR .un robot humanoide es una de las plataformas soportadas en V1.5 MRDS. pero no hay universalmente reconocidos categorías. Una de las principales áreas de desarrollo de robots con patas es caminar aires. pero utiliza lo que se llama dirección deslizante. El CoroBot de simulación en el capítulo 6 tiene cuatro ruedas. mientras que una unidad diferencial puede. Normalmente Se dividen en categorías tales como móviles o fijas. Un coche (con cuatro ruedas) tiene lo que se llama dirección Ackermann y se basa al voltear sólo las ruedas delanteras.5 MRDS. La capacidad de caminar de estos robots diferentes varían dramáticamente.específicamente. Directivo un robot unidad diferencial es muy simple porque sólo hay dos ruedas. por lo tanto. Un vehículo con orugas o bandas de rodadura es mucho más difícil conducir porque se basa en la pistas de deslizamiento con el fin de turno. Brazos robóticos articulados uso servomotores para mover las articulaciones y en algunos aspectos son similares a patas los robots. Los robots pueden se clasifican según su finalidad. Muchos de ellos no pueden levantarse cuando se caen. tienen dos piernas (y por lo general los brazos y una cabeza). Como seres humanos. con ruedas o patas. Sin embargo. . Los brazos robóticos son generalmente fijos. damos por sentado que podemos caminar en dos pies. Estos robots están diseñados para buscar y funcionan de manera similar a un ser humano.Tipos de robots Hay varios tipos diferentes de robots. La mayoría de los robots afición. sin embargo. aunque que se puede conectar a un robot móvil. autonómica o atados. que son los perros (con cuatro patas) o incluso araña . Una distinción común es si el robot es móvil o no. habilidades. En otras palabras. mientras que las ruedas traseras sólo tienes que seguir a lo largo de atrás. tienen ruedas y pueden correr y asustar a su gato. Un automóvil.robots como (con 6 u 8 patas). y así sucesivamente. pero la enseñanza de un robot a hacer lo mismo y no caer es bastante difícil. Un tipo de robot que se está haciendo popular es el robot humanoide. N brazos robóticos son compatibles con V1. no puede a su vez sobre el terreno. es sólo uno de los muchos diferentes tipos de robots humanoides en el mercado. industriales frente a nacional. son un subconjunto de la categoría general de robots con patas. MRDS se ocupa fundamentalmente de robots móviles . que se conoce como diferencial robots de unidad. Ni los robots humanoides robots ni con la dirección de Ackermann se tratan en este libro. y la estructura básica.

Tutorial de Robótica 6 se refiere a estos como conectada a distancia robots. Esto significa que un ser humano opera el robot de forma remota. No se puede generar código para la carga en un Procesador ARM. el servicio en el PC no funciona ninguno de los lógica de control . El BASIC Stamp Editor es el equivalente software para el Boe . Tenga en cuenta que la correa no tiene que haber una conexión física entre el PC y el robot. También podría ser infrarrojo. un BASIC Stamp. Por ejemplo. usted (o el vendedor) que escribir un programa de supervisión simple de ejecutar en el interior del robot. similar a un control remoto del televisor o incluso un módem de radio Tenga en cuenta que la mayoría de los robots con el apoyo de MRDS son controlados remotamente por un PC que ejecute MRDS los servicios.es todo a la izquierda a la de un operador humano. Estos robots son controlada por el PC y tienen poca o ninguna información de a bordo. o un microcontrolador PIC. En su lugar. o la mantiene la conexión de última hora.Motor de búsqueda. sino un pequeño plazo . a continuación.Atado de Robots Muchos robots tienen que estar directamente conectado a un PC a través de una correa o un cable umbilical. Tenga en cuenta que el programa monitor tiene acceso directo a los sensores y actuadores. escribir un servicio bajo MRDS que se comunica con este programa de seguimiento para enviar comandos a la actuadores y recibir información de los sensores.1 muestra esquemáticamente este acuerdo.alambre de la muestra en Robótica Tutorial 4 son ejemplos de teleoperación. Se debe enviar y recibir información a través del enlace de Comunicaciones. Una gama variedad de soluciones inalámbricas están disponibles. No es necesario descargar un programa a la robot en este caso.por . quieren saber cómo utilizarlo para escribir programas para descarga en un robot. Usando la interfaz de MRDS o la unidad . tales como Bluetooth. pero el servicio MRDS no. . si el enlace de Comunicaciones no es fiable. (El término "monitor" refleja el hecho de que no es un centro completo sistema operativo. el robot podría llegar a ser incontrolable. puede utilizar el software Mindstorms para escribir código en un entorno gráfico similar al VPL y. Esta es la forma en que el software de LEGO Mindstorms obras. aunque hay que escribir programas en PBASIC. A riesgo de ser repetitivo. Figura 13 . que puede convertirse en un cuello de botella. Cuando la gente primero se encuentran MRDS. porque todo el control se realiza en el PC. MRDS no funciona de esta manera. WiFi y ZigBee. Por otra parte. También puede escuchar la teleoperación plazo en relación a los robots que utilizan una correa de sujeción. En este caso. a continuación descargar el código en el ladrillo LEGO NXT para su ejecución.entorno de tiempo con una funcionalidad muy básica) Entonces usted.

se ejecuta en bucles sin hacer nada).Programa de seguimiento de Bot. Para generar las señales adecuadas para los servomotores que mueven las ruedas. como demostrado en el capítulo 17.Motor de búsqueda: Tienes que cargar el programa de monitorización (suministrado por paralaje) en el BASIC Stamp usted mismo. Si el monitor tiene un montón de "ocupado espera" como una forma de introducir retrasos de tiempo (en otras palabras. El programa monitor debe estar escrito de manera que es muy sensible a las peticiones del servicio MRDS. Este robot se discute en el capítulo 16. Microsoft ha escrito los programas de seguimiento para usted (si es necesario) para los robots de apoyo. -Boe . El protocolo que se ha definido para el . -El lince 6 brazo robótico: Esto incluye una tabla pequeña llamada el CDC . o los robots sí ya tiene el firmware adecuado a bordo: -LEGO NXT: La primera vez que hacen una conexión con MRDS. el programa de supervisión que se conoce como una comunicación a distancia a bordo Interfaz. El BASIC Stamp utilizados en el Boe .Motor de búsqueda se utiliza en los ejemplos en el capítulo 14 y también discuten a continuación.Motor de búsqueda Monitor Como ejemplo.Capítulo 15 cubre el brazo L6. un programa de escucha se desarrolla en el Capítulo 17 para el integrador robot. -Hemisson: Estos robots ya tienen firmware en los que se puede utilizar para controlar el robot. tiene que pulsos de la salida de la duración y repita someterlas a un tipo que está cerca de 50 Hz.rosca.32. que puede controlar hasta 32 servos. considere el Boe . Capítulo 14 tiene ejemplos para el NXT. A los efectos de ilustración. -Stinger: Los robots Stinger tienen un tablero de serializador que controla todas las E / S y acepta comandos a través de un puerto serie. El Boe .El Monitor de programa -En Robotics Tutorial 6. Boe . se descarga automáticamente y ejecuta el programa de seguimiento necesarias.Motor de búsqueda es sola . El firmware ya está cargado en el microcontrolador a bordo cuando usted lo consigue. entonces no podría ser capaz de mantenerse al día con las peticiones de MRDS.

porque el robot es en su mayoría ocupados enviando pulsos a los motores. la lengua nativa del BASIC Stamp. El código es escrito en PBASIC. pero es bastante fácil de entender. que se llama BoeBotControlFormsrs.Motor de búsqueda protocolo está disponible en la documentación en el sitio web de Parallax).Programa de seguimiento de Bot. puede hacer doble . Si tiene instalado el software de Parallax. requiere de la PC para enviar un comando de forma continua hasta que se reconocido por el robot. que se muestra en la Figura 13-2. por lo tanto.Motor de búsqueda. El código siguiente es el bucle principal en el BOE . porque hay una asociación de archivos con el tipo de archivo BS2.bs2 y está incluido en el software disponible en Parallax. en caso de puesta en marcha. (Un completo explicación de la Boe .--------------- . Figure 13-2 Usted debe desplazarse a través de los códigos para encontrar la rutina principal. se muestra aquí: '-----[ principal de rutina ]---------------------------------------. a continuación.clic en el nombre de archivo en el Explorador de Windows y el BASIC Stamp Editor.Boe .

5ms) resulta en el servo para permanecer inmóvil.explicativas: . una vez más y luego continúa. (Si no se reciben los impulsos. emite pulsos de tiempo en las dos clavijas de control del motor 13 y 12 con el comando PULSOUT. y luego realiza un calculado GOSUB para llamar a la subrutina correspondiente. que está lleno . entonces determina cuál de los diversos códigos de comando se recibió desde el PC mediante el LOOKDOWN declaración.) Este requisito de enviar continuamente impulsos es una limitación significativa de la BASIC Stamp. Por el contrario. muchos de los microcontroladores PIC en el mercado puede generar PWM (modulación por ancho de pulso) señales de forma automática . A continuación. La tleft variables y tright son las duraciones de los pulsos y se puede cambiar mediante el envío de una Set_Servo_Speed comandos al robot. En medio de pulsos. salta de nuevo a la etiqueta en Reanudar en la parte superior del bucle. La siguiente sección de código se comprueba por un comando de reinicio de la PC. si tiene éxito. Sin embargo. a 850 (1.las agujas del reloj de velocidad. El ancho de la duración de pulso de la gama de 650 (1. Un valor de 750 (1.todo lo que tienes que hacer es cargar los registros correspondientes a los parámetros de tiempo. Si este comando a veces. el programa de pulsos de los motores. el servo también se detiene.3ms). Los nombres de los subrutinas son auto .Los controles bucle principal si el adaptador Bluetooth se ha desconectado. Si Esto no es encontrado.Velocidad de la izquierda. el código lee desde el puerto serie con un tiempo de espera con el comando SERIN. que está lleno . y si lo que salta a Restablecer. Tenga en cuenta que el Boe .7ms).Motor de búsqueda utiliza servomotores continua rotación.

que inmediatamente los pulsos de los motores para mantenerlos funcionando.La última parte del bucle lee los sensores digitales. el programa de supervisión debe utilizar las interrupciones. se coloca de nuevo a la cima de nuevo.tarea que deban aplicarse. pero esto depende en gran medida el hardware arquitectura. El bucle principal no es necesario que la encuesta continua para los personajes que . Idealmente. Por último. microcontroladores PIC y procesadores más sofisticados como el brazo puede manejar interrupciones. El controlador hace lo que sea necesario y. Cuando ocurre una interrupción como consecuencia de una señal externa. a continuación restaura el contexto del procesador para que el programa de ejecución con anterioridad puede reanudar. el procesador guarda el contexto (Valores de registro y estado de procesador) y salta a un controlador de interrupción. y luego se construye un paquete de respuesta para ser enviados a la PC. si es que están habilitadas. Este es un reconocimiento e incluye un número de secuencia (msgIndex) para que el PC puede comprobar que no hay paquetes han sufrido una caída. Esto permite una forma primitiva de multi .

El código siguiente se implementa estas conductas evasivas utilizando bucles tiempo para mover ciertas distancias. En los últimos Boe . y a continuación. De esta manera. se puede ver que los valores de los sensores digitales. lo que significa que los lazos de ejecutar a 50 Hz. Esto significa que hay un límite en el número de veces por segundo que puede esperar obtener actualizaciones de los datos del sensor. por ejemplo. puede ser enviado de vuelta a la PC como parte de cada reconocimiento de comandos. por ejemplo.Motor de búsqueda tiene algunos pre .Motor de búsqueda comportamiento evasivo Otra cuestión a tener en cuenta es que el control de los movimientos de un robot con precisión a partir de una distancia PC conectado es difícil debido a los retrasos que participan en la transmisión de comandos y obtener información sobre lo que el robot está haciendo. El resto de los estados CASO manejar las direcciones a su vez diferentes: . Hay algo de retardo de transmisión. Hay argumentos tanto favor y en contra cada una de estas opciones.comportamientos programados que están diseñados específicamente para salir del paso si encuentra un obstáculo. Aviso que el retraso es de 20 ms. Por lo tanto. Hay dos formas fundamentalmente diferentes de manejar los datos del sensor: O bien el control periódico puede enviar actualizaciones o el servicio MRDS puede sondear el robot siempre que las necesidades de datos. un bigote es presionado. el Boe . mientras que una solicitud se envía al robot.llegan en el puerto serie. que en este caso son los bigotes y los sensores de infrarrojos. El comando de pausa hace que el programa espere a que un número especificado de milisegundos. el monitor tiene que leer el valor del sensor (s) y enviar los datos. Claramente. debido a que el controlador de interrupción puede ensamblar los paquetes de modo que sólo tiene que ser procesada una vez un paquete completo se recibe. esto puede tomar algunos milisegundos o décimas de segundos. el PC es por lo general al día con la última información del sensor. datos obsoletos es un problema común en robótica Boe .Motor de búsqueda de código. por lo que se convierte en la decisión del desarrollador 's. Dependiendo del tipo de conexión y la velocidad de la CPU en el robot.Motor de búsqueda de se mueven hacia atrás. no es razonable para el servicio MRDS se ejecutan en el equipo host a esperar para obtener valores de los sensores de forma instantánea. El primer bucle hace que el Boe .

Incluso con una conexión inalámbrica.Motor de búsqueda no ha leído desde el puerto serie.11g (también llamado Wi-Fi).11b ó 802. mientras que que se están ejecutando.Uno de los lados . Esto es obviamente no es deseable. El Enlace de comunicaciones El Enlace de Comunicaciones entre el PC (servicio MRDS) y el robot (programa monitor) es una importante factor en el rendimiento global del sistema. Esto significa que es efectivamente "sordo" por la duración de un comportamiento. .los efectos de estos bucles es que el Boe . o una conexión inalámbrica. pero al mismo tiempo que lo hace mucho más fácil sencillo programa errante comportamientos. Los tipos más comunes de la tecnología inalámbrica (radio) conexiones incluyen IEEE 802. Esto puede ser una conexión en serie en el caso de un atado robot con un cable umbilical. Bluetooth o ZigBee. el enfoque habitual es simular una conexión en serie (puerto COM).