FlightGear+MATLAB+飞行手柄实现实时飞控视景系统
文章目录
- 一、软件配置
- 二、FlightGear+MATLAB联合仿真
- 第一步 复制文件
- 第二步 新建文件夹
- 第三步 打开demo
- 第四步 demo说明
- 第五步 打开Simulink
- 第六步 连接FlightGear
- 第七步 设置FlightGear
- 第八步 生成FlightGear连接文件
- FlightGear的设置
- Network的设置
- File的设置
- 生成.bat文件
- 第九步 启动FlightGear
- 第十步 FlightGear+MATLAB联合仿真
- 三、飞行手柄的连接
- 四、Notice
- 4.1 MATLAB与FlightGear的连接方式
- 第1种方式
- 第2种方式
- 4.2 修改模型的方式
- 4.3 地景地图的下载
- 参考文章
一、软件配置
说明本篇文章使用的配置:
- MATLAB 2018b;
- FlightGear 2020.3;
- Windows 11。
MATLAB的安装不再赘述,网络上的教程很多。FlightGear请前往官网(https://www.flightgear.org/)下载,点击Download
,找到Windows版本,选择FlightGear 2020.3 For Windows
进行下载。至于使用Linux和Mac的朋友,自行选择对应系统的FlightGear下载即可。
点击之后进入SourceForge,等待5秒钟之后自动下载。
等FlightGear-2020.3.19.exe
下载完毕后,双击该程序安装FlightGear,一路点击Next
或者Install
即可。
这里没有中文可以选,就用英文了。
这里记得选择接受该许可证。
后面的步骤一直点击Next
或者Install
即可,注意安装FlightGear的安装路径,安装到一个自己记得住的位置。
至此,FlightGear安装完毕。
二、FlightGear+MATLAB联合仿真
第一步 复制文件
需要把MATLAB里面的..\MATLAB R2018b\toolbox\aero\astdemos
文件夹全部复制一份到FlightGear里,FlightGear文件夹位置为...\FlightGear 2020.3\data\Aircraft
里。
第二步 新建文件夹
(可选)为了查看方便,可以自己新建一个文件夹,我起名为FlightGear_Simu
,大家按自己喜好取名就好。建一个新文件夹的目的是为了自己好找到MATLAB的demo,不然它藏在电脑的犄角旮旯里,很难找到。
第三步 打开demo
在MATLAB命令行里输入
asbhl20
MATLAB里面有一个与FlightGear联合仿真的demo,用的是NASA HL20飞行器,我们只需要调用这个demo学习就好。上面的代码就是调出来这个demo的命令。
第四步 demo说明
输入指令之后,会在MATLAB里面弹出来下面这样的界面。
上方红框区域为asbhl20
的文件,说明了demo所有使用到的文件。
下方红框区域告诉了我们这个demo的位置,找到这个文件夹的位置,即../MATLAB\Projects\slexamples\asbhl202
。这里最后的asbhl202
的第3个文件夹,因为之间我创建过2个相同的demo了。如果大家是第一次调用asbhl20
demo的话,它的文件夹名字是asbhl20
。所以如果看见和我不一样的文件夹名字,请不用疑惑。
把文件夹../MATLAB\Projects\slexamples\asbhl202
所有文件复制到前述步骤中新建的文件夹FlightGear_Simu
里。如下图所示。
第五步 打开Simulink
打开asbhl20.prj
,会弹出来下图所示的Simulink界面。
第六步 连接FlightGear
看见右上角红色边框的FlightGear Install FlightGear
了么,现在要打开它,调出来下图所示界面。
这个界面分成了4个step。
Step 1:下载并且安装FlightGear。这一步我们之前已经做过了,所以不用再做。
Step 2:设置FlightGear路径。把之前安装FlightGear的路径填进去即可。
Step 3:检查路径是否正确。设置好路径之后,点击这个按钮,它会自动检查路径有没有设置正确。设置正确了才能进行Step 4。
Step 4:打开FlightGear。这个Step可以不用做,等到下一步再打开。我们不要从这里打开FlightGear,因为有一些必要的参数还没有设置好,等把所有参数设置好之后,再打开FlightGear。
第七步 设置FlightGear
再回到Simulink界面。
注意到FlightGear Install FlightGear
下面的Viewer and Feedback
了么,点这个框里的下箭头。进入下图所示界面。
再点击红框内的模块,进入如下所示界面。
第八步 生成FlightGear连接文件
FlightGear的设置
选中左上角的GEN FG RUN
模块,双击这个模块,得到如下图所示的界面。
首先要设置的是FlightGear的基础参数,在Parameters
区域里面,Select target architecture
选择default
选项,Select FlightGear data flow
选择Send-Recieve
选项。这里我觉得选择Send
也可以,因为只有Simulink给FlightGear传输数据,FlightGear不会给Simulink传输数据,所以Simulink可以不用recieve数据。不过因为这是demo的缺省值,就不再动它了。
FlightGear geometry model name
:要使用的飞行器模型名字,需要和xxx-set.xml
一致,demo这里就是需要与HL20-set.xml
一致;Airport ID
:机场编号,这里缺省值为KSFO
机场;Initial altitude
:初始高度,单位为英尺(ft);Initial heading
:初始朝向角,单位为度(deg);Offset distance
:偏移距离,单位为英里(miles);Offset azimuth
:偏移方位角,单位为度(deg)。
上述设置demo已经设置好了,不用更改任何设置。
值得一提的是,
Install FlightGear scenery during simulation (requires Internet connect...
这个选项最好勾选上。因为第一次打开FlightGear时,很有可能没有地景图片,导致启动FlightGear后显示不了地面。勾选这个选项之后,它会在第一次打开FlightGear的时候,自动下载地景。**这个选项要求具备必须的网络条件。**如果没有,请看第4.3节所述方法。
Network的设置
再进入Network
的设置,点击Network
,得到下图所示界面。
Destination address
:FlightGear所在计算机的IP地址,如果有多台计算机同时仿真,要填写FlightGear所在计算机的IP地址。Origin IP address
:Simulink所在计算机的IP地址,缺省值为127.0.0.1,即FlightGear和Simulink都在一台计算机上运行。如果有多台计算机同时仿真,要填写Simulink所在计算机的IP地址。Destination port
:UDP通信端口,即FlightGear监听的端口,用于接收来自Simulink的数据,需要与FlightGear配置中设置的端口一致,以便正确接收数据。从5501开始,这里设置的是5502。Origin Port
:Simulink发送数据到FlightGear所使用的端口,Simulink一般会自动生成。
上述端口必须确保没有被其他软件占用。
File的设置
最后进入File
的设置,点击File
,得到下图所示界面。
Output file name
:生成的FlightGear运行脚本的文件名,启动FlightGear模拟器的命令脚本,包含所有必要的初始参数和设置,可自己定义文件名。FlightGear base directory
:指定FlightGear安装的基本目录,即FlightGear的主文件夹路径,在第六步已经设置完毕。
生成.bat文件
经过上面三部分的设置,最后需要生成.bat文件,用以启动FlightGear。点击上图中Parameters
部分的Generate Script
按钮,即可在../FlightGear_Simu/work
(自己新建的文件夹,还记得之前的内容吗)里生成一个名为runfg.bat
的批处理文件。
第九步 启动FlightGear
现在要启动FlightGear,假设刚才大家已经设置好了所有FlightGear参数,并且没有关闭Simulink。找到刚才生成的runfg.bat
文件,双击,它会自动打开FlightGear,如下图所示。
等待几秒钟后,进入FlightGear。
可以看见地面上已经有场景了,说明我们成功地下载好了地景。但是还没有显示飞行器,按v
键转换视角,即可显示飞行器。
注意:假如按
v
键没有反应,很有可能因为计算机正在使用中文输入法,请切换到英文输入法再按v
键切换视角。
第十步 FlightGear+MATLAB联合仿真
回到Simulink,点击运行。即可看见Simulink在运行的同时,FlightGear的场景也会随之变化,直至飞行器成功降落至机场。
至此,大功告成。
三、飞行手柄的连接
我们使用的手柄是罗技X56,如下图所示。
左边是油门,右边是飞行摇杆。摇杆可实现六轴自由度。
在Simulink连接X56,要用到组件库中Joystick Input
模块。
这里要使用的是飞行摇杆来控制飞行器姿态,所以只需要用到Axes
的输出即可。Axes
的输出是5维的,用demux
分成5维即可。唯一需要提醒的就是,第1维控制的是俯仰角,第2维控制的滚转角,第5维控制的是偏航角,第3、4维没有用到。
至于Buttons
的使用,可以从Joystick Input
的Buttons
接一个display
,观察按下不同按钮的时候display
里面的值怎么变化。之后可以用作标志位。
四、Notice
4.1 MATLAB与FlightGear的连接方式
MATLAB与FlightGear连接有2种方式。
第1种方式
数字“1”红框中带有摄像机的模块是第1种。输入信息为经度、纬度、高度(前三者单位为度数)和三轴角速度(单位为弧度),数据类型均为double
类型。我们一般得到的都是XYZ三维坐标,需要把该三维坐标转换为经纬度。
FlightGear Preconfigured 6DoF Animation
模块在Simulink中只能存在一个,因为模块里包含了一个Set Pace
模块。有FlightGear Preconfigured 6DoF Animation
模块,Simulink也只会生效一个 。
第2种方式
数字“2”红框中的Pack net_fdm Packet for FlightGear
模块和Send net_ctrl Packet from FlightGear
模块是第2种。输入信息为经度、纬度、高度和三轴角速度(单位皆为弧度),经度、纬度和高度的数据类型为double
类型,三轴角速度的数据类型为single
类型。注意数据类型之间的转换关系。
当然,也可以选择更多要输出到FlightGear里的数据,如下图所示。
还要注意一点的就是,要输出到FLightGear的数据要先进入
Pack net_fdm Packet for FlightGear
模块,再从Pack net_fdm Packet for FlightGear
的packet
接口接到Send net_ctrl Packet from FlightGear
模块里。
像这样。
至于数字“3”红框中的GEN FG RUN
模块则是不论用哪种方法,都需要配上的模块。
4.2 修改模型的方式
在../FlightGear 2020.3\data\Aircraft
里会有HL20模型的出现。
点进去会有一个HL20-set.xml
文件,里面规定HL20模型的必需参数,要修改模型外观,就需要点开HL20->Models->HL20.ac
,用AC3D
软件打开这个.ac文件,按需修改即可。
要记得把修改后的.ac文件修改名字,然后在xxx-set.xml
里面把相应的名称换成修改后的名字。
举个例子,我要做个导弹的模型,那么可以拿HL20.ac
作为母本,用AC3D打开它然后修改,修改完毕后保存为Missle.ac
。随后,记得在HL20-set.xml
里,把所有HL20
全部替换为Missle
。
至于文件夹里的thumbnail.jpg
和hl20_glass.png
是HL20飞机的纹理文件,可以不用理他。
4.3 地景地图的下载
在官网(https://www.flightgear.org/)里选择Download
,找到Download Scenery
那一项,点进去。建议下载v1.0.1,占用的空间不大,足够使用。
点击红框部分,进入到下面的界面。
它是以经纬度为划分准则。
- “e”代表东经;
- “w”代表西经;
- “n”代表北纬;
- “s”代表南纬。
根据自己的需要,找到对应机场的经纬度,下载相应的地景包就好了。下好的文件是.tgz格式的,下载好之后,把它解压,再把解压后的文件放到../FilghtGear 2020.3/data/Scenery/Terrain
里。像下面这这样子。
参考文章
[1] matlab与flightGear联合仿真. (https://blog.csdn.net/zhengluanfeng1985/article/details/104776644)
[2] 【Matlab】详解Simulink中的Joystick Input模块(介绍+测试+应用). (https://blog.csdn.net/qq_40344790/article/details/118079923)
相关文章:
FlightGear+MATLAB+飞行手柄实现实时飞控视景系统
文章目录 一、软件配置二、FlightGearMATLAB联合仿真第一步 复制文件第二步 新建文件夹第三步 打开demo第四步 demo说明第五步 打开Simulink第六步 连接FlightGear第七步 设置FlightGear第八步 生成FlightGear连接文件FlightGear的设置Network的设置File的设置生成.bat文件 第九…...
Oracle 11g Data Guard 环境中的 GAP 处理办法
概述 在Data Guard 环境中,当主库的某些日志没有成功传送到备库时,就会发生归档裂缝(Archive Gap)。目前,Oracle 提供了两种日志 GAP 的检测和处理机制:自动 GAP 处理(Automatic Gap Resolutio…...
自建服务器,数据安全有保障
在远程桌面工具的选择上,向日葵和TeamViewer功能强大,但都存在收费昂贵、依赖第三方服务器、数据隐私难以完全掌控等问题。相比之下,RustDesk 凭借开源免费、自建服务的特性脱颖而出!用户可以在自己的服务器上部署RustDesk服务端&…...
华为HarmonyOS 快速构建各种文本识别应用 -- 通用文字识别
适用场景 通用文字识别,是通过拍照、扫描等光学输入方式,将各种票据、卡证、表格、报刊、书籍等印刷品文字转化为图像信息,再利用文字识别技术将图像信息转化为计算机等设备可以使用的字符信息的技术。 可以对文档翻拍、街景翻拍等图片进行…...
shell作业
计算器 #!/bin/bash num1$1 num2$3 op$2 case $op in"")echo $((num1 num2));;"-")echo $((num1 - num2));;"*")echo $((num1 * num2));;"/")if [ $num2 -ne 0 ]; thenecho $((num1 / num2))elseecho "除数不能为0"fi;;*)…...
css部分
前面我们学习了HTML,但是HTML仅仅只是做数据的显示,页面的样式比较简陋,用户体验度不高,所以需要通过CSS来完成对页面的修饰,CSS就是页面的装饰者,给页面化妆,让它更好看。 1 层叠样式表&#…...
nginx 配置 跨域、压缩、文件下载 、静态文件、防盗链
1.跨域配置 在server模块下 访问如:http://127.0.0.1:8080/static/a.txt #跨域server {listen 8080;server_name localhost;#允许跨域请求的域, *代表所有add_header Access-Control-Allow-Origin *;#允许带上cookie请求add_header Access-Contro…...
SQL教程(1):什么是SQL?有什么用?
如果你是刚接触用户研究的新手,可能会听说过一个词叫做 SQL(Structured Query Language,结构化查询语言),但你可能还不太清楚它是什么,如何使用它,或者为什么它会对你的用户研究有帮助。别担心&…...
c++笔记2
14、c的对象 对象和结构的区别; 结构:包含各种类型的变量; 对象:包含各种函数、和变量; 设计对象的时候引用class关键字创建类,和结构形状差不多; 将变量称之为属性,函数称之为方…...
Xlsxwriter生成Excel文件时TypeError异常处理
在使用 XlsxWriter 生成 Excel 文件时,如果遇到 TypeError,通常是因为尝试写入的值或格式与 XlsxWriter 的限制或要求不兼容。 1、问题背景 在使用 Xlsxwriter 库生成 Excel 文件时,出现 TypeError: “expected string or buffer” 异常。此…...
应用层协议/传输层协议(UDP)
目录 应用层 如何自定义应用层协议? 序列化方式 1.基于行文本的方式来传输 2.基于xml的方式 3.基于json的方式 4.yml的形式 5.protobuffer(pb)形式 传输层 端口号 协议 UDP 校验和 CRC TCP TCP/IP五层协议 应用层 -- 传输层 -- 网络层 -- 数据链路层…...
【Linux】应用层协议—HTTP
一、HTTP协议介绍 请求-响应模型:HTTP (Hyper Text Transfer Protocol) 协议是基于请求和响应的。客户端(如Web浏览器)发送一个HTTP请求到服务器,服务器处理请求后返回一个HTTP响应。 无状态,无连接协议:H…...
使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)
一. 前言 在众多 ECharts 图表类型中,开发者始终绕不开的有各种各样的地图开发,关于地图开发,可能比其他图表相对繁琐一些,其实说简单也简单,说复杂也复杂,其中不乏有层级地图、3D 地图等,感觉…...
双目相机的标定,视差图,深度图,点云生成思路与实现。
该文档记录从双目相机标定到点云生成的所有过程,同时会附上代码。 代码直接能跑。https://github.com/stu-yzZ/stereoCamera 目录 大致思路如下: 一、相机标定 1、相机参数介绍 2、单目相机标定 3、双目相机标定 二、图片畸变矫正 三、极线矫正…...
解决 minio上传文件Service: S3, Status Code: 403
错误信息 [software.amazon.awssdk.services.s3.model.S3Exception: (Service: S3, Status Code: 403, Request ID: 180E9BC04F11312E, Extended Request ID: 81aefed089495c5faf6270c59bea93c9783926f74ef647fe6b17908f0976b557)]分析过程 4XX一般是客户端错误。403表示禁止…...
SpringBoot实战——个人博客项目
目录 一、项目简介 ?二、项目整体架构 数据库模块 后端模块 前端模块 ?三、项目具体展示 ?四、项目的具体实现 1、一些准备工作 ??数据库、数据表的创建 ??设置数据库和MyBatis的配置 ??将前端项目引入到当前项目中 2、登录注册模块 ??实体类的创建 ?…...
OpenCV-平滑图像
二维卷积(图像滤波) 与一维信号一样,图像也可以通过各种低通滤波器(LPF)、高通滤波器(HPF)等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…...
nodejs官方文档学习-笔记-1
一、异步工作 process.nextTick(): 回调会在当前操作完成后立即执行,但在事件循环进入下一个阶段之前。它是最先执行的。 Promise.then(): 回调会在 microtask 队列中执行,通常是在当前操作完成后,但在事件循环进入…...
YOLOv7
YOLOv7 是 YOLO 系列的一个重要版本,由 Chien-Yao Wang 和 Alexey Bochkovskiy 等研究人员和开发者提出,继续改进了 YOLOv4 和 YOLOv5 的设计,主要在模型性能、训练效率以及推理速度上进行优化。YOLOv7 进一步优化了 YOLO 系列在速度和精度之…...
汉语唤醒词的模糊判断(Python)
汉语唤醒词的模糊判断【Python】 说明安装库代码Demo其他 说明 这是一个简单的汉语模糊唤醒词的判断器,汉语发音中前后舌以及声母韵母的区别,如果进行精准判断,很容易误判。需要一个模糊判断的逻辑! 安装库 pip install pypinyin代码Demo …...
C语言实例_26之根据输入计算星期几
1. 问题 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 2. 实现思路 思路一:嵌套if-else语句实现 首先接收用户输入的第一个字母,使用if-else语句进行判断。如果输入的是M࿰…...
包管理器npm,cnpm,yarn和pnpm
npm (Node Package Manager) 核心技术与工作原理 依赖解析: 广度优先搜索(BFS):npm 使用 BFS 算法来解析依赖树,尽量扁平化 node_modules 目录以减少重复的依赖项。冲突处理:如果两个包需要同一个依赖的不…...
docker-compose部署skywalking 8.1.0
一、下载镜像 #注意 skywalking-oap-server和skywalking java agent版本强关联,版本需要保持一致性 docker pull elasticsearch:7.9.0 docker pull apache/skywalking-oap-server:8.1.0-es7 docker pull apache/skywalking-ui:8.1.0二、部署文件docker-compose.yam…...
Android -- [SelfView] 自定义多行歌词滚动显示器
Android – [SelfView] 自定义多行歌词滚动显示器 流畅、丝滑的滚动歌词控件* 1. 背景透明;* 2. 外部可控制进度变化;* 3. 支持屏幕拖动调节进度(回调给外部);效果 歌词文件(.lrc) 一. 使用…...
记事本建java及java命名规范
1.桌面开发:c# 2. 记事本建java: 以class的名称(类名)为名,名称.java 编译jdk:javac 名称.java 调动运行jre : java 名称 查看名称.java里面的内容:cat 名称.java java 的命名规范 大驼峰(每个单词首…...
Elasticsearch scroll 之滚动查询
Elasticsearch scroll 之滚动查询 Elasticsearch 的 Scroll API 是一种用于处理大规模数据集的机制,特别是在需要从索引中检索大量数据时。通常情况下,Elasticsearch 的搜索请求会有一个结果集大小的限制 (fromsize 的检索数量默认是 10,000 条记录)&am…...
cartographer建图与定位应用
文章目录 前言一、安装cartographer1.安装环境2.源码编译2.1 下载2.2 编译 二、gazebo仿真2d建图0.准备仿真环境1.编写lua文件2.编写启动文件3.建图保存 三、cartographer定位 move_base导航3.1 编写启动文件3.2 启动launch 总结 前言 本文介绍cartographer在ubuntu18.04下的…...
CEEMDAN-CPO-VMD二次分解(CEEMDAN+冠豪猪优化算法CPO优化VMD)
CEEMDAN-CPO-VMD二次分解(CEEMDAN冠豪猪优化算法CPO优化VMD) 目录 CEEMDAN-CPO-VMD二次分解(CEEMDAN冠豪猪优化算法CPO优化VMD)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 首先运用CEEMDAN对数据进行一次分解ÿ…...
【Golang】Go语言编程思想(二):函数式编程
函数式编程 函数与闭包 支持函数式编程的语言当中,函数是一等公民,参数、变量、返回值都可以是函数。 以 adder 为例,下例实现了一个函数式编程: package mainimport "fmt"func adder() func(int) int {sum : 0retu…...
ros项目dual_arm_pick-place(moveit和gazebo联合仿真)(一)
目录 前言正文创建功能包具体代码运行 总结 前言 dual_arm_pick-place项目中,实现了两套的moveit和gazebo联合仿真。 启动文件分别是bringup_moveit.launch和arm_bringup_moveit.launch。 在这个项目中,我将代码重新创建了一个包,co_simula…...
点线面|点到两点直线距离求解
在点云库(PCL)中,计算点到直线的距离可以借助于向量运算。以下是这种计算方法的步骤以及相应的实现代码。 概念 要计算点 AA 到通过点 BB 和 CC 定义的直线的距离,可以使用以下步骤: 定义两个向量: 向量 …...
等保2.0三级测评华为华三交换机路由器
在使用本博客提供的学习笔记及相关内容时,请注意以下免责声明: 信息准确性:本博客的内容是基于作者的个人理解和经验,尽力确保信息的准确性和时效性,但不保证所有信息都完全正确或最新。 非专业建议:博客中的内容仅供参考,不能替代专业人士的意见和建议。在做出任何重要…...
鸿蒙分享(二):引入zrouter路由跳转+封装
码仓库:https://gitee.com/linguanzhong/share_harmonyos 鸿蒙api:12 鸿蒙第三方库地址:OpenHarmony三方库中心仓 zrouter地址:OpenHarmony三方库中心仓 1.引入zrouter 1.打开终端界面:输入 ohpm install hzw/zrouter 2.在项目…...
欧拉角和旋转矩阵之间的转换
在实际编程实践中,特别是使用C的Eigen库时,需要掌握多种空间旋转表示之间的转换。本文将深入探讨欧拉角与旋转矩阵之间的相互转换,这是使用库时常见的操作。 首先,让我们了解欧拉角。它是指通过围绕三个基本坐标轴旋转来表示三维对…...
Typora的激活
Typora的安装、激活 图文教程 | 2024年最新Typora激活使用教程合集 Typora 激活指南(2024年最新版) 图文教程 | 2024Typora最新版免费激活使用教程(新旧版可用)...
排查bug的通用思路
⭐️前言⭐️ APP点击某个按钮没有反应/PC端执行某个操作后,响应较慢,通用的问题排查方法: 从多个角度来排查问题 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评…...
探秘CSS3 3D转换:打造立体网页动画与视觉效果的魔法
在现代网页设计中,CSS3 3D转换(3D Transforms)已经成为一种强大的工具,用于创建各种动态效果和视觉吸引力。本文将详细介绍CSS3 3D转换的基本概念、常见属性及其应用示例,帮助您掌握这一技术,提升网页设计的…...
Pycharm 安装两种不同版本的解释器
背景 Pycharm使用的解释器是python3.11,python3.9.x之后不支持win7;有同事需要在win7上使用python制作的exe,而了“win7环境下运行python打包exe提示找不到api-ms-win-core-path-l1-1-0.dll”。 过程 查找了一些资料,发现直接将…...
小红薯x-s算法分析最新12-06(x-s 56)(上)
目标-小红薯达人作品:aHR0cHM6Ly93d3cueGlhb2hvbmdzaHUuY29tLw 1、确定目标 打上xhr断点 发现是异步请求,同时各个参数已经生成结束了 2、进入第二个异步函数 打上断点并继续运行 发现在e这个位置也生成了,那么再继续往上找异步参数进行断…...
视频融合×室内定位×数字孪生
随着物联网技术的迅猛发展,室内定位与视频融合技术在各行各业中得到了广泛应用。不仅能够提供精确的位置信息,还能通过实时视频监控实现全方位数据的可视化。 与此同时,数字孪生等技术的兴起为智慧城市、智慧工厂等应用提供了强大支持&#…...
JMS和消息中间件:Kafka/RocketMQ
文章目录 消息传递模型使用JMS还是KafkaKafka与RocketMQ的优缺点Kafka与RocketMQ的使用场景Kafka与RocketMQ的选型指南 TPM 项目中, iflow之间使用了JMS,后端项目与数据库通信使用Kafka MQ和JMS的区别: JMS是 java 用来处理消息的一个API规范…...
FreeRTOS之ARM CR5栈结构操作示意图
FreeRTOS之ARM CR5栈结构操作示意图 1 FreeRTOS源码下载地址2 ARM CR5栈结构操作宏和接口2.1 portSAVE_CONTEXT宏2.1.1 portSAVE_CONTEXT源码2.1.2 portSAVE_CONTEXT宏操作栈结构变化示意图 2.2 portRESTORE_CONTEXT宏2.2.1 portRESTORE_CONTEXT源码2.2.2 portRESTORE_CONTEXT宏…...
【技巧】Mac上如何显示键盘和鼠标操作
在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…...
三种插入排序算法
目录 1.直接插入排序 直接插入排序的步骤示例 直接插入排序的特点 适用场景 2.折半插入排序 折半插入排序的基本原理 折半插入排序的实现过程 折半插入排序的时间复杂度 折半插入排序的特点 3.希尔排序 希尔排序的基本原理 希尔排序的步骤举例 希尔排序的时间复杂…...
力扣100题--移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出: […...
第30天:安全开发-JS 应用NodeJS 指南原型链污染Express 框架功能实现审计0
时间轴: 演示案例: 环境搭建-NodeJS-解析安装&库安装 功能实现-NodeJS-数据库&文件&执行 安全问题-NodeJS-注入&RCE&原型链 案例分析-NodeJS-CTF 题目&源码审计 开发指南-NodeJS-安全 SecGuide 项目、 环境搭建-NodeJ…...
1.使用docker 部署redis Cluster模式 集群3主3从
1.使用docker 部署redis Cluster模式 集群3主3从 1.1 先安装docker 启动docker服务,拉取redis镜像 3主3从我们要在docker启动6个容器docker run --name redis-node-1 --net host --privilegedtrue -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-…...
SAP导出表结构并保存到Excel 源码程序
SAP导出表结构并保存到Excel,方便写代码时复制粘贴 经常做接口,需要copy表结构,找到了这样一个程程,特别有用。 01. 先看结果...
李飞飞:Agent AI 多模态交互的前沿探索
发布于:2024 年 11 月 27 日 星期三 北京 #RAG #李飞飞 #Agent #多模态 #大模型 Agent AI在多模态交互方面展现出巨大潜力,通过整合各类技术,在游戏、机器人、医疗等领域广泛应用。如游戏中优化NPC行为,机器人领域实现多模态操作等。然而,其面临数据隐私、偏见、可解释性…...
算法基础学习Day2(双指针)
文章目录 1.题目2.题目解答1.快乐数题目及题目解析算法学习代码提交 2.题目2题目及题目解析算法学习代码提交 1.题目 202. 快乐数 - 力扣(LeetCode)11. 盛最多水的容器 - 力扣(LeetCode) 2.题目解答 1.快乐数 题目及题目解析 …...