2016本科毕业设计——无人机姿态模拟器

发布于: 2019-07-06 23:39
阅读: 251
评论: 4
喜欢: 4

此设计是我在2016年的本科毕业设计,图片和视频资料来源于当年的答辩幻灯片。

引言

最近和朋友聊天聊到了惯性导航,再一次又想到了我的本科毕设。借此机会把毕设的一些内容也保存到博客的“时间胶囊”中吧。

课题

毕设的课题是“无人机姿态模拟器”,其实就是要做一款硬件来模拟无人机的姿态,并要求了一定的精度。

那么对我这样的擅长软件的同学,光做硬件肯定是不过瘾的,因此我做了 Windows 的上位机和 iOS 的 App 来协助硬件达到更加惊艳的效果。

先来看看硬件长什么样吧:

(遥控器只是背景,不是设计的一部分)

技术栈用到了:

  • 硬件(电路设计、制板和C语言)
    • 单片机系统
    • 串口通信系统
    • 步进电机驱动
    • 舵机驱动
    • 诺基亚 5110 液晶屏相关技术
  • PC(Delphi)
    • 图形相关(GLScene,基于 OpenGL)
    • 串口通信(SPCOMM)
    • 皮肤(SUIPack)
  • iOS(Swift)
    • SpriteKit(做了个动态背景)
    • YSocket

现在回头看,我当时的科技树点的还是比较乱的。🤣

实现

三个平台架构

偏航角

偏航角由步进电机带动底座旋转所得:

俯仰角和横滚角

俯仰角和横滚角为两个舵机,使用脉冲占空比控制角度:

通信协议

三个平台之间发送的数据包的格式。

结论

  • 舵机控制:信号精度0.123°,速度>180°/s
  • 步进电机控制:精度0.125°,误差<0.1%,速度>120°/s
  • 三平台随动60帧数据同步
  • 扩展功能稳定

创新点

  • 单片机系统菜单显示和按键控制
  • 通信协议设计
  • 上位机3D模型显示和控制
  • 飞机模型不同机舱视角设计
  • iOS App交互和 Socket 通信设计
  • 录像和回放功能设计

演示

单片机系统离线运行

单片机系统菜单:

通过方向键和确定键进行控制。

演示视频:

PC上位机联动

通过拖动三维模型的三视图进行三个角度旋转。

演示视频:

视频中切换视角为“头等舱”。

三平台随动

通过 iPhone 的传感器测量手机姿态后通过 udp 发送至上位机,上位机控制单片机系统旋转。

演示视频:

姿态录制

上位机收到 udp 数据包后将姿态数据序列化后保存成文件。

演示视频:

姿态回放

上位机通过录像文件还原姿态数据,还实现了播放速度调整和任意时刻回溯。

演示视频:

视频中加快了录像播放速度,以及直接在进度条上进行任意时间点姿态回溯。

结语

其实毕设结束以后发生了很不愉快的事情。

此设计拿到了校级优秀,但是奖金一直没有到我手里,我找辅导员去问了五六次,说早就发了,也不知道哪一级给贪了。想到2014年当时做全国大学生电子设计竞赛时候,我们队虽然拿到了一等奖,但暑期集训补贴一直没有到手,也不知道中间哪一级给贪了。

这也就是为什么我毕业以后一直对学校印象很差的原因,嗯。


Thanks for reading.

All the best wishes for you! 💕



1 楼

yuu

求不吐槽 MacBook 装 Windows。
因为涉及硬件串口通信,Mac 上真的不知道怎么开发。
另外,这是个虚拟机,不是真的装了 Windows。🤣

发表于 2019-07-07 00:16:05 引用
2 楼

Alice

小灰机模型跟着手机改变姿态真的好好玩!想知道这个传感器的工作原理是什么!

发表于 2019-07-08 04:20:15 引用
3 楼

yuu

引用了以下评论:
2 楼

Alice

小灰机模型跟着手机改变姿态真的好好玩!想知道这个传感器的工作原理是什么!

发表于 2019-07-08 04:20:15

应该就是传统的九轴传感器。
三轴加速度计:测加速度。三轴陀螺仪:测角加速度。三轴磁罗盘:测偏航角。
俩加速度计根据时间两次积分可以得到位移,配合偏航角计算欧拉角或四元数,就可以描述物体姿态了。

发表于 2019-07-08 11:13:09 引用
4 楼

Alice

引用了以下评论:
3 楼

yuu

[引用 2 楼]
应该就是传统的九轴传感器。
三轴加速度计:测加速度。三轴陀螺仪:测角加速度。三轴磁罗盘:测偏航角。
俩加速度计根据时间两次积分可以得到位移,配合偏航角计算欧拉角或四元数,就可以描述物体姿态了。

发表于 2019-07-08 11:13:09

tql!!!

发表于 2019-07-08 11:47:13 引用