PX4(v1.15.2)与机载电脑(ros2)网口通讯uXRCE-DDS
·
参考官方链接:
1 PX4 Ethernet Setup | PX4 Guide (main)
2 uXRCE-DDS (PX4-ROS 2/DDS Bridge) | PX4 Guide (main)
一、配置网络文件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通讯参数(可选)
如果想通过机载电脑上的QGC查看飞控状态,则可以配置下述参数(这些参数都是默认的,一般情况下不需要修改):
| MAV_2_CONFIG | Ethernet |
| MAV_2_BROADCAST | Always Broadcast |
| MAV_2_MODE | Onboard |
| MAV_2_RADIO_CTL | Disabled |
| MAV_2_RATE | 100000 |
| MAV_2_REMOTE_PRT | 14550 |
| MAV_2_UDP_PRT | 14550 |
四、配置uXRCE-DDS客户端参数
参考上面给出的参考链接2,配置相应的QGC参数
| UXRCE_DDS_CFG | Ethernet |
| UXRCE_DDS_PRT | 8888 |
| UXRCE_DDS_AG_IP | -1062731518 |
其中参数UXRCE_DDS_AG_IP需要将机载电脑的IP转化成int32类型的一个值,使用工具在./PX4-Autopilot/Tools/convert_ip.py路径下,执行命令
python3 convert_ip.py 192.168.1.2
注意得到的值有可能为一个负值,不要省略负号。配置完成后在机载电脑端输入命令
sudo MicroXRCEAgent udp4 -p 8888
可以看到如下结果,则通讯成功连接

更多推荐



所有评论(0)