Hace 15 años | Por --87131-- a muyinteresante.es
Publicado hace 15 años por --87131-- a muyinteresante.es

[c&p] La aventura del robot Phoenix sobre la tundra ártica de Marte la están viviendo en carne propia los 30 ingenieros y programadores de la NASA que tienen la compleja tarea de escribir y probar entre 1.000 y 1.500 líneas de código de software cada día. El equipo ha de escribir larguísimas secuencias de códigos para hacer funcionar cada una de las partes del Phoenix. Equivóquese usted en un par de números y el brazo robot, por ejemplo, verterá la tierra en el terreno y no en los hornos analizadores.

Comentarios

jotape

#12 la NASA no teledirige los robots como si fueran un coche RC. Se analiza el terreno, se crean modelos 3D, se prueban en réplicas que hay aquí en la Tierra, se programan secuencias de movimientos, se testean, se vuelven a programar... y cuando está todo depuradísimo, se envía al robot (que está atomarpoculo kilómetros) para que las ejecute.

Con el pedazo de lag que hay entre la Tierra y Marte, cualquier secuencia errónea podría significar cagarla y no enterarnos hasta pasados algunos minutos, cosa que no se pueden permitir.

PD: es posible que el que haya escrito el artículo no tenga npi y cuando diga código no se refiera a código fuente y compilable, sino a líneas de instrucciones complejas tipo "mover(x,y)" o algo así que tenga el robotín

Big_che

#10 pero esas lineas no se compilan, las traducen ellos a codigo maquina en binario y las introducen una a una por teclado para un z80 0001011010111010100110, juas, juas,

D

#13 has cometido un error

debería ser:

if (Life == true) ">

Ya no puedes ser ingeniero en la NASA

Fernando_x

cierto que programar el movimiento de brazos roboticos articulados en 3D es una tarea compleja y odiosa... pero miles de líneas diarias? me parece algo exagerado.

Razz

1500 (lineas) / 30 (ingenieros) = 50 lineas por día y persona

bah... no es pa' tanto...

D

Si usaran Windows no tendrían esos problemas... es más, no tendrían ningún problema, ya que la sonda no hubiera llegado a Marte

r

#11 De hecho... él y sus colegas deben escribir unas 20 ó 30 secuencias diarias, cada una de las cuales puede tener hasta 50 líneas de código.

Es decir, ni de lejos llegarán a las 1500 lineas en total. Simplemente controlan los distintos aparatos como hace cualquier operario de un control numérico o un robot industrial todos los días. Nada nuevo bajo el sol.

Lo que ya es de libro es el último párrafo. ¿A qué viene lo de esquivar rocas? El Phoenix es un lander, es decir, no se mueve. De hecho, el Spirit y el Oportunity ya tienen sistema autónomos de evitación de obstáculos. No hace falta soñar mucho. Los primeros pasos en ese tema se dieron en el Caltech (...y en el MIT, Standfor, Carnegie-Mellon, Oxford, LAAS, DLR, Bonn, etc), ¡hace 20 años!

test

#5 Es que ni la persona más estúpida mandaría a Marte un robot bajo control de un sistema operativo de ordenadores de sobremesa.
¿A qué c***nes viene ese comentario que acabas de escribir? Ojojo, qué gracia...

k

E incluso podria meter el brazo en el horno y no en la tierra

g

Hum, me recuerda al trabajo del protagonista de gattacca, "enhorabuena Jerome, ningún error un chorrocientos millones de trillones de tecleos..."

T

#10 Extraído del artículo:
Según el ingeniero de software del Jet Propulsion Laboratory Matthew Robinson, él y sus colegas deben escribir unas 20 ó 30 secuencias diarias, cada una de las cuales puede tener hasta 50 líneas de código.

Vamos, que el que ha escrito el artículo ha hecho la misma cuenta pero al revés lol

La verdad es que la idea de escribir código tan crítico diariamente y con tolerancia cero a errores acojona bastante.

jonolulu

#3, #7 Si, pues como para darle inteligencia artificial está la cosa, como se indica en el artículo.

De todos modos, insisto. El parato sólo tiene una parte móvil y es el brazo (no tiene ni ruedas ni patas). A ver si los tedax van a tener más tecnología que la NASA en sus robots

No me imagino a los tedax programando líneas y líneas para mover el robot

jonolulu

No acabo de entender... ¿No lo han enviado ya programado? Si así fuera con órdenes simples no haría falta más

jotape

#20 se mueven sus brazos, que ya es bastante... cuando hablo de entorno, incluye al propio robot. Ya lo han dicho por ahí arriba, una diferencia de unos números es el abismo entre meter tierra en el horno o meter el brazo del robot

uno_ke_va

#1 Claro, los requisitos de un robot único en un viaje a un planeta poco conocido tienen que ser de lo más clarito...

jonolulu

#19 Que el Phoenix no se mueve No necesita conocer más de 2m a la redonda

Sobre la PD, eso es lo que decía en el primer mensaje, pero entenderás que el robot ya está programado para recibir instrucciones. Al fin y al cabo el brazo sólo tiene una cantidad de movimientos limitados y conocidos, y con un sistema de coordenadas es suficiente

unexpectedkas

En realidad por equivocarte en 1 numero no enviaras el brazo al horno, ya que en robotica se hacen (por desgracia) los movimientos punto a punto, en intervalos pequeños, por lo que como mucho te cercarias un poco.

Eso de SECUENCIAS y numeros no es otra cosa que enviarle a TODAS LAS ARTICULACIONES que intervengan en una accion, la lista de angulos, velocidades y torque que cada servo debe aplicar.

Si la NASA no tiene un editor 3D, como un 3DStudioMax, que una vez realizado el movimiento, lo convierta a "secuancias de numeros" es realmente para reirse de ellos... joder que estamos hablando de la NASA.

Si un videojuego puede hacer animaciones...........

D

"Los creadores del software del Phoenix usaron el lenguaje de programación “C” para crear un sistema de operaciones Linux"

que coño tratan de decir? que han programado un sistema operativo linux desde 0 ?

Razz

#15 buffff mucho tiempo sin programar en C

Gracias!

j

#25 Va a ser que no... la NASA últimamente usaba VxWorks...

Es el típico artículo de becario (bueno, becaria este caso) porque vamos, entre las frases confusas y, cómo no, una mención a una peli de ciencia ficción y la frase "los ingenieros sueñan...". En fin.

EDITO: Pues quien firma no es precisamente una becaria... http://www.angelaposadaswafford.com/. Igual es que tuvo un mal día...

d

Qué noticia más rara. ¿Secuencias? Supongo que son algún tipo de macros o un lenguaje específico para mandar órdenes ya previstas, no creo que tengan que ponerse a programas tozos de C cada día, lo veo algo pedestre. Supongo que además, aquí en la Tierra debe haber ordenadores que ya conocen la situación de la nave y se les puede indicar qué es lo que se quiere hacer para que ellos generen las órdenes a enviar a la Phoenix. Se prueban por si acaso y listo. Vamos, no creo que la NASA necesite estar programando cada día A MANO cada movimiento de cada articulación del brazo.

D

#15 hagamos las cosas bien:

if (Life) puts("Hello world");

j

#1 Si bien creo que el artículo se refiere a lo que dice #14, los robots de la NASA NO se mandan programados del todo.

Como el viaje dura un tiempo elevado, el robot se envia con las funciones básicas y luego se le va mandado el código durante el viaje; así los programadores no están de brazos cruzados mientras el bicho se dedica a viajar por el espacio. No recuerdo ahora mismo de donde he sacado la información, creo que de una charla que dio una de la NASA en la Uni.

y

Eso de "Los creadores del software del Phoenix usaron el lenguaje de programación C para crear un sistema de operaciones Linux" suena a mala traducción y no muy fiable, ya que el sistema operativo que usa es VxWorks.

E

#11 bah será todo copypaste lol

D

El sofware es así; te equivocas y funciona con resultados inesperados. No tiene nada de extraño.