点一下关注吧!!!非常感谢!!持续更新!!!
AI篇持续更新中!(长期更新)
AI炼丹日志-31- 千呼万唤始出来 GPT-5 发布!“快的模型 + 深度思考模型 + 实时路由”,持续打造实用AI工具指南!
Java篇正式开启!(300篇)
目前2025年09月01日更新到:
Java-113 深入浅出 MySQL 扩容全攻略:触发条件、迁移方案与性能优化
MyBatis 已完结,Spring 已完结,Nginx已完结,Tomcat已完结,分布式服务正在更新!深入浅出助你打牢基础!
大数据板块已结束多项干货更新(300篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!
大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解
软件算法
运动学与轨迹规划
1. 运动学基础
机械臂的运动控制先需要处理"如何动"的基本问题,这涉及到两类核心计算:
1.1 正运动学计算
- 输入:各关节角度值(θ₁,θ₂,…,θₙ)
- 处理:通过DH参数法或几何分析法建立的运动学模型
- 输出:末端执行器在基础坐标系中的位姿(位置+姿态)
- 示例:6轴机械臂通过齐次变换矩阵相乘得到末端位姿
1.2 逆运动学求解
- 输入:期望的末端位姿(位置+姿态)
- 处理:解析法(封闭解)或数值迭代法
- 输出:可能的关节角度组合(多解情况)
- 典型应用:UR机械臂通常有8组逆解
2. 轨迹规划方法
在满足运动约束条件下生成平滑的运动指令:就是轨迹规划的核心目标
2.1 关节空间规划
- 常用方法:
- 三次/五次多项式插值
- 梯形速度曲线(加速-匀速-减速)
- S型速度曲线(更平滑的加加速度控制)
- 参数设置:
- 最大速度:通常设为关节额定速度的70-80%
- 最大加速度:考虑电机转矩限制
- 加加速度:影响冲击振动
2.2 笛卡尔空间规划
- 直线插补:末端沿直线运动
- 圆弧插补:末端沿圆弧路径
- 姿态插补:工具坐标系平滑旋转
3. 高级规划技术
3.1 最优轨迹规划
- 时间最优:在动力学约束下寻找最短时间轨迹
- 能耗最优:最小化电机能耗的轨迹
- 混合优化:平衡时间和能耗的多目标优化
3.2 避障路径规划
- 常用算法:
- RRT(敏捷扩展随机树)
- PRM(概率路线图)
- 人工势场法
- 实现流程:
- 构建环境的三维 occupancy map
- 在构型空间进行碰撞检测
- 生成无碰撞路径
- 路径平滑处理
4. 工业应用实例
- 焊接应用:需保证焊枪沿焊缝的恒定速度
- 喷涂作业:维持末端与工件表面固定距离
- 装配任务:精确控制接近阶段的运动速度
- 物流分拣:动态障碍物避让的实时重规划
5. 软件实现方案
- 开源框架:
- ROS MoveIt:集成运动规划、碰撞检测等功能
- OMPL:运动规划算法库
- KDL:运动学计算库
- 商业软件:
- RoboDK:离线编程与仿真
- DELMIA:数字孪生环境中的路径规划
现代机械臂控制系统通常采用分层架构:
- 上层:任务级规划(what to do)
- 中层:运动规划(how to move)
- 底层:实时控制(execute precisely)
这种模块化设计使得行针对不同应用场景灵活配置规划算法,同时保证实时控制性能。随着AI工艺的发展,基于深度强化学习的运动规划手段也正在工业场景中得到应用。
机器人视觉与定位
机器人视觉与定位系统是现代工业自动化的重要组成部分,使得机械臂能够在复杂多变的环境中建立智能操作。这项技术主要由以下几个关键部分组成:
1. 环境感知环境
依据高分辨率工业相机(如Basler ace系列)或3D视觉传感器(如Intel RealSense)获取环境信息。这些传感器通常安装在机械臂末端或工作区域上方,以不同视角捕捉场景。
2. 核心处理算法
采用先进的计算机视觉和深度学习科技:
- 目标检测:使用YOLOv5、Faster R-CNN等算法识别工件
- 位姿估计:通过PnP算法或深度学习模型预测物体6D位姿
- 语义分割:区分不同类别的物体和背景
- 3D重建:基于点云数据(SLAM或ToF相机)构建环境模型
3. 典型应用场景
- 智能分拣系统:
- 在传送带上随机摆放的零件被视觉体系检测定位
- 机械臂根据视觉反馈规划最优抓取路径
- 达成抓取后,视觉系统进行质量检查
- 平均处理速度可达每分钟60件,定位精度±0.1mm
- 视觉引导装配:
- 追踪移动中的装配部件
- 实时调整机械臂轨迹补偿位置偏差
- 典型应用如汽车挡风玻璃安装、电子元件插接等
- 动态避障:
- 通过TOF相机监控工作区域
- 检测突然出现的人员或障碍物
- 实时重新规划机械臂运动轨迹
- 响应时间<50ms
4. 前沿技术发展
- 自监督学习:减少对标注资料的依赖
- 多模态融合:结合RGB、深度、红外等多种传感器数据
- 边缘计算:在嵌入式设备上部署轻量级模型
- 数字孪生:虚拟环境中的预训练和测试
5. 市场现状
根据Interact Analysis最新报告:
- 2024年全球工业机器人视觉系统市场规模达$42亿
- 75%的新装机械臂配备集成视觉框架
- 主要供应商包括Cognex、Keyence、Fanuc等
- 典型安装成本在$5,000-$20,000之间
6. 技术挑战与发展方向
当前面临的主要技术挑战包括:
- 反光/透明物体检测
- 小样本学习
- 实时性要求
- 极端光照条件适应
未来发展趋势:
- 结合大语言模型的认知能力
- 5G+云边协同计算
- 类人视觉的仿生系统
- 自适应的持续学习框架
随着技术的进步,机器人视觉架构正从单纯的"眼睛"进化为具备环境理解和决策能力的"智能大脑",推动工业自动化向更柔性、更智能的方向发展。
人工智能与机器学习
人工智能(AI)与机器学习(ML)在机械臂控制领域的应用正经历革命性发展。这些技术正在从多个维度重塑机械臂的智能化水平:
1. 强化学习(Reinforcement Learning)的应用
- 复杂技能训练:RL算法使机械臂能够自主学习人类难以编程的精细操作。例如:
- 积木翻面:通过数百万次虚拟试错,机械臂学会调整抓握力度和翻转角度
- 穿线过孔:训练机械手掌握线材的柔顺控制和精确对位技巧
- 训练流程优化:
- 在物理引擎(如PyBullet、MuJoCo)构建高保真仿真环境
- 设计合理的奖励函数(如成功奖励+时间惩罚)
- 使用PPO、SAC等先进算法进行训练
- 通过域随机化(Domain Randomization)增强泛化能力
- 最终迁移到真实机械臂进行微调
2. 模仿学习(Imitation Learning)的发展
- 通过动作捕捉系统记录人类专家管理轨迹
- 启用行为克隆(Behavior Cloning)或逆强化学习(Inverse RL)提取策略
- 典型应用场景:医疗手术机器人学习外科医生的管理手法
3. 预测性维护架构
- 数据采集:振动传感器、电流监测、温度等多维度内容
- 特征工程:提取时域/频域特征,构建健康指标
- 模型选择:LSTM时间序列预测或随机森林分类
- 应用案例:预测谐波减速器剩余使用寿命(RUL)
4. 智能调度优化
- 基于深度强化学习的多机械臂协同
- 考虑任务优先级、能耗、碰撞避免等多目标优化
- 数字孪生系统实现虚实联动
行业趋势
根据国际机器人联合会(IFR)2023年度报告,AI在工业机器人领域的渗透率预计将在2025年达到65%。特别是:
- 大语言模型(LLM)赋能自然语言编程接口
- 视觉-语言-动作(VLA)多模态模型提升环境理解能力
- 联邦学习(Federated Learning)实现跨工厂知识共享
这些技术进步正在打破传统预编程的局限,使机械臂具备:
✓ 动态环境适应能力
✓ 异常情况自主决策能力
✓ 持续自我优化能力
✓ 跨任务迁移学习能力
未来,随着5G和边缘计算的发展,我们或将看到具备云端协同智能的机械臂集群,在智能制造、物流仓储、医疗手术等领域创造更大价值。
力控与柔顺策略
1. 力控原理与实现方式
力控技术是机器人完成智能处理的核心,主要通过以下方式完成:
- 直接力控:使用六维力/力矩传感器直接测量末端受力
- 间接力控:通过电机电流估算关节力矩(常见于协作机器人)
- 混合控制:结合位置环和力环的混合控制策略
2. 典型力控策略及应用场景
2.1 阻抗控制
实现原理:
建立虚拟的弹簧-阻尼环境模型:
F = Kx + Bv
其中K为刚度矩阵,B为阻尼矩阵
应用案例:
- 轴孔装配作业:当插入件遇到5N阻力时,机械臂在Z轴方向产生2mm的弹性退让
- 电子元件插接:设定XY平面高刚度(1000N/m),Z轴低刚度(200N/m)
- 曲面跟踪:保持10N的接触力进行表面轮廓跟踪
2.2 力追踪控制
控制流程:
- 实时采集力传感器素材(1000Hz采样率)
- 与目标力值比较得到误差
- 通过PID控制器调整末端位置
- 形成闭环控制
典型应用:
- 精密打磨:保持20±1N的法向压力
- 抛光作业:维持恒定接触力进行曲面抛光
- 医疗机器人:完成组织接触力精确控制
3. 柔顺控制实现方式
3.1 虚拟柔顺框架
通过软件定义不同方向的柔顺特性:
- 平移自由度:可设置独立的刚度系数(X/Y/Z轴)
- 旋转自由度:可调整不同的转动刚度
- 耦合特性:支持各自由度间的解耦设置
3.2 典型配置方案
应用场景 | 关键轴刚度 | 非关键轴刚度 | 阻尼系数 |
---|---|---|---|
装配作业 | 1000N/m (Z轴) | 200N/m (XY平面) | 0.7 |
表面打磨 | 500N/m (法向) | 自由 (切向) | 0.5 |
医疗操作 | 50N/m (全部) | - | 0.9 |
4. 协作机器人特有功能
4.1 手动导引模式
工作原理:
- 持续监测关节力矩(采样率≥1kHz)
- 当检测到外力>2N时进入导引模式
- 动态调整电机输出实现零力控制
- 记录末端轨迹(精度±0.1mm)
优势特点:
- 无需专用示教器
- 支持全姿态示教(位置+姿态)
- 可设置多个路点形成完整轨迹
- 支持力度调节(5-50N触发阈值)
4.2 碰撞检测功能
实现方案:
- 关节力矩实时监控
- 建立动力学模型进行预期力矩计算
- 当实际力矩偏离预期值>15%时触发保护
- 响应时间<10ms
5. 科技发展趋势
- 自适应柔顺控制:基于机器学习动态调整刚度参数
- 多模态传感融合:结合视觉、力觉、触觉信息
- 数字孪生应用:在虚拟环境中预演力控策略
- 5G远程力控:实现超低延迟的远程操作
注:具体参数需根据机器人型号和工作场景进行调整,建议通过专业调试软件进行参数优化。
高层决策与集成
在工业自动化系统中,机械臂的软件架构不仅囊括底层的运动控制,还需要实现艰难的高层决策功能。这些高级作用主要包括:
智能任务规划系统:
- 基于当前生产订单、设备状态等信息,自动生成最优作业序列
- 例如:在汽车焊接生产线中,需要动态规划多个机械臂的焊接顺序以避免干涉
- 采用基于规则的专家系统或强化学习等AI算法
多机协同控制:
- 建立多台机械臂的作业协调与同步
- 典型应用场景包括:大型工件搬运、装配作业分工等
- 关键技术包括:任务分配算法、实时避碰算法等
系统集成接口:
- 与工厂其他自动化设备(AGV、输送线、检测设备等)的无缝对接
- 经过标准工业协议(如OPC UA、PROFINET)与PLC/MES环境通信
- 实现设备状态监控、生产内容采集等功能
工业4.0集成架构:
- 采用云-边-端协同计算框架:
- 云端:负责全局调度、大数据分析、AI模型训练
- 边缘端:实现实时性要求较高的本地决策
- 设备端:执行具体控制指令
- 典型通信协议栈:ROS2 DDS用于实时控制,MQTT用于云端通信
- 采用云-边-端协同计算框架:
新兴技术应用:
- 云机器人技术:将计算密集型任务(如3D视觉处理)部署到云端
- 数字孪生:通过虚拟仿真验证控制策略
- 面临的挑战:网络时延(通常要求<100ms)、数据安全、系统可靠性等
当前,这些高级功能在半导体、汽车等高端制造领域已有示范应用,但在大规模工业化部署方面仍面临标准化、成本等方面的挑战。随着5G、TSN等网络技术的发展,预计未来3-5年内将实现更广泛的应用。
相关文章:
深入解析:AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划视觉定位力控策略
深入解析:AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划视觉定位力控策略pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…...
VS Code快捷键
VS Code 1.通用操作快捷键快捷键 功能Ctrl+Shift+P 打开命令面板Ctrl+Shift+N 新建窗口Ctrl+S 保存Ctrl+P 搜索打开文件2.代码编辑快捷键快捷键 功能Ctrl+Z 撤销Ctrl+Shift+Z 反撤销Ctrl+C 复制Ctrl+X 剪切Ctrl+V 粘贴Ctrl+F 查找Ctrl+H 替换Ctrl+A 全选Shift+Alt+F 格式化代码…...
API安全厂商综合推荐:2025年权威视角下的主流厂商评估与选型指南
API安全厂商综合推荐:2025年权威视角下的主流厂商评估与选型指南基于IDC 2024年度报告,推荐全知科技、奇安信、腾讯云、华为、保旺达,启明星辰、安恒信息,安华金和、美创科技等API安全厂商,适用于金融、政务、运营商等行业客户,支持AI赋能运营提效70%、资产发现纯净度95%…...
基于FPGA的8PSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR
1.算法仿真效果 vivado2019.2仿真结果如下(完整代码运行后无水印):设置SNR=10db设置SNR=30db仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要随着通信技术的不断发展,相位调制技术因其高频谱效率和抗干扰能力而广泛应用于无线通信系统中。其中,8PSK(8相位…...
去去就来
一脚踢开也许从来没有面临过 看着天空就要泪流下 不是为了具体的人 不是为了具体的事 或者说 每个人都是凶手 下雨这天好安静 也不再盼望放晴 扭转时空又如何挽回 时差 禀赋没有破土 在一切都爆发之前 万物缄默 不甘与嫉恨 人性共扭曲 下位者的祈愿 愿你跌入深渊 所谓的思维 究…...
高三试卷
福建省2024-2025学年高三年级下学期模拟(一模&二模&三模)物理试题试卷汇总 https://www.zxxk.com/docpack/3497855.html...
豆包生成C#即梦API HTTP调用实例代码
最近玩即梦AI,文生图,文生视频等等很多玩法都很强大。即梦本身页提供了API。官方文档里有Java, Golang, Python, PHP的SDK,官方也推荐使用SDK,调用SDK会比较省事儿。官方也提供了HTTP请求示例代码,但是也只包括Java, Golang, Python, PHP,没有C#。所以就尝试写个C#调用即…...
解析几何笔记
记号约定:\(\displaystyle {x \brack y}\):向量 \((x, y)\)。1. 直线 一些定义:方向向量:与直线 \(l\) 平行的向量。 倾斜角:直线 \(l\) 与 \(y\) 轴正方向同向的方向向量,与 \(x\) 轴正方向的夹角。形式化的,设直线 \(l\) 的方向向量 \(\bold{v}\) 满足 \(\displaystyl…...
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
1.课题概述 基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真,通过SOA优化PID的kp,ki,kd三组参数,对比普通的PID控制器的控制效果。 2.系统仿真结果 3.核心程序与模型版本:MATLAB2022a%使用优化后的参数控制PID控制器 for k=1:10000time(k) = k*ts;%设定…...
使用 CUDA 12.9 编译 PyTorch 2.4.0
最近跑的一个项目需要 torch==2.4.0,但是 GPU(NVIDIA RTX PRO 6000)需要 CUDA 12.9,PyTorch 官方这个配置的预编译包,因此需要手动编译。获取源码: git clone -b v2.4.0 --depth 1 https://github.com/pytorch/pytorch cd pytorch git submodule sync git submodule upda…...
详细介绍:boost::circular_buffer的使用方法简介
详细介绍:boost::circular_buffer的使用方法简介pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace…...
基于禁忌搜索算法的TSP问题最优路径搜索matlab仿真
1.程序功能描述 基于禁忌搜索算法的TSP问题最优路径搜索,旅行商问题(TSP)是一个经典的组合优化问题。其起源可以追溯到 19 世纪初,最初是在物流配送、线路规划等实际场景中被提出。简单来说,给定一组城市和城市之间的距离,旅行商需要从一个城市出发,访问每个城市恰好…...
PDD9.14 笔试 - 浪矢
目录Day1 T1Day1 T4 Day1 T1 简单的模拟: 题目内容大概是给一个字符串a,a的子串拼成字符串b。 例如abcd -> abbccd 给你b字符串,要求给出a字符串。 思路:b字符串中除了第一个字符和最后一个字符串外,其他的都是重复字符,隔一个选一个就好。点击查看代码 import java.u…...
增肌,减脂,变瘦的联系和区别
首先,健身的目的基本都是为了好看的体型,肌肉和脂肪匀称的占比,力量和丝滑的结合。如果是运动员或需要针对性训练肌肉的话,那另说。 其次,这里说一下饮食和训练的关系。 俗话说,三分练七分吃。很多人不理解,为什么吃这么重要,但是我各种营养餐,减脂餐,轻食,没少吃,…...
(eval):1: _python-argcomplete: function definition file not found
(eval):1: _python-argcomplete: function definition file not found 我在使用kali的时候每次想使用table键补全命令就会报错,很烦人就是 去网上搜了一下,终于找到了解决方法argcomplete是一个用于Python的命令行参数自动补全工具。它通过与argparse库结合,为Python应用程序…...
详细介绍:【Spring Boot 报错已解决】Web server failed to start. Port 8080 was already in use.
详细介绍:【Spring Boot 报错已解决】Web server failed to start. Port 8080 was already in use.pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…...
Nordic Neuton.AI 技术优势;
Nordic Neuton.AI 技术的主要优势包括: 极小模型体积 Neuton.AI 能自动生成极小的机器学习模型,通常仅需几 KB(平均小于 5 KB),比传统框架(如 TensorFlow Lite for Microcontrollers)小 10 倍以上。 自动化建模,无需 ML 专业知识 Neuton.AI 平台无需开发者具备神经网络…...
channel Sounding 工作流程
1、必须要建立连接,并且配对绑定模式; 2、通过发送LL_CS_CONFIG_REQ PDU Select “启动器(Initiator) 或 反射器Reflector; 3、LL_CS_CONFIG_RSP PDU Select “与 DEVICE A 相反的角色 ” 4、启动器( Initiator )和反射器都可以发起channel sounding的流程; 如果对这个…...
基于Zhang-Suen算法的图像细化处理FPGA实现,包含testbench和matlab验证程序
1.算法运行效果图预览 (完整程序运行后无水印)将数据导入到matlab中显示图片:可以看到,图3,通过FPGA细化之后,可以获得和MATLAB一样的效果(图2),两者相对于原图(图1)都实现了图像的细化处理。2.算法运行软件版本 vivado2019.2matlab2024b/matlab2022a3.部分核心程序 (…...
channel Sounding RTT和PBR 属性总结
1、蓝牙联盟规定了有72个信道可以使用,每个信道带宽1M; 2、跳频模式和普通ble 跳频方式是不一样的; 3、channel Sounding 必须要是建立连接的; 4、角色分为启动器和反射器; 6、启动器:计算自身到另一个设备的距离 7、反射器:对启动器进行响应的设备; 8、跳频机制和我们普…...
二分查找方法
/*二分查找方法,前提是这个数组是有序的,无序的先排序 1-100; 50 25 判断结构,循环结构(比较),区间为零时找完,则没有找到 / //public static boolean binarySearch(int[]array,int target) //{//定义左右坐标 // int left=0; // int right=array.length-1; /因为…...
复制一个数组的方法
public class DemoArray { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; int[] array1 = new int[array.length]; // for(int i:array){//特殊方法(遍历数据的时候),只需要输出数据的时候使用 // System.out.println(i); //…...
判断目标是否在数组里面
public static boolean fiandTarget(int[] array,int target){ // boolean flag = false; for (int i = 0; i < array.length; i++) { if (array[i] == target){ return true; //flag = true; } } // return flag; return false; }...
选择排序方法
public static void chooseSort(int[] array){for (int i = 0; i < array.length - 1; i++){//记住索引位置int min = array[i];int minIndex = i;//开始内存比较for (int j = i+1; j < array.length; j++) {// 如果发现比标志的小的,就将赋值给标志位if (array[j] <…...
ArcGIS Pro 遇到严重的应用程序错误而无法启动 - 教程
ArcGIS Pro 遇到严重的应用程序错误而无法启动 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monos…...
第一次作业
大家好我日常有三个常做的事:刷视频、玩游戏、偶尔画画。刷视频时,我不只是看娱乐内容,遇到 “Python 基础操作”“PS 简单修图” 这类实用知识,会随手存到收藏夹,每周还会抽 1 小时把零散知识点整理成笔记,现在已经攒了厚厚一本,之前帮同学修图时,还从笔记里找到过调整…...
markdown文件上传到博客园教程
如何将Markdown文件上传到博客园文本内容 图片资源前期准备 vscode软件下载并安装vscode软件安装博客园插件并登录账号在vscode中,通过搜索栏搜索并安装博客园插件,插件名称为:博客园cnblogs客户端,安装后重启vscode软件。登录账号登录成功后可以上传到博客园markdown文件上…...
自我介绍
大家好,我是 谢燚欣 一名来自数据科学与大数据技术专业的学生,很高兴加入博客园以及接下来对我的学习过程进行记录。在学习之外,我还有一颗好奇和勇于尝试的心。当我对滑滑板和滑雪很好奇时,我就会去尝试它们,尽管每一次的摔跤都伴随着剧烈的疼痛,那是也阻挡不了我对它的…...
【展厅多媒体】从技术到体验,AR在展厅中的一体化整合 - 指南
【展厅多媒体】从技术到体验,AR在展厅中的一体化整合 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New"…...
LilCTF 2025
Qt_Creator Solve 通过字符串找到槽函数sub_410100()发现判断点为this == v21,直接动调(附加)到这个地方取值就行(跳过下面部分)根据字符串找到注册信号的位置向上翻找到该类的this指针What I have learned此题不止在demo_code_editor.exe执行过程中存在反调试,在加载库时应该也…...
AES算法原理与举例说明
AES算法原理与举例说明AES( Advanced Encryption Standard,高级加密标准 )是当前全球主流的对称分组密码,用于替代安全性不足的 DES,广泛应用于 HTTPS、文件加密、物联网通信等场景。其核心特点是分组长度固定为 128 位,密钥长度支持 128 位、192 位、256 位(对应算法称…...
ffplay音频重采样 - 教程
ffplay音频重采样 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size:…...
devexpress gridcontrol表格知识
过滤 高亮显示 ,不过滤非匹配行行选择,单行编辑 活动行着色 保存...
深入解析:Qt串口通信学习
深入解析:Qt串口通信学习pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size…...
字符串算法笔记
记号约定:\(|s|\):字符串 \(s\) 的长度。 \(\mathbb{S}\):字符串集。 \(\Sigma\):字符集。一些约定:下标从 \(0\) 开始。1. 哈希 1.1 定义 我们想要快速求出字符串 \(s\) 是否等于 \(t\)。 如果 \(|s| \neq |t|\),那么一定不相等,所以令 \(|s| = |t| = n\)。那么有 \(O(…...
【光照】Unity[经验模型]和[物理模型]
Unity URP(Universal Render Pipeline)中的光照模型BRDF(双向反射分布函数)是PBR(基于物理的渲染)的核心组成部分,用于模拟真实世界的光照交互。【从UnityURP开始探索游戏渲染】专栏-直达一、BRDF发展历史(时间线)1971年:Bouknight提出首个光反射模型,引入Lambe…...
实用指南:浅聊一下Redisson分布式锁
实用指南:浅聊一下Redisson分布式锁pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…...
JavaScript起源
为什么学习 JavaScript? JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 控制了网页的行为本教程是关于 JavaScript 及介绍 JavaScript 如何与 HTML 和 CSS 一起工作。谁适合阅读本教程? 1. 如果您想学习 J…...
9.14做题随记
OI学习,宁可不学不可逆向,要么知道题目怎么做后学习代码写法,要么知道代码基础学习题目怎么做,要么两种都会学习另外一种解法,万万不可逆向学习,费心费力。P1678 烦恼的高考志愿 题目背景 计算机竞赛小组的神牛 V 神终于结束了高考,然而作为班长的他还不能闲下来,班主任…...
树-学习笔记
定义:一个树是由n个元素组成的有限集合。其中,每个元素叫结点(node) 性质:有一个特殊的结点叫根节点(root node) 从图论的角度,一个树有n-1条边,所以它是无环的。同时,它是连通的,因为可以直接或间接地从一个结点走到另一个结点 除了根结点以外,其余的结点可以分成m(m&…...
centos 安装 postgresql 数据库
* 安装必要的工具yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm* 移除可能冲突的默认 PostgreSQL 模块(如有)yum remove -y postgresql** 查看 postgresql 版本yum list postgresql** 按 y 一直安…...
个人问题反省--致命问题(急需解决)
目前尝试投了几家距离较远的公司,但是沟通均未深入,所以停止盲目投递,跳脱出来反思个人问题。...
STM32 HAL学习笔记:EC11的使用和定时器中编码器模式的中断
本文使用STM32Cube软件包提供的驱动对EC11进行读取,包含部分电路原理图和代码。背景 之前买了一个EC11,想要拿来实现音量调节之类的功能,现在终于有时间研究了。 原理图 一开始R1、R2、R3选择的是100k,测试发现下降沿只有几百纳秒,但上升沿过于平缓,如下图,旋转较快时容…...
题解:P12546 [UOI 2025] Convex Array
目前暂无修正。 % 你赛出了这题,赛后补题参照FFTotoro的题解详细化了一下具体转移过程及思路,在此感谢原作者(怎么套娃了)。 不难得出题意等价于找出两个不同的序列使得相邻两数差单调不降,两个序列的并集为原序列集合(可重集),两个序列的交集为升序排序后的 \(\{a_1\}…...
Java并发编程(1)
基础 1、并行跟并发的区别 并行:同一时刻,多个线程都在执行,这就要求有多个CPU分别执行多个线程。 并发:在同一时刻,只有一个线程执行,但在一个时间段内,两个线程都执行了。其实现依赖于CPU切换线程,因为切换时间很短,所以基本对于用户是无感知的。2、什么是进程和线程…...
玩转 hostnamectl set-hostname:Linux 主机名管理的优雅方式 - 实践
玩转 hostnamectl set-hostname:Linux 主机名管理的优雅方式 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier Ne…...
DES原理与举例说明
DES原理与举例说明一、DES 核心原理:6 大关键步骤 DES 的加密过程可拆解为 “初始置换→密钥扩展→16 轮迭代→逆初始置换” 四大阶段,其中 16 轮迭代是加密的核心,每轮又包含 “扩展置换、异或、S 盒替换、P 盒置换”4 个步骤。整体流程如下: 1. 预处理:明文初始置换(IP…...
Spring八股文 - 实践
Spring八股文 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 14p…...
Morpheus 审计报告分享2:ChianLink 数据源有着不同的“心跳”
漏洞信息 漏洞报告https://code4rena.com/audits/2025-08-morpheus/submissions/S-709漏洞代码https://github.com/code-423n4/2025-08-morpheus/blob/a65c254e4c3133c32c05b80bf2bd6ff9eced68e2/contracts/capital-protocol/ChainLinkDataConsumer.sol#L78-L107漏洞背景 Heart…...
「嘶吼」第一章:吃饭睡觉打豆豆
标准的鹅蛋脸圆圆的,瞪着一双大眼,大双眼皮显得格外精神,小肚子微微隆起,头发及腰,常常梳着高马尾。因为从小营养过剩,她个子在幼儿园里偏高,跑得快,力气大,小胳膊小腿扑腾起来可折腾人了,用不完的精力都用在调皮捣蛋上了。小胖妞?这无疑是对李鹤然最好的形容。一岁…...