davidgermanorodrigues / Trabalho3_Grupo5

0 stars 0 forks source link

Melhorias necessárias e testes. #1

Open DanielGadelho opened 2 years ago

DanielGadelho commented 2 years ago

Viva.

Melhorias previstas:

  1. Adição de um "argparse" no "game_bringup.launch" para dar a possibilidade de:
    • o utilizador escolher quantos jogadores quer spawnar;
    • executar o driver;
    • executar o referee;
    • escolher o mundo.

Por enquanto, devemos testar isto, para ver se funciona tudo bem.

DanielGadelho commented 2 years ago

Viva.

No commit efffe1035df067c0e81d51043d2d4828efde424d foram feitas as seguintes alterações:

  1. No ficheiro "game_bringup.launch":

    • foi adicionado o argumento "number_of_players" que permite escolher quantos jogadores quer spawnar por cada equipa, tendo como valores válidos: [1, 2, 3];
    • foi adicionado o argumento "driver" que permite ao utilizador escolher se quer executar o nó "driver.py" em cada jogador;
    • foi adicionado o argumento "referee" que permite ao utilizador escolher se quer executar o nó "th_referee.py", em que esse nó é executado num terminal separado;
    • foi adicionado o argumento "driver_mode" que altera o "driver_mode" do jogador "blue1" (propositado), mantendo os outros jogadores com o valor default;
    • alterado o argumento "visualize" que permite executar ou não executar o "visualize" do jogador "blue1" (propositado), mantendo os outros jogadores com o valor default.
  2. No ficheiro "driver.py":

    • foram alterados os limites de deteção, para uma melhor deteção (requer testes).
    • foi alterada a forma como a mensagem de estado aparece, aparecendo agora na imagem da câmara do respetivo robot.
  3. No ficheiro "bringup.launch":

    • foi adicionado o argumento "driver" para fazer ou não fazer a execução do nó "driver.py" no jogador em causa.
    • foi adicionado o argumento "driver_mode" para selecionar se o jogador em causa se movimentará manualmente (com o myteleop, usando driver_mode:=1) ou autonomamente (com o driver.py, usando driver_mode:=2).
  4. No ficheiro "gazebo.launch":

    • foi adicionado o argumento "world" que permite ao utilizador escolher o mundo que quer abrir, sendo que "world:=th_arena_1" abrirá o mundo "th_arena_1", e etc...
DanielGadelho commented 2 years ago

Viva.

Detetado um problema por @Rubenvale31 (obrigado pelos testes 😉) em que ao abrir o "game_bringup.launch" com 2 ou mais jogadores por equipa, apenas o red1, green1 e blue1 funcionavam, e os restantes eram spawnados, mas ficavam parados e não andavam, e se alguém lhes tocasse, não contavam no árbitro.

Problema resolvido no commit 016d34c22534bd68153e4fae756581a9418b5737 ao adicionar os restantes jogadores (red2, red3, green2, green3, blue2 e blue3) ao ficheiro de parâmetros "game.yaml". Também foi adicionado um "else" no "driver.py" com um "raise ValueError" quando para um determinado jogador, por alguma razão, não é feita a identificação da sua equipa com sucesso.