Robot

logo_eva

Para efetuar a montagem do Robô de Resgate em Marte será utilizado o Kit MindStorms da LEGO, um conjunto de peças que permite que se crie não apenas estruturas, mas também comportamentos, permitindo a construção de modelos interativos, com os quais se aprendem conceitos básicos de ciência e de engenharia.

O Kit LEGO MindStorms é constituído pela seguintes partes:

  • Processador Atmel 32-bit ARM;
  • Três portas de saída digital;
  • Quatro portas de entrada (uma IEC 61158, tipo 4);
  • Display tipo matriz;
  • Alto-falante;
  • Bateria recarregável de lítio;
  • Bluetooth;
  • Porta de Comunicação USB 2.0;
  • Três servo-motores interativos (com encoder acoplado);
  • Quatro sensores: ultra-som, som, luz e contato;

mindstorms_nxt
ΣVΛ – Emergency Vehicle Assistant————————————————Última Atualização: 12 / 05 / 2009

Abaixo segue algumas imagens do andamento da construção do robô. Já estamos na fase final da montagem, e a programação ainda está em desenvolvimento. Mais a frente divulgaremos os vídeos com o robô sendo testado dentro da arena.

Posted by: Thassyo

ΣVΛ – Emergency Vehicle Assistant————————————————Última Atualização: 19 / 05 / 2009

Teste da garra para simular a captura do boneco.

ΣVΛ – Emergency Vehicle Assistant————————————————Última Atualização: 26 / 05 / 2009

Abaixo segue o algoritmo utilizado pelo grupo para o controle do Robô de Resgate.

—————————————-ALGORITMO——————————————-

int move_time,count, max_busca, Qbonecos;
mutex semaforo;
strentrg entr, said;

#define velocidade 100
#define esquerda false
#define direita true
#define aberto  true
#define fechada false

task testa_sensor(){
while(true){
sensor = SENSOR_2;
toque1 = SENSOR_1;
}
}

task atua_motores(){
while(true){
Acquire(semaforo);

if ((sensor > 100) && (sensor < 750))
{
OnFwd(OUT_BC, 75);
}
else if ((sensor > 100) && (sensor < 750))
{

Release(semaforo);
}
}

task fecha_garra(){
while(true){
Acquire(semaforo);
if (((toque1 == true) && (stat_garra == aberto)){

}
}
Release(semaforo);
}
}

task abre_garra(){
while(true){
Acquire(semaforo);
if ((max_busca >= 5) && (stat_garra== fechado)){

}
Release(semaforo);
}
}

task main()
{
max_busca = 0;
count = 0;
sentido = esquerda;                             //false = direita true = esquerda
stat_garra= fechada;
Qbonecos = 0;
SetSensorType(IN_1, SENSOR_TYPE_LIGHT);
SetSensorMode(IN_1, SENSOR_MODE_RAW);
SetSensorType(entr_1,SENSOR_TYPE_TOUCH);
SetSensorMode(entr_1,SENSOR_MODE_BOOL);
OnFwd(said_BC, velocidade);
Precedes(testa_sensor, atua_motores, fecha_garra, abre_garra, treme_garra);
while(true)
}

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.