【云豹2020源码】【js源码解密】【libudev 源码下载】px4飞行源码_pix飞控源代码

时间:2024-12-22 19:16:11 分类:简易网页 源码大全 来源:web rtc源码下载

1.无人驾驶实训室方案
2.Ubuntu20+ROS+px4 无人机仿真环境——环境搭建
3.gps定位轱辘离地就不好使了
4.PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境
5.arduino如何输出一个数组?如位置坐标(x,飞行x飞y).不是赋值而是输出。

px4飞行源码_pix飞控源代码

无人驾驶实训室方案

       整体方案介绍

       无人机实训室产品介绍秉承着为用户提供完整链服务,源码从无人机装调类、控源无人机飞行类、代码无人机检测设备类、飞行x飞无人机设计类、源码云豹2020源码无人机服务类五大类给用户提供全面的控源服务。

       针对学生:从基础学习到就业,代码从头到尾,飞行x飞提供全方位的源码配套设备及教材。

       针对学校:校企合作、控源专业课建设、代码师资培训等。飞行x飞行学启源针对教育教学的源码特殊性,陆续出版相关教材。控源

       从技术层面,北航教授为企业技术顾问,为客户提供最优化的系统化解决方案提供了强有力的技术保障。

       在培训服务上,我拥有强大的无人机培训团队,团队成员均有超过5年教育行业的从业经历,并对教育行业有深刻的理解。

       装调类-产品说明

       装调类产品包含多轴飞行器、固定翼、穿越机、电动直升机等,该系列突出兴趣学习和实训,通过对无人机的组装,提高学习兴趣,对无人机的组成全面认知学习。通过对第一阶段装调类的学习,为第二阶段飞行类做好知识铺垫。

       装调类-产品特点

       ·产品采用箱式独立包装,系统采用箱式结构模块化设计方式,另配有配套工具及配套耗材,实现“一箱一飞机”不需要其他任何设备;

       ·产品飞控采用自主研发智能飞控,飞控适用于固定翼和多旋翼等,针对教学开发,留有底层程序编程接口;

       · 产品采用框架是结构,对内部组成一目了然;

       · 整体采用碳纤维设计,自主知识产权,专为教学开发;

       ·结构件采用航空铝设计,降低产品重量,固定稳固。

       装调类-课程建设

       《无人机组成认知》、《无人机组装学习》、《无人机调试学习》、《RC控制学习》、《无人机地面站学习》、《数字传输技术》、《图传信号技术》等。

       装调类-核心产品介绍

       XXQY-UAV-型 无人机组装实训系统(无人机大赛指定系统)

       产品升级,仅供参考

       XXQY-UAV-型 无人机组装实训系统为行学启源自主开发考核系统(已申请发明专利),该系统采用箱式结构模块化设计方式,系统主要由智能飞控(自主研发,js源码解密飞控能够实现多旋翼无人机和固定翼无人机的全部功能),mm无人机模块化散件(整机采用碳纤维设计和航空铝设计),软件仿真,配套工具,实训手册等组成,该系统突出兴趣学习和实训,通过对无人机的组装,提高学习兴趣,为进阶级产品(XXQY-UAV-型/型)提供学习基础。系统突破传统设计,致力于培养国内一流的无人机操控和

       行业应用高端人才。

       部分配置介绍:

       整机设计----整机采用碳纤维和航空铝设计。

       整机采用碳纤维和航空铝设计,固定牢固,质量轻,整机重量(包含机架,电机,螺旋桨,电池,gps,电台)约为g。

       锂聚合物电池组:格氏品牌3S mAh。

       锂电池平衡充电器:自动检测电池数和容量,自动设置充电输出,锂电池集成电池电压平衡器,高精度的充电锂余额+/-0.V,高功率,高性能充电器,XH-样式脂质平衡端口的,电源输入为DC~V/ AC至V。锂充电速率高达5.0安培(最大瓦),镍氢充电速率高达到5.0安培(最大瓦),输出功率为瓦,充电速功率:1.5C,电池类型:锂电2~6S(系列)/镍氢电池的1至Cells。

       电子调速器:A无刷电调,自动调教油门,采用进口MOS管,同步整流技术,效率高,热损小,温度低。

       电源分线板:双路可调3-V BEC输出,每路可输出2-3A。

       电烙铁:W恒温内热电烙铁,M7恒温芯片,进口陶瓷芯,防静电防击穿。配有烙铁架,海绵,焊锡丝,松香,特尖头,刀头,libudev 源码下载马蹄头。

       内六角螺丝刀:2.0毫米和2.5毫米个一把,进口白钢,.9级硬度。

       GPS:内置罗盘,工作电压DC5V,搜星时间约为S,精度0.9米左右。

       数传电台:CP高品质USB转TTL芯片, MHZ ,支持MWC/APM/PX4/Pixhawk等开源飞控,接收灵敏度为 - dBm,全双工通信2路自适应TDM,可以矫正高达%的数据位错误,基于Si微控制器和Si无线模块。

       无刷外转子电机:采用T-MOTOR电机正反自锁桨电机,型号为,KV。

       智能飞控----无人机智能控制核心,无人机大脑。

       智能飞控PIXAI(自主研发,仿冒必究)整体采用航空铝外壳设计,螺丝采用铝材质,质量轻,减少磁干扰,增强飞控稳定性。智能飞控创新设计,是飞控性能更稳定,其中,控制芯片采用双单片机控制,两套姿态传感器和气压高度计,均采用原装进口芯片。智能飞控使用可靠的miniUSB,开口向上满足飞行器各种安装方式下方便使用,免于外接USB接口。集成空速传感器,可以支持固定翼全自主起降航线飞行。免于外接空速传感器模块,可直连空速管。开放两个单片机SWD仿真调试接口,可以满足各种层次开发者需求,甚至可以把它当做集成传感器的单片机板,从零开始编写底层代码。集成多组外设I2C总线接口,免于外接转换器。开放内置I2C接口。集成独立高电压测量接口,可以测量s电源,免于连接3dr模块。集成蜂鸣器,免于外接蜂鸣器模块。突出外壳的独立外部固定孔,可以灵活外接螺钉可靠固定或可调节硬度减震器。

       智能飞控能够实现多旋翼无人机和固定翼无人机的struts xwork 源码全部功能,该智能飞控主要配有个传感器模块和个外接接口。

       传感器模块主要包含空速传感器模块、磁罗盘传感器模块、气压高度计模块、磁罗盘与加速度计模块、陀螺传感器模块、陀螺与加速度计传感器模块、CAN总线模块、声音报警模块、七彩指示灯模块、低压差供电模块、飞行数据存储模块、电平转换模块、参数存储模块、主控制器模块、输入输出控制器模块等。

       外接接口主要包含电台接口、GPS接口、外置磁罗盘接口、OSD视频叠加接口、外置传感器接口、自检接口、备用GPS接口、CAN总线接口、I2C总线接口、安全开关接口。

       地面站控制软件----地面控制站软件实现人机交互,对无人机实现制定控制。

       模拟飞行软件----完成无人机模拟飞行操控技能训练;无线遥控技术、无人机飞行技术课程实验项目。

       支持实验:

       1、无人机部件认知

       2、无人机组装

       3、仿真软件设置类

       4、遥控器设置类

       5、模拟飞行类

       6、智能飞控编程类

       7、地面站软件设置类

       8、磁罗盘设置类

       9、加速度计设置类

       、遥控器接收机设置类

       、电调校准

       、遥控器校准

       、无人机硬件校准类

       飞行类-产品说明

       飞行类产品包含飞行法规学习、飞行模拟器、飞行自驾仪、光流定位飞行、飞行场地建设等,该系列突出无人机飞行的进阶学习,系列引入中国AOPA航空器拥有者及驾驶员协会法规体系,保障权威性。通过对无人机飞行的法规学习到模拟器的训练,再到场地飞行等,一个完整学习和进阶模式,cnss的源码全方位了解无人机飞行知识和具体操作,并很好的保障学生安全,降低设备损耗。通过对第二阶段飞行类的学习,为第三阶段检测设备类做好知识铺垫。

       飞行类-产品特点

       ·飞行法规学习采用中国AOPA航空器拥有者及驾驶员协会法规体系,保障权威性;

       · 飞行自驾仪采用行学启源针对教学自主研发的RC操控系统,拥有自主知识产权;

       ·飞行模拟器采用正版模拟飞行软件系统;

       ·室内光流定位飞行,解决部分学校场地*,将飞行引进教室;

       · 飞行场地建设,根据场地情况,训练要求,定制飞行场地,达到全面训练飞行技术。

       飞行类-课程建设

       《无人机飞行法规》、《无人机模拟器训练》、《RC控制技术》、《无人机飞行技术》、《RC设备调参》等。

       飞行类-核心产品介绍

       XXQY-UAV-型 无人机飞行自驾仪系统

       产品升级,仅供参考

       XXQY-UAV-型 无人机飞行自驾仪系统为行学启源自主开发考核系统,该系统采用模块化的设计方式,均采用快速连接方式,方便携带。该系统强大的兼容性,可通过自主研发的通道接收机系统,与无人机或者模拟器对接,增加无人机的操控性和娱乐性,本体自带的内置图传高清显示屏,为操作手带来不一样的体验。

       该系统突出无人机操控技术趣味性,能够培养操作手兴趣。该系统通过模拟飞行,练习操作手对无人机的RC控制方式的学习和基本要求,如定点悬停、飞八字等,通过长期练习形成无人机操控的条件反射、肌肉反应和应急反应,减少真实无人机的炸机和人身伤害,降低不必要的损失。该系统致力于为国内培养优秀的无人机操作人员和应用人才。

       支持实验:

       1、地面站系统认知组装类

       2、高清图像传输系统认知学习类

       3、模拟飞行软件认知学习类

       4、自驾仪操控软件认知学习类

       5、地面站控制软件认知学习类

       6、遥控系统设置类

       检测设备类-产品说明

       检测设备类产品包含电机分析仪、电调性能测试装置、飞行器提升力测试装置、飞控性能测试装置等全部无人机组成部分及周边,该系列突出对无人机的核心部件的性能、参数、器件选型等学习, 通过该系列的学习,全方位了解无人机整体部分的工作原理,并对组成部分的的功能、参数、性能、原理等进行深入学习。通过对第三阶段检测设备类的学习,为第四阶设计类做好知识铺垫。

       检测设备类-产品特点

       · 检测设备均由行学启源自主研发,针对教学设计;

       · 检测设备通过对无人机组成器件测试,学习无人机内部构造,为无人机产品研发奠定技术基础;

       · 检测设备配备仪器仪表,将无人机组成器件的各个参数进行展现;

       ·检测设备配有行学启源教学教材,详细参数数据分析。

       检测设备类-课程建设

       《无人机无刷电机性能分析》、《无人机电子调速器性能分析》、《无人机载重能力分析》、《飞控性能测试》、《无人机器件选型》等。

       检测设备类-核心产品介绍

       XXQY-UAV-型 无人机飞控性能测试系统

       产品升级,仅供参考

       XXQY-UAV-型 无人机飞控性能测试系统为行学启源自主开发的测试系统,该系统采用开放式的设计方式,针对自动飞控建立一个真实的激励测试环境,对智能飞控进行全方位测试,通过仪器仪表的测试软件,展现飞控的性能和各部分参数,行学启源并对各个参数状态进行分析,将分析结果和建议行程教学教材,辅助学生理解相关参数。

       该系统采用行学启源自主研发的智能飞控,采用先进的MENS系统。通过该系统的学习,能够全方位的学习无人机大脑智能飞控的工作原理,为无人机设计开发奠定基础。

       核心介绍:

       智能飞控----无人机智能控制核心。

       智能飞控PIXAI(自主研发,仿冒必究)整体采用航空铝外壳设计,螺丝采用铝材质,质量轻,减少磁干扰,增强飞控稳定性。智能飞控创新设计,使飞控性能更稳定,其中,控制芯片采用双单片机控制,两套姿态传感器和气压高度计,均采用原装进口芯片。智能飞控使用可靠的miniUSB,开口向上满足飞行器各种安装方式下方便使用,免于外接USB接口。集成空速传感器,可以支持固定翼全自主起降航线飞行。免于外接空速传感器模块,可直连空速管。开放两个单片机SWD仿真调试接口,可以满足各种层次开发者需求,甚至可以把它当做集成传感器的单片机板,从零开始编写底层代码。集成多组外设I2C总线接口,免于外接转换器。开放内置I2C接口。集成独立高电压测量接口,可以测量s电源,免于连接3dr模块。集成蜂鸣器,免于外接蜂鸣器模块。突出外壳的独立外部固定孔,可以灵活外接螺钉可靠固定或可调节硬度减震器。

       智能飞控能够实现多旋翼无人机和固定翼无人机的全部功能,该智能飞控主要配有个传感器模块和个外接接口。

       传感器模块主要包含空速传感器模块、磁罗盘传感器模块、气压高度计模块、磁罗盘与加速度计模块、陀螺传感器模块、陀螺与加速度计传感器模块、CAN总线模块、声音报警模块、七彩指示灯模块、低压差供电模块、飞行数据存储模块、电平转换模块、参数存储模块、主控制器模块、输入输出控制器模块等。

       外接接口主要包含电台接口、GPS接口、外置磁罗盘接口、OSD视频叠加接口、外置传感器接口、自检接口、备用GPS接口、CAN总线接口、I2C总线接口、安全开关接口。

       该智能飞控强大的兼容性,可兼容行业常用的外围设备(自主研发,仿冒必究)。

       支持实验:

       1、智能飞控工作原理类

       2、智能飞控参数分析类

       3、配置最优飞控参数类

       4、智能飞控姿态分析类

       5、智能飞控数据传输类

       6、智能飞控卫星信号处理类

       设计类

       设计类系列即为无人机产品开发系列,产品包含惯性导航(INS)系统、MEMS传感器实训系统、飞控系统故障考核系统、飞控设计开发系统、PIXAI飞控底层编程等, 该系列突出对无人机整体设计的学习,该环境既包括航电系统如ADS、INS等系统的仿真,系统能够模拟与自动飞控系统交联的各个航电以及非航电系统的接口及特性,并能动态仿真这些系统在各种飞行模式下的工作过程及其各种故障状态等。它提供了对各系统的数据采集、数据通信、故障的分析判断及告警等功能的系统检测。通过该系列的学习,能够自主开发设计无人机。

       设计类-产品特点

       ·设计类产品均由行学启源自主研发,针对教学设计;

       ·设计类产品包括航电系统如ADS、INS等系统的仿真,构建真实激励系统;

       · 飞控设计系统能够动态仿真这些系统在各种飞行模式下的工作过程及其各种故障状;

       · 通过该系列的学习,能够自主开发设计无人机;

       · 设计类产品配有行学启源教学教材,详细参数数据分析。

       设计类-课程建设

       《惯性导航(INS)系统》、《MEMS传感器实训系统学习》、《飞控设计开发系统》、《飞控系统故障考核系统学习》、《PIXAI飞控底层编程》等。

       设计类-核心产品介绍

       XXQY-UAV-型 无人机飞控设计开发系统

       产品升级,仅供参考

       XXQY-UAV-型 无人机飞控设计开发系统为北京行学启源科技有限公司自主开发考核系统(已申请发明专利),该系统采用开放式的设计方式,以LINKS-RT半实物仿真器和三轴仿真转台为核心,为无人机飞控板的地面调试提供硬件在回路的仿真测试环境。针对自动飞控建立一个真实的激励测试环境,对智能飞控进行全方位测试,通过仪器仪表的测试软件,展现飞控的性能和各部分参数,行学启源并对各个参数状态进行分析,将分析结果和建议行程教学教材,辅助学生理解相关参数。

       核心介绍

       无人机飞控V字型开发三个主要阶段:

       系统设计及仿真验证阶段:基于Matlab/Simulink搭建无人机飞控系统数字仿真模型,完成飞控算法的初步验证;

       产品实现阶段:将验证后的飞控算法模型,自动生成C语言源代码,加快飞控软件开发进程;

       系统测试阶段:利用半实物仿真平台模拟飞控外部环境,并通过三轴仿真转台真实激励IMU姿态输出,完成飞控装机前的地面硬件在回路测试。

       基于Matlab/Simulink 仿真建模环境,提供完整的飞机仿真框架,集成了飞行动力学、发动机、仪表、导航、操纵等系统,可模拟各种故障状态,并允许用户添加自己的各种模拟功能和模型。

       模型特点:

       为固定翼飞机、旋翼机提供实时仿真所需的气动模型,无需手工编写代码;

       在可控制的模拟环境中测试飞机的设计和性能;

       设定子系统的功能,包括飞行管理系统、自动驾驶、飞行控制等;

       轻松的集成虚拟的或真实的硬件设备,或用户开发的模块;

       从窗口、对话框等轻松的设定气动参数、环境参数来快速的启动仿真。

       飞控软件开发平台Links_AutoCoder 让飞控软件设计人员可以直接通过MatlabSimulink 图形化建模环境完成控制算法/策略软件的设计,而不用去写源代码。这种“模型即软件”的设计思路可直接继承设计阶段的仿真模型成果,将飞控模型无缝转换成飞控软件,直接运行在实际的飞控硬件平台上。

       平台特性:

       基于模型(MBD)的设计思路;

       飞控软件开发不用编写代码,而是让模型直接生成代码;

       支持APM 和PIXHAWK 平台,也可根据用户自己的飞控平台进行定制;

       服务类-说明

       行学启源针对无人机教学提供全方位的服务,针对学生,从基础学习到就业,从头到尾,提供一条龙服务。针对学校,校企合作、专业课建设、师资培训等。行学启源针对教育教学的特殊性,陆续出版相关教材。

       服务类-特点

       ·学生就业提供三次工作推荐;

       ·行学启源出版相关教学教材;

       ·学生毕业后可获得双证,毕业证和AOPA合格证(驾照);

       ·校企合作、专业课建设、师资培训等;

       ·搭建网络平台,答疑解惑;

       ·协办全国无人机技能大赛;

       ·通过大赛选拔优秀飞手,参加国际比赛。

       行学启源,期待您的参观指导!

       网址:百度搜:行学启源

       无人机AOPA驾校资质和理事企业

       全国无人机教学指导委员会会员

Ubuntu+ROS+px4 无人机仿真环境——环境搭建

       Ubuntu+ROS+px4 无人机仿真环境搭建教程

       本文旨在引导你搭建一个高效验证无人机轨迹规划和控制算法的仿真环境,我们将逐步构建基础环境并验证算法效果。首先,让我们来了解环境搭建的三个关键步骤。

       环境搭建步骤

1. 安装ROS Noetic: Ubuntu .对应的ROS版本为Noetic,建议在安装前设置终端代理以避免网络问题。以下是简要步骤:

       换源并更新源

       设置ROS源和密钥

       安装curl(如需)

       选择安装全功能包ros-noetic-desktop-full

       设置环境变量和rosdep

       进行简单测试

2. PX4环境安装: 包括下载编译px4源码、安装mavros和qground。参考详细的安装教程,注意px4和相关软件的安装路径。

3. 显卡驱动: 如果Gazebo运行卡顿,可能是缺少显卡驱动,参考相关链接进行安装。可能需要在恢复模式下进行驱动管理。

       以上步骤完成后,你将拥有一个适合验证无人机控制算法的仿真环境。后续文章将深入探讨轨迹规划和控制算法的实现与测试。祝你搭建顺利!

gps定位轱辘离地就不好使了

       ä¸€ã€æ— æ³•è§£é”ï¼ˆé»„灯闪烁)

           无法解锁的原因会有多种,请按照如下步骤进行检查:

           1、初始设置是否全部完成

               a、机架类型选择是否正确,或者你根本就没有选择? 

       æ³¨æ„ï¼Œæ–°ç‰ˆæœ¬çš„飞控固件在默认参数情况下,需要先在mission planner中设置好机架类型后才会有各个控制通道的输出。

               b、加速度计校准(如果没有校准或者上次校准不成功,解锁时姿态窗口会提示);

               c、指南针校准(如果没有校准或者上次校准不成功,解锁时姿态窗口会提示);

               d、遥控器校准(并且各个通道的正反向正确);

               e、飞行模式设置(注意,在PosHold、Loiter模式下,如果GPS没有定位或者定位不佳,是无法解锁的)

               f、电调校准(你确定你校准成功了吗?)

           2、是否连接了“安全开关”,并解锁。

               pixhawk飞控硬件引入了“安全开关”这个外设,飞控默认是使能安全开关的,这就需要你在使用遥控器解锁前先长按安全开关,进行初步解锁,然后再通过遥控器解锁。如果你不想用安全开关,在全部参数列表中将“BRD_SAFETYENABLE”设为“0”即可。(注意,有些参数是立即生效,有的参数是重启生效,建议为稳妥起见,进行一次重新上电操作)

           3、会不会是飞控已经解锁了,但是电调并没有工作。

               a、会不会是你只给飞控供电了,而没有给电调供电?

               b、会不会电调信号线断了?或者信号线插反了?

               c、会不会是电调没有校准?

            4、会不会打开了地理围栏功能,并且飞机处于地理围栏之外?

       äºŒã€ç”µå°è¿žæŽ¥ç¼“慢,或者有很大概率连接失败

           APM最新版固件很少出现这个问题了,之前的固件与某些电台联合使用的时候会出现这个问题。

           原因:全部参数列表中“BRD_SER1_RTSCTS”和“BRD_SER2_RTSCTS”默认是“2”,即“auto 自动”。这个两个参数控制着飞控连接电台的串口是否开启流控制(串口协议里的概念)。0表示不用,1表示用,2表示自动检测。自动检测的原理是飞控初始化的时候先默认是使用,然后收发一些数试试,如果不行,就认为不用,以前的固件这里好像有点bug,导致有时就连不上地面站了。将这两个参数设为0即可。

       ä¸‰ã€æ‚¬åœæŽ‰é«˜ï¼ˆæˆ–者叫定高不好,上下浮动)

          å®šé«˜ä¸å¥½ï¼Œå¯èƒ½æ˜¯ç”±ä»¥ä¸‹ä¸¤ä¸ªåŽŸå› é€ æˆçš„:

         1、机架震动大,飞控减震没有做到位,导致飞控Z轴加速度出现较大奇异值,从而导致飞控在某些时刻对自身速度、加速度的估计出现错误,明明飞机没有向上走,但是飞控认为飞机在快速向上走,于是控制飞机猛收油门,从而飞机猛地向下掉一下。这类问题导致的定高问题更像是飞机在向上或者向下抽动。

         2、气压计受自身螺旋桨气流影响导致高度估计问题。大家一般会在气压计上加一块海绵,但其实对于大飞机这个是不够的,最好再增加2层遮挡物:一、飞控加外壳,外壳透气孔尽量小一点,如果飞控外壳四面透风就意义不大了;二、将飞控装在机身内部,并且尽量使得机身封闭(一般很难做到完全封闭,从而不影响气压计检测外界气压值),这个可能比第一条还关键。

       3、如果是缓慢的高度变化,并且变化范围在0.5m以内,那么,可以认为是正常的,因为飞控对自身高度的估计主要来源于气压高度计,而气压随着气温会缓慢变化,再加上飞控旋翼气流影响以及各种测量噪声,飞控对自己的高度的估计会缓慢变化,从而导致高度控制出现漂移。如果想提高定高效果,只能考虑添加“相对高度计”,如超声波、毫米波雷达、激光测距仪等。

       å››ã€å®šç‚¹å®šä¸ä½

           定点定不住,可能是由如下原因造成的:

           1、确认自己已经成功切到PosHold或者Loiter模式!(你以为你切了,实际上没切,或者由于GPS、磁罗盘等问题飞控拒绝切到定点模式)一定要通过地面站看模式,反复确认;

           2、GPS信号差,如果有严重遮挡,GPS定位会出现较大幅度的漂移,进而导致定点定不住;

           3、遥控器有偏移值。要么你没有校准遥控器,要么不小心拨动了遥控器微调,要么温度变化导致遥控器自己行程飘了,导致摇杆处于中位时飞控收到的是向一边打杆的控制指令……

           4、磁航向不正。磁罗盘没有校准,或者磁罗盘歪了,或者磁罗盘受到干扰,导致飞控对机头方向的估计与实际航向不一致,进而导致位置控制时出现刷锅飞行的情况(飞机机头指向不变,飞行轨迹呈现刷锅的感觉)。

       äº”、刷哪种固件?PX4固件?APM固件?

           首先应该明白PixHawk、PX4固件、APM固件三者的关系:

           PixHawk指的是飞控硬件,相比之前大多数开源飞控使用的AVR单片机,Pixhawk飞控在硬件性能上有了很大的提升,它采用的STMFVIT6作为主控,位,主频MHz,可以说是相当的牛逼。

           PX4固件和APM固件指的是软件,它们都是运行在PixHawk硬件之上的,是两种不同飞控程序。对于刷哪个固件,请看下面的对比:

            1、PX4固件的源代码结构明了,对于学习飞控程序的人来说,可能入手更快一点;相比之下,APM代码略微有点复杂;但是,请注意,这里的复杂是相对而言的,根据我个人的经验来看,APM的代码比我见过的所有自己写的代码(自己写的、项目用的、实验室遗留的)相比,编写规范、命名规则、实现方法都要好非常多。   å¯¹äºŽåªæ˜¯ä½¿ç”¨é£žæŽ§ï¼Œè€Œä¸ç ”究代码的人来讲,PX4固件在这一点上没有优势。

           2、APM固件历史悠久,功能更加完善,漏洞更少,飞行更稳定(这里的稳定指的是不会因为程序漏洞导致莫名其妙地摔机);相比之下,PX4固件有点薄弱,有很多坑需要填。     å¯¹äºŽä¸€ä¸ªæ— äººæœºæ¥è®²ï¼Œèƒ½ç¨³å®šå¯é åœ°é£žè¡Œæ˜¯ç¬¬ä¸€ä½çš„,如果不能稳定可靠地飞行,其余优势都是扯淡。

           因此,对于只用飞控不改程序的人,我推荐刷APM固件;而对于需要改程序的人,我也推荐APM固件,但是如果是公司用户,请考虑一下APM固件和PX4固件开源协议的区别,酌情考虑(关于这一点,请注意:不要敝帚自珍,一个无人机公司的竞争优势是全方位的,既然用了开源飞控,即使你加上了自己特有的功能,在飞控代码上也不会比别人强太多。那些不会改飞控代码的竞争对手给他程序他也用不了,那些会改代码的公司也不屑于抄你)。

         上述论述可能有失公允,毕竟,我是用APM的人 🙂

         年月日更新:

         有不少同学还在用APM2.x这款硬件(以AVR单片机作为主控),这种硬件已经被淘汰,最新版固件已经不再支持这款硬件。APM2.0硬件最高支持的固件版本如下:多旋翼:3.2.1,固定翼:3.3.0,无人车:2.5.1。

       å…­ã€èµ·é£žçž¬é—´é£žæœºè½¬å¤´

           新装的飞机第一次试飞时起飞瞬间机头向一个方向旋转,赶紧收油门。这时候,应该按照如下步骤进行检查:

           1、检查桨是不是装错了,各个机臂上“正反桨”严格按照官网指示图进行检查;如果没有问题,看下一步。

           2、把桨卸掉,解锁,检查各个电机转向,注意,是严格按照官方电机转向进行检查,并且注意电机的1、2、3、4可不是按照顺时针排布的;如果没有问题,看下一步。

           3、连上地面站,看看飞机的俯仰、横滚、偏航有没有反的。

           4、如果至此都没有问题,那么,我可以告诉你,有一部分飞机在调参不好、机架刚性不好、动力不好的情况下,会出现起飞瞬间机头偏转的问题,离地后机头就不再偏转了,并且这还跟起飞瞬间推油门是否果断相关。    这时,如果你是个老手,胆子还很大,试飞场地很宽广并没有围观人群,那么大胆起飞吧,飞高1米看看,但是时刻准备收油门。    但是如果你是个新手,或者胆子跟我一样小,或者飞行场地不理想,那么就老老实实绑飞吧,把四条腿绑在地上,留出5cm左右的自由空间,解锁飞行,看看飞机俯仰、横滚、偏航的反应,没问题后再正常飞。

       ä¸ƒã€åœ°é¢ç«™å¤±æŽ§ä¿æŠ¤ï¼ˆGCS Failsafe)

           地面站失控保护,顾名思义,当地面站跟飞机失去连接后触发失控保护。但是如果你以为在MissionPlanner中的设置里直接点上地面站失控保护就行了的话,那你就想简单了,你会发现自动模式下,即使把地面电台拔掉了,飞机也不会返航。这是为什么呢?这是因为这个失控保护的是为“使用游戏手柄控制飞机飞行时”设置的(参考官方文档:链接)。

           是的,当你使用一个微软的游戏手柄连接地面站电脑后,通过简单设置,地面站软件可以把游戏手柄的控制量通过地面电台转发给飞机,这个控制量会覆盖遥控器的控制信号,从而导致飞机只接受游戏手柄和地面站软件的控制。这时,如果地面站与飞机失联了,飞机就处于完全无控状态了(即使遥控器有信号也白搭),因此这时飞控程序中加了地面站失控保护功能。其触发条件如下:

           1、开启了游戏手柄控制飞机功能,并且在使用中;

           2、处于自动模式中;

           3、地面站已经有5秒钟没有跟飞机通信了;

           4、飞控参数中FS_GCS_ENABLE设置为1。

           由此可知,如果你想实现超视距飞行中电台断了飞机自动返航,只能改飞控代码。不过,好在这个地方没有那么复杂,比较好改,自己改改就行。

       å…«ã€ç»¿ç¯å¿«é—ª

           绿灯慢闪表示GPS已定位,并且没有别的故障,飞控允许解锁;那么绿灯快闪是什么意思呢?官网的解释是:GPS is using SBAS(so should have better position estimate)。这个的意思是绿灯快闪情况下,GPS使用了”星基增强系统”的信号,这时GPS定位会更好,因此,在绿灯快闪的情况下,定点会定的更好一点。

       ä¹ã€æŽ¨æ²¹é—¨é£žæœºèµ·ä¸æ¥

           有时你会遇到即使把油门推倒顶,飞机都没法离地的情况,根据我多年踩坑经验,有如下几种可能:

           1、电池没电了,并且是彻底没电了,并且是你以为还有电,甚是是满电,但是就是没电了!     ä¸è¦ç›¸ä¿¡è‡ªå·±çš„记性,不要以为昨晚刚充满的几块电池,怎么可能没电,问题是偏偏几块充满的电池放在那里,你随手拿了一块没有充电的或者干脆已经坏掉的电池!你唯一可以相信的只有BB响(又称电显)!

           2、四个桨的转向反了,推油门风是向上吹的,飞机稳稳地趴在地上。

           3、电调没有进行行程校准!导致遥控器给的是满油门,飞控给的也是满油门,可偏偏电调认为你给的是%油门。注意,新装的飞机,一定要进行电调行程校准,并且注意,是先校准遥控器,后校准电调。(现在不少FOC电调是固定油门的,那么就需要修改遥控器和飞控的行程去适应电调了)

       åã€èµ·é£žçž¬é—´ä¾§ç¿»

         新飞机装好后,各种校准完成后,第一次飞行,飞机侧翻(向前翻、向后翻、向左翻、向后翻)。请按照如下步骤检测飞机:

         1、检查各个电调与飞控连接的线序是否正确,以四轴为例,右前为1号电机,左后为2号电机,左前为3号电机,右后为4号电机,注意可不是顺时针的1、2、3、4;

         2、有条件的话,先将飞机绑在地上(简称“绑飞”),然后进行下面所述测试;

         2、解锁飞机,不要推油门,在怠速下检查所有电机的转向是否有反的;

         3、如果电机转向无误,检查螺旋桨是否有装反的(顺时针转的电机上装了逆时针转动的桨,甚至是一个螺旋桨的上下都反了);

         4、重新校准一下电调的行程试试,如果电调的行程不同,可能导致某些电机先启动;

         5、如果还不行,看看飞控是不是装反了,上下颠倒、或者航向转了特定角度,或者参数中设置了飞控的旋转。

       åä¸€ã€èˆµé¢è¾“出反向

         对于固定翼飞机或者无人船,可能会遇到如下问题:遥控器各个通道设置正确,从地面站上看飞控接收的各个通道的方向也正确,但是某些舵面输出是反向的。这种问题往往是由于舵机实际运动方向与受控方向相反导致的。解决方法如下:

         比如反向的舵机连接的是飞控的CH1,那么在全部参数列表中,搜索RC1_REVERSED,将这个值设置为1,即可。

         注意,这种问题不能通过在遥控器上设置反向来解决。以方向舵为例,我们需要的运作模式是:遥控器方向摇杆向左打,飞机航向就向左转,其中的控制指令流程是:遥控器摇杆向左打—>飞控收到航向需要向左转的指令—>飞控通过一系列PID运算得出舵机控制PWM值—>舵机收到该PWM值—>舵机转到对应的角度—>舵面在舵机连杆的拉动下转动,由于不同飞机舵机和舵面的安装方式不同,会导致实际舵面运动方向与我们需要的方向相反,因此需要在飞控输出PMW信号时进行反向。如果在遥控器里设置了反向,在手动控制模式下可能输出是对的,但是在定点模式或者自动模式下,飞控收到的控制指令将是反的,从而在进行PID控制时是反的,最终就乱掉了。

       åäºŒã€é£žæŽ§ä¸å¯åŠ¨

         有时候,同一个飞控,之前用的好好的,突然有一天上电后飞控没法完全启动,上电后几个小的LED也是亮的,但是RGB LED不闪烁,用USB连接电脑,设备管理器中也能看到飞控的串口,但是用地面站连不上飞控。遇到这种问题,在确定飞控硬件彻底坏了的之前,尝试一下如下步骤,可能就解决了:

         1、移除所有外设连接线(GPS、遥控器接收机、数传电台、电调信号线、外置电源模块线等),使用USB连接飞控,看看飞控是否启动正常,是否能连上地面站,如果能,说明可能是哪个外设有问题,如果不能,下一步;

         2、刷最新的固件试试,如果不行,下一步;

         3、将SD卡重新格式化一下(windows默认格式),重新插入飞控,上电试一下,这一步大多数情况下就能解决问题,如果还不行,下一步;

         4、更换一个SD,重新上电试试,如果还不行,我也没办法了,远程只能帮你到这个地方,不行的话把飞控寄给我看看吧,或者返厂吧。

       åä¸‰ã€é£žæŽ§è‡ªåŠ¨é”å®šæ—¶é—´å¤ªé•¿æˆ–者太短

         飞机落地后,过一段时间会自动锁定,如果你感觉等待时间太长,或者太短,请调节DISARM_DELAY参数,单位是秒,这个参数决定了等待多长时间后自动锁定。

       åå››ã€é¥æŽ§å™¨æ— æ³•æ ¡å‡†

         在遥控器校准页面,发现各个通道的值都为0,动遥控器的各个摇杆都没反应。遇到这种情况,请按照如下步骤检查:

         1、检查遥控器接收机上的灯是不是亮的,如果没有亮,应该是接收机没有供上电;

         2、检查遥控器接收机是不是亮的绿灯,对于大部分接收机,上电后如果没有接收到遥控器信号,会亮红灯,否则才会亮绿灯。如果是红灯,尝试跟遥控器重新对频;

         3、确保你的接收机是跟你手里的遥控器对的频,我遇到过我的接收机跟屋子里另外一个遥控器对上频的情况,而那个遥控器也开着机。

         4、如果使用的是接收机的SBUS接口,确保插对口了。如果用的是Futaba的SB,注意要插的是底下横着的sbus2接口;

         5、确保飞控端插的是RC IN接口。对于原版Pixhawk,上面的sbus字样的接口是飞控sbus信号输出的,不是插那个;

         6、检查接收机线的两端有没有插反,会不会“地”和“信号”反了;

         7、还不行,换根接收机连接线试试;

         8、还不行,重刷最新固件试试;

         9、还不行,可能就是飞控坏了。

       åäº”、机头方向和飞控前向不一致

         有时候,受限于机体结构,我们安装飞控时无法做到飞控方向与飞机方向一致,比如飞控前向朝后安装,甚至是飞控底部朝上安装,这个都是没有问题的,只需要修改AHRS_ORIENTATION这个参数就行了,该参数默认为0,表示不旋转,我们可以根据全部参数列表中的注释按需要进行修改。

         这个参数起作用的原理是在原始传感器数据到来后进行一次旋转,然后再参与姿态解算,这个旋转的工作量很小,因此不用担心这种操作会增加飞控负担导致飞机出问题。

       åå…­ã€æ—¥å¿—不正常

         有时候,飞控会不记录日志,在MissionPlanner的姿态窗口显示“Bad logging”,这种情况下,请按照如下步骤进行尝试:

         1、重新插拔SD卡(SD接触不良,重新插拔试试);

         2、将SD卡使用读卡器用电脑重新格式化一下,格式为FAT,其余参数默认;

         3、如果还不行,换一张SD卡试试;

         4、如果还不行,重刷最新版固件试试;

         5、如果还不行,恐怕只能怀疑飞控硬件问题了,SD卡座虚焊?  主控CPU虚焊?   ä¸è¿‡ï¼Œæ¦‚率很小。

       åä¸ƒã€æ— æ³•åˆ·å›ºä»¶

         使用MissionPlanner给飞控刷固件的流程是这样的:

         1、在飞控与地面站没有连接的情况下(注意,刷固件时,通过USB将飞控与电脑相连,但是不要点击地面站的连接按钮),切换到MissionPlanner的“初始设置”页面,然后点击“安装固件”按钮,这时,会弹出一个小窗口,提示正在获取固件版本,注意,这时地面站是在连接官方服务器,获取最新的稳定版固件的版本号,如果电脑没有联网,就会提示错误;

         2、选择你的飞机类型(固定翼、四轴、六轴、X8等),这时MissionPlanner就会从官网网站上下载对应的固件,这时如果网络不好,就有可能下载一半断掉;

         3、MissionPlanner从网上将固件下载到电脑上后,开始查找与电脑连接的飞控,找到后,发送重新启动命令,飞控自动重启,飞控重启后首先进入BootLoader,然后BootLoader在MissionPlanner的控制下先擦除飞控,然后开始烧写新的固件,最后提示“请在音乐播放完后拔掉飞控”,这指的是原版飞控连接有蜂鸣器的情况下,会有提示音,提示音结束后表示固件升级才是真正完成,如果你的飞控没有蜂鸣器,弹出这个窗口后等待秒就可以拔掉USB了;如果弹出个小窗口,提示“请拔掉飞控,然后点击OK”,那么说明MissionPlanner没有找到飞控,这时需要先拔掉USB,然后点击小窗口上的OK,之后立即插入USB,这样大概率情况下地面站就能识别到飞控并开始刷固件。

         ç»¼ä¸Šæ‰€è¿°ï¼Œå¦‚果遇到无法刷固件的情况,请按照如下步骤检查:

       ã€€1、电脑是否可以联网;由于APM服务器在国外,因此有时即使电脑能联网,也可能会下载失败;

       ã€€2、很多时候,刷固件失败的原因是MissionPlanner无法让飞控自动重启,从而无法进入BootLoader中,进而超时后报错,而正常情况下,飞控上电后第一步就是进入BootLoader,然后再跳转到正常飞控代码,利用这一点,我们可以按照如下步骤刷固件:先不要插飞控的USB,直接在MissionPlanner中点击对应固件的图标,等到MissionPlanner下载好固件后,由于扫描不到飞控,会弹出“请拔下控制板,点击OK后再插入”的窗口,直接点击“OK”,这时MissionPlanner开始不断扫描新插入的USB设备,然后此时再插入飞控的USB,一般情况下就会出现擦除、烧写步骤,百试不爽;

       ã€€3、平常刷固件的时候,MissionPlanner会“偶尔”甚至“经常”出现无响应的情况,感觉整个界面挂了,这时尽量不要动它,%的情况是图形界面挂了,但是刷固件的进程还是在正常运行着的,耐心等待1分钟后就会弹出刷写成功的提示窗口,并且整个界面恢复正常;

       ã€€3、检查MissionPlanner是否为最新版本。我多次遇到过旧版MissionPlanner无法下载固件的问题,更换为官网最新版本的MissionPlanner后问题解决,注意下载MissionPlanner请到官网下载,很多时候从论坛中找到的MissionPlanner可能已经是很旧的版本了,我的另一个博客中有官网下载链接: /?p=

       ã€€4、USB线是否损坏,可以换一条USB线试试;

       ã€€5、电脑是否连接的有蓝牙串口,我们用蓝牙电台连接电脑后,即使已经断开,电脑中依然有2个虚拟串口,这两个串口的存在会导致MissionPlanner刷固件时无法正常识别到飞控,从而导致刷固件失败,请在windows的蓝牙设置里,将蓝牙电台删除掉(从而设备管理器中2个虚拟串口会消失),然后再刷固件。

         5、飞控BootLoader是否损坏,如果已经损坏,需要重刷BootLoader。不过这个概率很小,我还没有遇到过,这种情况只是有存在的可能而已。

       åå…«ã€æ— æ³•å®‰è£…驱动、地面站打不开

         有时候,如果你遇到安装MissionPlanner时无法成功安装驱动,并且打开MissionPlanner时闪退或报错,那么大概率你的系统是Ghost版的Win7,这个系统为了精简空间,删除了一些普通用户用不到的系统文件,而这些文件恰好是地面站软件需要用到的(好坑),因此,推荐使用原版的Win7或者Win,位版本和位版本都行。网上可以找到补上这些缺失文件的方法,但是还是建议安装原版纯净系统,天知道Ghost系统还删了别的什么东西,又加了什么不可告人的东西。

       åä¹ã€æç¤ºâ€œBad AHRS”

           如果地面站提示Bad AHRS,说明姿态解算有问题,大部分情况下,重新校准加速度后就可以解决这个问题。

       äºŒåã€æ’上数传电台后鼠标乱跑

       æœ‰æ—¶å€™ï¼Œæˆ‘们会遇到插上数传电台后电脑鼠标开始不受控制地乱跑的情况,这种情况出现的原理如下:

       ã€€1、飞机先上电,飞控和天空端数传电台开始工作,默认情况下飞控开始通过数传电台下发心跳帧,1秒钟一次;

       ã€€2、然后,插入地面电台,地面电台上电后立即收到了天空端发过来的数据,并开始转发给电脑;

       ã€€3、在地面电台刚插入时,电脑开始识别地面电台并加载驱动,这时地面电台又在不断发送数据给电脑,从而电脑把地面电台识别成了一个“串口轨迹球”或者“串口鼠标”,进而开始利用地面电台发送过来的数据控制鼠标移动。

       ã€€åŸºäºŽä¸Šè¿°åŽŸç†ï¼Œè§£å†³æ–¹æ³•å¾ˆç®€å•ï¼šå…ˆæ’地面电台,然后再飞机上电。

       äºŒåä¸€ã€å›ºå®šç¿¼èˆµæœºæŠ–动

       ã€€å¦‚果你在调试固定翼的时候,出现舵机奇怪抖动现象,那么请按照如下步骤一步步检测:

       æ•°ä¼ ç”µå°ã€å›¾ä¼ ç”µå°çš„天线是否与舵机信号线挨得太近,我经过大量测试发现,电台天线距离舵机信号太近,特别是二者平行放置时,电台发射出的信号会大量耦合到舵机信号线中,这时通过示波器看舵机信号线上的PWM波,会发现它完全被干扰成了非常杂乱的波形,从而舵机的控制电路会接收到错误的控制信息,进而发生舵机抖动的情况。因此,请尽量将图传天线、数传天线和舵机线的距离保持在5cm以上,并且最好二者处于垂直关系(对于鞭状天线,此时耦合能量最少)。注意,对于电调信号线,这个干扰同样存在,只不过一般不会被大家注意到,大家布线时同样要注意这一点;

       è¿žæŽ¥åœ°é¢ç«™ï¼Œåœ¨MissionPlanner中遥控器校准页面查看遥控器各个通道的输入值是否在跳动,如果在跳动,请检查遥控器接收机连线是否松动、遥控器本身是否损坏;如果飞控收到的遥控器的输入值没有跳动,说明问题出在“飞控”->“舵机信号线”->“舵机”这一段:a、检查飞控各个输出通道的最大值和最小值是否设置正确,有的模友出现过舵机控制通道最大值设置为,最小值设置为的情况,此时对飞控来讲输出通道的行程只有1,从而导致程序混乱,飞控输出信号本身就在不断跳动,将这个通道设置为正常的~范围后舵机不再跳动;b、舵机信号线是否虚接?c、舵机本身坏了?换个舵机试试;

       ä¼šä¸ä¼šæ˜¯ä¾›ç”µä¸è¶³å¯¼è‡´çš„?对于较大翼展的飞机,使用了多个较大功率的舵机,同时使用了较小的电源模块,导致峰值功率不足,电源模块反复保护重启?先只保留一个舵机试试? 更换更大的电源模块试试。

       äºŒåäºŒã€MissionPlanner全部参数列表注释消失

       å¦‚果遇到以前正常使用的MissionPlanner,有一天连上飞控后全部参数列表中的注释全部消失了,根据我的经验,按如下步骤操作可以解决:

       1、在控制面板中卸载MissionPlanner;

       2、删除“此电脑” -> “文档” -> “Mission Planner”文件夹;

       3、下载并安装最新版MissionPlanner,链接:/?p=,此博文的第二条。

PX4从放弃到精通(二):ubuntu.配置px4编译环境及mavros环境

       前言

       在虚拟机上使用Ubuntu系统进行PX4编译环境及mavros环境配置时,建议使用纯净系统,避免软件依赖冲突。已装系统或虚拟机的用户可直接进行环境安装,确保网络环境良好,以降低安装报错概率。

       一、下载源码

       先替换源至清华源或阿里源。执行命令并根据提示安装或更新git。如遇下载失败,更换源后重新执行。确保网络稳定,若提示下载问题,尝试网络修复后重新执行。

       二、安装PX4与gazebo9环境

       完成源码下载后,根据安装说明逐步配置编译环境和gazebo仿真环境。遇到下载失败的错误,多为网络问题,解决后重新执行安装脚本。如遇特定错误,执行对应命令解决。

       三、编译PX4固件

       安装环境后,通过指定命令编译生成gazebo仿真所需的sdf文件。若需编译飞控代码,重启电脑。遇到编译错误时,根据错误提示执行相应命令解决,如安装缺失的库或依赖。

       四、安装ros和mavros环境

       确保ROS环境正确安装,处理相关错误后,使用推荐方式安装mavros。推荐使用二进制安装,对于Ubuntu.的用户,执行特定命令进行安装。

       四、其他

       安装完成后,在~/.bashrc文件中添加相关配置路径。确保在.bashrc中包含PX4源码路径,以正确启动roslaunch和连接QGC地面站。测试mavros功能,确保系统安装无误。

       五、安装QGC地面站

       通过指定链接下载QGC地面站,执行相应命令后双击打开。若首次打开地面站时出现提示,执行命令后即可正常启动。

       以上步骤详细介绍了从配置环境到编译PX4固件、安装ros和mavros环境以及安装QGC地面站的全过程,确保用户能够顺利在虚拟机上使用Ubuntu系统进行PX4的开发工作。

arduino如何输出一个数组?如位置坐标(x,y).不是赋值而是输出。

       可以试一下把println(x,y);改成:

       print("("); print(x); print(","); print(y); println(")");

       把数组拆分输出