<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Geosincrona &#187; Robótica</title>
	<atom:link href="http://www.geosincrona.com/category/tecnica/robotica/feed" rel="self" type="application/rss+xml" />
	<link>http://www.geosincrona.com</link>
	<description>UltimaOrbita</description>
	<lastBuildDate>Mon, 22 Mar 2010 09:33:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<!-- podcast_generator="podPress/8.8" -->
		<copyright>&#xA9; </copyright>
		<managingEditor>edorka@gmail.com ()</managingEditor>
		<webMaster>edorka@gmail.com()</webMaster>
		<category></category>
		<ttl>1440</ttl>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>UltimaOrbita</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>edorka@gmail.com</itunes:email>
		</itunes:owner>
		<itunes:block>Yes</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.geosincrona.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.geosincrona.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Geosincrona</title>
			<link>http://www.geosincrona.com</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Práctica 1 y 3</title>
		<link>http://www.geosincrona.com/2009/02/01/practica-1-y-3</link>
		<comments>http://www.geosincrona.com/2009/02/01/practica-1-y-3#comments</comments>
		<pubDate>Sun, 01 Feb 2009 19:35:28 +0000</pubDate>
		<dc:creator>Edorka</dc:creator>
				<category><![CDATA[Robótica]]></category>

		<guid isPermaLink="false">http://2018566904</guid>
		<description><![CDATA[Esta vez me ha tocado diseñar y programar un robot con la dificultad añadida de que debe superar los objetivos de la práctica 1 y la práctica 3, bastante diferentes entre ellas. Me propuse hacerlo con la misma configuración física que aparece en las fotos y que ha resultado bastante desastrosa ya que pesaba demasiado [...]]]></description>
			<content:encoded><![CDATA[<p>Esta vez me ha tocado diseñar y programar un robot con la dificultad añadida de que debe superar los objetivos de la práctica 1 y la práctica 3, bastante diferentes entre ellas.</p>
<p>Me propuse hacerlo con la misma configuración física que aparece en las fotos y que ha resultado bastante desastrosa ya que pesaba demasiado para cumplir con los objetivos de la práctica 3 (mantener equilibrio dinámico).</p>
<p><em><strong>Práctica 1: Esquiva obstáculos<br />
</strong></em></p>
<dl id="attachment_223" class="wp-caption alignleft" style="width: 360px;">
<dt class="wp-caption-dt"><a href="http://www.geosincrona.com/wp-content/uploads/2009/02/tenacita-segway-1.jpg"><img class="size-full wp-image-223" title="tenacita-segway-1" src="http://www.geosincrona.com/wp-content/uploads/2009/02/tenacita-segway-1.jpg" alt="Tenacitas en modo SegWay" width="350" height="264" /></a></dt>
</dl>
<p>Para este el robot tan solo tenía que utilizar el sensor de ultra sonidos y reaccionar ante objetos que estuvieran a menos de 30cms, girando a la derecha y volviendo a avanzar</p>
<p>. También tenia en carril de los sensores montado de tal manera que el sensor delantero se activara en caso de impacto frontal, ante esto el robot debía retroceder, girar y proseguir con la marcha.</p>
<p>Al tener el sensor de ultrasonidos inclinado hacia arriba lo activarán obstáculos grandes (paredes, puertas, etc) sin embargo queda un hueco importante para que el robot &#8220;tope&#8221; con un objeto.</p>
<p>El carril donde están montados los sensores ha sido diseñado para que el sensor de presión al que esta conectado pueda ser activado tanto por impactos frontales como inferiores.</p>
<p>Aquí esta el <a href='http://www.geosincrona.com/wp-content/uploads/2009/02/avoidtar.gz'>código</a>. Copiadlo al directorio samples de lejos y ejecutad ant.</p>
<p><strong>Práctica 2: Segway</strong></p>
<p>Para esta práctica y empleando un único sensor de luz debemos programar y diseñar el robot para que se mantenga en equilibrio el mayor tiempo posible.</p>
<p>Algunas consideraciones sobre el diseño:</p>
<ol>
<li>El robot dispone de dos sensores de presión (uno delante y otro detrás) para detectar que ha caido y en consecuencia detener el movimiento y evitar daños.</li>
<li>Estos sensores se utilizan activamente en la fase de calibrado para asegurarse de que el usuario lo esta realizando en el orden correcto (dejarlo caer hacia atras, luego hacia delante y activarlo en equilibrio)</li>
</ol>
<p>Para controlar la fuerza de los motores se utiliza un <a href="http://en.wikipedia.org/wiki/PID_controller">controlador PID</a>, en la pagina de la wikipedia se pueden encontrar mas detalles, aquí tan solo se comentará lo relativo a la implementación del Segway.</p>
<dl id="attachment_224" class="wp-caption alignright" style="width: 342px;">
<dt class="wp-caption-dt"><a href="http://www.geosincrona.com/wp-content/uploads/2009/02/tenacita-segway-2.jpg"><img class="size-full wp-image-224" title="tenacita-segway-2" src="http://www.geosincrona.com/wp-content/uploads/2009/02/tenacita-segway-2.jpg" alt="Tenacitas en modo SegWay (lateral)" width="332" height="273" /></a></dt>
</dl>
<p>En cada ciclo de control el controlador obtiene una lectura del sensor de luz, esta lectura será 0 si el robot se haya en el punto de equilibrio, los valores positivos y negativos indicarán si el robot se esta inclinando hacia delante (si es positivo) o hacia atrás (si es negativo)</p>
<p>En consecuencia el robot debe responder para recuperar la posicion de equilibrio con una acción correctiva, en el caso del segway consistirá en desplazarse proporcionalmente hacia el punto que le permita recuperar el equilibrio.</p>
<p>Para calcular la velocidad con la que deben responder los motores y su direccion participan 3 constantes que suelen ser diferentes de un robot a otro ya que la inercia del robot y la potencia real de los motores interviene en la respuesta.</p>
<ul>
<li>KP es la respuesta proporcional, normalmente si es muy elevada puede hacer que el robot &#8220;sobre-actue&#8221; y se caiga al lado contrario, en las pruebas que he hecho sin embargo nunca ha llegado a conseguir neutralizar una inclinacion media.</li>
<li>KI es la constante de integracion y multiplica las diferencias con el punto de equilibrio que se han ido sumando (hasta llegar a una constante máxima)</li>
<li>KD, la constante de derivacion multiplica la diferencia de los dos ultimos errores obtenidos.</li>
</ul>
<p>No todas las constantes tienen porque ser positivas, dependerá de que papel jueguen en el refuerzo o compensación de la respuesta para conseguir que el robot reaccione con la fuerza necesaria pero sin provocar que caiga en el sentido contrario.</p>
<p>El código está disponible <a href="http://www.geosincrona.com/wp-content/uploads/2009/02/equilibriumtar.gz">aquí</a></p>
<p>Fallos y puntos a mejorar:</p>
<p>Quien mucho abarca poco aprieta, el motivo principal del fallo catastrofico del robot a la hora de mantener el equilibrio ha sido intentar construir una configuracion que resolviera simultaneamente las 2 prácticas pendientes para entregar el mismo día. El problema de esta configuración hibrida radicaba en el peso, que hacia imposible a los motores moverse con el suficiente impulso como para volver a ganar el centro de equilibrio.</p>
<p>por otra parte el entorno del laboratorio devolvía lecturas bastante cerradas con lo que el robot no aceptaba la lectura que le daba como punto medio (al no ser menor que la lectura máxima y mayor que la mínima)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geosincrona.com/2009/02/01/practica-1-y-3/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Práctica 2: Conclusiones</title>
		<link>http://www.geosincrona.com/2008/12/17/robotica-practica-2-2</link>
		<comments>http://www.geosincrona.com/2008/12/17/robotica-practica-2-2#comments</comments>
		<pubDate>Wed, 17 Dec 2008 13:28:14 +0000</pubDate>
		<dc:creator>Edorka</dc:creator>
				<category><![CDATA[Robótica]]></category>

		<guid isPermaLink="false">http://www.geosincrona.com/?p=190</guid>
		<description><![CDATA[Tenacitas ya se ha enfrentado con un relativo éxito a su propósito en la vida. He llegado a las siguientes conclusiones: Las pinzas son un buen sistema para capturar objetos de ciertas formas, sin embargo con el diseño actual de las pinzas se daba la posibilidad de que objetos que tuvieran demasiado rozamiento no se [...]]]></description>
			<content:encoded><![CDATA[<p>Tenacitas ya se ha enfrentado con un relativo éxito a su propósito en la vida.</p>
<p>He llegado a las siguientes conclusiones:</p>
<ul>
<li><a rel="attachment wp-att-207" href="http://www.geosincrona.com/2008/12/17/robotica-practica-2-2/_mg_0929-modificada"><img class="size-full wp-image-207 alignright" style="border: 10px solid white;" title="Tenacitas, frente" src="http://www.geosincrona.com/wp-content/uploads/2008/12/_mg_0929-modificada.jpg" alt="Detalle de las tenazas" width="225" height="133" /></a>Las pinzas son un buen sistema para capturar objetos de ciertas formas, sin embargo con el diseño actual de las pinzas se daba la posibilidad de que objetos que tuvieran demasiado rozamiento no se &#8220;deslizaran&#8221; hasta tocar el sensor.</li>
<li>La mejor manera de detectar si las pinzas se han cerrado consiste en vigilar el angulo actual del motor que las mueve y así evitar que se siga moviendo cuando el mecanismo está bloqueado (esto es muy importante para evitar el deterioro de las piezas. Si a alguien le interesa como esta realizado el mecanismo de las pinzas dedicaré un post entero al tema. De momento dejo un vídeo mostrando el sistema de captura en acción.<a rel="attachment wp-att-213" href="http://www.geosincrona.com/2008/12/17/robotica-practica-2-2/tenacitas-capturando">tenacitas-capturando</a></li>
<li>Los sensores de lego suelen ser bastante poco precisos y susceptibles del ruido, esto es muy común y precisamente por ello debí pre-veer algún mecanismo para realizar filtros est<a rel="attachment wp-att-205" href="http://www.geosincrona.com/2008/12/17/robotica-practica-2-2/tenacitas-lado-derecho"><img class="size-medium wp-image-205 alignright" style="border: 10px solid white;" title="tenacitas-lado-derecho" src="http://www.geosincrona.com/wp-content/uploads/2008/12/tenacitas-lado-derecho.jpg" alt="Tenacitas: vista lado derecho" width="245" height="162" /></a>adísticos sobre los sensores de ultrasonidos y sobre todo del sensor de luz.</li>
<li>Aconteció un epic FAIL en un par de ocasiones cuando el robot alcanzaba la cinta aislante que marca el fin del mapa, en este caso el robot gira 100 grados a su izquierda y prosigue. Desgraciadamente esta política no es efectiva el 100% de las veces, ya que Tenacitas tiene el sensor de luz 6&#8217;5cms adelantado respecto del eje de movimiento, con lo que existe la posibilidad de que el sensor quede <strong>por delante</strong> del limite y que con ello el robot prosiga más allá de los límites del tablero. La solución a este problema consiste en <strong>retroceder</strong> unos centímetros antes de iniciar el giro.</li>
<li>Debido a la persistente cojera de Tenacitas la odometría no era suficiente para establecer la posición del robot, este siempre se desplaza unos 5 grados a la derecha en cada desplazamiento, con lo que la incertidumbre crece tanto que se hace imposible hacer estimaciones sobre la posición del robot en el mapa, aunque sería interesante ver hasta que punto se pueden ir contabilizando estas taras permanentes y que el robot cuente con ellas para establecer su posición.<a rel="attachment wp-att-208" href="http://www.geosincrona.com/2008/12/17/robotica-practica-2-2/_mg_0931-modificada"><img class="size-full wp-image-208 alignright" style="border: 10px solid white;" title="Tenacitas, alzado" src="http://www.geosincrona.com/wp-content/uploads/2008/12/_mg_0931-modificada.jpg" alt="vista alzada de la configuración de atrapa latas" width="365" height="233" /></a></li>
<li>Estoy especialmente satisfecho con el sistema para la localización de latas, este consiste en qu e el robot avanza 30cms (la distancia máxima en   que el sensor de   ultrasonidos es preciso) y rota 45grados a un lado, 90 al contrario y vuelve a mirar al rumbo original, interrumpiéndose el proceso si aparece un objeto susceptible de ser una lata. De este modo se maximiza el aprovechamiento del sensor y nos aseguraremos de que no sea necesario pasar dos veces por la misma zona.</li>
<li>Si el sistema ha localizado una lata y esta desaparece del sensor, la buscara repitiendo un escaneo de 110grados (todas estas constantes son configurables), si al finalizarlo no ha conseguido encontrar la lata, la dará por perdida y proseguirá con la búsqueda de otra lata.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.geosincrona.com/2008/12/17/robotica-practica-2-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Práctica 2: Recoge latas</title>
		<link>http://www.geosincrona.com/2008/12/14/robotica-practica-2</link>
		<comments>http://www.geosincrona.com/2008/12/14/robotica-practica-2#comments</comments>
		<pubDate>Sun, 14 Dec 2008 22:45:08 +0000</pubDate>
		<dc:creator>Edorka</dc:creator>
				<category><![CDATA[Robótica]]></category>

		<guid isPermaLink="false">http://www.geosincrona.com/?p=185</guid>
		<description><![CDATA[Buenas a todos, Mis más cercanos habrán notado cierta obsesión estos últimos días con cierto artilugio que me ha sido encomendado para convertirlo en un estupendo caza latas. Está pensado para moverse a través de un tablero que tiene una serie de limites marcados con cinta negra, detectar y capturar las latas para depositarlas en [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas a todos,<a href="http://www.geosincrona.com/wp-content/uploads/2008/12/robot.jpg"><img class="alignleft size-medium wp-image-186" style="border: 10px solid white;" title="Lego NXT recoge latas" src="http://www.geosincrona.com/wp-content/uploads/2008/12/robot.jpg" alt="Esta es mi práctica 2 de introducción a la robótica" width="314" height="210" /></a></p>
<p>Mis más cercanos habrán notado cierta obsesión estos últimos días con cierto artilugio que me ha sido encomendado para convertirlo en un estupendo caza latas.</p>
<p>Está pensado para moverse a través de un tablero que tiene una serie de limites marcados con cinta negra, detectar y capturar las latas para depositarlas en un recuadro de colores en el centro del tablero.</p>
<p>Lo mejor de todo, tiene que estar terminado y probado para el martes, ya contaré que tal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geosincrona.com/2008/12/14/robotica-practica-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
