Está en la página 1de 18

Gerardo Ramírez

ROBÓTICA.
II. LENGUAJES Y PROGRAMACIÓN
2.1 PROGRAMACIÓN ROBOT
2.2 LENGUAJES DE ROBOT
2.1 Programación del robot
BLOQUE 2

2.1 Programación del robot.

Todo dispositivo electrónico o máquina requiere de un idioma tanto para De entre los más de 1.500 lenguajes de programación que existen, ¿Cuál
moverse como para comunicarse con otros dispositivos, con humanos o es el mejor lenguaje de programación robótica? Pues sencillamente,
con el entorno. depende. Depende de las aplicaciones que se pretendan desarrollar o del
sistema que utilizado.
Este idioma es el lenguaje de programación que un robot necesita, es Algunos de los lenguajes de programación de robots disponibles son: C#,
decir, el código o conjunto de instrucciones -algoritmos- que hará que el Python, Java, MATLAB o PHP, pero este artículo se centra en el lenguaje de
robot ejecute las tareas de forma eficiente. programación robótica que Robotnik trabaja para el desarrollo de sus
robots móviles autónomos.
BLOQUE 2

2.1 Programación del robot.

Programación robótica con PYTHON

Conocido como el lenguaje de los datos, PYTHON es un lenguaje de programación de código abierto,
probablemente de los más sencillos, populares y versátiles de todos los que hay.

Es un lenguaje de Programación Orientada a Objetos (POO) totalmente vinculado al desarrollo de


inteligencia artificial y la realidad virtual.

Python es sobre todo un lenguaje muy flexible y rápido para prototipos en los que el usuario final
simplemente tendrá que ejecutar el código, sin necesidad de compilar.
El problema de Python es que quizás, como no tiene en cuenta los errores hasta que se ejecuta, puede
fallar en medio de un programa.
BLOQUE 2 Programación robótica con C++

El C++ surgió como extensión del lenguaje de programación C, conocido como un lenguaje
multiparadigma porque está orientado a objetos, igual que Python, pero también a paradigmas de
2.1 Programación programación estructurada y programación genérica.
Aunque el desarrollo de aplicaciones en C++ a veces precisa de más tiempo debido a que requiere

del robot. la compilación del software, se trata de un lenguaje de programación robusto que permite crear
programas complejos siguiendo una estructura sólida sin dar pie a equivocaciones o errores.
2.2 Lenguajes del Robot
BLOQUE 2

2.2 Lenguajes del Robot.

Lenguajes de CNC

Esta etapa vendría a ser como la prehistoria de los lenguajes de programación


robótica. En estos lenguajes, todavía no estamos hablando de robots, sino de
máquinas-herramienta, como tornos, taladros, fresadoras, pulidoras, etc., pero que
cuentan con un sistema de automatización, es decir, son operadas mediante
comandos que recibe de un sistema computerizado. Es la computadora la que
controla la posición y velocidad de los motores que accionan los ejes de la máquina.
El Control Numérico Computerizado (CNC) tuvo su origen a principios de los años 50
en el Instituto Tecnológico de Massachusets (MIT), en donde se automatizó por
primera vez una gran fresadora.
BLOQUE 2

Etapa: Lenguajes de programación de robots desarrollo de estos lenguajes. En este


A finales de los años 50 y comienzos de los documento se describen más de 20
60 empezaron a desarrollarse lenguajes de lenguajes que vieron la luz en la década de
programación de robots. Si exceptuamos los los 60’s, unos 30 lenguajes de la década de
lenguajes de la familia APT1 que, como se ha los 70’s, unos 60 lenguajes de la década de
indicado, estaría a caballo entre este los 80’s y otros 30 lenguajes de la década de
periodo y el anterior, el primer lenguaje de los 90’s, además de otros 30 lenguajes que,

2.2 Lenguajes programación a nivel de robot fue el MHI


(Mechanical Hand Interpreter) desarrollado
siendo de esas mismas décadas, no se ha
podido datar su año de inicio. A partir del

del Robot. en el MIT en 1960 para el robot MH-1 y que


apenas tenía primitivas para mover el robot,
año 2000 se reduce drásticamente la
generación de nuevos lenguajes de
testear los sensores y ramificar el programa programación de robots, entrando en el
según ciertas condiciones. tercer ciclo temporal.
Otros de los lenguajes más primitivos es
WAVE desarrollado en 1970 en la
Universidad de
BLOQUE 2

Durante esas décadas, los lenguajes fueron diseñados tanto por universidades e
institutos de investigación como por empresas del sector de la robótica. El primer
lenguaje comercial fue SIGLA (Sigma Language), desarrollado por Olivetti en 1974.

Lógicamente, a lo largo de ese tiempo, los lenguajes fueron evolucionando. Al principio


eran básicamente una lista de puntos, de coordenadas, por las que va pasando el brazo

2.2 Lenguajes robótico. Poco a poco se van incorporando funcionalidades para controlar el flujo del
programa (bucles, ramificaciones, etc.), para recibir información de sensores y de visión,

del Robot. para tomar decisiones, para emitir órdenes a diferentes efectores del robot, y para
sincronizar la acción de varios brazos o robots.

En buena medida la evolución de los lenguajes ha sido consecuencia de la evolución de


los robots: los robots dejaron de ser simples brazos, y los lenguajes fueron incorporando
mecanismos para manejar las nuevas funcionalidades que posibilitaban los robots, tales
como sensorización, visión, robots móviles, etc.
BLOQUE 2

2.2 Lenguajes del Robot.


Etapa: Frameworks robóticos

A partir del año 2000, la programación en el ámbito robótico vive la misma situación que
en los otros ámbitos: dejan de publicarse nuevos lenguajes de programación y empiezan
a proliferar los “frameworks”, plataformas o paquetes de software para el desarrollo de
programas para robots.
Estos frameworks suelen permitir diferentes lenguajes de programación, proveen
abstracción para diferentes robots, proporcionan entornos de desarrollo y entornos de
simulación, librerías y componentes, etc.
Seguramente los más conocidos son OROCOS (Open Robot Control Software) y ROS
(Robot Operating System), pero hay muchos más, como Player & Stage, Carmen,
Microsoft Robotics Studio, Robot Framework, RoboComp, Gobot, etc.
BLOQUE 2

El programa queda constituido por un texto de instrucciones o sentencias, cuya


confección no requiere de la intervención del robot; es decir, se efectúan «off-line». Con
este tipo de programación, el operador no define, prácticamente, las acciones del brazo
manipulado, sino que se calculan, en el programa, mediante el empleo de las
instrucciones textuales adecuadas.

En una aplicación tal como el ensamblaje de piezas, en la que se requiere una gran
precisión, los posicionamientos seleccionados mediante la programación gestual no son

2.1.1 Programación suficientes, debiendo ser sustituidos por cálculos más perfectos y por una comunicación
con el entorno que rodea al sistema.

textual. En la programación textual, la posibilidad de edición es total. El robot debe intervenir,


sólo, en la puesta a punto final.
Según las características del lenguaje, pueden confeccionarse programas de trabajo
complejos, con inclusión de saltos condicionales, empleo de bases de datos, posibilidad
de creación de módulos operativos intercambiables, capacidad de adaptación a las
condiciones del mundo exterior, etc.
BLOQUE 2

2.1.1 Programación textual.


En líneas generales, las ventajas de un lenguaje de programación off-lline frente a la
programación on-line son:

• El robot no se vuelve improductivo durante la programación

• Es más fácil la incorporación de sensores de visión y de fuerza

• permite la sincronización de equipamiento externo, para manejarlo eficientemente.

• Las construcciones de bifurcación y bucle permiten un manejo de errores personalizado (en


algunos lenguajes on-line, también se puede).
BLOQUE 2

2.1.1 Programación textual.


• Tareas repetitivas (como paletización) pueden programarse con relativa facilidad, usando
herramientas como las macro o las subrutinas (algunos lenguajes de guiado también tienen esta
posibilidad).

• Se puede desarrollar una librería de subrutinas para utilizar en futuras tareas de programación,
soluciones programadas previamente se reutilizan para nuevos programas.

• Varios programadores pueden trabajar simultáneamente en partes diferentes de un programa grande,


y luego se juntan los módulos individuales.

• La programación off-line separa el entorno de programación del entorno de operación. Se pueden


utilizar sofisticadas herramientas de programación para ayudar en el desarrollo del programa sin
sobrecargar las capacidades computacionales del controlador.
BLOQUE 2

2.1.2 Inteligencia Artificial.

Los beneficios de la inteligencia artificial y la robótica son innumerables. La pobreza y la falta de educación están altamente vinculadas. La
Se destaca la importancia en la consecución de los Objetivos de inteligencia artificial posee el potencial de crear sistemas educativos
Desarrollo Sostenible. Tanto así que puede utilizarse para combatir la personalizados y sumamente eficaces que puedan adaptarse a las
pobreza extrema y mejorar la calidad de vida en áreas remotas de formas necesidades de los estudiantes. Puede utilizarse para automatizar
muy diversas. Puede ayudar a identificar las causas de la pobreza y a actividades básicas en educación, como la calificación y ayudar a los
detectar las regiones más necesitadas. habitantes a aprender nuevas habilidades para apoyar a las
De esta forma se podrá combatir la pobreza en regiones específicas comunidades.
mediante la mejora de las tierras agrícolas y la agricultura. Además puede En la atención médica, se utiliza el poder de las computadoras para
ayudar con la distribución de la ayuda en áreas más pobres y devastadas analizar y dar sentido a una gran cantidad de datos electrónicos sobre los
por la guerra o los desastres naturales. pacientes, como las edades, las historias clínicas, el estado de salud, los
resultados de las pruebas, las imágenes médicas, las secuencias de ADN
y muchas otras.
BLOQUE 2
Estos análisis ayudaran a los médicos a tomar mejores decisiones y más eficaces,
mejorando la esperanza de vida de los pacientes.

En el ámbito laboral reduce los costos y salarios adicionales, aumentando la efectividad y


productividad de la empresa. La automatización de las actividades posibilita que las
empresas mejoren su desempeño al reducir los errores y mejorar la calidad y la velocidad;
en algunos casos puede llevar a lograr resultados que vayan más allá de la capacidad
humana. Como ya lo ha hecho a lo largo de la historia, la automatización también

2.1.2 Inteligencia
contribuye a mejorar la productividad. En épocas donde el crecimiento de la
productividad es mediocre, puede dar el impulso necesario para el crecimiento

Artificial.
económico y la prosperidad, así como ayudar a compensar el impacto de la disminución
de la población en edad de trabajar en muchos países.

En el último informe de PwC Fourth Industrial Revolution for Earth se identificaron más de
ochenta aplicaciones de inteligencia artificial que solucionan los retos que afronta el
planeta, a saber, el cambio climático, la biodiversidad y la conservación, la salud de los
océanos, la seguridad de los recursos hídricos, la pureza del aire y el riesgo de
catástrofes.
BLOQUE 2

Dentro de las aplicaciones se puede enumerar:

a. Vehículos eléctricos autónomos y conectados.


b. Redes eléctricas distribuidas.

2.1.2 Inteligencia c.
d.
Agricultura y sistemas alimentarios inteligentes.
Meteorología, climatología y pronósticos.

Artificial. e.
f.
Respuesta inteligente a las catástrofes.
Ciudades inteligentes, conectadas y habitables, diseñadas
por Inteligencia Artificial.
g. Un planeta digital transparente.
h. Aprendizaje por refuerzo para avanzar en el estudio de la
tierra. (PwC, 2018).
BLOQUE 2

2.1.2 Inteligencia Artificial.


La inteligencia artificial y la robótica podrán desempeñar tareas peligrosas, aburridas o
difíciles para el ser humano. En concreto pueden ayudar con tareas del hogar como la
limpieza, así como también desarrollar vehículos autónomos.

Puede realizar tareas que el hombre nunca hubiera podido concretar o bien porque
afecta la integridad del investigador o por falta de tecnología. Por ejemplo, en la
exploración del espacio exterior.

En el área de la minería cabe resaltar ventajas como la seguridad en la excavación y la


extracción de combustible. En la búsqueda de nuevos descubrimientos en la tierra, se
resalta la posibilidad de examinar el océano y otros sitios donde el ser humano no ha
podido llegar.

También podría gustarte