Está en la página 1de 6

desarrollo de los trabajos dentro del

grupo de investigación en
Programación, Automatización y
Robótica GIPAR, están siendo utilizados
para el desarrollo de aplicaciones para
LOS LENGUAJES DE
PROGRAMACIÓN Y SU Robótica, e Inteligencia Artificial, IA y
UTILIZACION EN ROBÓTICA E cuyos resultados han generado diversos
INTELIGENCIA ARTIFICIAL premios a la institución, promoviendo su
uso dentro del estudiantado. Palabras
Ing. Joyce Aragón, aragonjoyce@gmail.com;
Claves;Lenguajes de Programación,
Ing.Nelson Inojosa,
Nelson.inojosa@gmail.com. Metaprogramación, Robótica e IA
Universidad Nacional Experimental de Guayana
dpto. Ciencia y Tecnología 1. INTRODUCCION

Programar un Robot es habitualmente un


RESUMEN trabajo más minucioso que la creación de
programas tradicionales como aplicaciones de
Los lenguajes de programación según el
oficina, bases de datos, web, entre otras. Ya
diccionario de la lengua española es
que implica una craga de realidad mas
definido como “El conjunto de signos y
compleja. La robotica asi como diversas areas
reglas que permite la comunicación con
de investigación en tecnologia se han
un ordenador”, no es un secreto que la
desarrollado multidisciplinariamente y su
iteración con ellos, y otros dispositivos
evolución ha sido posible en gran parte al
tecnológicos han calado y modificado las
desarrollo de los lenguajes de programación y
relación que tiene el hombre con cada
la sofisticación de algoritmos, que permiten
uno de los elementos que componen la
captar e interpretar, las diversas señales
sociedad actual. Hay muchos tipos de
recibidas de los distintos dispositivos asociados
lenguajes de programación, cada uno de
y añadidos al robot para actuar
ellos con su propia gramática,
autonomamente, en otras palabras le permite
terminología especial, sintaxis particulares
generar comportamientos inteligentes en él. La
y diseñados para propósitos específicos.
llegada del software libre y sus licencias GPL y
Este trabajo de base documental y de
GNU, dio un impulso al desarrollo de nuevos
campo, pretende mostrar la evolución de
programas asociados a la robótica y la
los lenguajes de programación y meta
inteligencia artíficial basados en la adaptación,
programación haciendo especial énfasis
versatilidad y colaboración de la comunidad de
en los lenguajes que a través de los años
desarrolladores, quienes se interesan en
hasta la actualidad y particularmente en el
adaptar, mejorar e incluso reemplazar los el softaware se hiciera cada vez mas
softwares diseñados por los fabricantes de especializado y a su vez de uso comun entre los
robots. En este articulo revisaremos diversos profesionales del la información. Actualmente
lenguajes de programación y su utilización a encontramos varios lenguajes de alto nivel y de
nivel mundial, en el area de la robótica e gran utilización, es por esto que la organización
inteligencia artíficial, dando ejemplos de aquellos CODEEVAL.org, (figura 1) cada año se encarga
desarrollados especificamente para algún robot de evaluar y determinar basada en miles de
particular y destacando aquellos de desarrollo datos recogidos a traves del procesamiento de
propio que hoy por hoy forman el cerebro de los más de 100.000 pruebas y desafíos de
robots de competencias diseñados en nuestra codificación a más de 2.000 empleadores y
universidad. desarrolladores, cuales son los lenguajes de
programación con mayor numero de
2. MOTIVACIÓN Y METODOLOGIA programadores y mayor utilización.

La metodología aplicada para la construcción


de este articulo esta basada en la revisión
documental de las teorías de los lenguajes de
programación estándares y su aplicación en la
implantación de algoritmos en robots
autónomos, así como también casos de usos
aplicados en la construcción y programación
de los mismos. Es importante destacar que la
motivación en la investigación en esta área
está dada por la aparición de nuevas ramas
tecnológicas que integran diversas disciplinas
las cuales están siendo aplicadas en diversas
carreras de ingenierías en las universidades,
dándose el caso particular de la UNEG. Figura 1. Lenguajes mas populares 2014
fuente Codeeval.org
3. LENGUAJES DE PROGRAMACIÓN

Desde que se crean los primeros lenguajes de Según la última evaluación de abril del año en
programacion de alto nivel FORTRAN ,ALGOL, Y curso del 2014 phyton y java, se encontraba en
COBOL, entre 1957-1960 quedo evidenciado la la cima de popularidad por tercer año
posibilidad del hombre de manipular la consecutivo. le siguen C++ y Ruby, entre los
informacion y con ella aprovechar al maximo los cuatro suman mas del 75 % de aceptacion por
recursos automaticos de procesamiento y parte de los desarrolladores quienes los
almacenamiento, disponibles en la primeras utilizan entre otras cosas por su portabilidad ser
computadoras como la UNIVAC-I. El crecimiento multiparadigmaticos, facilidad de uso para el
de la industria del hardware dese la invencion del desarrollo de aplicaciones a la medida, Apps
chip y llegando a la nanotecnologia permitio que entre otras.
Ahora bien dentro de esa lista de lenguajes de expresión de las ideas, menos
codigo los utlizados para el desarrollo de posibilidad de cometer erroes y permiten
aplicaciones en robotica en inteligencia artificial tener una visión más amplia del
destacan problema como mencionamos
anteriormente el uso del computador
 Lenguaje C como procesador principal abrio un

 C++, amplia gama de lenguajes para los


robots Incluso para robots con
 Java
microprocesadores suele haber
 Phyton, compiladores cruzados específicos que
permiten la programación en lenguajes
 Prolog,
de alto nivel.(Almagro 2012).
 Lisp
b) Son lenguajes estandarizados, que
 RCX permiten portabilidad con lo cual un

 OPEN-R programa de robot despues de


compilado es capaz de ejecutarse en
 JDE
cualquier ambiente, en la mayoria de los
 y por otro lado desarrollos para robots podemos
encontrar codigo realizado en C, JAva
 SDK, para Android
C++, phyton
 Arduino IDE
c) Permite emplear multiples paradigmas
como POO y funcional: esto en el caso
Los lenguajes mas utilizados en la programación de los lenguajes C++, Java con la POO
de robots, fuera de todo titubeo, son los les permite encapsular la funcionalidad
fundamentados en texto, por su flexibilidad y en forma de objetos con metodos que se
robustez. Claro está que estos no son los unicos, pueden invocar y colocan a disposicion
sino que de los lenguajes de proposito general los mecanismos de herencia y
que existen, los listados anteriormente son polimorfismo, en este caso Phyton, por
frecuentemente utilizados por sus caracteristicas ser multiparadigmatico, (POO- Funcional
particulares A continuación vamos a detallar las - Imperativo) lo convierte en un lenguaje
caracteristicas relevantes que hacen a estos facilmente adaptable a los
lenguajes factibles para su uso en robotica. desarrolladores y su experticia.

a) Son Lenguajes de Alto Nivel: mejor d) Elevado número de bibliotecas ya


creadas para distintas funciones, por lo u objetos particulares. existen esfuerzos de
que se puede aprovechar al maximo los establecer lenguajes especıficos para robots,
nuevos desarrollos. como Task Description Language (TDL) de
Simmons [SA98] o Reactive Action Packages
e) La creciente industria de Open Source y (RAP) de Firby [Fir94], (Almagro, 2012) que
las herramientas libres han han calado tratan de incluir en la propia sintaxis del lenguaje
fuertemente entre las sociedades de algunas ventajas y primitivas para la
docentes e investigadores en programación de robots como la
el campo de la robótica. Incluso empresas descomposición de tareas, la monitorización de
donde la la venta de robots, es su la ejecución, la sincronización, entre otras.
principal ingreso, han apostado a este tipo Tambien se encuentran lenguajes como los
de desarrollo a fin de promover desarrollados por la empresa Lego y su popular
comunidades alrededor de sus productos., Lego Mindstorms, quien usa el novedoso
que les permitan incorporar innovaciones software EV3, la popularidad del Mindstoms ha
de forma mas expedita. sido tan exitosa dentro del ambito academico
que la comunidad ya ha desarrollando todo un
f) Son lenguajes populares y de facil
sistema operativo denominado BrickOS,
aprendizaje incluso una persona novata o
(basados en c,c++) y un lenguaje NQC, Todos
con conocimientos basicos en el asunto
estos lenguajes llevan asociado una semántica,
de la robótica puede, con estos lenguajes,
que se convierte entonces en un desafio
introducirse a la disciplina sin mayores
cognositivo acerca de como suscitar una
inconvenientes..
conducta especifica en el robot de acuerdo al
entorno y/o plataforma en el que se encuentra.
4. PROGRAMANDO PARA ROBOTICA
E INTELIGENCIA ARTIFICIAL.
Tal como hemos observado actualmente, la
La programación para robotica tiene mayoria de los robots se programan en C, C++
caracteristicas muy particulares una de ellas es o alguna variante del mismo, por su eficiencia
que los Robots poseen recursos de rapidez, potencia y facilidad de integración con
procesamiento y almacenamiento limitado, las diferentes plataformas y manejo de lineas
frecuentemente no llevan consigo disco duro, no sensoriales. En el caso de la inteligencia artificial
cuentan con megas extra para cache, entre otros, el lenguaje que se filtro de los primeros años de
por lo que es necesario hacer uso del computador la robotica a esta area es Lisp, basicamente por
como entorno de desarrollo para luego descargar aprovechar al maximo los recursos de memoria,
en el robot lo que sera el programa a ejecutar en al asignar por demanda la misma, usar como
la tarea especifica. En estas aplicaciones lo control la recursión y por tener como su principal
particular de robotica se comprimen en bibliotecas estructura de dato la lista.
En el caso de Prolog, es un lenguaje utilizado en ese contexto permiten
frecuentemente para desarrolar soluciones de Ia
por que es un lenguaje que entre otras cosa abordar con éxito la naturaleza concurrente,
permite la reevaluacion como prodso de flujo distribuida y la necesidad de visualización
basico, las clausulas como forma basica de típicas de
instruccion es reversible en si la sintaxis de este los programas para robots
lenguaje esta basado en preguntas y reglas y .
permite analizar continuamente cada caso ,
basado en objetos estructurados, estas 5. COMO ESTAN PROGRAMADOS LOS
ROBOTS DE GIPAR
caractristicas hacen del lenguaje uno capaz de
almacenar datos y conocimiento, sacar Mientras la comunidad Open Source sigue en

conclusiones y tomar desiciones, aciones tipicas, crecimiento no ha dejado de estar presente en

o asi se espera, a realizar por un robot . el entorno de la robótica; en la mayoría de las


aplicaciones robóticas actuales participan
Otra via que ha propiciado la masificacion de la proyectos como Player/Stage/Gazebo, ROS,
robotica en la investigacion y la academia es el OpenCV. Todos creados y mantenidos por esta
movimiento de Open sourse al respecto Almagro comunidad.
(2012:11) dice , “Los proyectos Open Source han
generado un profundo impacto en la comunidad Los robots de la Uneg son construidos y

robótica, al igual que está ocurriendo con el Open especialmente programados, haciendo uso de

hardware.” y el proyecto de Arduino es uno de Arduinos, como procsador, proyectos y librerias

estos proyectos de open harware el cual esta de codigo abierto, lo que ha permitido innovar

siendo apliamente utilizado por la comunidad para haciendo uso de los proceadores y sistemas

el desarrollo de robotica y el ambito docente en operativos, muy diversos Android en esta

las competencias de robots como Robocup y en categoria se lleva la guinda del pastel ya que a

Venezuela, las competencias organizadas por la traves de los proyectos de Open Cv y su

Asociación Venezolana de robotica y domotica entorno de desarrollo SDK se ha podido

AVEROD. El software de Arduino IDE, es programas y hacer actuar robots de con

también de código abierto. Y el codigo fuente para propositos muy especificos.

el entorno Java es liberado bajo la licencia GPL y


La fortaleza de los algoritmos desarrollados
los codigos fuentes para los ambientes y
bibliotecas de C y C ++ están bajo la licencia
LGPL.
6. CONCLUSIONES
El robusto soporte de GNU/Linux para la
◦ Los robots solo pueden ser utiles sen la
multitarea, las comunicaciones remotas existente
medida que su software sea util
◦ Existen gran variedad de lenguajes para LA ROBÓTICA Tesis doctoral
programarlos desde ensamblador hasta Universidad Carlos III de Madrid.
lenguajes de alto nivel comomlos descrito
en este articulo
Bruschi, Elbio (2012), Lenguajes para programar
◦ no existe aun una estandard para robots, Blog en linea disponible en
programarlos dado la naturaleza
heteregenea de su construccion, entre http://megustaaprendertecnologia.blogspot.com/
dispositivos de hardware y funcionalidades 2012/02/lenguajes-para-programar-robots.html

◦ cada robot se emieza a programar desde


el inicio ( sotware diseñao y construido a Codeeval.org “Most Popular coding Languages”
medida) a partir de los reuerimintos disponible en
particulares
http://blog.codeeval.com/codeevalblog/2014
◦ los requisitos especificos del software #.VD1-V5RtXec
desarollado son entre otros la agilidad la
multitarea y comunicaciones efectivas
entre elementos dispares. Barrera, Pablo, et Al (2005) Modelos y
herramientas de software libre en el

campo de la robótica
.

7. REFERENCIAS
Brickos.sourceforge.net/documents.htm
Almagro Cádiz, Mario (2012),
OOML: UNA BIBLIOTECA C++ PARA EL
DESARROLLO MECÁNICO APLICADO A
8.

También podría gustarte