Bueno bueno.....ahí va mi opinión
.
Estoy deacuerdo con casi todo lo dicho anteriormente. Si aprendes un lenguaje, no creo que nunca llege a ser una pérdida de tiempo (por lo menos total
). Piensa que aprender un lenguaje no se reduce solamente a eso, sino que te ayudará a programar mejor con cualquier lenguaje.
Siempre recomiendan empezar con un lenguaje estructurado (en mi caso, empecé en la Universidad con turbo pascal, modula2). La verdad, yo he intentado ponerme varias veces con Lazarus (freepascal), ya que el pascal siempre me ha gustado, pero al final no lo he hecho. Quien sabe, algún día.
Una opción muy interesante sería C, pero es un peso pesado para empezar.
Con AutoIt vas a trabajar muy bien y muy agusto. Harás cosas rapidamente y verás que no te resultará muy dificil. Pero ojo!, no nos confundamos. AutoIt es un lenguaje facil en un extenso campo, pero como todo lenguaje, si quieres hacer cosas complicadas, el código se puede complicar y mucho. Pero comparandolo con otros lenguajes, sigo pensando que es bastante sencillo de utilizar
.
Otra cosa es que como dices arriba, quieras aprender un lenguaje de programación enfocado a un tema, en tu caso a la robótica (autómatas) y al entorno. Entonces tenemos que cambiar un poco el chip.Hay lenguajes específicos para programar en unos u otros temas.
Tienes suerte que yo he dado algo de robótica......enfocada a los robots industriales (robots manipuladores). Te voy a dejar un pequeño esquema de mi libro que clasifica los métodos de programación de robots industriales:
-Programación de robots: Conjunto de instrucciones de movimiento y funciones auxiliares que definen el trabajo a realizar por el robot.
De aquí salen dos definiciones:
1.Programación por aprendizaje o por guiado: Se hace que el robot (o una maqueta del mismo), realice una vez la tarea, al tiempo que se registran las configuraciones adoptadas.
Puede haber Aprendizaje o guiado pasivo o activo: En el pasivo los actuadores del robot están sin energía (lo mueves tu a mano), y el activo el robot se mueve utilizando sus propios actuadores, en función de las órdenes dadas por el usuario desde el panel de programación.
Igualmente el Aprendizaje o guiado pasivo se divide en dos: El directo, el cual se basa en mover directamente al robot, venciendo la resistencia de sus sistemas de transmisión y su peso, y el Maniquí, en el cual se utiliza una estructura ligera con la misma cinemática que el robot, registrándose sus movimientos.
Estos métodos de programación no utilizan (o muy poco) lenguajes de programación, ya que enseñas a la unidad central el recorrido (los movimientos que debe hacer) gracias a los movimientos que le haces hacer al robot directamente. Le unidad central coge varios puntos en el espacio por los que tiene que pasar.
2.Programación Textual. La tarea del robot se expresa mediante una serie de instrucciones escritas en un lenguaje formal. Gracias a este método podemos programar los movimientos (u otras cosas) del robot sin necesidad de éste.
Supuestamente un programa de estas características tiene 3 niveles:
-Nivel Robot. Las instrucciones hacen referencia directa a las acciones del robot.
-Nivel Objeto. Las instrucciones hacen referencia al modo en que deben quedar los objetos manipulados por el robot.
-Nivel Tarea. Las instrucciones hacen referencia a la tarea u objetivo final a conseguir.
En la actualidad se tiende a combinar los dos metodos (guiado y textual). Ejemplo de ello son sistemas como RAPID de ABB, VAL II de Staubli y V+ de Adept Technology. Estos son lenguajes de programación específicos a las marcas y modelos de robot.
No te voy a explicar todo el requerimiento de un sistema de programación de robots porque sería muy largo. Te voy a poner solamente los puntos:
- Entorno de programación.
- Modelado del entorno.
- Tipo de datos.
- Manejo de entradas/salidas (digital y analógica).
- Comunicaciones.
- Control de movimiento.
- Control del flujo de ejecución del programa.
Para saber que lenguaje sería el adecuado de utilizar nos deberíamos parar en el punto "Tipo de datos".
Para esto, tenemos que tener en cuenta que la posición y orientación espacial de un objeto puede ser especificada de diversas formas:
- Utilizando coordenadas articulares o del robot.
- Utilizando coordenadas cartesianas o del usuario.
Según esto podemos utilizar distintos lenguajes como VAL II, AML, ARLA, RAPID, V+, AL, ect.
He visto que estos lenguajes son de hace muchos años. Puede que el libro sea una primera base y te de los lenguajes de hace tiempo. Seguramente se ha avanzado en estos lenguajes y hay mejores. Sería cuestión de investigar.
Lo que yo he utilizado (muy poco) es la programacion textual de un robot con el llamado Código-R. Este lenguaje es un lenguaje experimental. En el libro te viene un ejemplo de programación con este lenguaje de un robot tipo SCARA con cuatro grados de libertad.
Casi todos estos datos estan sacados del libro "Fundamentos de robótica" 2º edición de la editorial mcgraw-hill.
Después de meter este pedazo de rollo, deciros que es interesante este tema, pero hay que ir más allá.
Decir que este tema es extensísimo. También deciros que se debería de ver otras cosas como la morfología de un robot, las herramientas matemáticas para localización espacial, etc etc. Todo esto son temas del libro. Seguro que están por internet.
También pensad que todo esto está enfocado a los robots industriales....no me quiero ni imaginar enfocarlos a otro tipo de robots (hay una clasificación bastante grande), como por ejemplo los humanoides. Seguro que el tema se extendería a años de estudio.
Si tienes alguna duda pregunta, y si sabemos la responderte......lo haremos.
Saludos y suerte con el tema.