collapse

* Posts Recentes

O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Injured robots learn to limp  (Lida 24993 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Injured robots learn to limp
« Responder #15 em: 03 de Junho de 2015, 18:01 »
Pffffffffffffffffffffffffffffffffff.
Fazia isso com um arduino  8)
Avr fanboy

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.193
Re: Injured robots learn to limp
« Responder #16 em: 03 de Junho de 2015, 19:01 »
Segundo os autores:
"it chose this walking styles from thousands of walking styles programmed into it"

O que vou dizer é real e creio que se aplica a essa frase:

Um senhor vai num autocarro que entretanto pára para deixar entrar e sair passageiros
Como é a paragem do senhor, ele desce as escadas do autocarro, tropeça e espalha-se ao comprido
Ficam todos a olhar para ele com um olhar do tipo "coitadinho do senhor"
Ele levanta-se e diz em voz alta "Cada um sai como quer"

Moral da história, cada robot escolhe a forma como quer andar   ;D


Offline nvoltex

  • Mini Robot
  • *
  • Mensagens: 211
Re: Injured robots learn to limp
« Responder #17 em: 03 de Junho de 2015, 19:03 »
Um dos autores responde a esta questão na secção dos comentários:

"That is not correct (I am one of the authors). From our FAQ:  The robot is not simply picking a working gait from a small library of options. The map (or library) has over 13,000 behaviors. Yet the robot finds one that works after trying around 8 of them. Clearly, it is not testing them all. It is able to do this because the robot, like a scientist, carefully chooses which experiments to conduct to find an answer as quickly as possible (here, the answer the robot seeks is how to keep functioning despite its damage).The map of behaviors is not hand-designed: it is learned by the robot. The robot uses a computer simulation of itself to create this map ahead of time. These maps can be quite large. In our experiments with the six-legged robot, the map contained over 13,000 gaits. While generating that map is computationally intensive, it only has to be done once per robot design before the robots are deployed. Importantly, this map does not represent all possible behaviors the robot can make. The space of all possible behaviors that is searched to find these 13,000 high-performing behaviors is unimaginably vast. In fact, it contains 10^47 possible behaviors, which is about how many water molecules on the planet Earth! That would be too many for our robot scientist to search through once damaged. Instead, we search through this vast space ahead of time to find 13,000 high-performing gaits (via a new algorithm we invented called "MAP-Elites"). In short, whereas previous algorithms searched for needles in fields of haystacks, we gather the needles ahead of time, so we are searching through a pile of needles to find the right one."

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.193
Re: Injured robots learn to limp
« Responder #18 em: 03 de Junho de 2015, 19:13 »
Pffffffffffffffffffffffffffffffffff.
Fazia isso com um arduino  8)

"13.000 behaviors" acho que não te safavas com um arduino...
O mais estúpido disto tudo é que ele não necessita de ter 13.000 comportamentos diferentes,
só tem 6 patas, logo só existem 6^2 (36) variantes quanto à falha das patas para associar a uma forma de deslocação diferente.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Injured robots learn to limp
« Responder #19 em: 03 de Junho de 2015, 19:24 »
Pffffffffffffffffffffffffffffffffff.
Fazia isso com um arduino  8)

"13.000 behaviors" acho que não te safavas com um arduino...
O mais estúpido disto tudo é que ele não necessita de ter 13.000 comportamentos diferentes,
só tem 6 patas, logo só existem 6^2 (36) variantes quanto à falha das patas para associar a uma forma de deslocação diferente.

Consegues com um arduino sim, essas variantes nao fazem muito sentido pois para cada pata tens varias distancias e velocidades.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Injured robots learn to limp
« Responder #20 em: 03 de Junho de 2015, 19:28 »
São sequências de movimentos, os servos são dinamixel(pelo menos parecem) logo falam todos serial, ligados sem série(Redundant department of redundancy lol), tecnicamente uma máquina de estados bem pensada e usas 2-3 bytes para cada movimento de todos os servos, bit-packing, quiçá RLE e enfia-se tudo na EEPROM.
Avr fanboy

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 2.193
Re: Injured robots learn to limp
« Responder #21 em: 03 de Junho de 2015, 20:58 »
Referi que não daria num arduino, programado normalmente, de acordo com as especificações descritas pelo @nvoltex retiradas de um comentário do youtube.
Desconheço a plataforma usada, mas dá a entender que aquilo tem um abuso de processamento.

Acredito que a rotina para mexer um bicho daqueles não tenha nada que se diga, é tudo à base de sequências e velocidade de cada uma delas, essas são as variáveis que devem ser alteradas caso alguma das 6 patas falhe.

Daí se conseguir colocar num array múltiplo de 36, os valores respectivos.
Este múltiplo corresponde à sequência do ciclo das temporização de cada servo assim como a velocidade.
Devo ter tropeçado por aqui algures mas é +- isso...

Por isso sim, um arduino daria se o código for escrito decentemente.