Estamos trabajando con MSRS y tenemos un PioneerDX. El sistema operativo del robot es Linux, y no lo podemos cambiar por cuestiones de trabajo, con lo cual no podemos lanzar servicios MSRS. Queriamos saber si sera posible correr los servicios de Robotics Studio en el PC y conectarnos al robot via wifi. Hemos estado leyendo y parece q seria posible, Trevor Taylor creo que ya ha hecho algo verdad? Bueno la pregunta es, tendriamos que crear la interfaz del Pioneer para que supiese que en vez de via serie mandase los paquetes via Wifi, seria posible? seria muy costoso? modificando el servicio Arcos podriamos conseguirlo? O estamos muy equivocados? Gracias.
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 444
Karma: 6
Re:Pioneer + Wifi - 2008/04/09 16:21Hola, Efectivamente si el PC que tenéis integrado en el robot Pioneer es Linux, no podéis ejecutar los servicios MSRS en él (ya que el runtime de MSRS require .NET Framework o .NET Compact Framework). Obviamente, una opción es instalar Windows en el PC de a bordo y ejecutar MSRS en el propio ordenador. Pero si como dices esa no es una opción, otra opción disponible es ejecutar los servicios necesarios de MSRS en un PC remoto, que no esté físicamente montado en el robot. En ese caso necesitas un interfaz de comunicación con el robot. En este escenario hay varias posibilidades:
1.- Que uses los servicios de Arcos que vienen con Robotics Studio.
En este caso, como estos servicios (ArcosCore, ArcosBumper, ArcosDrive, etc.) están diseñados para comunicarse directamente con el firmware ARCOS del controlador de robot, no necesitar interactuar para nada con el PC de a bordo. De hecho, lo podrías quitar. Lo único que necesitas es comunicar tu PC Windows (donde ejecutar MSRS) con el interfaz serie del robot.
Para ello, a su vez, tienes diferentes opciones. Por ejemplo, una opción cómoda sería utilizar un adaptador serie a WiFI (RS-232 a 802.11). He visto que algunos de esto dispositivos llevan batería incluida, o incluso se podrían alimentar de las baterías del robot (creo que fue Trevor el que me comentó esto hace tiempo). De esta forma creas una especie de túnel WiFi que conecta dos puertos serie: el físico del robot y uno emulado en el PC. Otra opción, si no quieres usar WiFi, es usar portátil con Windows montado sobre el robot y conectado directamente al puerto serie del mismo (eso es lo que hago yo).
2.- No usar los servicios Arcos que vienen con Robotics Studio.
Si queréis usar el robot Linux de a bordo de interfaz con el robot porque ofrece alguna funcionalidad extra, entonces tendréis que desarrollar vuestros propios servicios de Robotics Studio que se comuniquen con el interfaz que ofrece el Linux de a bordo. En este caso, los servicios de MSRS no se comunicarían directamente con ARCOS, sino que lo harían con un hipotético interfaz que escucha en el PC Linux; a su vez el PC Linux se conectaría con ARCOS a través del interfaz serie interno del Pioneer. Para la comunicación remota entre el PC Windows con MSRS y el PC Linux de a bordo se podría usar una red WiFi o una conexión WiFi ad hoc. También tendríais que definir el protocolo de comunicación a nivel de aplicación entre el interfaz de control que ofrece el PC Linux y los servicios MSRS que hablan con ese Linux.
En definitiva, si queréis usar MSRS y no tenéis funcionalidad adicional residente en el Linux yo usaría la opción 1. Si por el contrario, hay funciones de control ya implementadas en el Linux, yo barajaría la opción 2, aunque requiere escribir los servicios de comunicación con la API que ofrezca el PC Linux. ¿Cuál es vuestro caso? Espero haber contestado a la pregunta…Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
Gracias por la respuesta. La primera opcion usando el adaptador serie WIFI nos a gustado. La cuestion es que el robot lo estan utilizando otros con Linux y no queremos empezar a cambiar de sistema operativo. Tal como lo pones no parece dificil hacerlo a traves de Wifi con el adaptador ya que la segunda opcion para las pruebas que queremos hacer quizas sea un poco complicado.
Por lo que he entendido, habria que correr el servicio en el PC y en vez de configurarlo para que utilize el puerto COM1 configurarlo para un puerto virutal. Es asi? Y sabes de algun adaptador que podamos comprar?
Muchas gracias..
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 444
Karma: 6
Re:Pioneer + Wifi - 2008/04/09 20:43¡De nada! Ahora entiendo por qué no queréis tocar el Linux.. Me temo que no os puedo recomendar ningún adaptador RS-232 a WiFi (802.11) porque personalmente nunca he probado ninguno.
Tampoco sé exactamente cómo se configuraría en Windows. Le preguntaré a Trevor por si él conoce algún modelo que funcione bien. En su día estuve curioseando y tengo algunos enlaces de algunos adaptadores, pero no sé si se venden en España (a lo mejor el primero [1]):
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 444
Karma: 6
Re:Pioneer + Wifi - 2008/04/10 13:53Pregunté a Trevor Taylor sobre el tema: él no tiene ningún Pioneer, pero sí usa adaptadores WiFi en sus robots X80. Lo que pasa es que el firmware de esos robots ya está preparado para la placa serie a WiFi y no requieren mayor configuración.
Lo que me ha comentado Trevor es que la mayoría de estos dispositivos usan lo que se llama 'Serial Ethernet', que significa que símplemente envían un único flujo de datos. Por lo visto, el que lleva el X80 puede enviar tanto paquetes UDP como paquetes TCP. Acumula bytes hasta que alcanza el tamaño de paquete o hasta que salta un cronómetro (timer) y entonces envía lo que esté disponible en el buffer (a no ser, por supuesto, que no haya nada que mandar).
Lo que comenta Trevor es que todos los 'paquetes' reales, es decir, los paquetes serie, normalmente quedan segmentados entre varios paquetes IP, pero que no es complicado reconstruirlos en el PC. Yo supongo que los controladores que vienen con estos dispositivos ya hacen esto por el usuario. De hecho, juraría que he visto algún controlador de este tipo (seria a bluetooth por ejemplo) que crea un puerto serie virtual. Con lo que al Robotics Studio le dices que use el com4 (siendo este el puerto asignado al controlador bluetooth y listo). De hecho, es lo mismo que hago en el PC al usar un adaptador de USB a serie (ya que mi portátil no tiene interfaz serie DB-9).
Otro punto interesante que me ha comentado Trevor es que el rendimiento depende del tipo de hardware que uses, pero que normalmente es razonable. Las tarjetas conversoras de serie a WiFi que tiene él, las de los X80 y la de un robot Surveyor SRV-1b, se pueden configurar a través de un interfaz web o directamente por la interfaz serie. Así que supongo que será similar en otros adaptadores de este tipo…Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
Gracias por las respuestas. Tambien tenemos aqui un ICreate, estamos pensando a ver si se podria poner ahi tambien para empezar.. lo de la configuracion en el Icreate nose como se haria o si haria falta, el ICreate no necesitaria saber que va a mandar por wifi nada no? Quiero decir que para el robot sera lo mismo no? La cuestion seria como condigurar el puerto virtual en el PC.. No se si estoy muy equivocada... Bueno de todas formas vamos a mirarlo un poco mas, ya te iremos comentando si compramos el adaptador y si conseguimos ponerlo..
Muchas Gracias.
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 444
Karma: 6
Re:Pioneer + Wifi - 2008/04/10 16:05Sí, supongo que con el iCreate se podría hacer algo parecido. La verdad es que no he tenido oportunidad de trabajar con uno nunca, así que no tengo mucha idea de cómo es el interfaz hardware con el robot.
Lo que sí he visto es que usan un mini-PC (placa mini-ATX o similar con soporte para .NET framework).
De esta forma tienes la CPU que controla el robot montada en el propio robot. Por ejemplo, mira como se han montado los iRobot Create para la competición de Sumo MEDC 2007:
Al robot le añaden un mini PC (embedded PC) ICOP eBox 2300s y una cámara Logitech. De esta forma el robot es totalmente autónomo y ejecuta los servicios DSS en la CPU de a bordo.
Seguimos pensando en comprar el adaptador serie-WIFI pero estamos dandole vueltas ya que cuesta un dinero y... Por lo que nos contestaste no habria mayor problema en poner en marcha el servicio desde el PC,.. Estamos pensando (igual es complicarlo un poco...) si podriamos hacer una prueba con un adaptador Wifi-USB y USB-serie. En vez de utilizar un adaptador serie WIFI utilizar dos adaptadores intentando conseguir el mismo resultado.. Nose si nos estamos liando mucho.. seria cuestion de probar, o eso ya no funcionaria?
Gracias.
The administrator has disabled public write access. Please, register to participate in the
forum.
En el PC linux del robot tener dos adaptadores - Un USB -> WiFI (que permitiría la comunicación con el PC que ejecuta MSRS). - Un USB -> Serie (que permitiría la comunicación con el microcontrolador ARCOS).
¿Es a esto a lo que te refieres?
El problema, es que no veo como implementar la comunicación entre esos dos dispositivos. Es decir, como enrutas los datos que llegan por la WiFi para que se redirigan al adaptador USB->Serie (y viceversa)?
El tema es que en el Pioneer, a no ser que uses el ordenador de abordo, no tienes interfaces USB, el único interfaz que tienes es el serie DB-9. Con lo cual, si quieres pasar de DB-9 a WiFi sin usar directamente un conversor de RS-232 a 802.11, no veo como podrías hacerlo.
Si disponéis de un portatil que pueda ejecutar MSRS, la alternativa más rápida es montar ese portátil sobre el robot y usar símplemente un interfaz USB -> Serie para conectar el portátil al controlador ARCOS.Raúl Arrabales Moreno. conscious-robots.com/raul
The administrator has disabled public write access. Please, register to participate in the
forum.
Raúl
Moderator Moderator
Posts: 444
Karma: 6
Re:Pioneer + Wifi - 2008/04/16 17:44Por cierto, mirando en la página de MobileRobots acabo de ver que venden un accesorio para el Pioneer que es exactamente de lo que hablábamos al principio: un enlace inalámbrico para el robot:
Es un dispositivo compatible con 802.11b (WiFi) y vale tanto para robots que tienen PC interno como los que no.
Esto es lo que pone en la página:
Wireless Ethernet Options These Ethernet devices communicate wirelessly between robot and an access point on your wired hub. We offer two robot-side devices, for robots with or without onboard PC's. For facilities that do not already have wireless Ethernet, we also offer two wireless access-point models to plug into your wired hub. ACT0106 robot-side devices may also be used in pairs, peer-to-peer. All devices are IEEE802.11b compliant.
Por lo que veo está pensado para que se conecte a un punto de acceso WiFi.