【Heydrones】飞手百科第一篇:一定要看的无人机原理总结

飞手百科——知识是最好的保险。


本文目录

1,无人机的飞行原理
2,无人机的几大系统
3,无人机的外观介绍
4,无人机的专业术语

--------



(一)无人机的飞行原理

旋翼和轮子一样,是一项神奇的发明。

四旋翼无人机更是化作了航拍机,满足了许多普通人关于天空的想象。


旋翼之所以能飞,玩过竹蜻蜓的朋友应该都知道:当手的搓动给了竹蜻蜓一个旋转的速度后就会产生升力,让竹蜻蜓起飞。


同理,多旋翼无人机也是由电机的旋转,使螺旋桨产生升力而飞起来的。比如四旋翼无人机,当飞机四个螺旋桨的升力之和等于飞机总重量时,飞机的升力与重力相平衡,飞机就可以悬停在空中了。

小时候看漫画,看到哆啦A梦和大雄头戴竹蜻蜓自由的在空中翱翔,就特别想和他们一样,可以飞翔在空中,俯瞰大地。

但是如果现在真有人发明出一模一样的竹蜻蜓,我肯定是不愿意戴的。因为飞起来的效果是这样的:


螺旋桨疯狂旋转,人也向反方向疯狂旋转......

大雄整个人都转蒙逼了,还怎么能跟静香一起看风景呢?

根据牛顿第三定律,旋翼在旋转的同时,也会同时向电机施加一个反作用力(反扭矩),促使电机向反方向旋转。这也是为什么现在的直升机都会带一个「小尾巴」,在水平方向上施加一个力,去抵消这种反作用力,保持直升机机身的稳定。


而回到四旋翼飞行器上,它的螺旋桨也会产生这样的力,所以为了避免飞机疯狂自旋,四旋翼飞机的四个螺旋桨中,相邻的两个螺旋桨旋转方向是相反的。

如下图所示,三角形红箭头表示飞机的机头朝向,螺旋桨M1、M3的旋转方向为逆时针,螺旋桨M2、M4的旋转方向为顺时针。

当飞行时,M2、M4所产生的逆时针反作用力(反扭矩)和M1、M3产生的顺时针反作用力(反扭矩)相抵消,飞机机身就可以保持稳定,不会像大雄那样「疯狂」自转了。


不仅如此,多轴飞机的前后左右或是旋转飞行的也都是靠多个螺旋桨的转速控制来实现的:

垂直升降
这个很好理解,当飞机需要升高高度时,四个螺旋桨同时加速旋转,升力加大,飞机就会上升。当飞机需要降低高度时同理,四个螺旋桨会同时降低转速,飞机也就下降了。

之所以强调同时,是因为保持多个旋翼转速的相对稳定,对保持飞行器机身姿态来说非常重要,看了之后的讲究你就会明白了~

原地旋转
上面已经说了,当无人机各个电机转速相同,飞机的反扭矩被抵消,不会发生转动。

但是当要飞机原地旋转时,我们就可以利用这种反扭矩,M2、M4两个顺时针旋转的电机转速增加,M1、M3号两个逆时针旋转的电机转速降低,由于反扭矩影响,飞机就会产生逆时针方向的旋转。


水平移动
多轴飞机与我们平时乘坐的客机不同,没有类似客机那样垂直于地面的螺旋桨,所以无法直接产生水平方向上的力来进行水平方向上移动。

当然这难不倒我们,还拿上图的四旋翼来说,当需要按照三角箭头方向前进时,M3、M4电机螺旋桨会提高转速,同时M1、M2电机螺旋桨降低转速,由于飞机后部的升力大于飞机前部,飞机的姿态会向前倾斜。


倾斜时的侧面平视如下图,这时螺旋桨产生的升力除了在竖直方向上抵消飞机重力外,还在水平方向上有一个分力,这个分力就让飞机有了水平方向上的加速度,飞机也因而能向前飞行。

相反的:当M1、M2电机加速、M3、M4电机减速时,飞机就会向后倾斜,从而向后飞行。

同理可得:当M1、M4电机加速,M2、M3电机减速时,飞机向左倾斜,从而向左飞行;
当M2、M3电机加速,M1、M4电机减速时,飞机向右倾斜,从而向右飞行。

这样一解释,是不是觉得多旋翼的飞行原理很简单?~

其实在多旋翼之前,人们是用更复杂的固定翼飞机和直升机来进行航拍的。

但固定翼飞机的起飞降落对场地要求非常高,也不能悬停,没法垂直上升下降,局限性太大。


而直升机虽载重大、速度快,但是它结构非常复杂而精密,上千个零件无论是从调试还是保养方面都非常的麻烦。


相比而言,多旋翼的飞行原理简单,机身结构也就更加简单可靠,消费者可以很快的上手飞行而不需要过多的调试和保养,因此多旋翼很快占领了航拍市场。



(二)无人机的几大系统

中学生物课我们都学过,人体可以被分为运动系统、神经系统、呼吸系统、消化系统等几大系统。

和人体一样,一架完整的多旋翼航拍无人机也可以被分为以下几大系统:飞控系统、遥控系统、动力系统、图传系统、云台、航拍相机。


飞控系统

飞行控制系统(Flight control system)可以看做无人机的大脑,飞机是悬停还是飞行、向哪个方向飞,都是由飞控下达指令的。

飞控是如何做到控制飞机保持姿态的呢?这是由于飞控包含“小脑”,也就是有数个传感器,基础的飞控包含了如下传感器:


GPS 用于获取飞机的经纬度信息,确定自己的位置;

气压计 用于测量当前大气压,获取飞机的高度信息;

IMU 惯性测量单元,包含一个三轴加速度计和一个三轴陀螺仪,来测量飞机在三维空间中的角速度和加速度,并以此解算出物体的姿态。

指南针 用于分辨飞机在世界坐标系中的朝向,也就是把东南西北和飞机的前后左右联系起来



一套飞控

随着科技的发展,现在的一些航拍无人机上还加入了更多的传感器,例如超声波可在近地面测量精准高度、光流可在没有GPS的室内帮助飞机定位悬停。

用以上传感器收集到信息后,飞控会对数据进行融合,判断出飞机当下的位置、姿态、朝向等信息,然后对如何飞行进行决策。


遥控系统

遥控系统包含地面的遥控器和飞机端的接收模块。除了俯仰(pitch)、横滚(roll)、航向(yaw)、油门(throttle)两个摇杆的四个通道外,还包含了切换飞行模式、控制云台转动、控制相机拍照等功能。这些指令都会通过遥控器的发射系统,用无线信号传递给飞机,由飞机上的接收模块接收信号,目前主流无线电信号是2.4G信号。



遥控器与接收机


动力系统

动力系统包括无人机的电调、电机、桨叶、动力电池。

电调:全称电子调速器,把动力电池提供的直流电转换为可直接驱动电机的三项交流电。电调接收飞控指令后,控制电机转速,从而实现飞机的倾角改变。

电机 :目前主流电机为无刷电机,电机的作用就是通过转动,带动螺旋桨的转动,从而提供升力。

桨叶 :桨叶固定在电机轴上,随电机的转动而转动,为无人机带来升力,实现飞行。

动力电池:航拍无人机目前多使用锂聚合物为动力,把数片电芯串并联在一起,为飞行提供动力。



桨叶、电调、电机


图传系统

图传顾名思义就是把飞机上看到的图像传输到使用者面前的屏幕上,除画面外,图传也传输飞机的飞行数据。因此使用者可在显示屏、APP上看到飞机实时的图像和高度、速度信息。图传通常使用5.8G、2.4G频段。

常用的图传有模拟图传和数字图传两种,目前在航拍无人机中数字图传以质量高、传输距离远的优势更受消费者青睐。

而数字图传中,又以大疆的LightBridge技术效果最为拔群,不过最近以色列的Amimon CONNEX公司也推出了低延时的数字图传,不知道效果怎样呢?



图传系统


云台

如果有尝试过手持手机步行录像就会发现画面存在抖动,飞机机身的晃动也会带来画面的抖动,为了消除抖动,就有了云台。云台通过三轴加速度计和三轴陀螺仪中获取数据,并计算出倾角,反向修正位置来维持相机画面的水平。

三轴云台可消除各方向上的抖动,为此云台上有三个电机,如飞机向右倾斜,云台向左反向倾斜,与地面保持相对水平,从而实现画面增稳。


GoPro 云台

航拍相机

部分航拍无人机包含相机,有的则需要搭配GOPRO或其他相机。专用的航拍相机与普通相机基本相同,只是由于航拍被拍摄物一般离相机距离远,有物距大,景深大的特点,另航拍相机多使用广角、定焦镜头。



航拍相机

这几大系统,基本都是早年航模留下来的分类。

说不定随着无人机技术的发展。

今后也会发展出「避障系统」「变形系统」呢?(或者已经有了?)

让我们一起期待吧~



(三)无人机的外观介绍

今天的「飞手百科」,我们就来给新手们简单讲解一下,无人机身上的各个部件,到底有什么作用~?这里以常见的DJI 精灵4为例。


1,电机



消费级航拍无人机多为四轴和六轴,每个轴上的电机带动螺旋桨旋转来产生升力,并以此飞行。目前主流的电机是无刷电机,电机分为定子和转子,下图的绕组线圈就是电机的定子,通过磁场驱动永磁磁钢也就是转子转动,电机就转起来了。


左边为转子,右边为定子


常听人们问这个电机是2212还是2312的?这四位数字到底是什么意思呢,其实这是电机的尺寸。 例如精灵4电机是2312的,这表示电机定子的直径是23mm,定子的高度是12mm。前两位数字越大的电机越宽,后两位数字越大的电机越高。


细心的朋友会发现,精灵4的电机有3°的向外倾斜 ,这样设计可以使精灵4的方向旋转更加灵活。



2,螺旋桨

常见的螺旋桨有塑料、碳纤等材质,还有2、3叶之分,精灵4用的是两叶的桨。为什么不用三叶桨呢?因为简单的增加叶数并不能增加升力,还要考虑阻力,电池放电能力等因素。

螺旋桨也常用4位数来表示尺寸,例如精灵4采用9450桨叶,其中前两位表示桨叶的直径,后两位表示桨叶的螺距。

螺旋桨的安装的方式也各不相同,消费级航拍无人机有以下几种安装螺旋桨的方式。


螺丝固定桨叶

通过螺丝来固定桨叶,常见于航模。


通过螺纹把螺旋桨旋转固定在电机上,在电机旋转的过程中由于旋转的力会拧紧桨叶,但某些情况下会有射桨的风险。


快拆桨

如自紧桨螺纹损坏或电机由于堵转陡停,会导致桨叶脱离电机飞出(射桨),因此最新的飞机倾向于使用可靠性更高的快拆桨,例如精灵4就采用快拆桨。


3,LED灯


消费级航拍无人机在机臂下方一般都有着LED灯,这灯并非仅为装饰,而是大有用处的。

在飞行中前方红色的LED灯起到了表明飞机位置和机头朝向的作用,后方的灯则表明飞机的实时状态,例如飞机正常情况下绿灯慢闪,失控时黄灯快闪,低电量时红灯慢闪。


4,电调


把精灵4的电池拔出后,从电池仓看进去,会看到部分电路板,这就是飞机的电调板,用于控制电机的电流大小。

无人机的电子设备也是怕水的,像手机一样,进水后会影响保修,因此在机身中贴有一张防水标签,遇水变红,如果维修时这张标签是红色,就会影响保修。所以雨天、大雾天还是不要飞行,回南天也要注意防止进水。


5,超声波/视觉定位/视觉避障


上图中间两个大的圆孔是超声波模块,运用了超声波原理来在低空情况下精准定高;两侧较小的两个圆形是视觉定位模块,类似两个眼睛,利用了图像识别技术使其在室内也可悬停。


在精灵4前方的脚架上,我们也可看到两个“小镜头”,这是精灵4避障的关键所在,依靠这两个镜头的立体成像,精灵4可以实现视觉主动避障。目前无人机避障有几种技术,精灵4的视觉避障、英特尔realsense技术、超声波避障技术。



6,镜头


连接着相机和机身的部件叫做云台,云台可以保持相机在飞行时的稳定,消除画面抖动。精灵4将部分云台做到了机身中,使得整个机身线条更加流畅。

为保证画面实现各个方向上的增稳,云台分别有三个轴:俯仰、横滚、航向,每个轴都有一个电机,用于在飞机倾斜时让画面仍保持平稳。


7,遥控器

其实在最早飞的时候,飞无人机用的遥控器差不多都是长这个样子的:

虽然看着很多按钮、拨杆很酷炫,但是使用难度也很高,什么功能对应哪个开关都需要进行设置,油门行程校准之类的操作也要自行完成。这样一台遥控器的使用指南往往长达数十页,难倒了一众新人。

后来在一体机中,为了新人也能快速学会使用遥控器功能,遥控器被大大简化了。


在这样的遥控器中,每个开关都已经对应好了相应的功能,只需要记住每个开关对应的模式,拿到手就可以直接进行飞行。
再后来,大概是由于这样的遥控器外形过于简单、功能偏少,遥控器又设计为了下图的样子


遥控器上的按键重新变多了,更多的操作都可直接在遥控器上进行,遥控器上加入了操作频率高的拍照、录像按钮以及重要的返航按钮。这时每个按键变得更直观,人机工程做得更合理。

好了,熟悉好了飞机,剩下的就是学习飞行了~



(四)无人机的专业术语

航拍无人机只能是多旋翼?Parrot站出来不服并且扔给了你一台固定翼的Parrot Disco······
对,没错,跳舞的那个迪斯科(Disco)。

不如跳舞,飞飞机不如跳舞~





派诺特 迪斯科,Parrot Disco


虽然官方说可以手抛起飞,但是毕竟是固定翼啊,不能悬停的。

这要是在城市里,不能悬停基本等于「炸机没商量」······

更别提降落了,上哪儿给你找又宽广又柔软的草地去···


不过提供的FPV VR模式不错,因为固定翼的视角更能让你感觉「像鸟儿一样翱翔天空」。

不过仅仅只能拍1080P的视频显然还是差了点。

毕竟你要卖1299刀,折合8645人民币呢···


城市里这么挤,也没有带草坪的豪宅,咱们新手还是乖乖的买四轴吧···

玩四轴就简单了,跟着老司机慢慢学基本呗~

要跟老司机聊的来,一些无人机的术语一定要学!

今天呢,就来给大家讲讲「实用又有趣的无人机术语」~

多旋翼:是一种具有两个旋翼轴以上的旋翼飞行器,常见多旋翼有四旋翼、六旋翼、八旋翼等。

俯仰:Pitch,由美国手右摇杆上下控制,打杆控制飞机向前/后飞行。

由于图示中的飞机是固定翼,所以在俯仰时会有高度变化,而多轴飞行器俯仰时不会有高度变化,只会前后飞行。


横滚:Roll,由美国手右摇杆左右控制,打杆控制飞机向左/右飞行。

由于图示中的飞机是固定翼,所以在横滚时也会前后位置变化,而多轴飞行器横滚时不会前后飞行,只会左右飞行。


航向:Yaw,有美国手左摇杆左右控制,打杆控制飞机向左/右旋转
由于图示中的飞机是固定翼,所以在旋转时也会有位置变化,而多轴飞行器旋转时不会位移,只会原地旋转。

由于操作习惯不同,遥控器的摇杆布局有三种,中国手(反美国手),美国手(多旋翼最常用),日本手。


中国手


美国手


日本手

炸机:飞机在飞行或起降过程中,由于操作问题或机械故障导致飞机撞击障碍物或坠落的事故,统称炸机。


爽飞:一般指在飞行期间没有任何意外,飞行地非常顺利。

一键放生:一般指一键返航时无人机飞丢,放生的原因可能是撞到障碍物、指南针受到干扰或者GPS失去信号。

提控回家:指无人机飞丢,找不到,无奈只能拎着遥控器回家。


冗余:为增加可靠性,在必备系统基础上增加备份。如使用双IMU,在一个IMU故障时可由另一个IMU承担其功能,六轴如动力有冗余,在单个电机缺少动力时仍可飞行。

信道:是信号在通信系统中传输的通道,如同一场地内多架飞机使用同一信道,图传会相互干扰。


过放:电池正常放电至截止电压后,继续放电导致电池内部遭到不可逆的损坏。

射桨:在电机旋转过程中,原本在电机上的螺旋桨脱离飞出被称作射桨。


果冻:航拍中所说的「果冻」是由于震动过大、减震球不合适等原因造成照片、视频中出现类似下图的抖动现象,由于神似被戳动的果冻而被成为“果冻”。


丢星:飞机GPS模块搜不到足够的卫星,容易导致飞机无法定点悬停,发生飘移。

压差:无人机锂电池由数块电芯串并联而成,通常电芯电压相近,电芯最高与最低电压的差值即是压差,压差过大则电池不宜继续使用。

还有哪些术语你不懂?或者你觉得应该加进来的呢?


欢迎关注我们的微信公众号「Heydrones」

  • 17
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于PX4的无人机定点飞行C++代码示例: ```cpp #include <px4_posix.h> #include <px4_tasks.h> #include <uORB/topics/vehicle_local_position.h> #include <uORB/topics/vehicle_attitude.h> // 定义无人机起飞高度 #define TAKEOFF_ALTITUDE 5.0f // 定义目标位置 #define TARGET_LATITUDE 47.398039f #define TARGET_LONGITUDE 8.545572f #define TARGET_ALTITUDE 10.0f // 定义位置误差阈值 #define POSITION_TOLERANCE 0.5f // 定义姿态误差阈值 #define ATTITUDE_TOLERANCE 0.1f // 定义控制循环间隔时间 #define CONTROL_INTERVAL_US 20000 // 定义无人机状态枚举类型 enum class DroneState { INITIALIZING, TAKEOFF, FLYING, LANDING, LANDED, DISARMED }; // 定义无人机状态变量 static DroneState drone_state = DroneState::INITIALIZING; // 定义无人机位置变量 static struct vehicle_local_position_s local_position; // 定义无人机姿态变量 static struct vehicle_attitude_s attitude; // 定义无人机任务句柄 static px4_task_t control_task_handle = -1; // 定义定点飞行控制函数 void control_task_main(int argc, char *argv[]) { // 初始化本地位置和姿态订阅器 int local_position_sub_fd = orb_subscribe(ORB_ID(vehicle_local_position)); int attitude_sub_fd = orb_subscribe(ORB_ID(vehicle_attitude)); // 开始控制循环 while (true) { // 等待新数据 px4_pollfd_struct_t fds[] = { { .fd = local_position_sub_fd, .events = POLLIN }, { .fd = attitude_sub_fd, .events = POLLIN } }; int poll_ret = px4_poll(fds, 2, CONTROL_INTERVAL_US); // 处理新数据 if (poll_ret == 0) { // 超时 continue; } else if (poll_ret < 0) { // 错误 PX4_ERR("poll error: %d", poll_ret); continue; } // 获取最新的本地位置和姿态数据 orb_copy(ORB_ID(vehicle_local_position), local_position_sub_fd, &local_position); orb_copy(ORB_ID(vehicle_attitude), attitude_sub_fd, &attitude); // 根据当前状态执行相应的控制逻辑 switch (drone_state) { case DroneState::INITIALIZING: { // 等待初始化完成 if (local_position.z > TAKEOFF_ALTITUDE) { drone_state = DroneState::TAKEOFF; } break; } case DroneState::TAKEOFF: { // 起飞 if (local_position.z > TARGET_ALTITUDE - POSITION_TOLERANCE) { drone_state = DroneState::FLYING; } break; } case DroneState::FLYING: { // 到达目标位置 float position_error = sqrtf(powf(local_position.x - TARGET_LATITUDE, 2) + powf(local_position.y - TARGET_LONGITUDE, 2)); if (position_error < POSITION_TOLERANCE && fabsf(attitude.roll) < ATTITUDE_TOLERANCE && fabsf(attitude.pitch) < ATTITUDE_TOLERANCE) { drone_state = DroneState::LANDING; } break; } case DroneState::LANDING: { // 降落 if (local_position.z < POSITION_TOLERANCE) { drone_state = DroneState::LANDED; } break; } case DroneState::LANDED: { // 停止控制循环 return; } default: { // 错误状态 PX4_ERR("invalid drone state: %d", (int)drone_state); drone_state = DroneState::DISARMED; break; } } } } // 定义主函数 int main(int argc, char *argv[]) { // 初始化PX4 px4_main(argc, argv, "px4_posix_app"); // 创建控制任务 control_task_handle = px4_task_spawn_cmd("control_task", SCHED_DEFAULT, SCHED_PRIORITY_MAX - 5, 2000, (px4_main_t)&control_task_main, (char *const *)nullptr); // 等待控制任务结束 px4_task_waitpid(control_task_handle, nullptr, 0); // 退出程序 return 0; } ``` 上述代码实现了基于PX4的无人机定点飞行控制逻辑,其中使用了本地位置和姿态订阅器获取无人机状态信息,使用控制循环实现了状态机控制逻辑。需要注意的是,该代码仅为示例代码,实际应用中需要根据具体情况进行修改和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值