collapse

* Posts Recentes

Super obsolescência super programada? por SerraCabo
[06 de Agosto de 2022, 11:36]


Motor de aspirador por dropes
[02 de Agosto de 2022, 22:18]


Serviço de dessoldar e soldar micro-usb tlm Samsung GT-S6312 por senso
[01 de Agosto de 2022, 22:20]


Condensador Poly .47K X2 por brunus
[26 de Julho de 2022, 16:11]


pequeno robot arte por Robotarium
[21 de Julho de 2022, 15:45]


Diferença entre fontes por jm_araujo
[13 de Julho de 2022, 09:27]


Dual Op-amp Test board - uma ideia simples, barata e bem esgalhada. por dropes
[10 de Julho de 2022, 20:35]


PHILCO Radio Manufacturing Factory Automation 1929 por SerraCabo
[10 de Julho de 2022, 18:22]


Meu novo robô por josecarlos
[08 de Julho de 2022, 23:06]


Desenvolvimento para RaspberryPi Pico em Windows < 10 por KammutierSpule
[06 de Julho de 2022, 09:15]

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

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

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.730
  • 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.104
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.104
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.730
  • 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.104
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.