首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
px4专题
[Doc][px4][ros2][gazebo][yolov8]PX4-ROS2-Gazebo-YOLOv8
GIT地址:Https://github.com/monemati/PX4-ROS2-Gazebo-YOLOv8 apt install python3.8-venv Create a virtual environment # createpython -m venv /home/xg/px4-venv# activatesource /home/xg/px4-venv/bi
阅读更多...
Windows下建立PX4的Eclipse开发环境
https://zhuanlan.zhihu.com/p/25198079
阅读更多...
PX4着陆检测
为什么要着陆检测 对于开发一款飞控而言,起飞和落地的检测是必不可少的,甚至占有举足轻重的地位。比如,飞控内部起飞前控制器的一些初始化设置,落地及时自动加锁等功能都必须要基于这个功能,如果出现判定不准确或者误判的情况,会导致炸鸡的风险。在PX4的代码中着落检测和起飞检测写在了一起,判断函数为_get_landed_state(),如果飞机当前在地面上(还没有起飞或者已经着陆),则返回true,如果
阅读更多...
PX4中混控器Mixer的分析
PX4架构保证了核心控制器中不需要针对机身布局做特别处理。混控指的是把输入指令(例如:遥控器打右转)分配到电机以及舵机的执行器(如电调或舵机PWM)指令。对于固定翼的副翼控制而言,每个副翼由一个舵机控制,那么混控的意义就是控制其中一个副翼抬起而另一个副翼落下。同样的,对多旋翼而言,俯仰操作需要改变所有电机的转速。将混控逻辑从实际姿态控制器中分离出来可以大大提高复用性。 1 控制流程 一个特定的
阅读更多...
PX4添加一个新的机型
有时候自己定义了一个新的固定翼或者选择,PX4没有对应的机型,这时候需要添加一个新的飞机类型。添加飞机的说明官网上有说明,https://dev.px4.io/en/airframes/adding_a_new_frame.html#add-new-airframe-to-qgroundcontrol。 不过官网上有些细节没有提到,很容易添加失败。步骤和官网上也差不多。我在总结一下步骤及容易出现
阅读更多...
PX4启动脚本分析
启动脚本是一个神奇的东西,它能够识别出你对应的飞机类型,加载对应的混控器,选择对应的姿态、位置估计程序以及控制程序,初始化你需要的驱动程序。下面来分析下。 图片总结 启动代码的分析必定少不了这张图,不知道是谁整理出来的,非常棒!下面的分析会结合源代码rcS以及这张图进行。 图片可能有点大,可以保存图片到本地仔细研究。 代码分析 启动脚本位于Firmware\ROMFS\px4fmu_
阅读更多...
PX4日志生成及查看
Pixhawk的飞行日志由固件中的sd2log模块记录在SD卡的log文件中,目前版本的格式为*.px4log(曾经是*.bin),根据sd2log的设置不同,包含飞行日志的文件夹的名字可能是sess***或者具体日期时间 启动日志 PX4中日志有时不随系统启动,需要在地面站中通过sdlog2命令启动日志记录,参数如下: sdlog2 {start|stop|status|on|off} [
阅读更多...
PX4编译问题总结
PX4在变编译的时候总会碰到很多问题。有些问题根据提示就可以解决,有些问题却有点麻烦。 1 找不到python jinja2模块 CMake Error at /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):couldn't find python module jinja2:for
阅读更多...
PX4中ESC的驱动框架
Cdev继承的是Device,然后I2C又是继承的CDev,然后ESC又是继承的I2C,Device---->cdev---->I2C---->ESC。 在ESC的init函数里面:首先会调用I2C的init函数。然后配置RST管脚,然后配置电调的I2C地址,包括两个方面,一个是设置飞控程序里面的总线地址,另一个是motor端的I2C地址。 在I2C的init函数里面:_dev----px4_i
阅读更多...
PX4里面怎么添加驱动程序
添加驱动程序 例如,要把 GT100_esc.cpp添加到一个固件里面去,那么 1.首先把h文件放到src/drv目录下面, 2.然后新建一个文件夹,在这个文件夹里面放入.cpp文件和cmakelist文件, 然后要修改cmakelist文件,其中有三个地方需要修改,一个是你新建的这个文件夹的名字需要修改,还有就是里面还要加上.cpp的名字。 第三个地方就是,要把main函数的名字加上,这样对于
阅读更多...
PX4的UORB通信机制
在Firmware的msg文件夹里面,里面有很多.msg结尾的文件,这些msg文件在编译的时候可以生成h头文件,这些编译过程中生成的头文件一般是保存在build_default/src/module/uorb/topics。 添加msg文件的时候,首先把写好的msg文件放在msg文件夹里面,然后还有一个需要修改的就是cmakelist这个文件,要在这个文件里面把你的msg文件的名字加进去。 在
阅读更多...
无人机 PX4 飞控 | ROS应用层开发:offboard 模式切换详细总结
无人机 PX4 飞控 | ROS应用层开发:offboard 模式切换详细总结 PX4 offboard 模式介绍通过mavros 进行offboard模式切换代码测试 通过地面站进行offboard模式切换通过遥控器拨杆切换offboard模式 PX4 offboard 模式介绍 PX4 是一个广为熟知的开源飞控软件,常用于无人机(UAV)和其它自主飞行器的控制。 在PX
阅读更多...
Linux系统ubuntu20.04 无人机PX4 开发环境搭建(失败率很低)
Linux系统ubuntu20.04 无人机PX4 开发环境搭建 PX4固件下载开发环境搭建MAVROS安装安装地面站QGC PX4固件下载 PX4的源码处于GitHub,因为众所周知的原因git clone经常失败,此处从Gitee获取PX4源码和依赖模块。 git clone https://gitee.com/voima/PX4-Autopilot.git 正克隆到
阅读更多...
【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置
PX4加速度计陀螺仪滤波器参数设置 前期准备滤波前FFT图滤波后FFT图 环境: 日志分析软件 : Flight Review PX4 :1.13.0 前期准备 进行滤波器参数设置的前提是飞机简单调试过PID已经可以稳定起飞,开源飞控的很多默认参数是可以让飞机平稳起飞的。 修改参数SDLOG_PROFILE,勾选High rate选项。以最大频率来记录数据,这就方便我们
阅读更多...
【PX4-AutoPilot教程-TIPS】离线安装Flight Review PX4日志分析工具
离线安装Flight Review PX4日志分析工具 安装方法 安装方法 使用Flight Review在线分析日志,有时会因为网络原因无法使用。 使用离线安装的方式使用Flight Review,可以在无需网络的情况下使用Flight Review网页。 安装环境依赖。 sudo apt-get install sqlite3 fftw3 libfftw3-devs
阅读更多...
Windows下使用Airsim+QGC进行PX4硬件在环HITL(二)
Windows下使用Airsim+QGC进行PX4硬件在环HITL This tutorial will guide you through the installation of Airsim and QGC on Windows, so that the hardware-in-the-loop experiment can be conducted. Hardware-in-the
阅读更多...
基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇)软硬件参数调试
基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇)软硬件参数调试 本文内容大部分来自Kris,我们的K大,在VTOL领域的大牛,在此,非常感谢K大。能引用K大的成果也是自己的荣幸,不便之处还请K大多多包涵,在此引用只是为方便自己日常学习,部分参数表里根据自身情况,增加了修改环节和相应参数。 垂直起降固定翼 中文教程-参数设置 垂直起
阅读更多...
PX4 ROS2 真机
如果仿真跑通了。 真机遇到问题,可参考此文章。 ubuntu22 + px4 1.14.3 + ros2 humble 硬件接线。 先找两个usb - ttl串口,分别接到两台主机上,保证串口通信正常。 图中是个六合一的。浪费一天时间,发现是串口设置错误,无法通信。 qgc设置参数 如果不行,可以手动启动uxrce_dds_client uxrce_dds
阅读更多...
【PX4-AutoPilot教程-TIPS】PX4设置DMA通道后系统无法正常启动的解决方法
PX4设置DMA通道后系统无法正常启动的解决方法 问题描述解决方法 问题描述 进行PX4源码移植的时候修改PX4的DMA配置,主要是对nuttx-config/include/board_dma_map.h文件进行修改。 该文件用于配置DMA。DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动,这就节省了CPU
阅读更多...
【PX4-AutoPilot教程-TIPS】MAVROS2运行px4.launch文件报错ValueError无法启动的解决方法
MAVROS2运行px4.launch文件报错ValueError无法启动的解决方法 问题描述解决方法 环境: Ubuntu :20.04 LTS ROS :ROS2 Foxy PX4 :1.13.0 问题描述 在使用命令ros2 launch mavros px4.launch命令启动MAVROS2与PX4之间的连接时报错,无法启动MAVROS2,报错信息如下。 h
阅读更多...
PX4二次开发快速入门(三):自定义串口驱动
文章目录 前言 前言 软件:PX4 1.14.0稳定版 硬件:纳雷NRA12,pixhawk4 仿照原生固件tfmini的驱动进行编写 源码地址: https://gitee.com/Mbot_admin/px4-1.14.0-csdn 修改 src/drivers/distance_sensor/CMakeLists.txt 添加 add_subdirectory(nra1
阅读更多...
PX4无人机传感器介绍
1.无人机传感器简介 由于Pixhawk飞控已经内置了传感器,PX4自驾仪完全可以在飞控没有任何外部传感器的情况下完成对无人机的飞行控制。 Pixhawk飞控内置了三轴陀螺仪+三轴加速度计+三轴磁力计+气压计传感器(气压计被用于获取无人机高度信息)。 强烈建议在机上安装GPS来释放飞行器的全部潜力,并且安装GPS后无人机可以在全自动模式下完成任务。 对于大部分的固定翼飞行器而言,空速器是必
阅读更多...
基于 parallels ubuntu 20.04 LTS (focal) 的ros+px4+gazebo 安装
系统环境: 主机环境macos 14.2.1 (23C71)、M1芯片Paralles商业版 19.1.0 (54729)ubuntuubuntu 20.04 LTS (focal)PX4v1.14.0ROS2foxy 虚拟机安装 1. 下载安装 parallels,参考评论; 2. 下载 ubuntu 镜像,使用 ubuntu 20.04 LTS (focal) arm 版本: ubu
阅读更多...
无人机/飞控--ArduPilot、PX4学习记录(4)
这是一篇碎碎念,零零碎碎的记录了小组准备竞赛的过程,写的挺乱,仅供本人记录学习历程和参考。 本章主要完成的目标:调试地面站 GPS、加速度校准;试飞并炸机 目录 地面站(QGC)安装(*未完成) 地面站Mission Planner 1.3.60安装: 飞控与地面站连接、校准 遥控器对频 连接四个螺旋桨 >在前几篇博客中我只是安装好了python3.8,但是并没有将
阅读更多...
从虚拟机里安装Ubuntu到PX4的jmavsim/gazebo仿真
2020.2.21 一场瘟疫把很多人都困在了家里,闲来无聊,打算学学PX4,又因为手头没有pixhawk实物,没法进行半实物仿真(硬件在环仿真),只能进行虚拟仿真。 而虚拟仿真的jMAVsim只有四旋翼模型,gazebo只支持在Ubuntu里运行,所以还是打算装一个Ubuntu。之前装过Ubuntu的双系统,感觉浏览网页,下载文件什么的各种不方便,于是决定用虚拟机来装一个Ubuntu。 下面是一
阅读更多...
编译px4时报错:unrecognized command line option ‘-fdiagnostics-color=always’
问题描述: 最近在学习px4源码,编译的时候报了这个错误: unrecognized command line option ‘-fdiagnostics-color=always’ 然后百度了一下,发现 ‘-fdiagnostics’ 的错误很多都跟gcc版本有关系,最后也是通过更换版本解决的。于是我也就换了一个版本,再编译就ok了。 如何安装与更换GCC版本: 1.如何查看gcc版本
阅读更多...