当前位置: 首页 > news >正文

PC端基于SpringBoot架构控制无人机(三):系统架构设计

1. 引言

从大疆到自研飞控的转型,在无人机业务开发过程中,大部分工作都是基于大疆无人机的上云SDK来完成的。通过该SDK,可以轻松实现航线飞行、指点飞行、实时操控、一键起飞、云台拍照等多种功能

然而,随着业务的逐步发展,公司逐渐将重点从大疆无人机转向了自研无人机系统。为了更好地满足客户需求,尤其是在PC端通过Web浏览器进行实时操作的需求,我们的软件团队面临着巨大的挑战。

在此背景下,我们需要开发一个与大疆上云SDK类似的SDK,能够实现无人机通过该SDK来执行基本功能。为此,我们必须深入了解无人机的构成、通信原理及相关技术,最终实现了基于MAVLink协议的无人机控制系统。

2. 飞控系统:无人机的“大脑”

无人机能够被控制的核心部分就是飞控系统。飞控系统类似于计算机的CPU,或者说是无人机的“大脑”,它决定了无人机在飞行过程中该执行什么操作。飞控系统的主要功能是确保无人机在飞行过程中的稳定性和可控性。

飞控的基本作用

  • 确保飞行稳定:飞控系统会根据传感器数据(如陀螺仪、加速度计等)实时调整无人机的飞行姿态。

  • 实现飞行目标:飞控系统根据飞行计划或实时指令,执行指定的飞行动作和路径。

3. 遥控器与飞控的通信

在传统的无人机操作中,遥控器通过无线信号与飞控进行通信,从而实现对无人机的控制。那么,遥控器是如何与飞控进行连接的呢?

飞控外部接口

根据我们与飞控工程师的沟通,并参考了大量文献资料,我们发现许多成熟的飞控系统,如PX4、ArduPilot、AcFly等,都提供了多种外部接口。主要的接口包括:

  • SBUS接口:遥控器和接收器之间的通信协议。

  • MAVLink接口:用于云台控制和其他飞行数据的传输。

  • 串口接口:常用于数据传输和远程通信。

SBUS协议

SBUS是一种高效的串行通信协议,它主要用于遥控器和接收器之间的无线通信。与传统的PWM信号相比,SBUS能够在较短的时间内传输更多的控制通道数据,具有更高的带宽和响应速度。

SBUS的主要优点在于:

  • 无线传输:SBUS协议通过无线电波进行通信,不依赖传统的有线连接(如串口线)。

  • 远程操作:遥控器和接收器之间可以进行长距离的数据交换,适合大范围操作。

4. PC端控制与MAVLink协议

随着客户需求的变化,我们需要在PC端通过Web浏览器进行实时操控无人机。这就要求我们通过不同的通信方式将PC与无人机进行连接。经过研究,我们决定采用串口通信方式来完成这一任务。

基于串口通信的无人机控制

我们采用串口通信来与飞控进行数据交换。具体步骤如下:

  1. 离线版本:通过数传设备(如天线)将数据传输到PC端。我们为无人机添加了数传模块,并在PC端连接了相应的天线。

  2. 数据读取与发送:PC端通过串口读取无人机的数据(例如心跳信号),并可以主动发送指令到无人机。

这种方式使我们能够在PC端实时获取无人机的状态数据,并通过MAVLink2协议发送控制指令,实现对无人机的远程操控。

http://www.lryc.cn/news/581923.html

相关文章:

  • FlashDepth | 混合模型+Mamba革新,24 FPS实时2K视频深度估计,超越Depth Anything v2
  • (倍增)洛谷 P1613 跑路/P4155 国旗计划
  • ZooKeeper 实现分布式锁
  • 【Note】《Kafka: The Definitive Guide》 第5章:深入 Kafka 内部结构,理解分布式日志系统的核心奥秘
  • 【kafka-python使用学习笔记2】Python操作Kafka之环境准备(2)亲测有效有图有真相
  • 专为磁盘存储设计的数据结构——B树
  • 快速上手百宝箱搭建知识闯关游戏助手
  • 第二届虚拟现实、图像和信号处理国际学术会议(VRISP 2025)
  • Java面试宝典:异常
  • Python实现MCP Server的完整Demo
  • 北京-4年功能测试2年空窗-报培训班学测开-第四十四天
  • 《Effective Python》第十二章 数据结构与算法——当精度至关重要时使用 decimal
  • Node.js特训专栏-实战进阶:14.JWT令牌认证原理与实现
  • 《30天打牢数模基础-第一版》(已完结) 需要自取
  • macOS运行python程序遇libiomp5.dylib库冲突错误解决方案
  • 基于Rust红岩题材游戏、汽车控制系统、机器人运动学游戏实例
  • 在内网环境中,Java服务调用PHP接口时报错的排查方法
  • Mac 电脑无法读取硬盘的解决方案
  • AI智能体长期记忆系统架构设计与落地实践:从理论到生产部署
  • 文件操作(java)
  • window显示驱动开发—X 通道解释
  • [shad-PS4] GUI启动游戏 | Qt用户界面 | 三端兼容
  • 鸿蒙生态加持:国产ARM+FPGA工业开发平台——GM-3568JHF
  • SQL Server不同场景批量插入数据的方式详解
  • 深入解析迭代器模式:优雅地遍历聚合对象元素
  • 基于拉普拉斯变换与分离变量法的热传导方程求解
  • 【机器学习笔记 Ⅱ】9 模型评估
  • 标准128位AES/ECB/PKCS5Padding进行加解密
  • Spring Boot登录认证实现学习心得:从皮肤信息系统项目中学到的经验
  • IDEA 中使用 <jsp:useBean>动作指令时,class属性引用无效