Mudanças entre as edições de "TrabPrat SSC0712 2012(fosorio)"

De CoteiaWiki
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 63: Linha 63:
 
   Multi1 é um mapa de 16.00 x 16.00 metros (-8 a +8) e usa um bitmap de 500 x 500 pixels (rooms.png)
 
   Multi1 é um mapa de 16.00 x 16.00 metros (-8 a +8) e usa um bitmap de 500 x 500 pixels (rooms.png)
  
   multi2.cfg e multi2.world e vazio.png (Link será disponibilizado AQUI)
+
   multi2.cfg e multi2.world e vazio.png (Link disponibilizado [http://osorio.wait4.org/SSC0712/TrabPrat01 AQUI])
 
   Multi2 é um mapa de no máximo 32.00 x 32.00 metros (-16 a +16) e usa um bitmap de 1000 x 1000 pixels (vazio.png)
 
   Multi2 é um mapa de no máximo 32.00 x 32.00 metros (-16 a +16) e usa um bitmap de 1000 x 1000 pixels (vazio.png)
 
   Este mapa será fornecido aos alunos vazio, apesar de existir um "mapa real" que será usado nos testes.
 
   Este mapa será fornecido aos alunos vazio, apesar de existir um "mapa real" que será usado nos testes.
Linha 70: Linha 70:
 
3. Arquivos com as Posições dos Feridos:<br>
 
3. Arquivos com as Posições dos Feridos:<br>
 
   rescue.txt (arquivo fornecido junto a Aula 06)
 
   rescue.txt (arquivo fornecido junto a Aula 06)
   rescue1.txt (Link será disponibilizado AQUI)
+
   rescue1.txt (Link disponibilizado [http://osorio.wait4.org/SSC0712/TrabPrat01 AQUI])
 
<br>
 
<br>
  

Edição atual tal como às 03h39min de 24 de abril de 2012

SSC0712 - Programação de Robôs Móveis (2012)

Prof. Fernando Osório
Estagiário PAE: Diogo Correa (Mestrando - LRM / CCMC)
Semestre: 2012/1



Trabalho 1 - CHECK POINT:

TR: Trabalho Individual (Implementação no Simulador Player-Stage)
Aplicação de Robótica Móvel: SEARCH AND RESCUE
DATA DA APRESENTAÇÂO: 27/04/2012 (data original) e 04/05/2012 (extensão da data limite)


DESCRIÇÃO DO TRABALHO

  • Implementar o controle inteligente de um grupo de robôs (entre 3 e 5 robôs);
  • Os robôs irão executar uma tarefa de "Search and Rescue" (busca e resgate de feridos);
  • Existem um total de 7 pessoas feridas a serem resgatadas no mapa (buscar e resgatar);
  • Os robôs devem explorar o ambiente, encontrar e resgatar os feridos (se aproximar a menos de 1 metro);
  • Os robôs devem gerar um arquivo de LOG com o registro da simulação, ver dados sobre o formato abaixo em "complementos"
  • Os robôs não devem colidir nem com as paredes e nem com os demais robôs;
  • Serão fornecidos 2 mapas aos alunos, um conhecido (trabalhado na Aula 06) e um desconhecido (ver em "complementos");
  • Serão fornecidas 2 listas de posições dos feridos no ambiente (uma para cada mapa), considerando a localização dos robôs (position2D);
  • Será considerado que os robôs possuem a sua localização exata conhecida (position2D) e a localização dos feridos;
  • O robô poderá operar durante um certo tempo para explorar o mapa, antes de começar a operação de resgate (5 min.) - LOG inativo;
  • O robô irá operar durante um tempo máximo de 10 minutos após o início da busca - LOG ativo;
  • Alternativa ao uso de tempo pode ser um contador do nro. de chamadas ao comando "playerc_client_read(client)", sendo limitado a (3000 leituras ~ 5 min com timestep de 0.1 seg) e (6000 leituras ~ 10 min com timestep de 0.1 seg);
  • O robô deve usar o sensor Laser Sick (180 graus de varredura) para a navegação;
  • ENTREGAR: Arquivo com o controlador do robôs (em C ou C++) e Arquivos com os LOGs das simulações.


COMPLEMENTOS

1. Formato do Arquivo de LOG:

  Arquivo com nome: log<nro>.txt  (log1.txt e log2.txt - logs para cada um dos 2 mapas)
  Cada linha do arquivo de LOG deve conter os seguintes dados: 
  Nro_Robô (1a5) + espaço + Stall (0/1) + espaço + Posição_X (position2D px) + espaço + Posição_Y (position2D py) + espaço + Time_Stamp (tempo ou contador) 
  A posição do Position2D deve ser gravada com pelo menos 2 casas após a vírgula
  Importante: grave px e depois py, nesta ordem!
  Separe os dados por um espaço em branco. O nro. do robô e o stall são valores de um único dígito.
  O tempo é em milisegundos ou deve ser um inteiro representando o contador das chamadas ao comando "playerc_client_read(client)".
  O contador de chamadas é relacionado a cada robô, pois cada robô tem sua chamada ao "playerc_client_read(client)".
  Exemplo:
  1 0 3.00 3.00 1 
  2 0 4.56 -1.00 1
  3 0 -1.23 -2.34 1
  1 1 3.10 3.00 2
  2 0 4.56 -1.00 2
  3 0 -1.23 -2.34 2
  Neste exemplo temos 3 robôs, sendo que o primeiro andou e bateu (stall) e os outros 2 não se moveram em 2 passos do client_read.  


2. Arquivos dos Mapas:

  multi1.cfg e multi1.world (arquivos fornecidos junto a Aula 06)
  Multi1 é um mapa de 16.00 x 16.00 metros (-8 a +8) e usa um bitmap de 500 x 500 pixels (rooms.png)
  multi2.cfg e multi2.world e vazio.png (Link disponibilizado AQUI)
  Multi2 é um mapa de no máximo 32.00 x 32.00 metros (-16 a +16) e usa um bitmap de 1000 x 1000 pixels (vazio.png)
  Este mapa será fornecido aos alunos vazio, apesar de existir um "mapa real" que será usado nos testes.


3. Arquivos com as Posições dos Feridos:

  rescue.txt (arquivo fornecido junto a Aula 06)
  rescue1.txt (Link disponibilizado AQUI)



Atualizado em Abril de 2012
F.Osório

Voltar para SSC-712(fosorio)