在PX4-JMAVSIM软件仿真环境下运行树梅派上的MAVSDK-Python飞控应用程序

    苍穹四轴DIY”微信公众号培训教材对Pixhawk飞机加装Raspberry Pi做了介绍,关于软件仿真,介绍了在Ardupilot飞控系统软件仿真下,运行树梅派上的Dronekit飞控应用程序,此文介绍的是在PX4飞控系统的软件仿真环境下,运行树梅派上的MAVSDK-Python飞控应用程序。

基本仿真环境:

    在PC或笔记本计算机上安装的操作系统是ubuntu 20.04.2,也可以是16.0.4,PX4的软件仿真环境安装在这台机器上。

    在树梅派(比如:Raspberry Pi 3B)上安装的是ubuntu-mate desktop 16.04.2(可在这个地址下载:https://releases.ubuntu-mate.org/archived/xenial/armhf/),飞控应用程序将安装在这台机器上。

       另外在树梅派上需要安装python3.6,因为MAVSDK-Python这套程序需要3.6以上版本的python,执行命令:sudo apt install python3.6

    基本仿真环境的建立以及如何在笔记本上与Rasberry Pi建立wifi连接,可参考微信公众号“苍穹四轴DIY”的培训教材文章:《Pixhawk无人机扩展教程(2)---树梅派安装ubuntu-mate系统及必要的设置》。

按以以下步骤实现树梅派上的MAVSDK-Python飞控应用程序控制软件仿真环境下的PX4飞控系统:

1. 在PC或笔记本计算机上(假设:IP地址是192.168.3.12)安装PX4开发环境

参考px4官网文章:https://docs.px4.io/master/en/dev_setup/building_px4.html

2. 在PC或笔记本计算机上(假设:IP地址是192.168.3.12)启动jmavsim软件仿真(SITL)

在PX4安装目录PX4-Autopilot中,输入命令:

make px4_sitl_default jmavsim

3. 在PC或笔记本计算机上(假设:IP地址是192.168.3.12)启动地面站(如果你不想看3D显示效果,这项可省略)

进入QGroundControl安装目录中,输入命令:

./QgroundControl.AppImage

在QGroundControl上检查参数:MAV_BROADCAST,应置为Always broadcast。

4. 在PC或笔记本计算机上(假设:IP地址是192.168.3.12)安装mavlink-router

参考mavlink-router官网文章:https://github.com/mavlink-router/mavlink-router

5. 在PC或笔记本计算机上(假设:IP地址是192.168.3.12)启动mavlink-router

  在mavlink-router目录中,输入命令:

./mavlink-routerd -e 192.168.3.11:14540 0.0.0.0:14540

或者

./mavlink-routerd -e 192.168.3.11:14540 127.0.0.1:14540

注:mavlink-router的作用是在PC或笔记本计算机与Raspberry Pi之间建立基于UDP的通讯连接,也就是将192.168.3.12:14540与192.168.3.11:14540之间建立连接(udp信息的路由)。

6. 在树梅派(假设:IP地址是192.168.3.11)上安装MAVSDK-Python

参考MAVSDK官网文章:https://mavsdk.mavlink.io/develop/en/getting_started/installation.html

注:MAVSDK-Python官网参考材料中用pip的地方可用python3.6 -m pip代替。

7. 在树梅派(假设:IP地址是192.168.3.11)上手动启动mavsdk_server

执行:

./mavsdk_server -p 50051

注:

a. 如果不手动启动mavsdk_server, 应用程序与mavsdk_server之间会遇到连接不稳定的情况,原因不明。

b. 我的mavsdk_server版本(arm版)是v0.36.0

8. 修改MAVSDK-Python目录下examples/takeof_and_land.py文件

drone = System()

改为:

drone = System(mavsdk_server_address="localhost",port=50051)

然后执行:

python3.6 takeoff_and_land.py

可观察QGroundControl飞行界面以及jmavsim 3D显示,解锁,起飞,飞航线,降落,上锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值