环境:

ArduRover4.2.2方案

ChibIOS系统

pixhawk1(PX4-V2)硬件环境

更换方案:

使用MPU6000+ICM20689组合惯导替代原有的MPU6000+LSM303D+L3GD20方案

更换内容如下:

一、hwdef.dat中添加icm20689芯片

#(fmuv3)
SPIDEV mpu6000        SPI1 DEVID4  MPU_CS       MODE3  2*MHZ  8*MHZ
SPIDEV icm20689       SPI1 DEVID1  GYRO_EXT_CS  MODE3  4*MHZ  8*MHZ
SPIDEV lsm9ds0_g      SPI1 DEVID1  GYRO_EXT_CS  MODE3 11*MHZ 11*MHZ
SPIDEV lsm9ds0_am     SPI1 DEVID2  ACCEL_EXT_CS MODE3 11*MHZ 11*MHZ
#(pixhawk)
IMU Invensense SPI:mpu6000 ROTATION_ROLL_180
IMU LSM9DS0 SPI:lsm9ds0_g SPI:lsm9ds0_am ROTATION_ROLL_180 ROTATION_ROLL_180_YAW_270 ROTATION_PITCH_180
IMU Invensense SPI:icm20689 ROTATION_NONE

我的MPU6000在背面,ICM20689在正面,所以mpu6000反转180度

LSM303D和L3GD20使用LSM9DS0驱动,保留原有方案

二、libraries/AP_BoardConfig/board_drivers.cpp添加ICM20689支持

1、添加芯片ID识别

#define MPUREG_WHOAMI 0x75
#define MPU_WHOAMI_MPU60X0  0x68
#define MPU_WHOAMI_MPU9250  0x71
#define MPU_WHOAMI_ICM20608 0xaf
#define MPU_WHOAMI_ICM20602 0x12
#define MPU_WHOAMI_ICM20689 0x98

2、 硬件类型选择中添加芯片识别

    } else if ((spi_check_register("lsm9ds0_am", LSMREG_WHOAMI, LSM_WHOAMI_LSM303D) || spi_check_register("icm20689", MPUREG_WHOAMI, MPU_WHOAMI_ICM20689)) &&(spi_check_register("mpu6000", MPUREG_WHOAMI, MPU_WHOAMI_MPU60X0) ||spi_check_register("icm20608", MPUREG_WHOAMI, MPU_WHOAMI_ICM20608) ||spi_check_register("icm20608", MPUREG_WHOAMI, MPU_WHOAMI_ICM20602) ||spi_check_register("mpu9250", MPUREG_WHOAMI, MPU_WHOAMI_MPU9250))) {// classic or upgraded Pixhawk1state.board_type.set(PX4_BOARD_PIXHAWK);hal.console->printf("Detected Pixhawk\n");

添加完成

注释:

APM中支持ICM20689芯片驱动,因此不需要另外添加,只需要在二1中添加一次芯片ID即可

这个版本APM通过惯导方案选择匹配硬件类型,因此需要在二2中添加新的惯导方案。

ArduPilot添加新的惯导方案相关推荐

  1. Android4.0中添加新语言实现方案(以缅甸语为例)

    查看了网上的一些 关于Android2.3实现的添加新的语言的方案.我没有验证过但发现在4.0中不适用 不适用的原因 是: Android4.0中关于 icu4c模块(处理语言国际化模块)是通过dat ...

  2. LIO-SAM: 紧耦合的激光与惯导里程计方案

    点云PCL免费知识星球,点云论文速读. 标题:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 作者 ...

  3. 【点云论文速读】基于优化的视觉惯导里程计与GPS的紧耦合的融合方案

    转载自:https://mp.weixin.qq.com/s/Y-h7eto1Zc_Mkzlh653vpg [点云论文速读]基于优化的视觉惯导里程计与GPS的紧耦合的融合方案 原创 dianyunPC ...

  4. R语言为dataframe添加新的数据列(add new columns):使用R原生方法、data.table、dplyr等方案

    R语言为dataframe添加新的数据列(add new columns):使用R原生方法.data.table.dplyr等方案 目录 R语言为dataframe

  5. R语言为dataframe添加新的数据列(横向拼接、Appending columns,Unioning columns):使用R原生方法、data.table、dplyr等方案

    R语言为dataframe添加新的数据列(横向拼接.Appending columns,Unioning columns):使用R原生方法.data.table.dplyr等方案 目录 R语言为dat

  6. 激光雷达与组合惯导联合标定--方案二(matlab)

    目录 原理 matlab代码 对程序的改进 [说明]: 网上关于雷达与惯导联合标定的方法有很多,大多数方法在实际操作起来并不太方便,为了获得矩阵变换关系有的还用到了slam建图.神经网络等方法. 之前 ...

  7. 四旋翼定高篇之惯导加速度+速度+位置三阶互补融合方案

    笔者最近正在做四旋翼惯性导航的部分,利用加速度计进行速度估计.位置估计,从而实现四旋翼的垂直方向上的定高.水平方向上的定点控制. 首先在这里引用学长之前参考APM飞控里面互补滤波惯导融合方案:原文见四 ...

  8. Ardupilot添加一个新模式全攻略,以Copter为例

    Ardupilot添加一个新MODE全攻略,以Copter为例 "切换模式"代码框架 调试方法 2.添加control_mode_t 3.写声明 4.新建.cpp文件 5.实例化m ...

  9. Mstar的Monitor方案笔记(六)——OSD添加新的主菜单

    OSD添加新的主菜单 一.主菜单素材的准备 1.1 图标 1.2 语言 二.素材转换 2.1 图标转换 2.2 语言转换 三.主菜单的添加 3.1 了解菜单流程 3.2 配置主菜单 3.3 画主菜单 ...

最新文章

  1. http://hi.baidu.com/grayworm/blog/item/c76c4046307d380a6a63e56a.html
  2. 决策树算法(二)——构建数据集
  3. 【文本分类】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  4. 华为mate40pro更新鸿蒙时间,确认入网!鸿蒙系统将首发mate40Pro4G版,华为旧旗舰也迎来升级...
  5. java私有instance_java – Instance Initializer与私有成员
  6. java三年工作经验工资_工作三年还是只会增删改查,Java 程序员如何进阶?
  7. Javascript基础学习20问(二)
  8. 数学的威力:一个方程提升中国卫星图像质量30%
  9. 【数据结构1.3笔记】研究内容
  10. EXCEL教程下载地址
  11. pyecharts基础图表汇总(三国演义可视化)
  12. Python使用webdriver爬取百度文库
  13. crontab布置定时任务
  14. 维基百科-D3.js
  15. maven仓库如何加载瀚高数据库JDBC驱动
  16. 三月写给沉默王二的一封道歉信
  17. 在家看片利器,有Android App以及桌面应用(已开源)。
  18. 正式宣布,小米10在高端市场碾压华为,夺下电商平台销量第一名
  19. 运行node时报错:events.js:167 throw er; // Unhandled 'error' event
  20. 大疆OSMO POCKET(大疆灵眸)使用无线模块连接手机后瞬间断开连接的解决办法

热门文章

  1. f15_Trading Strategies2_sma_AAPL_Log return_EUR_OLS regress_df highlight_Lagrang_GaussianNB_DNNClass
  2. linux18.04 英文文件夹,在Ubuntu 18.04 LTS中打开文件夹的6种方法
  3. 转一个校友的文章--“在计算机领域做研究的一些想法”
  4. Windows10安装fiddler工具安装证书失败总结手机抓包总结
  5. linux安装软路由,软路由安装设置教程【详细步骤】-太平洋IT百科手机版
  6. 超简单的将python文件改成可以运行的exe方法
  7. Shell 使用 expr 进行数学运算
  8. 运营可能是一种思维方式
  9. Maven系列学习(2)——java project的创建
  10. Mac安装Node-sass报错 warning: loop variable ‘numerator‘ creates a copy from type ‘const std::string