Usando pc’s para construir robots

Hace poco se me ha roto el pc y he estado mirando componentes para montar uno nuevo. Siempre he querido usar un pc para montar en algún robot, ya que tendríamos más potencia de cálculo, más componentes estandarizados (tanto hardware como software) y a igualdad de precio, más prestaciones que una arquitectura basada en microcontroladores. Pero normalmente no es rentable usar un pc, ya que necesitaríamos una bateria para alimentarlo (si hablamos de un robot móvil) y lo normal es recurrir a un portátil que no son tan baratos.

Pero hoy en día hay más opciones, todas basadas en la arquitectura de pc. Estas son algunas opciones que he mirado:

  • Ultra portátiles: Basados en la idea del portátil de los 100$ de Negroponte, son portátiles muy, muy baratos. Un poco escasos de prestaciones comparados con un portátil normal, pero autenticos cañones comparados con los PIC y los AVR. Por menos de 300€ tenemos una máquinita de estas que puede con un windows xp o un ubuntu de última generación y podemos usarlos para robótica con un adaptador usb como arduino y un poco de electrónica.
  • MiniITX: son pc's normales en tarjetas de tamaño reducido, que se usan fundamentalmente como HTPC y CarPC. Los procesadores tampoco son gran cosa, pero la posibilidad de alimentarlos con fuentes de contínua y que hay modelos completamente sin ventiladores de ningún tipo, los hace interesantes para la robótica. Dependiendo de los componentes que montemos podemos gastar entre 200€ y 500€.
  • PC's normales: esta es la solución que más me llama la atención ahora mismo. Una placa base, un procesador y algo de memoria, todo de gama más baja, pueden conseguirse por menos de 100€ (sin caja ni complementos de ningún tipo). Con un adaptador IDE para tarjetas Compact Flash nos construimos un disco SSD casero por unos 30€ más y tenemos un ordenador potente y barato. Sólo hay un probema: necesitamos una fuente de corriente contínua. Pero las fuentes miniITX suelen tener conectores estándar ATX y creo que se podrían usar para alimentar una placa de este tipo. El problema es que hay que tener cuidado con el consumo, no creo que una cpu y placa base pensadas para un ordenador de escritorio consuman poco, aunque quizá con un poco de "underclocking" se pueda reducir el consumo. También existe la posibilidad de usar placas base que aceptan procesadores de portátil pero tanto el procesador como la placa son más caras.

Por mi parte me he hecho con un asus eee 701 y me sobran los componentes del pc antiguo (todavia bastante aceptable) asi que si encuentro tiempo haré alguna prueba.

9 comentarios en “Usando pc’s para construir robots

  1. nunes

    Hola mariguano,
    Había leido sobre el NSL2 y son una buena opción, barata y potente. Pero como solución "no-preparadas-para-ello" tengo una "fonera" de sobra que utilizaré en algún momento.

    En este artículo, quería hablar sobre las arquitecturas i386, sobre las que se pueda correr un s.o. "convencional" (un linux o windows de escritorio o servidor), para reutilizar al máximo hardware y software.

    Los geode me suenan (el OLPC lleva un geode) y he visto que alguien consiguió montar un geode en una placa base K7 como la que tengo en casa. Pero no los encuentro a la venta para particulares, siempre van en sistemas montados. No sé si conoces algún sitio donde vendan procesadores geode, sin montar en placa base. Con los geode el consumo se reduce muchisimo y sería una buena opción.

    De todas formas, no conocía las placas ALIX, son otra opción a tener en cuenta.

  2. mariguano

    No creo que en España se puedan comprar procesadores Geode sueltos (ni tampoco ARM o MIPS..) sino que los tienes que comprar ya montados en una placa.

    Por lo tanto, para la robótica (en este caso), se ha de encontrar una solución ya integrada que nos guste.

    De ahí lo de utilizar el NSLU2 (o la fonera) porque son potentes, "baratos" y BAJO CONSUMO.

    Yo utilizo el NSLU, pero al final me estoy dando cuenta que no es tan bueno como lo ponen (si, tiene USB, pero hay que trastocar y soldar mucho la placa para fabricarte un conector para conectarlo a los sensores).

    Me parece que la solución mas correcta es el geode de ALIX, porque aunque no sea tan potente como los Atom, si tiene menor consumo. Y cuando digo menor es MUCHO menor. Un Geode consume unos 1-2W y el Atom unos 4W, pero es en el resto de componentes donde esta la diferencia. Siendo el total 6w para el Geode y unos 20W para el Atom.

    Por lo tanto si hay que escoger un procesador para una aplicacion que va a funcionar con baterias... es facil la conclusion.

    La ventaja de los no-i386 era su consumo. El MIPS y el ARM tienen aproximadamente un mismo nivel de potencia y consumo.... que con el Geode quedan anticuados.

    A menos que consigas un ARM o MIPS de ultima generación (de esos a 600Mz o "asín" de PDA) no creo que superen al geode.

    Yo lo tengo claro. Un geode Alix... tiene de todo (con conectores ya puestos para no tener que andar soldando cables) y con un tamaño Euroboard (creo que una de las placas alix es 160x70). ¿que mas se puede pedir? 😉

    P.D. las soluciones que planteas de comprar un PC, que aunque sean "baratos" (barato para mi son menos de 100€, no 300) no es factible si quieres hacer algo decente.... para hacer pruebas te valdría, pero para eso puedes poner un ordenador de los antiguos y hace la misma función.

    No sé, aquí cada uno saca sus conclusiones y con ello lo que le gusta, pero comprar un OPLC o similares para integrarlo en un Autómata no creo que sea la solución "mas-mejor" 😛 (solo el ventilador ya consume mas que el procesador 😛 )

    ¿Quieres integración? utiliza un ARM (pero directamente, con sus GPIO y todo)
    ¿Quieres modularidad? utiliza un AVR o PIC y como "cerebelo" y un Geode como "cerebro"
    ¿Quieres potencia?..... comprate un cable de 100 metros de alimentacion xDxD

  3. nunes

    La idea inicial era meditar sobre las opciones de las arquitecturas 386. Como el consumo es fundamental, me imagino que los Alix con Geode es de las mejores opciones que se pueden comprar a un precio barato.

    Para la NSLU, quizá te pueda valer un arduino. Si no lo conoces, arduino es básicamente un AVR con un adaptador serie y/o usb. Si el NSLU tiene una salida serie ó usb, entonces sólo con conectar el arduino a ese puerto (y el driver necesario en caso de usb) ya puedes acceder a toda su potencia: puertos e/s, conversores a/d, etc. Te puede servir como inerfaz físico, es mi idea para el eeePC.

  4. Sphinx

    Hola, me interesa este tema. Estoy pensando en lo mismo. Aunque la movilidad ahora no es mi prioridad, pero lo podría ser.
    ¿ Has avanzado desde la fecha de este post ?
    ¿ Qué opción tomaste ?
    Respecto a los consumos, ¿ tienes datos de placas de PC antiguas ?

  5. nunes

    Hola,
    Al final he utilizado el ordenador antiguo para construir un ordenador con un SSD casero. Por ahora estoy tirando con el netbook y con arduino.
    Sobre los consumos no he hecho cálculos, supongo que los podrás conseguir en las páginas de sus respectivos fabricantes.
    Pero si utilizas una placa de escritorio, probablemente tendrás consumos de ordenador de escritorio, muy altos para utilizar una batería, por ejemplo.
    No te puedo dar el link, pero en su momento leí de una persona en italia que había cambiado el micro de la asrock K7S41GX (la misma que tengo yo con un procesador amd sempron) por uno de bajo consumo (amd geode) con buenos resultados.

  6. Sphinx

    Es interesante en cualquier caso.
    Supongo que con placas antiguas que lleven USB, a lo mejor puedes sustituir el SSD por una memoria USB. Luego depende de si la BIOS lo soporta para arrancar, etc...

    Estuve buscando también un adaptador de memorias USB al puerto IDE, y lo más que he encontrado es una patente sobre el tema: http://www.freepatentsonline.com/y2005/0097263.html

  7. Roger Alexander Ceballos Alvarado

    Yo no soy un diseñador de estructuras tic ni nada por el estilo, solo tengo conocimientos en programación c++ y muy básicos. estoy en la transición de lo básico de c++ a la programación en tic, ya estoy por comprarme un arduino uno y bal bla blka, lei un poco sobre la robotica y el tema y me intereso, pensando el los procesadores ARM que van el los telefonos inteligentes,, me paso por la mente.. en ves de usar una tarjeta madre normal y todo eso.. se podria usar una tarjeta de un smartphone (que hoy en dia tienen procesadores ARM bastantes potentes sin mencionar la ram y otras cosas y demas sensores) se podria usar una tarjeta que se podri obtener de un telefono con la pantalla defectuosa, se puede hacer la coneccion de una pantalla alterna y luego programarce en java o en c# directamente y si vamos mas alla directamente en c++, total, android es linux bajo un monton de capas desarrolladas en java para que sea mas manejable y amigable.. digo, es solo una idea que me paso por la cabeza, total soy un completo imnorante en el tema, solo tome en cuenta, la capacidad de prosesamiento, la memoria ram como la rom, el consumo de energia y la capacidad de almasenamiento, hoy en dia se puede comprar baterias de 5000 miliamperios bastante pequeñas.. bueno yo solo digo

  8. nunes

    Hola Roger,
    Tienes razón pensando en la capacidad que tienen hoy en día los procesadores ARM para tabletas y móviles. Escribí el artículo en 2008, hoy en día las cosas han cambiado, pero aún así los procesadores y arquitectura intel pueden ser interesantes en ciertos casos.

Deja un comentario