光纤传感器
Research on Self-Diagnosis and Self-Healing Technologies for Intelligent Fiber Optic Sensing Networks背景
传统单个光线传感器
优:精度高,稳定。
缺:体系不能太大,环境不能太复杂。
传感器网络
优:信息传输和处理能力,适应大尺度协同监测和复杂环境。
缺:在不稳定条件下或极端环境下数据丢失。
改:传感器网络需要自我诊断和恢复能力。
方向:
设计网络拓扑结构。
研究自我诊断和恢复。
信号解调。
三层环光纤传感器
优:重构恢复路径。
缺:无故障诊断描述、无恢复控制过程描述,应用受限,系统优化受限。
被动式布拉格光栅光纤传感器网络
缺:无故障诊断描述、无恢复控制过程描述,应用受限,系统优化受限。
智慧控制系统
优:有恢复控制功能。
故障解析和系统监测方法
对光纤布拉格光栅施加张力并用基于门循环单元的神经网络分析的方法
优:对重叠光谱实现解调,增强多路复用能力,提升光纤传感器网络综合性能。
光时间域反射测量(OTDR:optical time domain refle ...
deepseek
DeepSeek
DeepSeek可以做什么
对话、语言理解、计算推理、代码生成补全,文本生成,支持文件上传、读取文件及图片中的文字内容。
知识处理体系:通用/专业领域问答,图集推理,逻辑推理。
自然语言处理:文本分析,语义理解,实体识别、故事创作。
交互能力:上下文理解、多轮对话、任务执行
方案规划:从数据的可视化流程优化,建议生成
推理模型:在传统大语言模型基础上强化推理、逻辑分析和决策能力,借助强化学习、神经符号推理、元学习等手段,思维链。例如:DeepSeek-R1, GPT-o3
非推理模型:侧重于语言成生成、上下文理解和自然语言处理。需要对大量文本数据训练以掌握语言规律,概率生成,没有思考过程(思维链拆解)。DeepSeek-V3, GPT-3,GPT-4,BERT
提示语是用户输入AI系统的指令或信息,引导AI生成特定的输出或执行特定任务。
指令:告诉AI执行什么任务
上下文:提供背景信息,帮助AI理解任务和执行任务
期望:明确或隐含的表达期望AI输出内容
架构
特点:混合专家模型(MoE),MLA
算法:强化学习
状态S:输入prompt
动作A:输出re ...
QT_C++
QTQT是一个跨平台的应用程序和用户界面框架,用于开发图形用户界面(GUI)应用程序以及命令行工具。https://www.qt.io/zh-cn/
部署空项目流程macos系统1)启动qt creator,并创建新项目 在此处选择CMake 此处无法选择构建时,在qt偏好设置中找qt版本 添加自己安装的qt的目录,在该目录下找/opt/homebrew/Cellar/qt/6.8.2/bin/qmake 再在构建套件中添加新的构建,例如qt-6.8.2, 选择QT版本为自己安装的QT版本。 完成后可以选择创建项目中的构建了,然后生成如下目录,关掉qt creator,并用vscode打开项目
2) build:这是项目的构建目录,所有构建输出文件都会存放在这里。
.cmake:CMake 生成的内部配置文件目录,包含一些缓存和临时文件。
CMakeFiles:CMake 生成的辅助文件目录,包含构建过程中使用的中间文件和配置文件。
project1_autogen:自动生成的文件目录,通常包含由 CMake 自动生成的代码文件。
project1. ...
spring
背景
传统javaweb开发的困惑
1234567891011121314151617181920//用户账户信息修改业务方法public void updateUserInfo(User user){ try{ //开启事务 DaoUtils.openTransaction(); //获得UserDao执行插入User数据到数据库操作 UserDao userDao = new UserDaoImpl(); userDao.updateUserInfo(user); //修改成功后,向用户行为日志表中插入一条数据,内容:修改时间等信息 userLog.recodeUserUpdate(user); //提交事务 DaoUtils.commit(); }catch (Exception e){ //回滚事务 DaoUtils.rollback(); //向异常日志表中插入数据 ExceptionLog exceptionLog = new ExceptionLo ...
springboot
Spring Boot简介spring团队开发的框架简化spring应用开发。早期J2EE开发笨重,配置繁多,开发效率低,部署流程复杂,第三方集成困难。springboot整合了整个spring开发栈,不需要对每个栈分别学习开发,j2ee一站式解决方案优点:
快速建立独立运行的spring项目以及与主流框架集成。
使用嵌入式servlet容器,应用无需打成war包, 如果用war包系统要有tomcat。
starters启动器自动依赖与版本控制。
自动配置。不需要了解大量的配置。
无需配置xml,无代码生成,开箱即用。
生产环境运行时应用监控。
云计算的天然集成。缺点:入门容易精通难,要了解些spring框架底层的api。微服务martin fowler 2014描述微服务:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa一种架构风格,一个应用应该是一组小型服务,可以通过http的方式进行互通。
单体服务:每个功能元素放进同一个进程中,通过多个服务器复制该单体进行扩展。优点:开发测试简单, ...
maven
maven资料
maven书籍和视频介绍:http://pan.baidu.com/s1hq00qLA
国外资料介绍、引导、书籍:http://www.tutorialspoint.com/maven/index.htm
maven官网:http://maven.apache.org/
简单知识点
maven是什么:java管理和构建工具,管理定义项目结构、项目依赖,用统一方式进行自动化构建
项目结构
构建流程:编译->测试->打包->发布(部署)
只需要服务器安装Tomcat在启动构建,就会自动执行:清理->编译->测试->报告->打包->部署,这样的一套流程
包管理:
旧有方式:一个项目下有一个lib,java包放入lib中,所以随着项目增多,java包也增长
maven仓库管理:
多个项目共享同一个仓库,用仓库将java包和项目分离
依赖传递机制解决项目内java包之间的版本冲突
maven仓库:1、OSChina, 2、公共仓库
使用仓库的目的:将不同项目的java包统一管理(下载,配置, ...
智能排程
蚁群算法蚁群算法(Ant Colony Optimization, ACO) 是一种基于群体智能的元启发式算法,灵感来源于蚂蚁觅食行为。蚂蚁在寻找食物时,会通过释放信息素(pheromone)来标记路径,其他蚂蚁会根据信息素的浓度选择路径。通过模拟这一行为,ACO 可以有效地解决组合优化问题,如旅行商问题(TSP)。
蚁群算法的基本思想
蚂蚁的路径选择:
每只蚂蚁根据信息素浓度和启发式信息(如距离)选择下一个要访问的城市。
信息素浓度越高,路径被选择的概率越大。
信息素更新:
蚂蚁完成一次遍历后,会根据路径的长度更新信息素。
路径越短,信息素增加得越多。
正反馈机制:
信息素的积累和挥发形成正反馈机制,使得较优路径的信息素浓度逐渐增加。
TSP问题描述假设有n个城市,城市之间的距离用一个距离矩阵$D$表示, $D_{ij}$表示城市i,j之间的距离。目标是找到一个路径或排列$\pi=(\pi_1,\pi_2, …, \pi_n)$,使得以下总距离最小:
总距离=D_{\pi_1\pi_2}+D_{\pi_2\pi_3}+\cdots+D_{\pi_{n-1}\p ...
autojs
学习路径:1、 javascript2、ES6语法: https://es6.ruanyifeng.com/3、autjs文档、示例、实战:http://doc.autoxjs.com/#/4、代码书写规范5、autojs错误调试和分析
脚本开发环境搭建autojs 4.1.1版本安装和使用手机
windows环境
apk包(https://github.com/kkevsekk1/AutoX/releases):拉入手机、更多下载服务、auto.js无障碍服务
稳定模式:可以适配更多手机
悬浮窗:
连接电脑:
投屏软件:scrcpy (https://github.com/Genymobile/scrcpy)
下载scrcpy_win64-vxxx
手机打开开发者模式:设置->我的设备->多次点击版本 ->更多设置->开发者模式->usb模式->连接usb线
->无线连接(用adb命令)
...
asyncio并发
GIL: global interpreter lockevent loopasyncio:
同步:
代码顺序运行。如果一行代码运行很慢怎么办?该行代码之后的代码就要等待该行代码完成。
解决方案:协程,允许同时处理多个任务。
异步编程:
调用函数的位置不是执行函数的位置,执行函数的位置可以拖后。
耗时的任务从主应用程序中分离出来并在后台运行,不是阻塞其他代码等待该耗时任务完成,其他代码必须是不依赖耗时任务的代码。
协程是一种方法,该方法可以被暂停当有耗时任务时,然后恢复运行当耗时任务完成后。
使用async和await语法使异步代码看上去像同步代码运行一样。
asyncio库以异步方式(使用协程模型:单线程事件循环)执行协程。
asyncio能够通过与多线程和多进程的操作处理其他类型操作。
asyncio可以用于I/O型操作也能用于CPU型操作。
I/O型和CPU型操作对比:区别:阻碍代码更快运行的限制因素是I/O操作还是CPU操作。
并发,并行和多任务并发和并行如何调度、执行各任务、方法、例行?并发:虽然并发表示多任务在同时发生(被同时执行),但不意味着这些任务可以同时运行。 ...
机器人操作系统
第一章介绍ros由一组工具软件构成,是一个元操作系统,特点:
消息传递接口:进程通信
硬件抽象:无需关注具体硬件
包管理:ros节点以包的形式组织起来,每个包由原码文件、配置文件、编译文件等构成
第三方库集成:Open-CV, PCL, Open-NI等
低级设备控制:控制I/O pin, 端口传数据
分布式计算:将计算任务分布到几块计算节点上
代码复用
语言独立:可用python, c++, Lisp
易测试:内建测试框架
扩展
免费
ROS概念$组织等级\left{\begin{aligned}& ros文件系统\& ros计算图\& ros社区\end{aligned}\right.$
ros文件系统:ros文件在硬盘中如何组织
package: ros包是ros框架下的个体单元,包含了:原码、第三方库、配置文件
package manifests: 是一个*.xml文件记录了包的全部细节,例如:名字、描述、依赖
message type: 是一个数据结构,定义*.msg文件中,该文件放在msg文件夹下
service type: 是一个请求/应答 ...