PX4与机载电脑(ROS1)间实现mavros的udp通讯

一、配置网络文件net.cfg

使用 USB 数据线将飞控连接到计算机,依次打开QGroundcontrol > Analyze Tools > MAVLink Console,在MAVLink控制台中输入如下命令:

echo DEVICE=eth0 > /fs/microsd/net.cfg
echo BOOTPROTO=static >> /fs/microsd/net.cfg
echo IPADDR=192.168.1.12 >> /fs/microsd/net.cfg
echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
echo ROUTER=192.168.1.1 >>/fs/microsd/net.cfg
echo DNS=192.168.1.1 >>/fs/microsd/net.cfg

这里就是设置PX4飞控的静态IP地址,输入完成后,可以输入如下命令对配置文件进行查看:

cat /fs/microsd/net.cfg

确保准确无误后,输入下面命令将配置文件内的参数更新传入飞控内存:

netman update

这时候,飞控会自动重启,重启完成后net.cfg文件会被自动删除,输入下述命令查看系统内参数:

netman show

二、机载电脑以太网设置

在ubuntu22.04系统下,依次打开设置>网络>有线,添加新配置,IPv4下设置手动,如下所示

将网线连接飞控ETH口和机载电脑网口,测试是否能ping通

ping 192.168.1.2

在MAVLink控制台中输入命令,结果如图所示(这里拿了其他飞控测试截图,因此输入IP变了)

在ubuntu命令行输入命令,结果如图所示:

 三、配置PX4 MAVLink通讯参数

这里我选择的是MAV_2_CONFIG,大家也可以选择0或1口:

MAV_2_CONFIGEthernet
MAV_2_MODEOnboard
MAV_2_REMOTE_PRT14550
MAV_2_UDP_PRT14540

根据官方配置推荐,端口 14550 常用于与地面控制站(如 QGroundControl)通信,端口 14540 常用于与机载外部 API(如 MAVROS)通信

四、运行MAVROS并测试

在机载电脑端输入如下命令,其中参数fcu_url用于指定 FCU (Flight Control Unit) 的连接方式和地址,我们指定通信协议为 UDP,@分割符前为监听地址(即电脑自身的IP),后为目标发送地址(即飞控PX4的IP)。

roslaunch mavros px4.launch  fcu_url:="udp://192.168.1.2:14540@192.168.1.12:14540"

运行成功的结果如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LeoZack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值