Semana #07

Atualização da Hodometria. Novos problemas de hardware ou software

Publicado por Luís Sarmento a 14 de Abril, 2018

Um dos objetivos finais desta dissertação é o controlo remoto da plataforma. Até agora a plataforma podia ser controlada remotamente, estando limitada pelo alcance da rede wifi do robuter e pelo alcance do recetor do comando xbox. A rede wifi pode ser substituída pela eduroam ou outra rede presente em todo o edifício, não havendo problema de alcance desde que haja acesso a esta rede. No entanto continuará a ser utilizada a rede do robuter como prova de conceito. Para solucionar o problema do alcance do comando xbox o recetor deverá se localizar junto ao controlador e não na plataforma.

Foram criadas launch files que de uma forma facilitada permitem o funcionamento da plataforma, com o recetor do comando junto do utilizador, e que permite a visualização da hodometria e do mapa gerado pelo Hector Slam.

Para realizar o acesso remoto da plataforma é necessário cumprir os seguintes requisitos:

  • Ros Kinetic instalado;
  • Package Joy instalada;
  •     Método de instalação: sudo apt-get install ros-kinetic-joy
  • Package hector-slam;
  •     Método de instalação: Copiar do computador ou do github do robuter ou da fonte original.
  • Compilar

Método de utilização:

  • Ligar à rede Robonuc ou Robonuc_5G
  • Num terminal inserir:
    • ssh robuter@192.168.0.123
    • export ROS_IP=192.168.0.123
    • export ROS_MASTER=http://192.168.0.123:11311
    • roslaunch r_platform external_teleop.launch
  • Num novo terminal:
    • export ROS_IP="IP do computador externo" (ex:192.168.0.31)
    • export ROS_MASTER=http://192.168.0.123:11311
    • roslaunch hector_slam_example external_hector.launch

Caso o hector slam tenha sido adquirido pela fonte original a pasta hector_slam_example não existe e deverá ser adicionada.

Após a execução destes passos o que acontece é o seguinte. O computador externo recebe os dados do comando xbox e envia-os para o robuter. O robuter processa os dados e desloca-se. O robuter faz a uma frequência de 20hz a leitura dos encoders. Estes dados são processados pelo nodo da hodometria e a posição actual pode ser lida pelo computador externo. É realizada a leitura dos laser por parte do robuter mas é no computador externo que é feito o mapeamento com estes dados. É então possível visualizar o mapa e a hodometria no RVIZ.

A vantagem de fazer o processamento do mapa no computador externo é que o mapa é atualizado em tempo real, enquanto que se for processado pelo robuter existe um atraso devido ao tempo de envio dos dados. A desvantagem é que se por algum motivo há uma falha de envio dos dados do laser o mapa poderá ter mais erros uma vez que o hector slam não possui tanta informação.

A hodometria tem de ser calculada pelo robuter uma vez que a perda de dados dos encoders leva a erros que são acumulativos.

Esta semana apareceram novos problemas que atrasaram um pouco o trabalho. O computador do Robuter foi enviada para a garantia uma vez que não ligava. Suspeita-se que seja um problema da fonte de alimentação. Para o trabalho continuar, em vez de o programa ROS se encontrar em duas máquinas e fazerem a ligação ssh como foi referido anteriormente, será utilizado apenas uma máquina temporariamente.

Também o movimento do Robuter deixou de ser fluido parando frequentemente quando deveriam manter uma velocidade contínua. O problema foi identificado como sendo do botão de emergência que por vezes era ativado momentaneamente, parando as rodas. O botão foi retirado e neste momento o robuter não tem botão de emergência. O problema parece persistir pelo que a origem do problema poderá ser outra.

O nodo da hodometria foi alterado de maneira que quando o referencial da hodometria se afasta do referencial do Hector Slam, a posição da hodometria é atualizada, sobrepondo os referenciais. A imagem a baixo mostra os saltos que a hodometria teve de efetuar por se distanciar do Hector Slam.

Como foi possível verificar na imagem anterior, a hodometria é pouco precisa, efetuando múltiplos saltos para não se distanciar do Hector Slam. Neste sentido, os parâmetros da hodometria foram atualizados com testes experimentais, sendo o deslocamento indicado pelo Hector Slam semelhante ao da hodometria após as alterações. Devido aos problemas que tem ocorrido não foi possível obter uma imagem que ilustre os resultados.