- 博客(611)
- 资源 (20)
- 收藏
- 关注
原创 ArduPilot开源代码之NavEKF_core_common
整体来说不复杂,但是如果能结合一些overflow的检查就更好了。fill_scratch_variables //SITL环境下,2048最大长度和数组NaN赋值zero_range //清零初始化。
2024-07-21 19:44:04
591
原创 ArduPilot开源代码之AP_DAL研读系列
AP_DAL通过frame的方式随着AP_AHRS进行定期更新数据,进而保持其API提供最新的信息用于EKF算法。
2024-07-19 10:48:10
1555
原创 ArduPilot开源代码之AP_DAL_VisualOdom
是视觉里程计系统的状态,其主要实现依赖于《ArduPilot开源飞控之AP_VisualOdom》。
2024-07-19 07:40:38
881
2
原创 ArduPilot开源代码之AP_DAL_RangeFinder_Backend
主要封装测距仪的共性数据访问和操作。orientation //安装方向get_pos_offset //安装位置status //设备状态distance_cm //传感距离。
2024-07-18 16:33:47
769
原创 ArduPilot开源代码之AP_DAL_InertialSensor
public:// 公共方法private:主要管理了加速度计和陀螺仪数据,并提供访问接口进行直接状态访问。
2024-07-17 17:39:46
746
原创 ArduPilot开源代码之AP_DAL_Baro
public:// 获取主传感器编号// 获取传感器实例数// 检查传感器健康状态// 获取指定传感器最后更新时间(毫秒)// 获取主传感器最后更新时间(毫秒)// 获取指定传感器海拔高度// 获取主传感器海拔高度// update_calibration 在回放中是一个空操作,因为它只是修改数据// 而我们将记录这些数据以输入到扩展卡尔曼滤波器(EKF)中。// 构造函数// 开始帧// 处理消息:处理 log_RBRH 类型的消息。
2024-07-17 17:39:29
962
原创 ArduPilot开源代码之AP_DAL_GPS
public:NO_GPS = GPS_FIX_TYPE_NO_GPS, ///< 无GPS连接/检测NO_FIX = GPS_FIX_TYPE_NO_FIX, ///< 接收到有效的GPS消息但没有锁定GPS_OK_FIX_2D = GPS_FIX_TYPE_2D_FIX, ///< 接收到有效的消息并且2D锁定GPS_OK_FIX_3D = GPS_FIX_TYPE_3D_FIX, ///< 接收到有效的消息并且3D锁定。
2024-07-17 17:39:12
810
原创 ArduPilot开源代码之EKF3
AP_NavEKF3实例化了多个称为“lanes”的滤波器实例。主要的lane提供状态估计,其余的在后台更新并可供切换。可用的lane数量与启用的IMU数量完全相同。按照传统,每个lane使用空速计、气压计、GPS和磁力计传感器的主要实例。主要传感器可以通过修改的参数进行设置,故障情况下,系统甚至可以在飞行中稍后进行更改。通过lane上所有传感器的误差分数计算,选择具有性能最佳的传感器组合的lane。
2024-07-15 18:23:58
279
原创 ArduPilot开源代码之EKF1
更快处理器(如 STM32 F405/H743 等)的可用性使得能够实现更先进的数学算法来估计飞行器的姿态、速度和位置。开发了一种扩展卡尔曼滤波器(EKF)算法,该算法使用速率陀螺仪、加速度计、指南针、GPS、空速和气压测量来估计飞行器的位置、速度和角度方向。EKF 相对于 DCM 和 惯性导航所使用的简单互补滤波算法的优势在于,通过融合所有可用的测量数据,它能够更好地拒绝具有显著误差的测量值,使得飞行器对单个传感器故障的敏感性降低。
2024-07-15 18:23:26
612
原创 ArduPilot开源代码之EKF系列研读
EKF(扩展卡尔曼滤波器,Extended Kalman Filter)是一种非线性滤波算法,是标准卡尔曼滤波器在非线性系统中的扩展。它在处理和估计非线性系统状态时广泛应用,如机器人导航、目标跟踪和自动驾驶等领域。线性化步骤,使得卡尔曼滤波器可以处理非线性系统中的状态估计问题,尽管这种方法在高非线性情况下可能存在精度不足的缺点。但是主打的就是一个专研,学习,因此后续将分章节,逐步的学习。EKF的基本思想是通过线性化非线性系统的状态转移和观测方程,然后应用标准卡尔曼滤波器。分别是过程噪声和观测噪声。
2024-07-15 18:23:06
1524
原创 ArduPilot开源代码之AP_AHRS_Backend
结合上面从设计的角度来说,是一个后端驱动模版;从抽象的角度看,是设计共性标准化(虚函数,共性实现);从代码角度,有些离散,可能是SIM、DCM、External、EKF2、EKF3场景和算法的一个历史变化(后续可能还会有UKF算法);通过走读代码,可以逐步的熟悉代码历史以及设计思想。很多历史问题是无法避免的和回避的。正如苏格拉底所说的:“我知道我一无所知。“苏格拉底怀疑主义”是分析问题,认识世界非常好的手段!
2024-07-14 18:34:55
792
原创 ArduPilot开源飞控之AP_Mount_Topotek
该协议支持来源于拓扑联创,其英文网站Topotek。由于开源社区体系的完善,设备提供方为了更好的服务客服,融入社区,就必须提供已有后端驱动接口或者提供上述对接源代码。从设计的角度,这就是一个类似灰盒的接口暴露在外,供三方应用更好的集成和测试。这是一种非常好的设计模式,很高兴看到这么多Ardupilot Partner的设备源源不断的进入社区。
2024-07-12 10:33:41
1119
原创 ArduPilot开源飞控之AP_Mount_Backend_Serial
/ 类成员和方法在这里定义这行声明了一个新的类,它继承自基类。通过上面的梳理,整个云台设备业务逻辑是通过AP_Mount来整合,包括摄像头、测距仪、摄像头跟随。
2024-07-12 08:13:29
669
原创 ArduPilot开源飞控之AP_Mount_Servo
是通过PWM控制舵机,从而调整云台角度。该云台设备驱动类是最基本或者说最为原始的,电子件最少得云台控制程序。大部分某宝上的都是这类云台。
2024-07-12 07:09:10
795
原创 ArduPilot开源飞控之AP_Mount_Backend
是在云台+相机+测距+相机跟随的复合设备抽象类。AP_Mount_Topotek //最近更新的设备类。
2024-07-11 20:37:49
741
原创 ArduPilot开源飞控之AP_Mount_Siyi
是在云台基础上集成了摄像头、红外测距等诸多功能的复合设备。云台摄像头 串口接 飞控AI模块 串口接 飞控其中云台摄像头 串口接 飞控,走的就是本文所描述的协议。而AI模块 串口接飞控侧重的伴机电脑的目标跟踪。
2024-07-11 08:08:56
763
原创 ArduPilot开源代码之AP_OpticalFlow_MSP
之前在研读《ArduPilot开源飞控之AP_OpticalFlow》出现了明显的错误,在进一步研读过程,发现并纠正错误。随着Ardupilot研读的深入,逐步的发现其C++继承应用的方法,代码走读也就越来越容易。继续,保持,不断学习!!!
2024-07-10 17:03:04
994
原创 ArduPilot开源代码之OpticalFlow_backend
是其中的一种。传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X[ArduPilot开源代码之MatekSys Optical Flow 3901-L0X](ArduPilot开源代码之MatekSys Optical Flow 3901-L0X)ArduPilot开源飞控之AP_OpticalFlow。
2024-07-10 15:28:28
884
1
原创 ArduPilot开源代码之AP_MSP
其实Ardupilot代码从框架设计的角度来看,非常透明、简洁、当然实际应用过程也存在一些资源剪裁问题。总的来说,目前betaflightinav开发航模生态下,MSP协议还是非常普及的。了解这块协议,对于兼容和集成会有很大的帮助。
2024-07-10 10:06:08
669
原创 ArduPilot开源代码之AP_AHRS - 扩展研读1
public:// 构造函数// 初始化/* 禁止复制 */// 获取单例实例// 定期检查是否需要更新AHRS方向(例如基于AHRS_ORIENTATION参数)// 允许在运行时更改方向// 这使初始配置更容易// 允许线程对AHRS更新进行锁定// 返回经过平滑处理并校正漂移的陀螺仪向量// 返回当前的漂移校正积分值// 重置当前的陀螺仪漂移估计// 如果重新计算了陀螺仪偏移,应调用此方法// 获取当前位置估计。
2024-07-08 17:00:49
817
原创 ArduPilot开源代码之AP_VisualOdom_MAV
这段C++代码定义了一个类,它继承自。public:// 构造函数,使用从AP_VisualOdom_Backend继承的构造函数// 处理姿态估计数据,将其发送给EKF。距离单位为米// 处理速度估计数据,将其发送给EKF。速度单位为NED坐标系下的米每秒继承自,意味着它扩展或专门化了提供的功能。的构造函数使用了的构造函数,通过实现。这使得可以使用与相同的参数进行初始化。
2024-07-08 08:29:03
830
原创 ArduPilot开源代码之AP_VisualOdom_IntelT265
类继承自,并添加了许多与Intel T265摄像头相关的功能。这些功能包括处理姿态和速度估计、对齐传感器与车辆的偏航和位置、记录和处理摄像头重置跳跃等。该类通过多个保护函数和成员变量管理传感器数据的旋转和修正,并确保传感器数据与扩展卡尔曼滤波器AHRS/EKF算法对齐。T265摄像头主要特点和功能双鱼眼相机T265摄像头配备了两个鱼眼相机,每个相机具有180度视场角,用于实时捕捉周围环境的图像。惯性测量单元(IMU)内置IMU传感器,包括加速度计和陀螺仪,用于测量和跟踪设备的加速度和角速度。
2024-07-08 08:01:18
815
原创 ArduPilot开源代码之AP_VisualOdom_Backend
类作为视觉里程计处理的后端,与传感器交互,处理姿态和速度估计,并确保系统的健康。派生类需要实现关键功能,如处理姿态和速度估计,而基类提供实用函数并管理内部状态,如最后的重置时间戳和质量指标。注:这个类含有部分条件编译(#if类作为视觉里程计处理的后端模版,实现了通用的处理流程。
2024-07-07 16:45:27
1030
原创 ArduPilot开源飞控之AP_VisualOdom
类用于视觉里程计系统在无人机上的实现。这个类具有多种方法和属性,用于初始化和操作视觉里程计传感器。这些私有成员变量用于存储类的内部状态,包括传感器类型、位置偏移、方向、缩放比例、延迟时间、噪声等信息,以及一个后端驱动指针_driver。总体来说,这个类设计用于处理和管理无人机上的视觉里程计传感器,提供了丰富的接口和功能来初始化、操作和查询传感器状态。视觉定位传感器应用遵循《ArduPilot之开源代码Sensor Drivers设计》。ront-end / back-end分层消息机制驱动。
2024-07-07 15:08:36
1217
原创 Unreal Engine@Jetson Orin Nano尚不支持
是由 Epic Games 开发的强大而灵活的游戏引擎。自1998年首次推出以来,Unreal Engine 已经发展成为一种广泛应用于游戏开发、虚拟现实(VR)、增强现实(AR)以及影视制作等领域的引擎。高质量图形:Unreal Engine 以其逼真的图形渲染能力著称,能够创建高度详细和逼真的环境、角色和效果。蓝图系统:Unreal Engine 提供了一种称为蓝图(Blueprint)的可视化脚本系统,使开发者能够通过拖放节点来实现游戏逻辑,而无需编写大量代码。这对非程序员来说尤其友好。
2024-07-02 13:07:16
823
1
原创 如何在ubuntu上安装ros-noetic?
按照这些步骤操作后,ROS Noetic 应该已经安装在你的 Ubuntu 系统上。汇总整理下,并提供一个快速简单的安装方法。该命令应启动 ROS 主节点。
2024-07-01 10:40:27
1034
原创 QGroundControl@Jetson Orin Nano - 从代码编译安装
先说结论:直接从QGroundControl代码在Jetson Orin Nano板子上编译不成功!按照以下文档中的步骤和方法进行编译,最后卡在:2. 步骤注:/path/to/install是安装路径,请根据实际需要进行安装目录调整。注:推荐使用6.6.3版本,但是笔者也试过5.15.22.1.2 版本2.1.3 初始化2.1.4 配置2.1.5 编译2.1.6 安装2.2 QGC 编译2.2.1 下载2.2.2 版本2.2.3 初始化2.2.4 配置2.2.5
2024-06-29 17:42:57
981
原创 Raspbian命令行安装指定版本picamera2
注:pip 可以替换为pip3,具体看python当前环境,本机默认是python3。上面的问题,主要还是树莓派上查找摄像头设备出现异常的问题。目前基本已经定位到是。,进而再指定OS下安装特定版本,从而解决上述问题。因此,我们需要了解如何卸载、安装、安装指定版本的。
2024-06-27 10:54:37
324
Aocoda-RC-H743Dual-lida2003-4.4.4
2024-03-25
log for Ardupilot 4.4.0 beta3 + error compass variance
2023-07-31
inav-6.1.1-AOCODARCH7DUAL-fix-beeping
2023-06-27
H743-Copter-4.3.7.zip
2023-06-06
H743-BMI270Dual.zip
2023-06-02
H743-BMI270x2-v30.zip
2023-06-01
H743-BMI270x2-v22.zip
2023-05-28
BetaFlight Mark4 H7BMI27 Vibration&Oscillation Tracking 1.1
2023-05-21
BetaFlight Mark4 H7BMI270 Vibration&Oscillation Default 1.0
2023-05-20
QGroundControl-v4.26打包资料
2023-04-24
ip camera app(android)
2023-04-24
AIY Projects app
2023-01-20
AOCODA-H7DUAL(Copter-4.3.0固件).zip
2022-11-05
u-blox8-M8-ReceiverDescrProtSpec-UBX-13003221
2022-10-13
TX12-EdgeTx-elrs.zip
2022-08-10
TX12官网生产固件2.3.11
2022-08-10
PX4-ExternalModule.zip
2022-07-08
BTFL_backup_KakuteF7_20220704_083604配置文件
2022-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人