![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
APM
BreederBai
无人机飞控开发从业人员
展开
-
STM32F4,bootloader跳转到应用程序死机(已解决)
1. bootloader 配置RCC后,应用程序再配置失败,bootloader在跳转时应切换到内部时钟(理论如此,没有时间)2. 应用程序没有设置中断向量表偏移,导致触发中断时死机3.bootloader启用的外设比应用程序多,比如bootloader启用了CAN,应用程序没有用到CAN,且没有相关配置,导致死机...原创 2021-05-18 10:50:33 · 3914 阅读 · 0 评论 -
ardupilot烧写IO芯片程序
硬件:fmuv2固件:ArduCopter 4.0.3问题:烧写固件后,IO芯片的程序没有更新,正常烧写固件后,主控程序会检查IO芯片程序版本,然后选择是否需要更新。如果有意外出现,比如IO芯片中只有bootloader,没有程序,这样不能运行时,在接收主控芯片命令后,重启进入bootloader解决:飞控上电前,按住安全开关,烧写程序(过程中不要松,按安全开关上电,会使IO芯片进入bootloader并等待烧写程序),烧写完程序后,松开安全开关,稍等片刻就可以了。按住安全开关,上电,能看到,I原创 2020-08-24 11:02:13 · 472 阅读 · 0 评论 -
ardupilot读取串口数据不成功笔记(ChibiOS)
20191128:串口初始化:const AP_SerialManager &serial_manager = AP::serialmanager();uart = serial_manager.find_serial(AP_SerialManager::SerialProtocol_XXXX, 0);uart->begin(serial_manager.find_ba...原创 2019-11-28 11:12:56 · 781 阅读 · 0 评论 -
为lua脚本添加新的绑定编译报错(ubuntu16.04、ArduCopter-4.0.0、已解决)
最近ardupilot项目发布了arducopter-4.0版本,新增了对lua脚本的支持,官方添加了一些lua脚本可用的函数和类,官方的教程中也给出了添加新的绑定的方法。 根据官方的教程,我在没有添加新绑定的情况下,运行make run,目的是熟悉下添加新绑定的流程,为以后的开发探探路(没想到还真遇到了问题,,,)。 在指定路径下执行 make run,报...原创 2019-11-06 12:37:33 · 544 阅读 · 0 评论 -
牢记公式,ardupilot EKF2就是纸老虎(四)!
版权声明:本文为博主原创文章,转载请附上博文链接!四、一睹EKF2芳容 因为篇幅过长,写的一些公式会乱码,没办法只能把《 牢记公式,ardupilot EKF2就是纸老虎!》分成几个部分来写,深入了解EKF2,公式很重要,所以我将《 牢记公式,ardupilot EKF2就是纸老虎(三)!》中的公式再重复一遍。 在EKF2实际的应用中,过程噪声矩阵中有些元素是非加性的,有...原创 2018-12-28 19:39:19 · 5318 阅读 · 8 评论 -
牢记公式,ardupilot EKF2就是纸老虎(五)!
版权声明:本文为博主原创文章,转载请附上博文链接!四、一睹EKF2芳容(上接牢记公式,ardupilot EKF2就是纸老虎(四))更新 本博客讲解EKF算法“更新过程“的几个公式。还是先重复下EKF2使用的几个核心公式。在EKF2实际的应用中,过程噪声矩阵中有些元素是非加性的,有些不是。观测噪声矩阵中的元素都是加性的,所以上面的公式可以化简为如下公式: 预测...原创 2018-12-28 19:39:37 · 2712 阅读 · 1 评论 -
搭建ardupilot开发环境随笔(ubuntu 16.04)
趁着刚搭建过一遍开发环境,做下提纲式的记录,有时间再补充。1. 装ubuntu 16.04操作系统,装双系统或三系统时,安装步骤中选自定义位置安装,千万不要选择与其他系统共存。划分区时,划个交换分区,其他的自行百度。注:因为之前的ubuntu只有50G,空间不够了,又从硬盘中划了100G重做系统,所以现在变成了win10、ubuntu、ubuntu共存的情况,装完后win10的引导找不到了...原创 2019-02-27 13:12:08 · 2318 阅读 · 6 评论 -
ardupilot软件仿真及调试(vscode版)
前言 本博客着重讲述如何进行对ardupilot软件仿真和调试,搭建编译环境和vscode的使用教程不再本文的讲述范围。一、安装vscode下载地址:https://code.visualstudio.com/ 在安装包所在文件夹中打开终端,输入以下命令,安装vscodesudo dpkg -i code_1.36.1-1562627527_amd64.deb ...原创 2019-07-29 17:36:51 · 5565 阅读 · 5 评论 -
ardupilot-3.6.10——航点导航WPNav之样条曲线(Spline Navigation)
参考:慕离巷的《ArduCopter——ArduPilot——航点导航WPNav(二)——Spline Navigation》、三石の四夕的《三次Hermite插值》、zhangyue_lala的《一些插值法及理解》目录前言核心算法软件仿真源点、目标点速度选取及飞行中的速度控制结束语前言 样条曲线,是一种曲线。所谓样条本来是工程设计中使用的一种绘图...原创 2019-08-06 10:42:12 · 2469 阅读 · 0 评论 -
ardupilot在Linux上设置SITL(FlightGear)
本页介绍如何在Linux上设置SITL(软件在环路中)。特定命令在Ubuntu上从12.10到16.04进行了测试。概观SITL模拟器允许您在没有任何硬件的情况下运行Plane,Copter或Rover。它是使用普通C ++编译器构建的自动导航代码,为您提供了一个本机可执行文件,允许您在没有硬件的情况下测试代码的行为。SITL在Linux和Windows上本机运行。有关Windows安...翻译 2019-08-08 17:59:49 · 2396 阅读 · 0 评论 -
ardupilot-3.6.9 stabilize模式下(增稳模式)油门输入输出整理
stabilize飞行模式下,飞控的油门控制直接来自于遥控器的油门通道。通过遥控器油门---->控制指令(0~1000)--->油门期望值(0~1)。遥控器油门---->控制指令(0~1000)int16_tRC_Channel::pwm_to_range_dz(uint16_t _dead_zone) const{ ///radio_in 遥控器输入值...原创 2019-08-15 18:24:22 · 1542 阅读 · 0 评论 -
编译scrimmage报错(已解决)
20190917:ardupilot新增加对scrimmage仿真软件的支持,按照scrimmage官方教程安装是遇到找不到<rapidxml/rapidxml.hpp>的报错,最终在/usr/local/include路径下新建rapidxml文件夹,并将rapidxml相关文件复制到此文件夹下,解决此编译报错的问题。...原创 2019-09-17 11:49:44 · 371 阅读 · 2 评论 -
牢记公式,ardupilot EKF2就是纸老虎(三)!
版权声明:本文为博主原创文章,转载请附上博文链接!三、掀开EKF2的神秘面纱 EKF2是EKF算法在ardupilot上的代码实现。读到这里你也许已经忘了,EKF的5大公式(虽然下面是7个公式,但你将和带入公式后,就变成5个公式了)是什么了,我们先回顾下,维基百科给出的公式(公式前面的名词由谷歌翻译给出,也许有些不准确,但我目前不知道更加准确的词是什么): 状态转移模型...原创 2018-12-28 19:39:03 · 2970 阅读 · 2 评论 -
牢记公式,ardupilot EKF2就是纸老虎(二)!
版权声明:本文为博主原创文章,转载请附上博文链接!二、扩展卡尔曼滤波器 因为卡尔曼滤波器针对的是线性系统,状态转移模型(说的白话一点就是知道上一时刻被估计量的值,通过状态转移模型的公式可以推算出当前时刻被估计量的值)和观测模型可以写成下面的样子: 注:有的资料显示状态模型中有,有的没有,目前我也不清楚是为什么,有可能和被估计的对象有关...原创 2018-12-28 19:38:45 · 3253 阅读 · 2 评论 -
牢记公式,ardupilot EKF2就是纸老虎(一)!
BreederBai首次创建于2018年12月26日版权声明:本文为博主原创文章,转载请附上博文链接!扩展卡尔曼滤波器的讲解总共5篇:牢记公式,ardupilot EKF2就是纸老虎(一)!牢记公式,ardupilot EKF2就是纸老虎(二)!牢记公式,ardupilot EKF2就是纸老虎(三)!牢记公式,ardupilot EKF2就是纸老虎(四)!牢记公式,ar...原创 2018-12-28 19:38:26 · 4053 阅读 · 2 评论 -
pixhawk2飞控接头型号
BM04B-GHS-TBTBM05B-GHS-TBTBM06B-GHS-TBT原创 2018-04-20 11:50:55 · 2053 阅读 · 0 评论 -
APM3.5.2 CAN初始化笔记
20180412:在pixhawk硬件中:CAN_P1_DRIVER:对应CAN1CAN_P2_DRIVER: 对应CAN2,pixhawk V2的串口3靠近GND引脚的是CAN2_RX,在CAN2_RX上面的是CAN2_TX。注:pixhawk V2的CAN2没有接CAN收发器,不能直接使用。CAN_P1_DRIVER为1时,hal.mgr[0]对应CAN1;CAN_P1_DRIVER...原创 2018-11-13 09:31:38 · 773 阅读 · 0 评论 -
APM-3.5.2 UAVCAN笔记
20180402: UAVCAN使用的主要逻辑代码,在AP_UAVCAN.cpp文件中,AP_UAVCAN类的任务是在硬件配置支持的情况下使用UAVCAN协议,进行数据的收发。UAVCAN协议的收发逻辑代码太过于复杂,看了几天仍然云里雾里,所以我决定转换思路,不再过深的去了解协议的收发逻辑代码,转而去了解需要经过哪些步骤,使用哪些UAVCAN协议提供的API,可以完成收发任务。 接...原创 2018-11-13 09:30:30 · 1137 阅读 · 0 评论 -
APM-3.5.2 uavcan生成代码笔记
在dsdl/uavcan/equipment目录下根据已有文件名的规则添加文件,例如1111.BYTemperature.uavcan,然后删掉libuavcan/include/dsdlc_generated文件夹,编译代码,新的uavcan协议就生成了。...原创 2018-05-08 10:17:37 · 1413 阅读 · 0 评论 -
APM-3.5.2 Pixhawk 串口对应关系
#define UARTA_DEFAULT_DEVICE "/dev/ttyACM0"#define UARTB_DEFAULT_DEVICE "/dev/ttyS3"#define UARTC_DEFAULT_DEVICE "/dev/ttyS1"#define UARTD_DEFAULT_DEVICE "/dev/ttyS2"#define UARTE_DEFAULT_DEVICE "/dev...原创 2018-05-08 12:46:19 · 1055 阅读 · 0 评论 -
APM代码规范
Ardupilot Style GuideIn order to improve the readability of the ArduPilot code and help new users pick up the code quickly please use the following styles.NoteSome parts of the code may not conform du...转载 2018-07-11 11:02:30 · 646 阅读 · 0 评论 -
APM 路径规划笔记
20180711:类名:AC_WPNav功能:完成Auto、Loiter、Abmode模式中的路径规划为计算方便设置默认值,实际值有可能又变化_wp_accel_cms = 100_wp_accel_z_cms = 100_jerk_cmsss = 1700(AC_PosControl)_wp_speed_cms = 500_wp_speed_up_cms = 250_wp_sp...原创 2018-11-13 09:30:07 · 1654 阅读 · 0 评论 -
APM-3.5.2-EKF2笔记(未完待续)
20180704:一、EKF2.InitialiseFilter()全过程1. 记录开始时间,预期步长时间(_frameTimeUsec = 2500),每次融合读取IMU次数(_framesPerPrediction = 4),确定是否记日志(通过参数,默认不记录)2. 根据加速度计数量确定启用EKF滤波器个数(num_cores),并创建滤波器3. 初始化所有滤波器基本环境 a....原创 2018-11-10 10:50:11 · 1085 阅读 · 0 评论 -
QGC通过网络连接飞控(树莓派+ROS桥接MavLink)
1. 为树莓派刷ubuntu 因为无界面的ubuntu在连接无线,设置自动登录等方面的设置比较复杂,我经过各种百度尝试后,均没有成功,所以我放弃了.转而又刷了ubuntu mate(带界面).然后连接了无线,设置了自动登录,静态IP.自此树莓派的准备工作到此结束.这部分工作的目的是,可以通过远程登录树莓派进行操作,这样就免除了操作树莓派时需要树莓派连接显示器,鼠标,键盘. 刷写...原创 2018-11-07 12:57:40 · 13705 阅读 · 31 评论 -
Ardupilot 仿真之gazebo SITL 3D绘图和规划
在开发新功能时,先进行仿真验证是十分有效的一种方法.尤其是像无人机这种在天上飞的机器.ardupilot提供了较为详细的教程,但官网中的教程有些老旧且比较分散.下面我以gazebo SITL 3D绘图和规划为例.梳理下如何使用gazebo进行仿真.一 开发环境 操作系统:64位 ubuntu 16.04 LTS 注:因为本文的重点是如何使用gazebo进行仿真,所以...原创 2018-11-28 21:13:58 · 3923 阅读 · 13 评论 -
APM入口函数
APM固件主体功能在ArduPilot进程中完成,ArduPilot进程的入口函数是AP_HAL_Main.h文件中的宏定义AP_HAL_MAIN_CALLBACKS(CALLBACKS),其中宏定义AP_MAIN在编译基于Nuttx的固件时,按照Nuttx应用程序入口函数的命名规则为ArduPilot_main。...原创 2018-04-18 22:19:43 · 581 阅读 · 0 评论