ThundeRatz / travesim

Gazebo simulation environment for IEEE Very Small Size Soccer robots
MIT License
29 stars 0 forks source link

Feature/field model performance #31

Closed lucastrschneider closed 3 years ago

lucastrschneider commented 3 years ago

Fala galerinha, tava testando umas coisinhas aqui e reparei que fiz uma coisa não muito boa na PR de atualização do campo. Lá, eu mantive a colisão da base do campo como uma mesh, igual ao visual. Mas a gente não precisa disso, a colisão da nossa base pode ser aproximada por um bloco retangular sem nenhum problema, como é recomendado pelo gazebo.

Dessa forma, eu apenas troquei a mesh da colisão por um box. Reparem que a colisão agora passa um pouquinho pelo lado do campo, mas como eu disse, acho que não tem problema nenhum isso acontecer (em laranja é a colisão do modelo).

image

Motivação

Bom, eu só notei isso pq a gente tava tendo um errinho de aproximação no começo da simulação. Se vocês olharem a nossa mesh da base do campo, ela tem uma aresta que passa exatamente pelo (0, 0).

image

Quando a gente spawnava a bola no mundo, ela calculava a colisão exatamente no (0,0), e acabava rolando um pouquinho, já que ela não sabe direito o que fazer ali naquele ponto. (esperem um pouquinho pq demora pra começar a rolar de fato).

field_bug

Isso foi resolvido apenas spawnando a bola 5mm mais baixo, só com isso ele ja parou de dar esse erro. Mas, para evitar esses errinhos nas outras partes da mesh, preferi trocar a colisão pelo box. Agora ele funciona bonitinho spawnando de qualquer altura.

field_fixed_2


Bom, é isso, no final das contas também mudei a altura da bola só pra ficar mais pertinho do campo e ela não ficar kickando tanto.