Pixhawk 4飞控与Up Board的ROS建立联系
Pixhawk 4与ROS建立联系的目的:
把微型电脑和Pixhawk 4飞控板安装到无人机上,实现无人机自主飞行
目录
一、mavros功能包
Pixhawk 4飞控与微型电脑建立联系需要通过微型电脑ROS内的mavros功能包,然后通过mavlink协议进行通讯。因此,我们首先要在微型电脑上装好Ubuntu系统,安装好ROS及mavros功能包。
这里我根据XTDrone语雀的使用文档安装mavros
- 依赖安装
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连接
- 在PX4官网查到对应飞控的接口图,TELEM2与USB串口只接3条线:
2(TX)→USB口(RX)
3(RX) → USB口(TX)
6(GND)→ USB口(GND)
- 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
- 给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
等方式查看
版权声明:本文为m0_64730542原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。