El control de vuelo Pixhawk 4 establece conexión con el ROS de Up Board
El propósito de establecer una conexión entre Pixhawk 4 y ROS:
instalar la microcomputadora y la placa de control de vuelo Pixhawk 4 en el dron para lograr el vuelo autónomo del dron.
Tabla de contenido
1. paquete de funciones mavros
El controlador de vuelo Pixhawk 4 necesita establecer contacto con la microcomputadora a través del paquete de funciones mavros en el ROS de la microcomputadora y luego comunicarse a través del protocolo mavlink. Por lo tanto, primero debemos instalar el sistema Ubuntu en la microcomputadora e instalar los paquetes de funciones ROS y mavros.
Aquí instalo mavros según la documentación de uso de XTDrone Yuque
- Depende de la instalación
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse
instalar mavros
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
2. Configuración del puerto serie de control de vuelo Pixhawk 4
Hay dos formas de conectarse a ROS
El primero: puerto serie USB y conexión TELEM2 de Pixhawk 4
- Encontré el diagrama de interfaz correspondiente al control de vuelo en el sitio web oficial de PX4. Solo hay 3 líneas conectadas entre TELEM2 y el puerto serie USB:
2 (TX) → Puerto USB (RX)
3 (RX) → Puerto USB (TX)
6 (GND) → Puerto USB (GND)
- Después de conectar el puerto serie USB a la computadora, asegúrese de que Ubuntu y el puerto serie USB estén conectados, de lo contrario, puede ser un problema con la máquina virtual. Luego vaya a la ruta donde instaló ROS (la mía está en opt/ros/),
opt/ros/melodic/share/mavros/launch/px4.launch/
Ingrese px4.launch y modifique la siguiente línea de código
<arg name="fcu_url" default="/dev/ttyACM0:115200" />
ttyACM0:115200
Cambiar attyUSB0:921600
- Encienda el controlador de vuelo Pixhawk 4, luego abra la terminal e ingrese
roslaunch mavros px4.launch
Según este informe de error, le damos permiso.
sudo chmod 777 /dev/ttyUSB0
entonces empieza de nuevo
roslaunch mavros px4.launch
Segundo método: conecte el puerto USB de Pixhawk 4 a la computadora
En este momento, debe agregar px4.launch en la ruta a continuación
opt/ros/melodic/share/mavros/launch/px4.launch/
cambie a
<arg name="fcu_url" default="/dev/ttyACM0:115200" />
Guardar y salir, abrir terminal, iniciar
roslaunch mavros px4.launch
3. Pruebe si el controlador de vuelo Pixhawk 4 está conectado a ROS
Abrir una nueva terminal
rostopic echo /mavros/local_position/pose
o
rostopic echo /mavros/local_position/velocity_body
Si la información se puede imprimir, la conexión es normal.
o
rqt_graph
Ver de otras maneras