• 无人机sensor驱动


            无人机系统的Sensors包括六轴LSM6DS3TR,地磁传感器LIS3MDL以及气压传感器LPS25HB,LSM6DS3TR六轴传感器负责检测飞机的三维加速度以及三维角速度用来解算飞机的姿态,地磁传感器LIS3MDL通过检测地球磁场用来解算飞机偏航角,Sensor与MCU之间是以SPI总线进行数据传输, Sensor的驱动程序设计以类的形式来编写,类与类之间的继承关系如图所示:

            驱动程序存放于Firmware/src/driver目录下,以MPU6000为例来介绍驱动程序设计架构,通过命令mpu6000 start来启动驱动程序,程序结构如图所示

            驱动程序检测到的数据通过uORB来发布出去,uORB提供了一套“点对多”的跨进程广播通讯机制。“点”指的是通讯消息的“源”,“多”指的是一个源可以有多个用户来接受、处理。而源和用户的关系在于,源不需要去考虑用户是否收到某条被广播的消息或什么时候收到这条消息。它只是需要单纯的把要广播的数据推送到uORB的消息总线上。在measure()函数中会将测得的数据publisher到总线上。

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    中国骨干网节点
    Linux命令整理
    centos6.5安装mysql
    mysql插入中文乱码问题
    Intellij Idea使用及配置
    IntelliJ IDEA像Eclipse一样打开多个项目
    IntelliJ IDEA14如何配置tomcat
    转:IntelliJ IDEA 2016.1.3注册破解激活
    IntelliJ Idea 快捷键
    CXF生成调用webservice的客户端
  • 原文地址:https://www.cnblogs.com/cumtchw/p/7224623.html
Copyright © 2020-2023  润新知