自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 Codex 标签页重命名

记录日期:2026-09-21。本文汇总终端标签命名 skill 的复用方式,以及官方 VS Code Codex 聊天扩展的编辑器标签同步修复。本次问题的关键是:会话已经有标题,不代表承载它的标签页会更新。终端与聊天扩展使用不同的显示链路;skill 可以复用诊断经验,但安装 skill 本身不会执行扩展补丁。当前源 skill 与安装副本一致,标题补丁和原有多开补丁的状态检查均通过。修正版已通过自动化回归与浏览器测试;用户尚未明确确认重载后的界面结果,因此最终显示效果仍列为待验收。

2026-09-22 11:16:44 140

原创 VS Code Codex 多窗口使用与补丁记录

在同一个 VS Code 窗口中打开多个独立的 Codex 编辑器标签页,并将它们拖到不同编辑器组中并排使用。每个新标签页还应在发送第一条消息前显示历史记录入口。本文记录当前环境中的实现。它适用于 OpenAI Codex VS Code 扩展,当前验证版本为。

2026-09-20 22:05:37 222

原创 vscode如何打开多个codex标签页

该页面只渲染编辑区和输入框,没有挂载通用 Header。补丁依赖官方插件压缩后的代码结构。官方插件升级后,如果结构发生变化,脚本会返回。修改后,无需先发送消息,空白面板顶部就能打开 Chat history。这样每次执行命令都会产生独立标签页,可以拖动到左右编辑器组并排显示。会话页面包含 Header,所以此时才出现历史记录按钮。官方插件恢复 Codex 标签页时,没有向。VS Code 始终复用同一个标签页。,导致多个标签页集中到当前编辑器组。并停止修改,避免错误替换。

2026-09-20 21:49:15 322

原创 [skill] agent 自动保存聊天记录到md文件 skill auto-save-md

将 Claude Code 每次会话的对话记录自动保存为 Markdown 文件。

2026-09-20 21:45:21 241

原创 mattpocock/skills 完整介绍

官方仓库:https://github.com/mattpocock/skills作者:Matt Pocock(Total TypeScript 作者)这是一套 Claude Code Agent Skill 集合,用于解决 AI 辅助编程的四大常见失败模式。小巧、可组合、易适配,你始终掌控主导权,AI 是执行者而非决策者。

2026-08-25 11:42:05 327

原创 【C++ 容器】vector

C++11 核心升级:列表初始化、移动语义、emplace原地构造、范围 for、优先使用push_back,范围 for,reserve预分配最佳实践:尾插尾删、提前分配内存、避免中间操作、注意迭代器失效vector 适用场景:需要随机访问、元素个数变化、尾部频繁增删。

2026-07-31 16:55:58 357

原创 【Modern C++新特性】统一初始化(列表初始化 {})

统一初始化是 C++11 提供的通用初始化语法用{}包裹初始化值,可省略;适用于所有类型:基本类型、数组、结构体、类、STL容器、指针等;自带类型安全检查,禁止窄化转换(防止隐式精度丢失)。浮点 → 整数大范围整数 → 小范围整数(如 long → int)非布尔 → 布尔// 1. 浮点转整数(窄化)// ❌ 编译报错!// 2. long 转 int(窄化)int b{l};// ❌ 编译报错!// 对比:传统初始化会静默转换,隐藏bug// c=3,无报错,危险!

2026-07-31 16:37:31 313

原创 《机器人学导论》第2章 习题全解(2)

在什么条件下,两个有限旋转矩阵可以交换?不需进行证明。两个有限旋转矩阵R1R_1R1​、R2R_2R2​可交换(即R1R2=R2R1R_1R_2=R_2R_1R1​R2​=R2​R1​)的条件为:最核心、最常用的条件是:两个旋转围绕同一根旋转轴。已知一速度矢量如下:BV=(10.020.030.0)^B V = \begin{pmatrix} 10.0 \\ 20.0 \\ 30.0 \end{pmatrix}BV=​10.020.030.0​​又已知BAT=(0.866−0.5000.00011

2026-04-13 21:49:32 290

原创 《机器人学导论》第2章 习题全解(1)

一矢量AP^A PAP绕Z^A\hat{Z}_AZ^A​旋转角度θ\thetaθ度,然后绕X^A\hat{X}_AX^A​旋转ϕ\phiϕ度,求按以上顺序旋转后得到的旋转矩阵。​cosθsinθ0​−sinθcosθ0​001​​绕X^A\hat{X}_AX^A​旋转ϕ\phiϕ的矩阵:RX(ϕ)=(1000cos⁡ϕ−sin⁡ϕ0sin⁡ϕcos⁡ϕ)R_X(\phi) = \begin{pmatrix}1 & 0 & 0 \\0 & \cos\phi & -\sin\phi \\0 & \s

2026-04-13 21:25:18 529

原创 《机器人学导论》第1章 习题全解

运动学:研究机器人机构的位置、速度、加速度等运动参数,不考虑产生运动的力和力矩,核心是建立关节空间与笛卡尔空间的映射关系。工作空间:机器人末端执行器能够到达的所有空间点的集合,由机器人连杆长度、关节限位共同决定。轨迹:机器人末端执行器在运动过程中,位置、速度、加速度随时间的变化规律,是机器人运动控制的核心目标。坐标系:用于描述机器人各连杆、末端执行器、工件等在空间中位置和姿态的参考基准,常见有世界坐标系、基坐标系、工具坐标系、工件坐标系。自由度。

2026-04-04 12:21:03 411

原创 【求职】机器人运动控制算法工程师学习路线

书籍网站/课程书籍网站/视频书籍网站/资料书籍论文方向

2026-03-26 22:09:44 717

原创 【求职】ROS 高频面试题

以下是机器人岗位面试中 ROS 相关的高频问题,覆盖基础概念、核心机制、实操应用、性能优化等维度,既适合面试准备,也能检验 ROS 核心能力:

2026-03-20 20:24:15 441

原创 【求职】运动控制算法工程师技能栈

(机器人、伺服、数控、AGV/AMR、关节电机、无人机、机械臂等通用)

2026-03-20 20:13:12 397

原创 【ros2】 Nav2 自定义规划器中 interpolation_resolution(插值分辨率)的含义和作用

是一个距离单位的参数(通常以米为单位)路径上两个相邻插值点之间的最小直线距离。简单来说,它决定了你的规划器生成的路径会“密”还是“疏”——分辨率越小,路径点越多、路径越平滑;分辨率越大,路径点越少、路径越稀疏。核心含义是路径上相邻两个点的最小距离(单位:米),决定路径点的疏密;核心作用:平衡路径平滑性、障碍物检测精度和计算性能;使用要点:默认值 0.1 米适配大多数场景,可根据机器人尺寸/运动需求调整,且支持通过配置文件动态修改。

2026-02-12 20:57:17 449

原创 【ros2】OccupancyGrid消息里的resolution

resolution是「单元格→米」的转换系数,决定地图的物理精度;是地图的栅格数量,resolution把它们转换成实际物理尺寸;三者共同定义了栅格地图的「物理范围」和「精度」,是机器人导航中坐标转换的核心参数。

2026-02-08 19:29:55 353

原创 【ros2】ros2_control 全面解析与实战指南

ros2_control 是 ROS2 生态中用于机器人实时控制的核心框架,旨在统一硬件接入接口、复用控制算法,避免重复开发,实现仿真与实机硬件的无缝迁移。其核心目标是简化不同硬件(传感器、执行器、完整系统)的集成流程,让开发者专注于控制逻辑而非硬件适配。创建类型功能包,依赖rclcpp。实现on_initupdate在中声明控制器插件,编译生成动态库。在 YAML 配置文件中指定自定义控制器类型,加载测试。

2026-01-17 15:37:55 1467

原创 【other】深度相机传感器原理

结构光适合短距高精度场景,ToF适合动态中远距,双目适合户外无光源场景。选择时需权衡精度、量程、环境光、成本与计算资源,结合应用场景匹配最优方案。需要我按你的应用场景(如机器人导航/3D建模/工业检测)给出具体选型建议和常见问题排查清单吗?

2026-01-06 21:21:27 872

原创 【ros2】ROS2中激光雷达/IMU/深度相机配置与RViz可视化全指南

本文面向ROS2入门开发者,详细讲解在URDF/Xacro文件中为机器人模型添加激光雷达、惯性测量单元(IMU)、深度相机三类核心传感器的完整步骤,以及在RViz2中可视化传感器数据的实操方法。全文以ROS2 Humble版本为例,示例代码可直接复用,覆盖从配置到可视化的全流程。确保已安装ROS2 Humble及以下依赖包:2.2 功能包与目录结构创建标准化功能包目录,方便管理文件:目录说明:传感器配置核心逻辑:先定义传感器挂载的连杆/关节,再通过Gazebo插件配置传感器物理属性和ROS2通信参数。

2025-12-17 21:31:06 1669

原创 【ros2】roll pitch yaw是什么,如何判断正负方向

是描述机器人(或刚体)在三维空间中姿态的三个基本旋转角度,对应笛卡尔坐标系的三个旋转轴,通常以。为基准判断正负方向。

2025-12-17 20:35:36 2089 1

原创 【ros2】Gazebo与RViz协同使用指南:仿真与可视化的完美结合

修改模型颜色:在URDF的<material>标签中调整颜色参数,或在RViz的RobotModel属性中修改Color。调整点云大小:在LaserScan属性中修改Size (m)参数,让点云更清晰。添加背景图:在RViz的Displays面板中,修改或添加Grid组件显示坐标系网格。Gazebo与RViz的协同使用是ROS 2机器人开发的核心技能,本文从基础原理、配置步骤到进阶场景,结合两轮差速小车、激光雷达、摄像头等多样示例,详细讲解了两者的配合方法。

2025-12-17 18:51:49 1183

原创 【ros2】URDF与Gazebo的协同:仿真属性配置与实操指南

本文详细讲解了URDF中Gazebo相关属性的配置方法,包括全局参数、连杆物理属性、关节驱动属性、传感器挂载,以及Gazebo仿真环境的启动和实操技巧。对于入门小白而言,掌握这些内容是实现机器人物理仿真的基础。下一篇文章,我们将讲解Gazebo与RViz的协同使用方法,让你既能看到机器人的仿真运动,又能可视化传感器数据。

2025-12-16 08:54:55 1365

原创 【ros2】在RViz中可视化URDF机器人模型

RViz可视化URDF的核心流程可总结为**“三步法”**:验证URDF合法性 → 启动核心节点 → 配置RViz显示参数。对于小白来说,无需纠结不同RViz版本的界面差异,重点掌握设置、RobotModel添加、视图缩放的基础操作,以及用TF组件显示坐标系的通用方法。通过RViz,我们不仅能“看见”机器人的外形,还能调试关节运动、坐标系关系、碰撞盒等关键参数,为后续的仿真和实机控制打下基础。下一篇文章,我们将进入更有趣的环节——把URDF模型导入Gazebo仿真环境,让机器人真正“动起来”。

2025-12-16 08:46:09 1190

原创 【ros2】告别重复代码:Xacro让URDF编写效率翻倍

在上一篇文章中,我们掌握了URDF的核心语法,但如果要编写复杂机器人(比如6轴机械臂、多轮机器人),纯URDF会充斥大量重复代码——相同的连杆结构写十遍、相似的关节参数改来改去,既费时间又容易出错。这时候就需要URDF的“增强版工具”——Xacro登场了。Xacro(XML Macros)是ROS(包括ROS2)专为URDF设计的宏扩展工具,核心是通过变量、宏、循环、条件判断等特性,让URDF编写从“复制粘贴”变成“参数化配置”。本文作为小白专属指南,会从基础语法到多场景实战,带你吃透Xacro的所有核心用

2025-12-15 22:04:38 1037

原创 【ros2】从零认识URDF:机器人模型描述的“说明书”

visual>子节点只负责机器人在RViz2中的可视化效果,不参与任何物理计算,就像给零件“穿衣服”。<origin>:定义零件的局部坐标系相对于连杆原点的位姿,参数xyz表示平移(单位:米),rpy表示旋转(单位:弧度,绕x→y→z轴旋转);<geometry>:定义零件的几何形状,支持四种基础形状+外部3D模型;<material>:定义零件的颜色,需要提前定义材质。常见几何形状示例-- 连杆名称:base_link(底座),全局唯一 --> < visual > <!

2025-12-15 21:48:59 1605

原创 【ros2】ROS2 常用可视化与数据工具(rqt RViz bag)使用文档

ros2 bag 是 ROS2 数据记录与回放工具,支持录制话题数据并存储为数据库文件,后续可回放数据复现场景,用于算法调试、问题复现、数据离线分析(如导航路径优化、传感器数据处理)。RViz2 是 ROS2 核心三维可视化工具,支持坐标系、机器人模型、传感器数据(激光雷达、相机、IMU)、路径、点云等数据的可视化,是机器人建模、导航、感知功能调试的关键工具。本文详细介绍 ROS2 中 rqt、RViz、ros2 bag 三大核心工具的功能及实操步骤,帮助开发者高效完成调试、可视化与数据记录工作。

2025-12-06 18:22:19 1034

原创 【ros2】ROS2 TF2在C++环境中的应用指南

核心功能:支持实时坐标系关系维护、任意时刻/任意两坐标系位姿查询、多旋转表示方式转换(四元数、欧拉角),且兼容ROS2时间系统,可查询历史变换数据。核心组件TF广播器():发布坐标系间的变换关系,分为静态广播(固定关系)和动态广播(实时变化关系)。TF缓冲区():缓存TF变换数据(默认缓存10秒),提供查询接口。TF监听器():订阅TF广播并自动更新缓冲区,无需手动编写回调函数。关键数据结构:存储变换数据,包含时间戳、父/子坐标系ID、平移分量(x,y,z)和旋转分量(四元数x,y,z,w)

2025-12-06 18:07:36 999

原创 【ros2】ROS2 TF(坐标变换)Python使用指南

发布TF静态TF:用发布一次固定位姿;动态TF:用+定时器周期性更新位姿。监听TF:用Buffer查询坐标系间的相对位姿,支持实时/历史数据。辅助工具:通过RViz2可视化TF树,通过实现欧拉角与四元数的转换。TF是机器人空间位姿管理的基础,掌握其使用是实现导航、抓取等功能的前提。

2025-12-05 21:14:55 958

原创 【ros2】欧拉角与四元数:从原理到转换详解

欧拉角的优势是“直观易懂”,但存在万向锁问题,不适合连续姿态插值;四元数的优势是“无万向锁、插值平滑”,但不够直观,需转换为欧拉角才能理解姿态;欧拉角转四元数的核心是“半角公式”,不同旋转顺序对应不同的转换公式,实际开发中常用成熟库(如ROS的)避免手动计算。在机器人开发中,通常用欧拉角配置初始姿态,用四元数进行实时姿态更新与传输,二者的转换是三维姿态处理的基础技能。

2025-12-04 21:59:12 1296

原创 【ros2】ROS2 Launch 完全使用指南(从入门到精通)

Launch 是 ROS2 中用于批量启动节点、统一配置系统参数、管理节点依赖关系的核心工具。它通过单个配置文件(支持 XML/Python/YAML 格式),替代手动执行多个ros2 run命令,实现复杂机器人系统的一键启动与灵活配置。简化操作:无需逐个启动节点,减少终端切换与重复命令输入。集中配置:统一管理节点参数、命名空间、话题重映射,降低配置冲突风险。灵活控制:支持节点启动顺序、条件启动、动态参数传递,适配复杂场景。跨语言兼容:无缝启动 C++、Python 等不同语言编写的节点。

2025-11-28 21:33:15 867

原创 【ros2】ROS2 C++参数设置指南(含跨节点修改方法)

参数(Parameter)是ROS2中用于动态配置节点行为的键值对(Key-Value),支持运行时修改,无需重新编译代码。动态性:可在节点运行时查询、修改,实时生效。类型安全:支持整数、浮点数、布尔值、字符串、数组等类型。节点私有性:默认归属于某个节点,通过命名空间隔离。持久性:可配置为持久化存储,节点重启后保留参数值。参数广泛应用于机器人系统的动态配置,如调整PID控制器参数、设置传感器采样频率、配置路径规划阈值等。目标节点(提供参数服务,被修改方)。控制节点(创建客户端,发起修改请求)。

2025-11-16 22:09:42 1048

原创 【ros2】ROS2 Python参数设置指南(含跨节点修改方法)

参数(Parameter)是ROS2中用于动态配置节点行为的键值对(Key-Value),可在节点运行时修改,无需重新编译代码。动态性:支持运行时查询、修改,实时生效。类型安全:支持整数、浮点数、布尔值、字符串、列表等类型。持久性:可配置为持久化存储(重启节点后保留值)。节点私有性:默认属于某个节点,也可通过参数服务器实现全局共享。适用场景包括:调整控制算法参数(如PID系数)、设置传感器阈值、配置路径规划参数等。目标节点):拥有可修改的参数(如max_speed控制节点。

2025-11-16 15:52:35 967

原创 【ros2】ROS2话题(Topic)通信完全指南:订阅与发布详解

标准消息:ROS2内置多种消息类型(如std_msgs:字符串:图像数据:运动速度指令自定义消息:需在接口功能包中定义.msg文件(如int32 age使用前需编译接口包,并在发布者/订阅者中导入依赖。话题是ROS2中实现异步数据传输的核心机制,其发布-订阅模式适合传感器数据、状态监控等场景。本文通过Python和C++示例,详细介绍了话题通信的实现步骤,包括节点创建、消息发布/订阅、编译配置等。高级知识中,QoS策略、话题工具、命名空间等内容可帮助优化通信性能和灵活性。

2025-11-15 23:22:05 2015

原创 【ros2】ROS2中添加资源文件(图片、声音、视频等)的完整指南

在ROS2中管理资源文件的核心是通过功能包路径定位,避免硬编码绝对路径。按规范组织资源目录(如通过构建脚本(setup.py)配置资源安装规则,确保资源被安装到share/功能包名目录。在代码中通过(Python)或(C++)获取功能包路径,动态拼接资源路径。这种方式确保了代码的可移植性,无论功能包安装在哪个环境,都能正确访问资源文件。

2025-11-15 23:13:31 1076

原创 【ros2】ROS2功能包(Package)完全指南

接口包需用ament_cmake,依赖rosidl_default_generators(接口生成工具) ros2 pkg create my_interfaces --build-type ament_cmake --dependencies rosidl_default_generators std_msgs功能包是ROS2开发的基础单元,命令通过指定构建类型和依赖,可快速生成标准化的功能包结构。根据语言选择构建类型(for C++,正确配置(元信息与依赖)和编译脚本(setup.py。

2025-11-15 23:05:18 1677

原创 【ros2】ROS2 C++节点创建指南

创建类型功能包,依赖rclcpp。编写节点类(继承Node或),实现构造函数、回调函数等业务逻辑。配置,指定编译规则、依赖库和安装路径。编译并source环境,通过ros2 run运行节点。拓展知识中的动态参数、生命周期管理、内存管理等特性,是构建工业级机器人系统的关键。C++节点的高性能优势使其成为ROS2开发的首选语言,尤其适合实时控制、复杂算法等场景。掌握这些内容后,可进一步学习服务、动作等高级通信机制,实现更复杂的机器人功能。

2025-11-15 22:58:33 1706

原创 【ros2】ROS2 Python节点创建指南

节点(Node)是ROS2系统的基本执行单元,代表一个独立的功能模块(如传感器驱动、控制算法、数据可视化等)。每个节点通过ROS2的通信机制(话题、服务、动作等)与其他节点交互,共同构成机器人系统。节点的核心特征独立性:每个节点专注于单一功能(如“激光雷达处理节点”“底盘控制节点”)。通信性:通过话题(Topic)、服务(Service)等机制与其他节点交换数据。可配置性:支持通过参数(Parameter)动态调整行为。轻量级:一个机器人系统可运行多个节点,通过节点名称区分。

2025-11-15 22:34:52 1464

原创 【ros2】ROS2 C++服务端与客户端开发指南

定义服务接口(.srv)并编译接口包。服务端:继承,创建服务对象,实现请求处理回调函数,通过发布者/订阅者完成业务逻辑。客户端:创建客户端对象,异步发送请求,通过回调处理响应。相比Python,C++需更多关注内存管理(如智能指针SharedPtr)和线程安全(如互斥锁),但能提供更高的性能。结合参数动态配置和超时控制,可实现更健壮的服务通信逻辑,满足机器人系统的实时性需求。

2025-11-15 22:20:14 1154

原创 【ros2】ROS2 Python服务端与客户端开发指南

继承Nodesuper().__init__('face_detection_server') # 节点名称# 创建服务:参数为(接口类型,服务名称,回调函数)FaceDetector, # 服务接口'/face_detect', # 服务名称(客户端需匹配)self.detect_face_callback # 请求处理回调函数# 工具初始化self.bridge = CvBridge() # 图像转换工具。

2025-11-15 22:11:50 1127

原创 【ros2】ROS2接口定义指南

(基于《ROS2机器人开发:从入门到实践》第4章+拓展知识)接口需单独放在类型的功能包中,便于其他功能包依赖。命令示例关键依赖说明::ROS2接口生成工具,自动将文件转换为C++/Python可调用的代码。:依赖已有的接口(如)时需添加,无依赖可省略。类型说明示例bool布尔值byte8位字节byte flagchar字符char typeint8uint8有符号/无符号8位整数int8 countint16uint1616位整数uint16 idint32uint3232位整数。

2025-11-15 22:01:27 1542

原创 【算法】0_算法工程师常见算法题

算法工程师面试的算法题型可归纳为“基础数据结构→经典算法思想→工程实践先掌握“基础数据结构”(数组、链表、栈、哈希表、树)的高频题(如LeetCode 1、206、20、146、102),确保面试中“保底不丢分”;再攻克“经典算法思想”(动态规划、回溯、双指针、贪心)的核心题(如LeetCode 416、46、15、55),这些是区分“基础扎实”和“能力突出”的关键;最后针对性准备“工程实践题”(海量数据、图论应用、排序优化),适配中高级岗位需求,体现“算法落地能力”。

2025-09-19 21:28:12 1023

【to-memorize】RAG

【to-memorize】RAG

2025-09-09

【to-memorize】Transformer 树状思维导图

【to-memorize】Transformer 树状思维导图

2025-09-08

innovus:integrity 3D-IC UG.pdf

innovus:integrity 3D-IC UG.pdf

2025-08-17

【电子设计自动化】Innovus用户指南/innovus UG

【电子设计自动化】Innovus用户指南/innovus UG

2025-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除