Pixhawk 4飞控与Up Board的ROS建立联系

Pixhawk 4飞控与Up Board的ROS建立联系

Pixhawk 4与ROS建立联系的目的:
把微型电脑和Pixhawk 4飞控板安装到无人机上,实现无人机自主飞行

一、mavros功能包

Pixhawk 4飞控与微型电脑建立联系需要通过微型电脑ROS内的mavros功能包,然后通过mavlink协议进行通讯。因此,我们首先要在微型电脑上装好Ubuntu系统,安装好ROS及mavros功能包。

这里我根据XTDrone语雀的使用文档安装mavros

  1. 依赖安装
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

安装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 

二、Pixhawk 4飞控串口设置

这里有两种与ROS的连接方式

第一种:USB串口与Pixhawk 4的TELEM2连接
  1. 在PX4官网查到对应飞控的接口图,TELEM2与USB串口只接3条线:
    2(TX)→USB口(RX)
    3(RX) → USB口(TX)
    6(GND)→ USB口(GND)
    在这里插入图片描述
    在这里插入图片描述
  2. USB串口接到电脑后,确保Ubuntu与USB串口接上,若未接上则可能是虚拟机的问题。然后到自己安装ROS的路径下(我的在opt/ros/),
opt/ros/melodic/share/mavros/launch/px4.launch/

进入px4.launch,修改以下一行代码

<arg name="fcu_url" default="/dev/ttyACM0:115200" />

ttyACM0:115200改为ttyUSB0:921600

  1. 给Pixhawk 4飞控供电,然后打开终端,输入
roslaunch mavros px4.launch

在这里插入图片描述
根据这样的报错,我们给它权限

sudo chmod 777 /dev/ttyUSB0

然后再次启动

roslaunch mavros px4.launch
第二种:Pixhawk 4的USB口与电脑连接

在这里插入图片描述
这时,要把下面路径里的px4.launch

opt/ros/melodic/share/mavros/launch/px4.launch/

修改为

<arg name="fcu_url" default="/dev/ttyACM0:115200" />

保存退出,打开终端,启动

roslaunch mavros px4.launch

三、测试Pixhawk 4飞控是否与ROS建立连接

打开一个新的终端

rostopic echo /mavros/local_position/pose

rostopic echo /mavros/local_position/velocity_body

如果能够打印出信息,那么连接正常

rqt_graph

等方式查看

猜你喜欢

转载自blog.csdn.net/m0_64730542/article/details/125037844
今日推荐