学习记录(3)

1、无人机简介
 分类:无人机通常主要分为三类,分别为固定翼飞机、单旋翼直升机和多旋翼直升机。三种无人机的物理实现方式各不相同,但都具有各自特有的优缺点。
 航模与无人机:航模是需要完全依赖于地面操控人员的实时控制(遥控器);无人机是通过机载的计算机系统自动对飞行进行相关的控制(平衡控制、路线选择等),除此之外,无人机可以继续划分为半离线无人机和离线无人机。
2、无人机姿态
 无人机的飞行姿态主要有三种:横滚roll、俯仰pitch、偏航yaw。
 四旋翼无人机的横滚:保持前进方向上的两个旋翼的两个升力相同(转速相同),改变水平方向上的两个旋翼的大小。例如,当左旋翼的升力大小小于右旋翼的升力大小时,无人机向左横滚。
 四旋翼无人机的俯仰:原理与横滚的原理类似,但是改变的是前进方向上的两个旋翼所获得的升力的大小,进而控制无人机的俯仰。
 四旋翼无人机的偏航:通过利用反扭距来实现偏航,反扭距就是旋翼在进行旋转时与空气所产生的反作用力的力矩,方向始终垂直旋翼,所以在一定的情况下需要进行消除,而在另一些情况之下则需要通过运用反扭距进行偏航的实现。
3、无人机相关术语
 螺距:螺旋线方向两个相同螺纹之间的距离。
 电机:利用电磁铁和永磁铁的电磁效应,进行电磁铁的旋转。电机可分为有刷电机和无刷电机。
 有刷电机:具有电刷的电机,通过电刷来直接控制导片,改变电刷的电流方向,控制电磁铁可以进行不间断的旋转。
 无刷电机:不具有电刷的电机,通过每过120度进行改变电流的方向的方式,来进行电磁铁不间断旋转的控制。
 PWM信号:占空比信号,表示高电平时长占整个信号周期的比例。
4、PX4的架构
 主要构成:数据存储(Storage)、外部通讯(External Connectivity)、驱动程序(Drivers)、飞行控制(Flight Control)、消息总线(Message Bus)。
数据存储:
 数据存储主要分为三部分飞行任务存储部分(dataman)、飞机参数存储部分(param)和飞行日志存储部分(logger)。其中飞行任务存储部分通过调用dm_write和dm_read函数来读写飞行任务,通常用于读写飞行航迹点的坐标,保存的目标通常在sdcard;飞机参数存储部分通过param_get和param_set函数可以将这些参数存放到flash和sdcard中;飞行日志存储部分通过使用logger来记录飞行日志,将飞控程序中的uORB记录下来并保存。
外部通讯:
 外部通讯采用的是Mavlink协议,进行与计算机上的地面站程序来进行通讯。我们可以通过需要生成不同编程语言所使用的源文件,如此,通讯协议可以被飞控程序、PC计算机、手机APP程序和其它程序同时使用。
驱动程序:(驱动程序是飞控程序中采集传感器数据的源头)
 相机驱动可以控制相机的拍照功能,并可以对其指定拍照参数。对于最原始的拍照功能,飞控程序只需要对其发送“拍照”命令即可。
 GPS驱动会根据当前插入的GPS协议进行自动切换并解析,通常有ashtech、mtk和u-blox等。
 遥控器驱动目前常见的遥控器通讯协议为SBUS和PPM。
 云台驱动(云台通常安装在多旋翼机架正下方,在云台上挂载相机或其它设备),当飞机产生俯仰或翻滚角度时,云台会自动修正其三轴。飞控程序可以通过向云台发送相关指令控制其当前俯仰、翻滚、航向角度。
 空速计、数传、光流、距离传感器驱动等。空速计可以测量当前空气流动速度;数传支持无线传输设备的数据发送与接收;光流定位系统驱动可以检测当前移动速度与位置;距离传感器可以检测传感器前方物体与其之间的距离,例如:超声波、雷达、双目摄像头、激光测距仪等等。
 IMU传感器驱动是飞控驱动程序中最重要的部分,其通过初始化、校准、读取加速计、陀螺仪、磁罗盘这些传感器,为上层状态融合和导航系统提供最基本的数据支撑。
飞行控制:
 传感器数据集成(Sensors Hub):sensers模块收取了所有传感器的数据,包括加速计、陀螺仪、磁罗盘、空速计、高度计、电量计等等传感器的读数,并对这些数据进行初步过滤与处理,之后将处理后的数据向ekf2模块发送。
 姿态位置估计(Position Attitude Estimator):ekf2主要对传感器的数据进行融合,并采用卡尔曼滤波对其做进一步的处理,进而对飞机当前的姿态和位置做出估计。
 状态集(State Machine):commander处理飞机当前状态(正常、异常)和用户命令。在多种状态下进行切换,例如:飞控锁定/解锁、飞机模式切换、安全保护启动与关闭、启动传感器或遥控器校准功能等。
 自动飞行(Autonomous Flight):navigator配合dataman中存储的任务信息进行自动飞行功能,给定飞机当前的飞行目标点(将位置期望传递给位置控制模块),并以指定高度和航向飞行,到达目标点执行特定任务(例如:拍照、鸣笛等),并继续向下一点飞行。
 位置控制(Position Controller)
 姿态控制(Attitude Rate)
 控制输出(Output Driver):得到姿态控制最终输出的控制量,根据机型不同机型(四轴、六轴、八轴等)Mixer混控文件,输出实际多路控制PWM信号,输出到电调中,实现电机的控制。
消息总线:
 飞控程序中内部消息传递采用的是异步消息机制uORB。它的设计理念很有趣,它可以实现不同模块中的数据快速通讯,并且以异步通讯为基本原则,也就是说在通讯过程中发送者只负责发送数据,而并不关心数据由谁接收,也不关心接收者是否能将所有的数据都接收到;而对于接收者来说并不关心数据是由谁发送的,也不关心在接收过程中是否将所有数据都接收到。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值