当前位置: 首页 > news >正文

APM飞控使用动捕等外部定位

本文初次写于2023.03.03,pixhawk飞控应该是刷写了ArduPilot 4.1以上的版本。

机载计算机通过WIFI和vrpn_ros_client获取动捕系统(vicon或者nokov)的无人机定位数据(x,y,z+四元数),然后通过 /mavros/vision_pose/pose 的ROS话题发送给APM飞控。APM飞控收到这些动捕数据后,并不是直接使用,而是也利用EKF融合了imu,最终飞控实际融合结果可以在 /mavros/local_position/pose 话题中读到,但是读之前要先启动APM的数据流:

rosservice call /mavros/set_stream_rate ..... 
# message_rate 设置100, on_off 设置为true

APM中需要改的参数:

AHRS_EKF_TYPE=3
EK3_ENABLE=1
EK2_ENABLE=0
COMPASS_USE=0
COMPASS_USE2=0
COMPASS_USE3=0
VISO_TYPE=1 # mavlink
EK3_SRC1_POSXY=6
EK3_SRC1_POSZ=6
EK3_SRC1_YAW=6 # 使用动捕四元数的偏航角
EK3_SRC1_VELXY=0
EK3_SRC1_VELZ=0
EK3_SRC2_YAW=6 # 可能非必须
EK3_SRC3_YAW=6 # 可能非必须

参考:

Nokov Indoor Optical Tracking System - Blog - ArduPilot Discourse

 Intel RealSense T265 — Copter documentation (ardupilot.org)

注意:

动捕系统的坐标系要z轴朝上,并且遵循xyz右手定则。

如果不使用动捕的偏航角yaw,而是使用磁罗盘,那么要保证动捕的xy轴和真实世界的东北对应。因为mavros默认发送的xyz是东北天位置。

如果使用动捕的偏航角yaw,那么也要检查飞控融合后的偏航角是否正确

/mavros/local_position/pose 中的四元数可能和  /mavros/vision_pose/pose 中的四元数并不相同,比如可能转了180°。要调整动捕球的安装方式或者刚体建立方式,保证机头朝向动捕坐标系x轴正向时,mission planner上显示偏航角是90°,方向是正东;机头朝向动捕坐标系y轴正向时,mission planner上显示偏航角是0°或者360°,方向是正北。

 

http://www.lryc.cn/news/28567.html

相关文章:

  • 【vulhub漏洞复现】CVE-2013-4547 Nginx 文件名逻辑漏洞
  • Kubernetes中配置livenessProbe、readinessProbe和startupProbe
  • 冰箱压缩机 方案
  • 一文带你入门,领略angular风采(上)!!!
  • SpringMVC 参数绑定(视图传参到控制器)
  • Three.js高级应用--利用Three.js+WebGL实现fbx和obj格式模型的自定义加载
  • Go struct
  • Redis多线程模型源码解析
  • 搭建zabbix4.0监控服务实例
  • Xcode 系统崩溃问题01
  • SpringMVC文件上传、下载、国际化配置
  • 计算机图形学07:有效边表法的多边形扫描转换
  • UNIX编程--Makefile入门
  • 【数据结构初阶】手撕单链表
  • angular中http请求和传值
  • VSCode问题记录
  • html基础学习
  • leetcode_贪心算法
  • C语言每日一题】——杨氏矩阵
  • 最佳iOS设备管理器imazing 2.16.9官网Mac/Windows下载电脑版怎么下载安装
  • 八大排序算法之堆排序的实现+经典TopK问题
  • 使用AppSmith(PagePlug )低代码平台快速构建小程序应用实践
  • 第52章 短信验证服务和登录的后端定义实现
  • 谷歌验证码的使用
  • Git学习入门(1)- git的安装与配置
  • 【Python】使用Playwright断言方法验证网页和Web应用程序状态
  • libgdx导入blender模型
  • 【20230227】回溯算法小结
  • centos安装rocketmq
  • 汇编语言程序设计(二)之寄存器