Este es solo un rastreador de errores y funciones, utilícelo
para informar errores o solicitar funciones.
Hola a todos,
Estoy trabajando en un proyecto de drones para interiores y recientemente noté algo malo:
los temas se están actualizando a una velocidad muy baja (menos de 1Hz) (incluido el tema mavros / local_position / pose que es importante para controlar el dron en modo OFFBOARD)
Se está volviendo difícil el control de vuelo por tema de posición de ajuste porque el dron no conoce su altitud correcta en tiempo real. Cuando pruebo este algoritmo de prueba (volar 1 metro y mantener su posición), en Gazebo Simulator, los temas de Mavros se actualizan a un buen ritmo.
Para verificar si el problema es el sistema de telemetría, probé la tasa de actualización de la información en QGroundControl y cuando muevo el dron, la información se actualiza instantáneamente. Entonces, supongo que el sistema de telemetría (3DR Radio Link) no es el problema.
Estoy lanzando mavros con este comando:
roslaunch mavros px4.launch fcu_url: = / dev / ttyUSB0: 57600
Si hay alguna forma de resolver este problema (alta latencia en la actualización de temas mediante telemetría), dígame.
Mavros: 0.18.4
ROS: Lunar 1.13.7
Ubuntu: 16.04
[] ArduPilot
[X] PX4
Versión: 3.7.1 (PX4FMU_V3) Pixhawk 2
inició el servidor roslaunch http: // lucas-Inspiron-7460 : 40689 /
BORRAR PARAMETROS
PARAMETROS
NODOS
/
mavros (mavros / mavros_node)
nuevo maestro de inicio automático
proceso [maestro]: iniciado con pid [2541]
ROS_MASTER_URI = http: // localhost : 11311
configurando / run_id en 9a6d39f0-3495-11e9-b342-d80f99bfeedd
proceso [rosout-1]: comenzó con pid [2554]
inició el servicio principal [/ rosout]
proceso [mavros-2]: comenzó con pid [2558]
''
encabezamiento:
seq: 2138
sello:
segundos: 1550618079
nsecs: 476350000
frame_id: ''
estado:
está bien. Recibí mensajes de 1: 1.
Recibió 371 mensajes, de 1 direcciones
sys: lista de mensajes de compilación
¡Gracias por la ayuda!
Con esa velocidad en baudios en ese enlace de telemetría, parece perfectamente normal que esté obteniendo los datos a esas velocidades, considerando que los perfiles de velocidad de enlace de PX4 para este tipo de enlaces son bastante bajos. Seguiría https://docs.px4.io/en/peripherals/serial_configuration.html e intentaría configurar la velocidad en baudios del enlace en 115200.
Estimado TSC21,
Gracias por responderme.
Seguí lo que me recomendó pero no tuve éxito. Cuando cambio la velocidad en baudios del enlace a 115200, no puedo acceder al dron a través de la telemetría. El QGroundControl solo muestra: "Esperando la conexión del vehículo". Intenté seguir ese enlace que publicaste aquí y cambié estos parámetros (con el objetivo de cambiar el enlace de velocidad en baudios):
SER_TEL1_BAUD - de "57600" a "115200"
MAV_0_RATE - de "1200" a "115200"
MAV_0_MODE - de "0" a "1" (normal -> personalizado)
Si hay algún problema en este procedimiento, por favor, dímelo.
Muchas gracias.
Lleve este asunto a PX4 Slack.
Resolví este problema simplemente cambiando el parámetro "MAV_0_RATE" (de 1200 (predeterminado) a 57600) sin cambiar los parámetros de velocidad en baudios. Anteriormente, estaba tratando de cambiar el parámetro SER_TEL1_BAUD (de 57600 a 115200) pero no resolvió el problema y la telemetría no funcionó con esta velocidad en baudios. Luego probé solo MAV_0_RATE y funcionó bien.
Resolví este problema simplemente cambiando el parámetro "MAV_0_RATE" (de 1200 (predeterminado) a 57600) sin cambiar los parámetros de velocidad en baudios. Anteriormente, estaba tratando de cambiar el parámetro SER_TEL1_BAUD (de 57600 a 115200) pero no resolvió el problema y la telemetría no funcionó con esta velocidad en baudios. Luego probé solo MAV_0_RATE y funcionó bien.
Hola, ¿cómo fue el cambio de MAV_0_RATE? Lo busqué en la lista de parámetros en Mission Planner pero no lo encuentro.
Resolví este problema simplemente cambiando el parámetro "MAV_0_RATE" (de 1200 (predeterminado) a 57600) sin cambiar los parámetros de velocidad en baudios. Anteriormente, estaba tratando de cambiar el parámetro SER_TEL1_BAUD (de 57600 a 115200) pero no resolvió el problema y la telemetría no funcionó con esta velocidad en baudios. Luego probé solo MAV_0_RATE y funcionó bien.
Hola, ¿cómo fue el cambio de MAV_0_RATE? Lo busqué en la lista de parámetros en Mission Planner pero no lo encuentro.
Depende de la versión de PX4 que esté ejecutando. Accedí a este parámetro por QGroundControl. Puede consultar los parámetros aquí:
https://docs.px4.io/v1.9.0/en/advanced_config/parameter_reference.html
Si no encuentra el parámetro mediante QGroundControl, le recomiendo que configure este parámetro mediante la línea de comando PX4
Para cualquiera que todavía esté buscando una solución.
Quería aumentar la tasa de publicación de mensajes Odometry y HIGHRES_IMU.
Así es como resolví este problema:
1- Aumente la velocidad en baudios de la comunicación en serie cambiando estos parámetros PX4 en QGroundControl y luego reinicie el UAV.
SER_TEL1_BAUD - from "57600" to "115200"
MAV_0_RATE - from "1200" to "115200"
MAV_0_MODE - from "0" to "1" (normal -> custom)
Referencias:
https://docs.px4.io/master/en/peripherals/serial_configuration.html#how -to-configure-a-port
https://github.com/mavlink/mavros/issues/1182#issuecomment -465672331
2- Cambie la velocidad en la que Mavlink publica los mensajes ODOMETRY / HIGHRES_IMU. Esto se puede hacer escribiendo este comando en la tarjeta microSD en PX4. ¿Cómo?
Retire la tarjeta de Pixhawk y conéctela a su PC. Luego vaya a ./fs/etc/extras.txt
Si este directorio (o parte de él) no existe, créelo. Luego, dentro de extras.txt, debemos escribir:
mavlink stream -d /dev/ttyS0 -s HIGHRES_IMU -r 200
mavlink stream -d /dev/ttyS0 -s ODOMETRY -r 200
Referencia:
https://dev.px4.io/v1.9.0/en/concept/system_startup.html#starting -additional-applications
Para completar, aquí están mis detalles de configuración:
Mavros: 1.4
ROS: Melódico
Ubuntu: 18.04
PX4
Versión: v1.10.1
PX4_FMU_V5 (V500)
NuttX, v7.29.0
Comentario más útil
Resolví este problema simplemente cambiando el parámetro "MAV_0_RATE" (de 1200 (predeterminado) a 57600) sin cambiar los parámetros de velocidad en baudios. Anteriormente, estaba tratando de cambiar el parámetro SER_TEL1_BAUD (de 57600 a 115200) pero no resolvió el problema y la telemetría no funcionó con esta velocidad en baudios. Luego probé solo MAV_0_RATE y funcionó bien.