<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3007670426753091037</id><updated>2011-07-28T23:30:01.401-07:00</updated><category term='player stage player-stage'/><title type='text'>Doohan's world</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vrdjo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3007670426753091037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vrdjo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Electronic</name><uri>http://www.blogger.com/profile/09729685886114085405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3007670426753091037.post-3070637830382733749</id><published>2010-03-31T00:54:00.000-07:00</published><updated>2010-03-31T01:28:23.930-07:00</updated><title type='text'>Explicación de player-stage</title><content type='html'>.&lt;br /&gt;En esta entrada intentaré explicar que es Player, el programa que gestiona el robot.&lt;br /&gt;Para ello primero voy a hacer un copy-paste de una explicación que he encontrado por internet:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;Player es un servidor que permite controlar los dispositivos de un robot&lt;br /&gt;y obtener información de sus sensores. Es una capa software que abstrae los&lt;br /&gt;detalles del hardware del robot, independizándonos del mismo. Los algoritmos&lt;br /&gt;de control del robot funcionarán como clientes de Player (a través de sockets&lt;br /&gt;TCP/IP). Así podemos controlar el robot enviando mensajes que sigan el protocolo&lt;br /&gt;de comunicación de Player o (que será lo habitual) llamando a funciones&lt;br /&gt;de las librerías de Player, que nos abstraen de los detalles de comunicación. La&lt;br /&gt;distribución actual de Player incluye librerías en lenguajes tan diversos como&lt;br /&gt;C++, Java, Python o Lisp.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;¿Que significa todo esto? Bueno, pues imaginemos que tenemos el robot en sí. En el robot va también el propio ordenador que como dije en la entrada anterior es la cabeza pensante.&lt;br /&gt;Sería algo así como esto:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.liliputing.com/wp-content/uploads/2009/03/robot.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 384px; height: 288px;" src="http://www.liliputing.com/wp-content/uploads/2009/03/robot.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Bueno pues Player es el programa que ejecutamos en el ordenador y que mediante los drivers apropiados recibe todo lo que le va diciendo el robot (a traves de los sensores, motores, posición...), gestiona todo esto con el código que esté tratando en ese momento Stage y hecho esto devuelve al robot lo que tiene que hacer.&lt;br /&gt;&lt;br /&gt;De nuevo un ejemplo para explicarlo:&lt;br /&gt;Imaginemos que tenemos un robot "comercial" de los que ya existen drivers para Player, por ejemplo un robot Pionner.&lt;br /&gt;En este caso al ejecutar Player tendríamos un servidor en donde se encuentra toda la información que ofrece el driver de Pionner (laser, bumpers, posición....)&lt;br /&gt;A este servidor se puede conectar cualquier cliente que quiera tener esa información (recibir el estado del robot) o quiera mandar información (mandar órdenes al robot)&lt;br /&gt;&lt;br /&gt;Este cliente puede ser una de las herramientas adicionales que ofrece player (playerjoy como joyistick, playerv como visor de sensores, playernav para navegación....) o un programa que hayamos hecho nosotros (en mi caso sería en lenguaje C) para controlar el robot mediante las librerías que ofrece player.&lt;br /&gt;&lt;br /&gt;En el caso de mi proyecto en concreto como el robot está hecho por nosotros (no es nada comercial) también tengo que hacer los drivers. Es decir tengo que hacer el programa que se comunica con el robot, traduce lo que significa cada dato que obtiene y se lo da al servidor Player para que esté disponible para cualquier cliente.&lt;br /&gt;Además este mismo driver tiene que servir para la operación contraria, es decir que lo que le mande un cliente al servidor Player llegue al robot "destraducido" por el driver&lt;br /&gt;&lt;br /&gt;De momento no hay ningun avance ya que sigo esperando a que tengan el robot para empezar a hacer las pruebas "reales" e intentar hacer todo lo que he podido hacer en la simulación.&lt;br /&gt;&lt;br /&gt;Espero haberme explicado bien o al menos entendais más o menos la idea. Es un poco "raro" de entender. Digo raro y no difícil porque el concepto en sí es simple, pero hasta que lo entiendes hay que darle unas pocas vueltas.&lt;br /&gt;Eso mismo me pasó a mí cuando leí lo de "player es una capa de abstarcción de hardware" xD&lt;br /&gt;&lt;br /&gt;1saludo!!&lt;br /&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3007670426753091037-3070637830382733749?l=vrdjo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vrdjo.blogspot.com/feeds/3070637830382733749/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://vrdjo.blogspot.com/2010/03/explicacion-de-player-stage.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3007670426753091037/posts/default/3070637830382733749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3007670426753091037/posts/default/3070637830382733749'/><link rel='alternate' type='text/html' href='http://vrdjo.blogspot.com/2010/03/explicacion-de-player-stage.html' title='Explicación de player-stage'/><author><name>Electronic</name><uri>http://www.blogger.com/profile/09729685886114085405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3007670426753091037.post-2118223010387686390</id><published>2010-03-24T07:53:00.000-07:00</published><updated>2010-03-24T08:01:38.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='player stage player-stage'/><title type='text'>Empezando el blog</title><content type='html'>.&lt;br /&gt;Bueno, pues esta es mi primera entrada en este blog que he creado.&lt;br /&gt;La idea es ir poniendo aquí cómo va el proyecto y los avances que voy haciendo.&lt;br /&gt;&lt;br /&gt;Lo primero claro está es explicar el proyecto en sí y cómo está ahora mismo.&lt;br /&gt;&lt;br /&gt;El proyecto es la creación de un robot didáctico y de bajo coste programado todo ello con software libre "player-stage".&lt;br /&gt;Qué significa esto exáctamente? Pues hacer un robot que todo el mundo pueda tener de la manera más simple (aunque ello no significa que sea un robot muy limitado) usando un código que cualquiera puede descargar de internet y con materiales relativamente baratos.&lt;br /&gt;&lt;br /&gt;El robot en sí no es más que unos motores (todavía no se de que tipo) controlados por un microcontrolador que se encarga decirle al ordenador (cabeza pensante) que está ocurriendo exáctamente en cada momento (posición de los ejes, distancia a los objetos, estado de los sensores) y dependiendo de ello el ordenador le dirá al robot que tiene que hacer&lt;br /&gt;&lt;br /&gt;Es un poco lioso pero una vez que lo entiendes es más simple de lo que parece con tanta palabreja&lt;br /&gt;&lt;br /&gt;En cuanto al estado actual, pues eso para la siguiente entrada&lt;br /&gt;&lt;br /&gt;1saludo!&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3007670426753091037-2118223010387686390?l=vrdjo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vrdjo.blogspot.com/feeds/2118223010387686390/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://vrdjo.blogspot.com/2010/03/empezando-el-blog.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3007670426753091037/posts/default/2118223010387686390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3007670426753091037/posts/default/2118223010387686390'/><link rel='alternate' type='text/html' href='http://vrdjo.blogspot.com/2010/03/empezando-el-blog.html' title='Empezando el blog'/><author><name>Electronic</name><uri>http://www.blogger.com/profile/09729685886114085405</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
