第十五讲、Isaaclab中在机器人上添加传感器
0 前言
官方教程:https://isaac-sim.github.io/IsaacLab/main/source/tutorials/04_sensors/add_sensors_on_robot.html
Isaacsim+Isaaclab安装:https://blog.csdn.net/m0_47719040/article/details/146389391?spm=1001.2014.3001.5502
传感器有助于智能体感受不同的环境信息,包括本体感受及外部感受。例如,可以使用摄像头传感器获取环境的视觉信息、可以使用接触传感器获取机器人与环境的接触信息。
在本教程中,我们将学习如何为机器人添加不同的传感器。本教程将使用 ANYmal-C
机器人,该机器人是一个四足机器人,拥有12个自由度(四条腿每条腿3个自由度)。该机器人配备以下传感器:
- 机器人头部的摄像头传感器可以提供RGB-D图像
- 提供地形高度信息的高度扫描仪传感器
- 机器人脚上的接触传感器提供接触信息
教程对应的脚本为add_sensors_on_robot.py
在scripts/tutorials/04_sensors
目录下。
运行该程序:
- 进入安装 isaac lab 时创建的conda虚拟环境
- 在该环境下进入 isaac sim文件夹中运行
source setup_conda_env.sh
- 终端中输入
./isaaclab.sh -p scripts/tutorials/04_sensors/add_sensors_on_robot.py --num_envs 2 --enable_cameras
运行你的代码。
与之前的教程类似,我们将资源和传感器添加到场景中。所有传感器都继承自
sensors.SensorBase
类,并通过各自的配置类进行配置。每个传感器实例都可以定义自己的更新周期,即传感器更新的频率。更新周期以秒为单位,通过sensors.SensorBaseCfg.update_period
属性指定。
1 场景配置
将地面、灯光、机器人及传感器添加到场景中,该处使用 第七讲、在Isaaclab中使用交互式场景 中的方法创建场景。
# 使用配置类装饰器定义场景配置
@configclass
class SensorsSceneCfg(InteractiveSceneCfg):"""配置带传感器的机器人场景"""# 地面配置(继承自基础资产配置)ground = AssetBaseCfg(prim_path="/World/defaultGroundPlane", # USD场景中的prim路径spawn=sim_utils.GroundPlaneCfg() # 使用预定义的地面平面配置)# 环境光源配置dome_light = AssetBaseCfg(prim_path="/World/Light", # 光源prim路径spawn=sim_utils.DomeLightCfg(intensity=3000.0, # 光照强度(流明)color=(0.75, 0.75, 0.75) # RGB颜色值(归一化)))# 机器人配置(使用ANYMAL-C的预设配置)robot: ArticulationCfg = ANYMAL_C_CFG.replace( # 继承并修改基础配置prim_path="{ENV_REGEX_NS}/Robot" # 使用正则表达式命名空间动态生成路径)# ---------- 传感器配置部分 ----------# 前视RGB-D相机配置camera = CameraCfg(prim_path="{ENV_REGEX_NS}/Robot/base/front_cam", # 相机安装位置update_period=0.1, # 更新周期0.1秒(10Hz)height=480, width=640, # 图像分辨率640x480data_types=["rgb", "distance_to_image_plane"], # 采集RGB和深度数据spawn=sim_utils.PinholeCameraCfg( # 针孔相机模型参数focal_length=24.0, # 焦距(毫米)focus_distance=400.0, # 对焦距离(单位米)horizontal_aperture=20.955,# 水平孔径(毫米)clipping_range=(0.1, 1.0e5)# 可视范围(0.1m~100km)),offset=CameraCfg.OffsetCfg( # 安装位姿偏移pos=(0.510, 0.0, 0.015), # 位置偏移(X,Y,Z)米rot=(0.5, -0.5, 0.5, -0.5), # 四元数旋转(ROS坐标系约定)convention="ros" # 使用ROS坐标系规范))# 地形高度扫描仪配置(基于射线投射)height_scanner = RayCasterCfg(prim_path="{ENV_REGEX_NS}/Robot/base", # 安装基座位置update_period=0.02, # 50Hz高速更新offset=RayCasterCfg.OffsetCfg(pos=(0.0, 0.0, 20.0) # 扫描仪安装高度20米),attach_yaw_only=True, # 仅跟随机器人偏航角旋转,无需考虑机器人的横滚和俯仰pattern_cfg=patterns.GridPatternCfg( # 扫描模式配置resolution=0.1, # 0.1米点间距size=[1.6, 1.0] # 扫描范围1.6m X 1.0m),debug_vis=True, # 启用调试可视化mesh_prim_paths=["/World/defaultGroundPlane"] # 扫描目标地面)# 足端接触力传感器配置contact_forces = ContactSensorCfg(prim_path="{ENV_REGEX_NS}/Robot/.*_FOOT", # 正则匹配所有足部关节update_period=0.0, # 每物理步都更新(200Hz)history_length=6, # 保留最近6次接触数据debug_vis=True # 显示接触力矢量)
2 相机传感器
相机传感器可以通过sensors.CameraCfg
进行配置。官方文档:https://isaac-sim.github.io/IsaacLab/main/source/api/lab/isaaclab.sensors.html#isaaclab.sensors.CameraCfg
摄像机传感器的配置包括以下参数:
- spawn:要创建的 USD 相机类型。可以是
PinholeCameraCfg
或FisheyeCameraCfg
。 - offset:相机传感器与父级图元的偏移量。
- data_types:要捕获的数据类型。可以是rgb、distance_to_image_plane、normals或 USD 相机传感器支持的其他类型。
为了将 RGB-D 摄像头传感器安装到机器人头部,我们需要指定相对于机器人基座的偏移量(CameraCfg.OffsetCfg
)。
# 前视RGB-D相机配置camera = CameraCfg(prim_path="{ENV_REGEX_NS}/Robot/base/front_cam", # 相机安装位置update_period=0.1, # 更新周期0.1秒(10Hz),这意味着相机传感器以 10Hz 的频率更新height=480, width=640, # 图像分辨率640x480data_types=["rgb", "distance_to_image_plane"], # 采集RGB和深度数据spawn=sim_utils.PinholeCameraCfg( # 针孔相机模型参数focal_length=24.0, # 焦距(毫米)focus_distance=400.0, # 对焦距离(单位米)horizontal_aperture=20.955,# 水平孔径(毫米)clipping_range=(0.1, 1.0e5)# 可视范围(0.1m~100km)),offset=CameraCfg.OffsetCfg( # 安装位姿偏移pos=(0.510, 0.0, 0.015), # 位置偏移(X,Y,Z)米rot=(0.5, -0.5, 0.5, -0.5), # 四元数旋转(ROS坐标系约定)convention="ros" # 使用ROS坐标系规范))
3 高度扫描仪传感器
高度扫描仪传感器使用NVIDIA Warp
光线投射内核实现虚拟传感器。通过sensors.RayCasterCfg
可以指定透射光线模式等。官方文档:https://isaac-sim.github.io/IsaacLab/main/source/api/lab/isaaclab.sensors.html#isaaclab.sensors.RayCasterCfg
在本教程中,基于射线投射的高度扫描仪安装在机器人的基座框架上。射线的图案使用pattern属性指定。对于均匀的网格图案,我们使用 指定图案网格(GridPatternCfg)。
debug_vis
参数是控制是否可以可视化射线击中网格的点。
# 地形高度扫描仪配置(基于射线投射)height_scanner = RayCasterCfg(prim_path="{ENV_REGEX_NS}/Robot/base", # 安装基座位置update_period=0.02, # 50Hz高速更新offset=RayCasterCfg.OffsetCfg(pos=(0.0, 0.0, 20.0) # 扫描仪安装高度20米),attach_yaw_only=True, # 仅跟随机器人偏航角旋转,无需考虑机器人的横滚和俯仰pattern_cfg=patterns.GridPatternCfg( # 扫描模式配置resolution=0.1, # 0.1米点间距size=[1.6, 1.0] # 扫描范围1.6m X 1.0m),debug_vis=True, # 启用调试可视化mesh_prim_paths=["/World/defaultGroundPlane"] # 扫描目标地面)
debug_vis
参数改为False,可以看到网格状消失。
4 接触式传感器
通过sensors.ContactSensorCfg
,我们可以指定想要获取接触信息的prim。官方文档:https://isaac-sim.github.io/IsaacLab/main/source/api/lab/isaaclab.sensors.html#isaaclab.sensors.ContactSensorCfg
在本教程中,我们将接触式传感器连接到机器人的脚上。机器人的脚分别命名为"LF_FOOT"、"RF_FOOT"、"LH_FOOT"
和"RH_FOOT"
。我们传递一个正则表达式".*_FOOT"来简化prim路径的指定。
# 足端接触力传感器配置contact_forces = ContactSensorCfg(prim_path="{ENV_REGEX_NS}/Robot/.*_FOOT", # 正则匹配所有足部关节update_period=0.0, # 每物理步都更新(200Hz)history_length=6, # 保留最近6次接触数据debug_vis=True # 显示接触力矢量)
5 运行模拟循环
该部分基本与之前的代码是一致的,具体详解可以参考
第六讲、Isaaclab中与可变物体交互
相关文章:
第十五讲、Isaaclab中在机器人上添加传感器
0 前言 官方教程:https://isaac-sim.github.io/IsaacLab/main/source/tutorials/04_sensors/add_sensors_on_robot.html IsaacsimIsaaclab安装:https://blog.csdn.net/m0_47719040/article/details/146389391?spm1001.2014.3001.5502 传感器有助于智能…...
网络设备智能巡检系统-MCP案例总结
一、案例背景与目标 背景: 企业网络中存在多厂商(华为、H3C、思科等)设备,传统巡检需人工逐台登录,效率低且易出错。 目标: 开发基于自然语言的智能巡检系统,实现: 自然语言指令解析多厂商设备自动化巡检结构化报告生成技术栈: Python + Ollama + Netmiko + FastAPI…...
力扣2685(dfs)
我们对每个连通块进行dfs,在深搜的过程中,定义两个变量v,e.其中v表示该连通图的节点数量,e表示该连通图中边的数量的两倍。为什么是两倍呢?因为我们针对某个节点进行dfs的过程中,我们让e加上这个节点所连边的数量&…...
火山引擎实时语音合成WebSocket V3协议Python实现demo
火山引擎语音整体特点 火山引擎(字节跳动旗下)的语音合成产品确实非常面向多媒体内容创作,特别是短视频、有声书和多人场景。 1. 音色多样性与场景细分 火山引擎提供了极其丰富的音色选择(100音色),并按以下场景精细分类: 多情感音色&…...
Apache SeaTunnel:新一代开源、高性能数据集成工具
Apache SeaTunnel 是一款开源、分布式、高性能的数据集成工具,可以通过配置快速搭建数据管道,支持实时海量数据同步。 Apache SeaTunnel 专注于数据集成和数据同步,主要旨在解决数据集成领域的常见问题: 数据源多样性:…...
【音视频】音频解码实战
音频解码过程 ⾳频解码过程如下图所示: FFmpeg流程 关键函数 关键函数说明: avcodec_find_decoder:根据指定的AVCodecID查找注册的解码器。av_parser_init:初始化AVCodecParserContext。avcodec_alloc_context3:为…...
学习思路分享---从0开始搭建基本web服务器
学习思路分享—从0开始搭建基本web服务器 为什么要搭建yum仓库? 下载系统软件,类似于应用商店,系统软件,podman,镜像,容器,镜像仓库,docker,集装箱, 作用:自动解决依赖关系 为什么要搭建web服务器? 提供网站 , nginx 第一步搭建yum仓库,本地离线仓库 挂载关盘驱动…...
开源模型应用落地-Podcastfy-从文本到声音的智能跃迁-Docker(二)
一、前言 在当今信息呈现方式越来越多样化的背景下,如何将文字、图片甚至视频高效转化为可听的音频体验,已经成为内容创作者、教育者和研究者们共同关注的重要话题。Podcastfy是一款基于Python的开源工具,它专注于将多种形式的内容智能转换成…...
docker 里面没有 wget 也 install 不了
docker 里面没有 wget 也 install 不了 如果你在Docker容器中发现没有安装wget工具,并且无法通过常规方法安装它,这通常是因为容器的基础镜像中缺少包管理工具,或者包源配置不正确。以下是一些可能的解决方案: 使用包管理工具安…...
【无人机】问题分析。查看电机转速时,四个电机转速不一致,QGC中检测到电机转速不均衡
1、问题描述 在组装完成无人机后,对无人机的电机进行测试 在MAVLink Inspector一栏中,点击SERVO_OUTPUT_RAW可以查看飞控输出的PWM信号。 无人机解锁(Armed)后,按照油门大小servo1/2/3/4_raw的值域为1000-2000&…...
Docker Compose常用命令
Docker Compose常用命令 安装docker-comosedocker-compose配置文件及常用指令yaml 文件级docker-compose.yml配置文件示例 docker compose常用命令启动服务停止服务重启服务查看运行容器列表查看服务日志构建镜像docker-compose rm删除 安装docker-comose # 声明版本 VER2.35.…...
生产环境大数据平台权限管理
引言:数据资产保护的生死线 在金融行业某头部企业发生的数据泄露事件中,由于权限管理漏洞导致千万级用户信息外泄,直接经济损失超过2.3亿元。这个案例揭示了生产环境大数据平台权限管理的重要性和复杂性。本文将深入探讨从权限模型设计到实施…...
【连载6】基础智能体的进展与挑战综述-奖励
基础智能体的进展与挑战综述 从类脑智能到具备可进化性、协作性和安全性的系统 【翻译团队】刘军(liujunbupt.edu.cn) 钱雨欣玥 冯梓哲 李正博 李冠谕 朱宇晗 张霄天 孙大壮 黄若溪 5. 奖励 奖励机制帮助智能体区分有益与有害的行为,塑造其学习过程并影响其决策…...
什么是CRM系统,它的作用是什么?CRM全面指南
CRM(Customer Relationship Management,客户关系管理)系统是一种专门用于集中管理客户信息、优化销售流程、提升客户满意度、支持精准营销、驱动数据分析决策、加强跨部门协同、提升客户生命周期价值的业务系统工具。其中,优化销售…...
【AI提示词】投资策略专家
提示说明 投资策略专家致力于帮助用户构建和优化投资组合,实现资产增值。专家通过深入分析市场趋势、经济数据和公司基本面,为用户制定符合其投资目标和风险偏好的策略。 提示词 # 角色 投资策略专家## 注意 1. 投资策略专家需要具备深入分析市场的能…...
川翔云电脑32G大显存集群机器上线!
川翔云电脑今日重磅推出32G 大显存机型,为游戏玩家、设计师、AI 开发者等提供极致云端算力体验! 一、两大核心配置,突破性能天花板 ✅ 32G 超大显存机型 行业领先:搭载 NVIDIA 专业显卡,单卡可分配 32G 独立显存&am…...
最新扣子(Coze)案例教程:飞书多维表格按条件筛选记录 + 读取分页Coze工作流,无限循环使用方法,手把手教学,完全免费教程
大家好,我是斜杠君。 👨💻 星球群里有同学想学习一下飞书多维表格的使用方法,关于如何通过按条件筛选飞书多维表格中的记录,以及如何使用分页解决最多一次只能读取500条的限制问题。 斜杠君今天就带大家一起搭建一…...
ProxySQL 的性能优化需结合实时监控数据与动态配置调整
ProxySQL 的性能优化需结合实时监控数据与动态配置调整,具体操作如下: 一、性能监控实现 内置监控模块配置 启用监控用户:在 global_variables 表中设置监控账号,用于检测节点健康状态: sql UPDATE global_variables SET variable_value=‘monitor’ WHERE va…...
前端框架的“快闪“时代:我们该如何应对技术迭代的洪流?
引言:前端开发者的"框架疲劳" “上周刚学完Vue 3的组合式API,这周SolidJS又火了?”——这恐怕是许多前端开发者2023年的真实心声。前端框架的迭代速度已经达到了令人目眩的程度,GitHub每日都有新框架诞生,n…...
准确--Tomcat更换证书
具体意思是: Starting Coyote HTTP/1.1 on http-8080: HTTP 连接器(端口 8080)启动成功了。严重: Failed to load keystore type PKCS12 with path conf/jlksearch.fzsmk.cn.pfx due to failed to decrypt safe contents entry: javax.crypt…...
数据库对象与权限管理-Oracle数据字典详解
1. 数据字典概念讲解 Oracle数据字典是数据库的核心组件,它存储了关于数据库结构、用户信息、权限设置和系统性能等重要的元数据信息。这些信息对于数据库的日常管理和维护至关重要。数据字典在数据库创建时自动生成,并随着数据库的运行不断更新。 数据…...
黑阈免激活版:智能管理后台,优化手机性能
在使用安卓手机的过程中,许多用户会遇到手机卡顿、电池续航不足等问题。这些问题通常是由于后台运行的应用程序过多,占用大量系统资源导致的。今天,我们要介绍的 黑阈免激活版,就是这样一款由南京简域网络科技工作室开发的手机辅助…...
C# foreach 循环中获取索引的完整方案
一、手动维护索引变量 实现方式: 在循环外部声明索引变量,每次迭代手动递增: int index 0; foreach (var item in collection) { Console.WriteLine($"{index}: {item}"); index; } 特点: 简单直接&#…...
刷题之路:C++ 解题分享与技术总结
目录 引言 ###刷题实战 (一)移除数组中的重复元素 (二)数组中出现次数超过一半的数字 (三)杨辉三角 (四)只出现一次的数字 (五)找出数组中两个只出现一…...
深入探讨:如何完美完成标签分类任务(数据治理中分类分级的分类思考)
文章目录 一、标签分类的核心价值与挑战1.1 标签分类的战略意义1.2 标签分类面临的主要挑战 二、标签分类方法论的系统设计2.1 多层级标签架构设计2.2 精准的标签匹配技术2.3 混合优化策略 三、标签分类的技术实现3.1 高维向量空间中的标签表示3.2 图数据库驱动的标签关系处理3…...
【解决 el-table 树形数据更新后视图不刷新的问题】
内容包含deepseek自动生成内容。第一种亲测可行。 本文章仅用于问题记录 解决 el-table 树形数据更新后视图不刷新的问题 在 Element Plus 的 el-table 中使用树形数据时,当数据更新后视图不自动刷新是一个常见问题。以下是几种解决方案: 问题原因 e…...
MuJoCo中的机器人状态获取
UR5e机器人xml文件模型 <mujoco model"ur5e"><compiler angle"radian" meshdir"assets" autolimits"true"/><option integrator"implicitfast"/><default><default class"ur5e">&…...
第五篇:linux之vim编辑器、用户相关
第五篇:linux之vim编辑器、用户相关 文章目录 第五篇:linux之vim编辑器、用户相关一、vim编辑器1、什么是vim?2、为什么要使用vim?3、vi和vim有什么区别?4、vim编辑器三种模式 二、用户相关1、什么是用户?2…...
taobao.trades.sold.get(淘宝店铺订单接口)
淘宝店铺提供了多种订单接口,可以用来获取订单信息、创建订单、修改订单等操作。 获取订单列表接口:可以使用该接口获取店铺的订单列表,包括订单号、买家信息、订单状态等。 获取单个订单信息接口:可以使用该接口获取指定订单的详…...
媒体发稿攻略,解锁新闻发稿成长新高度
新闻媒体发稿全攻略! 如何快速上稿主流权威央级媒体? 大家好!今天来聊聊媒体发稿的那些事儿,希望能帮到正在发稿或者准备发稿的小伙伴们。 ①明确目标媒体 首先,得搞清楚你要把稿子发给哪些媒体和。这一步非常关键,因为选择适合的媒体是发…...
WebRTC服务器Coturn服务器部署
1、概述 作为WebRTC服务器,只需要部署开源的coturn即可,coturn同时实现了STUN和TURN的协议 2、Coturn具体部署 2.1 Coturn简介 coturn是一个开源的STUN/TURN服务器,把STUN服务器跟TURN服务器都整合为一个服务器,主要提供一下几个功…...
lspci的资料
PCI即Peripheral Component Interconnect。 在 Linux 上使用 lspci 命令查看硬件情况 | Linux 中国 lspci 命令用于显示连接到 PCI 总线的所有设备,从而满足上述需求。该命令由 pciutils 包提供,可用于各种基于 Linux 和 BSD 的操作系统。 使用 lspci 和…...
GitLab 提交权限校验脚本
.git/hooks 目录详解与配置指南 一、什么是 .git/hooks? .git/hooks 是 Git 仓库中一个隐藏目录,用于存放 钩子脚本(Hook Scripts)。这些脚本会在 Git 执行特定操作(如提交、推送、合并)的前/后自动触发&…...
WebRTC服务器Coturn服务器相关测试工具
1、概述 在安装开源的webrtc服务器coturn服务器后,会附带安装coturn的相关工具,主要有以下几种工具 2、turnadmin工具 说明:服务器命令行工具,提供添加用户、添加管理员、生成TURN密钥等功能,turnadmin -h查看详细用…...
基于Python+Pytest实现自动化测试(全栈实战指南)
目录 第一篇:基础篇 第1章 自动化测试概述 1.1 什么是自动化测试 第2章 环境搭建与工具链配置 2.1 Python环境安装(Windows/macOS/Linux) 2.2 虚拟环境管理 2.3 Pytest基础配置(pytest.ini) 第3章 Pytest核心语…...
符号速率估计——小波变换法
[TOC]符号速率估计——小波变换法 一、原理 1.Haar小波变换 小波变换在信号处理领域被成为数学显微镜,不同于傅里叶变换,小波变换可以观测信号随时间变换的频谱特征,因此,常用于时频分析。 当小波变换前后位置处于同一个码元…...
SQLMesh隔离系统深度实践指南:动态模式映射与跨环境计算复用
在数据安全与开发效率的双重压力下,SQLMesh通过动态模式映射、跨环境计算复用和元数据隔离机制三大核心技术,完美解决了生产与非生产环境的数据壁垒问题。本文提供从环境配置到生产部署的完整实施框架,助您构建安全、高效、可扩展的数据工程体…...
调整IntelliJ IDEA中当前文件所在目录的显示位置
文章目录 1. 问题呈现2. 调整方法3. 更改后的界面 更多 IntelliJ IDEA 的使用技巧可查看 IntelliJ IDEA 专栏中的文章: IntelliJ IDEA 1. 问题呈现 在 IntelliJ IDEA 中,我们在浏览某个文件时,文件所在的目录会显示在下方的状态栏中&#x…...
关于ubuntu密码正确但是无法登录的情况
参考这个文章: https://blog.csdn.net/cuichongxin/article/details/117462494 检查一下是不是用户被lock了 输入passwd -s username 如果用户是L状态,那么就是lock了。 使用 passwd -u username 解锁 关于 .bashrc 不生效 有几点: ~/.…...
OpenCV中的透视变换方法详解
文章目录 引言1. 什么是透视变换2. 透视变换的数学原理3. OpenCV中的透视变换代码实现3.1 首先定义四个函数 3.1.1 cv_show() 函数 3.1.2 def resize() 函数 3.1.3 order_points() 函数 3.1.4 four_point_transform() 函数 3.2 读取图片并做预处理3.3 轮廓检测3.4 获取最大…...
基于DeepSeek的网络爬虫技术创新与实践应用
摘要 在人工智能迅猛发展的时代背景下,网络爬虫技术正经历着深刻变革。本文聚焦于融合DeepSeek大模型的开源爬虫框架Crawl4AI,深入探讨其在网络数据抓取与分析领域的技术原理、功能特性、应用实践及未来发展趋势。通过对Crawl4AI的异步操作、动态内容处理…...
Python基于语音识别的智能垃圾分类系统【附源码、文档说明】
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
关于RPC
1.什么是RPC RPC(Remote Procedure Call),即远程过程调用(协议)。它允许像调用本地服务一样调用远程服务,用于实现分布式系统中跨网络进行通信 的技术,是一种计算机通信协议。 RPC是一种服务器…...
前端频繁调用后端接口问题思考
针对前端频繁调用后端接口的问题,以下是一套分步解决方案,结合Java后端技术栈: 1. 实时数据场景:WebSocket/SSE 适用场景:实时股票行情、即时聊天、监控仪表盘 // Spring WebSocket 配置示例 Configuration EnableW…...
Mujoco robosuite 机器人模型
import ctypes import os# 获取当前脚本所在的目录 script_dir os.path.dirname(os.path.abspath(__file__))# 构建库文件的相对路径 lib_relative_path os.path.join(dynamic_models, UR5e, Jb.so)# 拼接成完整的路径 lib_path os.path.join(script_dir, lib_relative_path…...
进阶篇 第 7 篇 (终章):融会贯通 - 多变量、模型选择与未来之路
进阶篇 第 7 篇 (终章):融会贯通 - 多变量、模型选择与未来之路 (图片来源: Pixabay on Pexels) 我们已经一起走过了时间序列分析的进阶之旅!从深入经典统计模型 ETS、ARIMA、SARIMA,到探索现代利器 Prophet,再到拥抱机器学习和初…...
网络安全·第五天·TCP协议安全分析
一、传输层协议概述 1、功能 传输层负责建立端到端的连接,即应用进程之间的通信,负责数据在端到端之间的传输。与网络层不同的是,网络层负责主机与主机之间的通信。 同时,传输层还要对收到的报文进行差错检测(首部和…...
LX10-MDK的使用技巧
MDK5的使用技巧 查找匹配花括号 Ctrle table键的妙用 一次右缩进4个(个人偏好设置)空格shiftenter取消,即左缩进 快速注释/取消注释 先选代码→ 快速编辑一列 按住ALT键选择一列编辑(实用性极强) 窗口拆分 倒数第一个:按列拆分倒数第二个:按行拆分 查找与替换(一个超级…...
IDEA创建Gradle项目然后删除报错解决方法
根据错误信息,你的项目目录中缺少Gradle构建必需的核心文件(如settings.gradle/build.gradle),且IDEA可能残留了Gradle的配置。以下是具体解决方案: 一、问题根源分析 残留Gradle配置 你通过IDEA先创建了Gradle子模块…...
JavaScript性能优化实战(2):DOM操作优化策略
浏览器渲染原理与重排重绘机制 浏览器将HTML和CSS转换为用户可见页面的过程是前端开发的基础知识,也是理解DOM性能优化的关键。这个渲染过程大致可分为以下几个步骤: 渲染过程的核心步骤 解析HTML构建DOM树:浏览器解析HTML标记,转换为DOM树(Document Object Model),表…...