Mavros: Usando mavros para se conectar ao pixracer por wi-fi via udp

Criado em 11 abr. 2018  ·  7Comentários  ·  Fonte: mavlink/mavros

Detalhes do problema

Estou tentando me conectar a uma unidade pixracer com mavros. Anteriormente, usei um computador complementar que se conecta ao pixhawk por meio de um cabo serial físico. Agora, desejo usar uma conexão wi-fi para me comunicar diretamente com o pixracer por meio da placa ESP8266. Eu configurei o wi-fi que funciona em modo de estação e felizmente se conecta com qGroundcontrol e meu roteador (então eu acho que o pixracer / ESP8266 está funcionando e configurado corretamente), mas estou lutando para me conectar através de mavros ao fcu.

O endereço udp que estou usando é: udp://:[email protected]:14540 - onde 192.168.1.9 é o endereço IP do pixracer

Este formato parece bom? Talvez haja alguns parâmetros que preciso definir também? Eu defini SYS_COMPANION para ESP8266 (921600 baud, 8N1) .

Versão e plataforma MAVROS

Mavros: 0.22.0
ROS: cinético
Ubuntu: 16.04

Tipo e versão do piloto automático

[] ArduPilot
[x] PX4

Versão: 1.6.5

Registros de nó

copy output of mavros_node. Usually console where you run roslaunch

Diagnóstico

header: 
  seq: 15
  stamp: 
    secs: 1523479866
    nsecs: 896584974
  frame_id: ''
status: 
  - 
    level: 1
    name: "UAV_1/mavros: FCU connection"
    message: "not connected"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Received packets:"
        value: "0"
      - 
        key: "Dropped packets:"
        value: "0"
      - 
        key: "Buffer overruns:"
        value: "0"
      - 
        key: "Parse errors:"
        value: "0"
      - 
        key: "Rx sequence number:"
        value: "0"
      - 
        key: "Tx sequence number:"
        value: "141"
      - 
        key: "Rx total bytes:"
        value: "0"
      - 
        key: "Tx total bytes:"
        value: "36947"
      - 
        key: "Rx speed:"
        value: "0.000000"
      - 
        key: "Tx speed:"
        value: "9547.000000"
  - 
    level: 2
    name: "UAV_1/mavros: GPS"
    message: "No satellites"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Satellites visible"
        value: "0"
      - 
        key: "Fix type"
        value: "0"
      - 
        key: "EPH (m)"
        value: "Unknown"
      - 
        key: "EPV (m)"
        value: "Unknown"
  - 
    level: 2
    name: "UAV_1/mavros: Heartbeat"
    message: "No events recorded."
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Heartbeats since startup"
        value: "0"
      - 
        key: "Frequency (Hz)"
        value: "0.000000"
      - 
        key: "Vehicle type"
        value: "Generic micro air vehicle"
      - 
        key: "Autopilot type"
        value: "Generic autopilot"
      - 
        key: "Mode"
        value: ''
      - 
        key: "System status"
        value: "Uninit"
  - 
    level: 0
    name: "UAV_1/mavros: System"
    message: "Normal"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Sensor present"
        value: "0x00000000"
      - 
        key: "Sensor enabled"
        value: "0x00000000"
      - 
        key: "Sensor helth"
        value: "0x00000000"
      - 
        key: "CPU Load (%)"
        value: "0.0"
      - 
        key: "Drop rate (%)"
        value: "0.0"
      - 
        key: "Errors comm"
        value: "0"
      - 
        key: "Errors count #1"
        value: "0"
      - 
        key: "Errors count #2"
        value: "0"
      - 
        key: "Errors count #3"
        value: "0"
      - 
        key: "Errors count #4"
        value: "0"
  - 
    level: 2
    name: "UAV_1/mavros: Battery"
    message: "No data"
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Voltage"
        value: "-1.00"
      - 
        key: "Current"
        value: "0.0"
      - 
        key: "Remaining"
        value: "0.0"
  - 
    level: 2
    name: "UAV_1/mavros: Time Sync"
    message: "No events recorded."
    hardware_id: "udp://:[email protected]:14540"
    values: 
      - 
        key: "Timesyncs since startup"
        value: "0"
      - 
        key: "Frequency (Hz)"
        value: "0.000000"
      - 
        key: "Last dt (ms)"
        value: "0.000000"
      - 
        key: "Mean dt (ms)"
        value: "0.000000"
      - 
        key: "Last system time (s)"
        value: "0.000000000"
      - 
        key: "Time offset (s)"
        value: "0.000000000"
---

Verificar ID

ERROR. I got 0 addresses, but not your target 1:1
PX4 question

Comentários muito úteis

Consegui me conectar com os valores de porta udp padrão usando a sintaxe fcu_url. Obrigada! Achei que deveria fazer isso apenas no caso de alguém ainda estar tendo problemas para fazer o QGC funcionar em conjunto com os mavros.

Consegui fazer o QGC e os mavros funcionarem alterando os valores cport e hport conforme mostrado aqui (eu escolhi 14556 e 14551, respectivamente), o que tornaria o fcu_url: udp://:14551:@<ip address of esp device>:14556 , mantendo o gcs_url: udp-b://127.0.0.1:14555@14550 .

Todos 7 comentários

Qual endereço você usa para QGC?

Estou usando udp://:[email protected]:14550 (onde 192.168.1.5 é o ip da minha estação de controle de solo - estava seguindo a convenção documentada em https://dev.px4.io/en/simulation/ros_interface.html, embora isso está relacionado a sitl).

É importante notar que o pixracer se conecta automaticamente ao QGroundControl na inicialização (externo ao mavros) - talvez possa haver um conflito aqui?

Muito provável que seja. Não tenho certeza se o firmware ESP segue essa especificação. Tente (sem QGC) a porta padrão, por exemplo, udp://@192.168.1.5 , ou mesmo udp://@ simples.

Ainda não consigo me conectar com esses endereços para a estação de controle de solo. Acho que isso pode exigir algumas atualizações no firmware do ESP, mas ainda não descobri a base de código. Vou atualizar aqui se houver algum sucesso com isso.

atualizações @ jannsta1 ?

Acabei de tentar isso novamente e consegui conectar definindo os valores da porta udp para corresponder aos valores de parâmetro WIFI_UDP_CPORT (14555) e WIFI_UDP_HPORT (14550) padrão (para o módulo ESP). Assim, meu fcu_url é; udp://:14550@<ip address of esp device>:14555 .

Eu não fiz um teste de vôo ainda e uma desvantagem é que isso não funciona com o QGC, mas estou mais do que feliz em encerrar o problema. Obrigado pelo conselho sobre os endereços UDP, foi uma grande ajuda saber em que área procurar.

Consegui me conectar com os valores de porta udp padrão usando a sintaxe fcu_url. Obrigada! Achei que deveria fazer isso apenas no caso de alguém ainda estar tendo problemas para fazer o QGC funcionar em conjunto com os mavros.

Consegui fazer o QGC e os mavros funcionarem alterando os valores cport e hport conforme mostrado aqui (eu escolhi 14556 e 14551, respectivamente), o que tornaria o fcu_url: udp://:14551:@<ip address of esp device>:14556 , mantendo o gcs_url: udp-b://127.0.0.1:14555@14550 .

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