四旋翼飞行器(QuadCopter--Parrot mini drone)—— 基于模型设计(Model Based Design)

2023-05-16

版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接 

       最近一段时间,朋友圈被MATLAB禁止哈工大、哈工程等科研院校使用刷屏了,顿时各种声音都有,有的网友说可以转去使用Python等别的开源的编程语言,但是就目前而言,真的能媲美MATHWORKS公司的MATLAB/Simulink的基本没有,很多只是可以顶替MATLAB,但是根本没有simulink的对手,这就让我国的科研人员有些瑟瑟发抖。。。。。。当然,特朗普这波操作虽然很骚,不得不说,只有这样的操作,我们国人才会在科研的基础领域发力,未来也许才能产生可以和MATLAB/Simulink分庭抗礼的的软件,无需求人。

1.软件介绍与使用

       好了,闲话不多说,今天给大家介绍一下MATLAB/Simulink新版本中自带的航空子模块包,以及已经针对Parrot的四旋翼迷你无人机开发好的基于模型设计的仿真环境,从下图中可以看到,我采用的是R2017b(每年MATLAB都会出两个版本,分为a和b,很多人都认为b的版本比较稳定)。

       在你安装好MATLAB 2017b以及之后的新版本之后,进入MATLAB主界面,在命令行输入asbQuadcopterStart,回车,便可以得到如下图所示的所有,这是MATLAB自带的集成在安装包内的,我们只需要调用出来就可以。

      接着你会看到,打开了simulink,并且展示在你面前的是如下这个图,左边的框图就是所谓基于parrot迷你四旋翼无人机模型设计的整个飞行控制仿真模型,包含了Command(飞行命令模块)、FCS(飞行控制系统模块)、Environment(静态环境模块)、Airframe( 非线性的parrot迷你四旋翼无人机的机身框架模块)、Sensors(机载各种传感器模块)、Visualization(可视化模块)以及右方的可视化界面。

       接下来,可以手动运行该模型仿真,即点右方可视化界面的上方栏目中有个运行按钮,之后便可以看到simulink开始进行初始化以及代码编译,最后在可视化界面看到parrot无人机做了个起飞并且保持一定高度悬停的动作。

2.如何自用

        很多玩四旋翼无人机的朋友基本都是科研院所在读或毕业从事相关无人机开发工作的,必定知道自己一行一行地手写C/C++ 代码,然后编译改错,烧写固件.......是一件多么浪费时间的事情,接下来,随着MBD(基于模型设计)的推广普及,我等人们再也不用去做普通程序员需要做的工作了,我们只需要在MATLAB/simulink里面搭建模型、调试、软件在环仿真、硬件在环仿真、实际飞行测试,节省了很多不必要的时间的浪费。

        而且,对于从事导航、制导、控制、视觉等相关算法岗位的朋友来说,也是极其便利的,只需要进入对应的模块进行理论研究、方法实现以及模块替换,然后就可以很快看到自己替换的算法是否OK,效果是否更优等等,何乐而不为呢?

        当然,上述的MATLAB提供的parrot这个模型工具包在很多领域都是个雏形,比如FCS中的控制算法采用的就是最原始的PID。那我们可以替换成ADRC等新兴的控制算法,通过软件在环仿真,可视化仿真,硬件在环仿真来进行PK。顿时觉着自己变得更优秀了,有没有?

3.一些推荐

       想要真正使用MATLAB自带的这套工具的话,从头到尾了解清楚的话,还是要自己购买一套parrot套装,然后根据MATLAB提供的视频讲解,自己试着去编译代码,烧录固件,实际飞行等,这里给出个有翻译的视频链接:https://www.bilibili.com/video/BV1R4411V7F3?p=7,根据这个视频,大家可以很快上手,大家如果在科研院校的话,就鼓动自己的导师动用下经费帮你搞一套设备回来吧,价钱我也不知道,但是看起来应该不是很贵,但是学生党可能还是微微有点吃力的。

 

       如果大家真的上手了,后续可以通过自己修改算法等模块,调试完美后,也可以去参加下MATLAB官方组织的parrot mini drone竞速之类的比赛。。。。。。

       

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

四旋翼飞行器(QuadCopter--Parrot mini drone)—— 基于模型设计(Model Based Design) 的相关文章

  • 文件系统(七)—图解进程文件操作

    学习文件系统 xff0c 我们的目标是如何实现一个简单的文件系统 xff1f 磁盘上需要什么结构 xff1f 它们需要记录什么 xff1f 如何访问 xff1f 对于这些问题 xff0c 我们就需要理解文件系统的基本工作原理 xff0c 可
  • 解决Docker ADD/COPY 报ADD failed: stat /var/lib/docker/tmp/docker-builder****: no such file or director

    意思就是说 ADD source target 命令找不到source的文件 搜了大致有以下情况 xff1a 没有source文件 xff0c 或者source文件跟Dockerfile不在同一目录 xff0c 或者命令docker bui
  • Qt各个版本和插件的下载方法

    Qt及其插件的下载 网址 xff1a http master qt io 1 输入网址 后 2 点开archive后 3 打开qt后 xff0c 出来的是qt的版本 4 下载5 2版本为例 xff0c 打开5 2 后 5 里面有两个版本5
  • Centos7 安装Docker以及图形管理界面

    Docker的安装 1 确保系统中没有旧版本 如果安装过的话 xff0c 没有安装则忽略此步 yum span class token operator span y remove docker docker common docker s
  • Android汽车服务篇(三) CarPropertyService下篇

    一 简介 上篇文章介绍了Android汽车服务篇 二 CarPropertyService上篇 我们继续看一看看CarPropertyService 这个服务也是很重要的 绝大部分与车辆硬件功能相关联的属性 如空调 车舱功能 车辆传感器等都
  • PPTV面试算法思考-最长对称子字符串

    题目 最近在微信公众号里看看到了一个PPTV的面试算法题 xff0c 感觉难度适中 xff0c 想试下 题目的内容为求一个字符串的最长对称子字符串 如 xff1a 输入 输出 abba 4 abad 3 acccbaa 3 我的算法1 自己
  • mardown语法详解

    这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题 xff0c 有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中 居左 居右SmartyP
  • C++

    由于见到论坛上不少找书的 xff0c 于是就稍稍汇总总结了一下 xff0c 作为本人即将推出的 C 43 43 资源大汇 系列文章的引子 本文只是初稿 xff0c 其中有不少的纰漏 笔误 打误 xff08 打字错误 xff09 希望各位纠正
  • Tx2 设置静态IP的两种方法

    Tx2设置静态ip的两种方法 Tx2静态ip设置可通过桌面右上角的有线连接配置中的ipv4的配置来设置 xff1b Tx2静态ip设置的第二种方法是通过间接修改ipv4的配置来设置 xff1b 用ifconfig来查看你使用的是哪个网络设备
  • 七 Gazebo学习总结之传感器的添加

    本文展示的是使用者怎么直接通过Gazebo其他模型来创建复杂的模型 xff0c 以及使用 lt include gt 和 lt joint gt 标签来连接一个复杂模型的不同部分 1 增加一个激光器 a 进入先前教程的模型目录中 cd ga
  • STM32、FreeRTOS—— SVC 和 PendSV

    问 I went through the xTaskStartSechudler function which ends up triggering the SVC instruction and i came to know that i
  • MYNTEYE-SDK-ROS-Kinetic-VINS-Mono环境搭建到运行(Ubuntu 16.04)非常详细

    一 首先安装ROS环境 1 确保系统软件处于最新版 xff1a sudo apt get update 2 打开终端 xff0c 输入命令 wget https raw githubusercontent com oroca oroca r
  • win7关机一直卡在正在关机

    win7关机一直卡在正在关机 尝试用win7系统准备工具 xff08 sysprep xff09 来恢复到系统的初始状态 步骤 xff1a 1 win 43 R打开运行窗口 xff1b 2 在窗口中输入 xff1a sysprep xff0
  • Jetson TX2学习笔记(一):软硬件基础环境配置

    拿到了Jetson TX2套件 xff0c 在给套件安装开发环境时踩了很多坑 上网查阅的资料也都没能解决问题 xff0c 这里把成功安装步骤一一记录下来 xff0c 同时将所遇到且网上未提及的问题也进行一下分析 先说一下 xff0c Jet
  • 启动Docker,出现“Got permission denied while trying to connect to the Docker daemon socket“的情况

    启动docker时 xff0c 出现 Got permission denied while trying to connect to the Docker daemon socket 的情况 解决方法 xff1a docker守护进程启动
  • 【matlab调用m文件方法】

    matlab如何调用m文件 matlab调用m文件方法
  • kubernetes(k8s)介绍安装和部署实战

    kubernetes 基本介绍 kubernetes xff0c 简称 K8s xff0c 是用 8 代替 8 个字符 ubernete 而成的缩写 是一个开源 的 xff0c 用于管理云平台中多个主机上的容器化的应用 xff0c Kube
  • latex与mathtype的对应

    在latex中一些特殊的字体在用mathtype实现的时候需要找到相应的字体 xff0c 就是说latex实现的所有特殊的字体 xff0c 实现 xff0c 在mathtype中都能找到相应的对应 例如下面的文本对应 R E u
  • 深度学习 优化算法

    深度学习优化算法 优化算法概念动量框架 SGDMomentumNAGAdaGradRMSProp AdaDeltaAdamNdam参考 优化算法 概念 优化算法的功能是通过改善训练方式来最大化或者最小化损失函数 模型内部有些参数 xff0c
  • AVStream AVCodecContext AVCodec

    AVStream 表示成一个流媒体 xff0c 每个AVStream对应一个AVCodecContext xff0c 存储该音视频流使用解码器的相关数据 xff0c 每个AVCodecContext中对应一个AVCodec 包含该音视频的解

随机推荐

  • 2022 年 GIS 就业状况

    2022 年 GIS 就业状况 我们生活在数字时代 xff0c 通过进行在线研究选择我们的道路 xff0c 比如选择假期 选择大学或追求职业 如果您正在考虑进入 GIS 领域或在 GIS 领域进一步发展 xff0c 那么这份报告一定会有所帮
  • Eigen使用方法

    看了这边博客之后总结一下https blog csdn net augusdi article details 12907341 xff0c 感谢原作 xff01 看了之后学到了好多 xff01 1 矩阵定义 不管是向量还是矩阵 xff0c
  • Linux C 书籍推荐

    建议学习路径 xff1a 首先先学学编辑器 xff0c vim emacs什么的都行 然后学make file文件 xff0c 只要知道一点就行 xff0c 这样就可以准备编程序了 然后看看 C程序设计语言 K amp R xff0c 这样
  • Lidar与imu外参标定

    目录 网上资料 方案1 方案2 Lidar与IMU的相对旋转 实现 总结 附录 xff1a 最近由于工作需要 xff0c 花了几天时间了解激光与imu的标定方法 xff1b 因为项目需要 xff0c 且这里是个人认识的一个整理 xff0c
  • ROS的tf包中坐标变换的方法

    1 setRotation函数的参数 在坐标变换的时候常有这样的写法 xff1a tfTutorialsAdding a frame C 43 43 transform setOrigin tf Vector3 0 0 2 0 0 0 tr
  • 转载-自定义ros消息 vector

    原创 xff1a https blog csdn net m zhangjingdong article details 79617966 1 我在ros程序包中新建一个msg文件夹 xff0c 用于存储msg消息相关定义 xff0c 之后
  • 学神的“诞生”-2014清华大学本科生特等奖学金答辩观后感

    清华的特奖与交大的竢实扬华 偶然间在学堂在线上留意到有这样的一场现场答辩 xff0c 很想知道最高学府的最高荣誉花落谁家 xff0c 得此殊荣的又是些怎样的 学神 xff0c 几点感受记录之 1 经历 gt gt 证书 清华的学生更注重大学
  • qt中 美化 问题列表

    1 QTabWidget 中tab xff0c tab bar xff0c pane属性分布 2 使用qss美化时 xff0c tab标签上和pane中都能美化成功 xff0c 但tab最右侧的tab bar却始终没有成功 设置控件的背景
  • AttributeError: module 'cv2.cv2' has no attribute 'createLBPHFaceRecognizer'

    AttributeError module cv2 cv2 has no attribute createLBPHFaceRecognizer 在某一次做人脸识别的小demo的过程中遇到了这个问题 下面直接上产生问题的源代码 span cl
  • CAN总线ACK响应问题

    CAN总线的应答位 xff08 ACK xff09 用来表示节点已经收到有效的帧 任何节点如果准确无误地接收到帧 xff0c 则要向总线上发送显性位 xff0c 该显性位将掩盖发送节点输出的隐性位 xff0c 使总线上表现为显性 如果发送节
  • 嵌入式书籍推荐

    嵌入式书籍推荐 Linux基础 1 Linux与Unix Shell 编程指南 C语言基础 1 C Primer Plus xff0c 5th Edition 美 Stephen Prata着 2 The C Programming Lan
  • 调试中关于__FILE__, __LINE__ 及 __FUNCTION__ 用法

    在C语言中 FILE xff1a 打印相应的文件名 LINE xff1a 打印语句在源代码中相应的行 FUNCTION xff1a 打印语句在源代码中相应的函数名
  • 看技术书籍坚持不下来的,看这里,记录增量学习法

    今天 xff0c 在阅读 软技能 代码之外的生存指南 这本书的过程中 xff0c 学习到了番茄工作法 定额工作法 xff0c 受此启发 xff0c 突然脑海里冒出了一个方法论 xff0c 这是我独创的一个学习方法论 xff0c 我把它称作
  • ubuntu16.04安装realsense2环境与SDK(D435)

    关于realsense2环境的安装以及SDK的使用现在的文档还不是很多 xff0c 就分享下我的过程 xff0c 希望对大家有帮助 我安装是从源码构建的 xff0c 以下是我参考的资料链接 第一个链接是官网 xff0c 我是以它为主 xff
  • C++服务器研发精进

    一袭青衫闯帝都 xff0c 回首已然四春秋 壮志未酬心未老 xff0c 抚膺身衰发已疏 转眼间已经工作四年有余 xff0c 回想刚毕业的懵懂无知 xff0c 仿佛就在昨日 xff0c 成长乎 xff1f 徒增岁月矣 理想中的职业生涯应该是目
  • [kernel 启动流程] (第二章)第一阶段之——设置SVC、关闭中断

    1 kernel启动流程第一阶段简单说明 arch arm kernel head S kernel入口地址对应stext ENTRY stext 1 第一阶段要做的事情 xff0c 也就是stext的实现内容 设置为SVC模式 xff0c
  • opencv 2.4.9编译踩坑笔记

    为了跑GSLAM xff0c 一直遇到opencv版本的问题 xff0c 本机之前是4 1 0 xff0c 作者回答用的版本是opencv2 4 9 xff0c 没办法 xff0c 再装一个 最终我的CMAKE指令 xff1a cmake
  • 如何使用APM固件飞控来使能外部位置控制

    在三维激光雷达平台上我们飞控采用pixhawk2的飞控 官方给我说这个支持APM和PX4的固件 xff0c 但是对APM固件的支持性比较好 xff0c 因此就选用了APM的飞控 在一开始装好飞机后 xff0c 第一次飞还好好的 xff0c
  • CentOS 8中安装docker时报错的解决

    CentOS 8中安装docker时报错的解决 Problem package podman span class token operator span 3 span class token punctuation span 2 span
  • 四旋翼飞行器(QuadCopter--Parrot mini drone)—— 基于模型设计(Model Based Design)

    版权声明 xff1a 本文为博主原创博文 xff0c 未经允许不得转载 xff0c 若要转载 xff0c 请说明出处并给出博文链接 最近一段时间 xff0c 朋友圈被MATLAB禁止哈工大 哈工程等科研院校使用刷屏了 xff0c 顿时各种声