无名创新飞控开源地面站软件NGroundStation源码发布说明

2023-05-16

无名创新飞控开源地面站——NGroundStation

一、地面站开源初衷与下载链接:

        无名创新飞控开源飞控地面站是无名小哥为广大自研飞控开发者、电子发烧友们专门开发的一款多功能上位机软件,地面站功能涵盖:飞控状态显示、数据波形、参数调试、虚拟遥控器、飞控传感器校准串口助手常用等,开发此款地面站的初衷是方便大家高效学习与调试。

        初学者在学习无人机飞控相关算法选择地面站时,个人小众开发者设计的地面站,在功能和性能上各有优缺点,无法兼容常用功能,而针对APM/PX4的开源地面站MP与QGC功能复杂,很多冗余的功能用不上,开发者需要自行移植并裁剪Mavlink协议来适配自己的飞控,导致开发者往往为选择一款合适的地面站而发愁,为兼容不同家地面站需要花一定功夫。

        考虑到目前国内没有一家开源飞控地面站软件代码开源出来给大家学习,为了做到初学者也能简单高效的开发出满足自己需要的地面站软件,无名小哥选择采用QT开发平台,基于C++图形用户界面开发了此地面站软件,整个工程代码框架清晰,每个功能模块单独封装,注释详尽,使得有一定编程经验的初学者能对整个地面站软件运行逻辑一目了然,并能基于我们开源的地面站软件进行二次开发,后续会上线更多功能,地面站软件持续更新,欢迎大家公测,只要您是为了整个开源生态的建设,批评指正,拍砖打脸没关系。下面来依次介绍本地面站功能。

无名地面站下载:

http://www.nameless.tech/download.html

https://download.csdn.net/download/u011992534/12263480

开源地面站NGroundStation使用教程:https://www.bilibili.com/video/BV1JE411c7vU?from=search&seid=4801164549946953127

无名创新开源地面站交流QQ群:465082224、540707961

无名地面站开源代码下载链接在文末

二、开源地面站的使用

2.1、主界面介绍与串口配置

        无名创新地面站发布采用免安装的方式,用户在官方下载地面站后,直接解压后点击NGroundStation.exe运行即可,同路径文件夹下后缀为.dll依赖库文件不得随意删除,否则点击运行时,会报缺少xxx.dll文件。

 

        用户打开地面站后进入如下主界面,导航栏有无名创新团队介绍与软件使用帮助,主界面有各个功能模块。首先第一步先点击配置串口:

 

        点击后软件会自动搜索当前电脑可用的串口设备(USB转TTL设备、USB虚拟串口VCP、RS232/485等),若系统上没有可用设备时,软件会提示界面如下,此时请检查您的电脑有相关串口外设设备或者查看设备管理器是否有对应外设驱动。

 

        软件会自动搜索当前可用串口设备,搜索出的串口号为对应外设的设备号,当存在多个串口设备时,需要自行勾选需要连接的串口。常用波特率可以通过波特率设置行下拉选择,同时若需要调试其它非常规设备,也支持手动输入任意波特率,手动输入时输入完毕后请点击电脑回车键进行输入确认,不点击回车键直接退出为无效输入。设置好串口设备后,退出设置界面。在主界面点击打开串口后地面站解析数据即开始工作。

 

        飞控状态、数据波形、参数调试、虚拟遥控、飞控校准功能都是建立在地面站正常解析飞控数据的前提下,故当上述功能界面不能正常使用时,请回头检查串口配置和串口是否已经打开/占用。

2.2、飞控状态显示

        飞控状态显示界面分飞控基本状态、罗盘与速度、航姿仪表、IMU数据、遥控器数据、观测传感器数据、姿态角度曲线等模块。用户可以通过地面站实时可视化观察无人机的常用状态。用户可以根据状态提示来了解无人机的各个参数。

 

2.3、数据波形显示

          数据波形显示界面可以动态观察无人机关键状态的数据波形曲线,如分析各个传感器数据、姿态数据、惯导数据、控制指令等数据,在自己研究对比飞控算法性能、滤波器参数整定、突发故障异常分析过程中非常实用。无名创新地面站预留了6组用户数据通道可以供客户自行发送数据。数据波形支持导入\导出,文件名为电脑系统时间精确到S,导出的csv格式数据可以很方便的用数值处理软件如Matlab、Origin等做后续数据处理分析。

 

2.4、参数调试

        自研飞控开发者在学习过程中需要对结合不同的动力装对飞控PID参数进行调整,来确保无人机拥有稳定的飞行性能,关键参数为姿态内环—角速度环参数,主要工作是对角速度环PID参数进行整定,主PD,辅积分参数I。参数调试界面后,各个参数框中均为0,先点击读取参数,地面站会发送获取参数指令给飞控,地面站获取到飞控发上来的参数后会刷新UI界面显示当前飞控内部参数,需要调整参数时,手动在对应参数框中输入设定参数,点击写入参数后,飞控即保存参数于FLASH/EEPROM中,下次上电飞控会自动从FLASH/EEPROM中读取参数值。同理对飞控其它参数的设置过程也一样,先读取,更改后点击写入。当用户想要恢复默认初始参数时,点击恢复默认参数即可。用户在设置参数写入、恢复过程中,飞控会返回操作是否成功的应答给地面站显示写入状态。

 

2.5、虚拟遥控

        虚拟遥控器界面模拟了8通道双回中式遥控器数据,默认以左手油门的形式发送1-8通道数据,本功能可以在在无遥控器操作下,解锁上锁电机、测试无人机电调行程,若要在实际飞行中运用该功能,需要保障所有数传模块在当前实用条件下通讯可靠。地面站在发送数据的同时,接收了飞控解析数据正常的回传数据,并计算通讯的成功率,地面站每20ms发送一次遥控器数据,飞控端在20ms内返回应答一次算一次通讯正常,若飞控端回传应答频率小于50HZ,实际又可能造成通讯没有异常,但地面站获取的成功率小于100%的情况。同时设计了飞行指令控制功能,即通过指令控制无人机空间的位移方向与距离。

 

2.6、飞控校准

        入手飞控第一步就是传感器校准,打开飞控校准界面,有四种和传感器相关的校准操作,其中陀螺仪校准和机架水平校准不需要人为操作飞行器,保持无人机静置与水平面,点击校准按键即自动进行。飞行器对陀螺仪的校准是每次飞控上电工作均会自动进行一次,即飞控IMU温度升温到50℃后,若此时飞行器保持静止,陀螺仪会自动校准偏移,地面站也加入了人为校准陀螺仪偏移,点击开始校准陀螺仪后,飞控会自动再次校准陀螺仪零偏。

 

        飞控加速度校准采用和APM/PX4一致的6面校准法,首先点击加速度校准进入,随后点击对应面按钮,每一面会提示如何放置飞行器。6面数据都采集完毕后,飞控会计算校准参数并发送到地面站。

        磁力计校准采用椭球拟合的方式,实际需要采集3个面内36角点数据,飞控自带显示屏会提示每一面如何放置并旋转,显示屏上有显示每个角点数据采集状态,三个面所有角点采集完毕后,会计算校准参数并发送到地面站。

        机架水平校准主要目的是针对飞控安装在机架上与水平面之间的夹角误差,因此需要结合水平仪来进行操作,实用中将飞控安装在机架上后,首先校准加速度计,然后将水平仪放置在机架所在平面,调整机架脚架使得水平仪气泡居中,再进行机架水平校准操作。

      其它按键获取校准参数、退出当前校准等不赘述,上述所有校准中,除磁力计骄傲,其它均需要温控系统稳定工作后,因此最好等温度达到50°并且稳定后,再开始进行陀螺仪、加速度、机架水平的校准操作。无名飞控对飞控校准均保留遥控器直接校准的方式,因此用户可以结合实际场景,灵活确定,遥控器校准传感器视频教程如下。

*1、加速度校准教程:https://www.bilibili.com/video/BV1it411k7CJ?from=search&seid=255111440291059640

2、磁力计校准:https://www.bilibili.com/video/BV1it411k7CC?from=search&seid=15429067159432134560

3、机架水平校准:https://www.bilibili.com/video/BV1L4411E7j2?from=search&seid=14438186151189674967

2.7、基本收发

        地面站保留了普通串口调试助手的功能,这一项是和上述功能区分开的,可以作为普通串口调试助手实用,数据以文本/16进制收发,定时自动发送、多项指令发送等。

 

三、地面站软件代码开源

3.1 QT开发环境

链接:https://pan.baidu.com/s/1R__jn921zaPGsYB2VQV3mQ 提取码:hgo7

3.2 第三方支持包,自行网上搜索教程安装

QWT6.1.3:https://qwt.sourceforge.io/

链接:https://pan.baidu.com/s/1W2UUki_e73pQ7X-7qgs5Fw 提取码:x1aj

QUC自定义控件:http://www.qtcontrol.cn/

链接:https://pan.baidu.com/s/1s9gpVaawuqrKXAXMFsIvWQ 提取码:dyxq

3.3 无名创新地面站源码下载

Github下载链接:https://github.com/wustyuyi/NGroundStation

欢迎mark加star,小伙伴们赶快加入我们吧!!!

感谢您的支持,地面站开发教程与更多功能敬请期待!!!

为广大开发者提供地面站二次开发交流平台,微信扫描加入知识星球:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无名创新飞控开源地面站软件NGroundStation源码发布说明 的相关文章

  • 多维中维度的理解

    项目有段时间了 xff0c 今天需要做一个需求查询调研 必须要照顾楼下业务人员理解的方式吧多维度表述清楚 还真不好讲 xff1a 原以为维度就是一个基准点 xff0c 一个看事情的角度 xff0c 静下来想 xff0c 要描述出来好像还真不
  • Spring注解

    注解介绍 注解有两个作用 xff1a 标注和注入 标注 xff1a 类路径下自动扫描 xff0c 减少在xml中配置bean 例如 64 Component 64 Service注入 xff1a 自动装配 xff0c 需要类的地方直接加注解
  • akka基础

    基本概念消息传递API 通用API消息传递方式 Future机制Actor生命周期处理状态和错误 监督kill actor生命周期监控和DeathWatch安全重启状态 纵向扩展 Router调度方式使用策略 横向扩展 订阅集群事件启动 退
  • ROS学习(9)自定义移动机器人模型Gazebo仿真

    文章目录 前言一 gazebo启动二 创建编译功能包三 更新xacro文件1 更新robot base xacro2 更新robot camera xacro3 更新robot lidar xacro4 更新robot xacro 四 更新
  • ROS学习(11)使用ROS创建地图

    文章目录 前言一 创建编译功能包二 更新启动文件三 启动模型四 保存地图五 加载地图六 总结 前言 创建地图是一件比较复杂的工作 xff0c ROS利用map server地图服务器 xff0c 借助激光雷达和机器人的里程信息来完成这项工作
  • ROS学习(12)使用ROS创建自定义地图

    文章目录 前言一 新建环境二 创建编译功能包三 新建 world文件四 新建world启动文件五 更新启动文件六 建图 前言 上一篇使用的是柳树车库环境 xff0c 实现完整建图工作比较复杂 xff0c 所以准备新建一个简单点的环境 xff
  • ROS学习(13)自定义机器人的ROS导航

    文章目录 前言一 创建编译功能包二 代价地图配置三 基本局部规划器配置四 创建导航包的启动文件五 运行启动文件六 为导航功能包集设置rviz七 导航仿真 前言 上一篇针对我家户型 xff0c 完成了自定义环境的建图工作 本篇主要完成对导航功
  • ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程

    文章目录 前言一 添加ROS软件源 xff08 sources list xff09 二 添加密钥三 更新apt功能包列表四 安装ROS五 初始化 rosdep六 将ROS环境变量添加到 bashrc文件中七 安装rosinstall等工具
  • ROS学习(14)自定义四轮小车的ROS导航

    文章目录 前言一 创建编译功能包二 代价地图配置三 基本局部规划器配置四 创建导航包的启动文件五 导航仿真六 总结 前言 本篇为自定义四轮小车的ROS导航仿真 xff0c 与前面自定义机器人导航类似 该篇源码非原创 xff0c 特此说明 x
  • ROS学习(24)plugin插件

    文章目录 前言一 工作原理二 具体实现1 创建基类2 创建plugin类3 注册插件4 编译插件的动态链接库5 将插件加入ROS6 调用插件7 运行效果 前言 ROS中的插件就是可以动态加载的扩展功能类 ROS中的pluginlib功能包提
  • ROS学习(28)Web GUI

    文章目录 前言一 rosbridge suite元功能包二 roslibjs ros2djs ros3djs功能包三 tf2 web republisher功能包四 创建web应用五 使用web浏览器控制机器人 前言 ROS Web too
  • 参看了别人写的面试讲解

    转帖 ERP顾问的面试 新的一年就要开始了 xff0c 有不少的同行估计都在想着跳槽了 今天我就把自己的当面试官的感受给大家谈谈 xff0c 也许 xff0c 从中 xff0c 你可以掌握 ERP 实施顾问面试的技巧 在来年 xff0c 当
  • ROS2学习(1)ROS2简述

    文章目录 前言一 ROS1存在的问题二 什么是ROS21 ROS2的设计目标2 ROS2的系统架构3 ROS2的关键中间件 DDS4 ROS2中的通信模型5 ROS2的编译系统 前言 虽然众多开发者对ROS1进行了很多开发建设 xff0c
  • Qt之实现自定义控件的两种方式——提升法

    文章目录 前言一 需求二 实现1 新建项目2 自定义控件类3 提升4 效果 前言 可以通过Qt设计师拖拽原生控件进行界面开发 xff0c 但有时候原生控件不能满足项目需求 此时 xff0c 就需要实现自定义控件 Qt中实现自定义控件 xff
  • Qt之实现自定义控件的两种方式——插件法

    文章目录 前言一 需求二 实现1 新建项目2 自定义控件类3 编译插件4 拖拽使用 xff08 1 xff09 在designer exe中直接拖拽 xff08 2 xff09 在Qt Creator的设计师中直接拖拽 5 在项目中正常使用
  • Qt自定义控件——动态圆形进度条

    文章目录 前言一 需求二 实现1 自定义控件类2 提升3 效果 前言 本篇通过提升法实现一个动态圆形进度条 一 需求 自定义实现一个动态圆形进度条 xff0c 支持设置进度条颜色 目标值背景色 外边框背景色 中央圆环背景色 旋转角度及大小自
  • linux下可视化git工具git-cola安装与使用(SSH方式)

    一 git cola为何物 很多小伙伴 xff0c 特别喜欢使用TortoiseGit xff0c 该软件是做什么的 xff0c 就不用多说吧 奈何 xff0c TortoiseGit只有windows版 xff0c 这让在linux上开发
  • 智能优化算法:布谷鸟搜索算法-附代码

    智能优化算法 xff1a 布谷鸟搜索算法 附代码 文章目录 智能优化算法 xff1a 布谷鸟搜索算法 附代码1 算法原理2 算法结果3 参考文献4 Matlab代码 摘要 xff1a 谷鸟搜索算法 cuckoo search cs xff0
  • 基于布谷鸟优化的BP神经网络(预测应用) - 附代码

    基于布谷鸟优化的BP神经网络 xff08 预测应用 xff09 附代码 文章目录 基于布谷鸟优化的BP神经网络 xff08 预测应用 xff09 附代码1 数据介绍3 CS优化BP神经网络3 1 BP神经网络参数设置3 2 布谷鸟算法应用

随机推荐

  • 基于粒子群优化的BP神经网络(分类应用) - 附代码

    基于粒子群优化的BP神经网络 xff08 分类应用 xff09 附代码 文章目录 基于粒子群优化的BP神经网络 xff08 分类应用 xff09 附代码1 鸢尾花iris数据介绍2 数据集整理3 粒子群优化BP神经网络3 1 BP神经网络参
  • Arm Keil MDK v5.30版本官宣,快来下载!

    近日 xff0c Arm很高兴地宣布发布Arm Keil MDK v5 30 此版本新增了对Cortex M55处理器和CMSIS Build的支持 xff0c 更新包括Arm Compiler 6 14 xff0c CMSIS 5 7 0
  • ubuntu下访问串口

    前言 最近准备将windows上自动瞄准的程序移植到linux xff0c 第一步准备调试一下ubuntu下的串口 在网上搜到一个串口库 xff0c 于是就拿来调用 xff0c 最后调试成功 过程如下 xff1a 过程 1 下载Serial
  • 热备笔记实验

    早上突然断电 本来笔记本的插头就忘记插了 xff0c 电池没用多久就熄火 最纳闷的是接入电源后本机数据库竟然挂掉了 xff0c 嘿嘿 xff0c 正好试一试前几天应用的热备回复 以下是我的全程 C Documents and Setting
  • Android学习之AIDL添加Service权限

    参考 Android开发艺术探索 xff0c 书中提供了两种方法 第一种方法 xff1a 在onBind中验证 在服务端的AndroidManifest添加自定义权限 lt permission android name 61 span c
  • ADRC(自抗扰控制器)技术附Matlab代码框架

    自抗扰控制器 Auto Active Disturbances Rejec ion Controller ADRC 是韩京清学者提出的 xff0c 是一种继PID控制器后的一种新型的实用的控制技术 它不是一种独立的技术 xff0c 可以理解
  • git视频及对初学者的学习建议

    http herry2013git blog 163 com blog static 21956801120144810133569 http herry2013git blog 163 com blog static 2195680112
  • 迷你光流使用说明

    为了让你有兴趣往下学习 xff0c 先上个定点悬停效果视频给你欣赏一下吧 xff01 点击打开视频链接 首先 xff0c 简单介绍一下我使用的这款光流传感器 长宽高 xff1a 14x11x5mm xff0c 重量约0 6克 xff0c 工
  • Handler的使用方法(一)

    想花点时间谈谈Handler的使用方法 xff0c 是应为Handler的使用涉及到了线程类的使用 xff0c 也是在程序中用到了线程 xff0c 关于线程 xff0c 是个很重要的概念 xff0c 因为以后的嵌入式系统的应用开发往往在程序
  • STM32控制APM飞控(二)MAVLINK源码集成到stm32工程中

    MAVLINK协议源码集成到32工程中 一 MAVLINK代码转化为C语言源码文件 主要根据 http www cnblogs com lovechen p 5801679 html 作者 恒久力行 的方式 xff0c 我进行归纳简要说明
  • STM32控制APM飞控(三)MAVLINK整合并适配stm32串口的收发

    目录 stm32底层串口代码更改能收发MAVLINK协议包 一 在上一次移植好的工程基础上进行如下改动
  • STM32控制APM飞控(五)MAVLINK的C源码的解释及MAVLINK心跳包

    MAVLINK的C源码的解释及MAVLINK心跳包 一 MAVLINK转化成C源码后的文件及文件夹解释 用pathon2 7将从github官网下载下来的MAVLINK源码转换成c语言源码的文件夹如图 xff1a 解释 xff1a a xf
  • (一) 概述(概念、组件、架构、适用场景) | 普罗米修斯(Prometheus)

    什么是普罗米修斯 xff1f Prometheus是一个开源系统监控和警报工具包 xff0c 最初在 SoundCloud构建 自 2012 年成立以来 xff0c 许多公司和组织都采用了 Prometheus xff0c 该项目拥有非常活
  • 多值依赖

    多值依赖 xff1a 比如 xff1a 学校中某一门课程由多个教员讲授 xff0c 他们使用相同的一套参考书 每个教员可以讲授多门课程 xff0c 每种参考书可以供多门课程使用 我们可以用一个非规范化的关系来表示教员T 课程C 和参考书B
  • Docker启动Mysql问题汇总

    最近在学习Docker技术 xff0c 遇到了不少问题 xff0c 记录分享一下 xff0c 感觉有用的可以参考一下 xff1b 1 Docker使用Mysql docker run d v opt data mysql02 var lib
  • 静态库和动态库/文件描述符与文件指针/文件操作/重定向

    c语言阶段学习文件操作复习 1 打开文件 FILE fopen const char path const char mode path xff1a 需要打开的文件路径 xff0c 可以是绝对路径 xff0c 也可以是相对路径 mode x
  • 一种可行的STM32F103外设RTC使用方法

    前言 最近做的项目需要用RTC功能 xff0c 记录掉上电时间 然后就开始琢磨STM32的RTC 在使用的过程中出现各种问题 搞的很是头痛 几经折腾 xff0c 终于弄出一种稳定的使用方法 刚开始最大的问题就是掉电后时钟不走 xff0c 代
  • 路径规划算法初探

    前言 xff1a 真实世界中人类的路径规划是对记忆信息和实时感知信息综合分析的过程 xff0c 在虚拟技术中属于行为控制层级的技术 一 xff0c 机器人路径规划分类 xff1a 1 全局路径规划 xff08 环境完全已知 xff09 2
  • docker容器的备份和恢复

    将容器保存为镜像 root 64 1 0001 docker ps a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a40d46499c3a gitlab gitlab ce
  • 无名创新飞控开源地面站软件NGroundStation源码发布说明

    无名创新飞控开源地面站 NGroundStation 一 地面站开源初衷与下载链接 xff1a 无名创新飞控开源飞控地面站是无名小哥为广大自研飞控开发者 电子发烧友们专门开发的一款多功能上位机软件 xff0c 地面站功能涵盖 xff1a 飞