Mavros: Sem mapeamento para sensor de distância

Criado em 9 ago. 2018  ·  4Comentários  ·  Fonte: mavlink/mavros

Oi,

Estou tentando acessar dados de um sensor de distância (Leddar One Range Finder) medindo altura usando MAVROS. Consigo visualizar os dados usando QGroundControl (pois meu controlador de vôo é PX4).

No drone (com MAVROS instalado), tentei os seguintes comandos:
$ roscore
$ rosrun mavros mavros_node _fcu_url:=tcp://127.0.0.1:5760 _system_id:=2

Depois disso, recebo o mesmo erro repetido:
DS: no mapping for sensor id: 0, type: 1, orientation: 25

Consigo verificar a ID, o tipo e a orientação no QGC, o que me garante que este é o sensor Leddar One.
Removi distance_sensor e rangefinder da lista negra em px4_pluginlists.yaml.
Também tentei alterar as informações do distance_sensor no arquivo px4_config.yaml, mas não tive sorte (tentei várias orientações: PITCH_270, NONE e 25).

Descobri que o erro é gerado a partir da linha 205 neste código: distance_sensor.cpp, mas não consigo descobrir o que está causando isso.

Eu sou apenas novo no ROS, então qualquer ajuda seria muito apreciada.

PX4 question

Comentários muito úteis

Só para esclarecer, eu tive que comentar "- distance_sensor" do "px4_pluginlists.yaml" para os dados LIDAR serem publicados.

Todos 4 comentários

Você verificou a configuração dele no px4_config.yaml ? Se você não configurar os respectivos parâmetros para acessar os dados, não poderá obter os dados corretamente. Portanto, você precisa adicionar um mapa adequado para ele no arquivo yaml (você já tem exemplos lá). Além disso, há algum motivo para alterar o sys_id para 2? Você também não precisa remover rangfinder da lista negra porque é compatível apenas com APM.

Obrigado pela resposta rápida e por adicionar rótulos relevantes!

Você pode ser um pouco mais específico ou me indicar a área de px4_config.yaml que precisa ser alterada? A única parte que alterei está sob o sensor de distância: (linha 133 no código-fonte )
leddar1_pub:
id: 0
frame_id: "leddar1_laser"
orientation: PITCH_270 # RPY:{0.0, 270.0, 0.0} - downward-facing
field_of_view: 0.0 # XXX TODO
send_tf: true
sensor_position: {x: 0.0, y: 0.0, z: -0.1}
E eu removi os outros sensores de id: 1 diante

Eu segui as instruções nesta página, pois estamos usando um drone Intel Aero RTF, que incluiu alterar sys_id para 2.
Não há problema, irei adicionar rangefinder volta à lista negra.

Eu entendo que posso estar pedindo demais. Se houver algum recurso que você conheça que possa me ajudar a corrigir px4_config.yaml vez de você precisar explicá-lo, isso pode ser suficiente.
Obrigado

Eu resolvi meu problema. Eu criei um arquivo de inicialização que passou especificamente em "px4_config.yaml" como o argumento config_yaml. Este sensor de distância inicializado corretamente e publicou os dados em um tópico ROS conforme desejado.

Este tópico pode ser encerrado.

Só para esclarecer, eu tive que comentar "- distance_sensor" do "px4_pluginlists.yaml" para os dados LIDAR serem publicados.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

TSC21 picture TSC21  ·  12Comentários

tfoote picture tfoote  ·  5Comentários

Tutorgaming picture Tutorgaming  ·  4Comentários

y22ma picture y22ma  ·  7Comentários

Phadadev picture Phadadev  ·  4Comentários