diff --git a/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501011135.png b/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501011135.png deleted file mode 100644 index 7081fac4..00000000 Binary files a/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501011135.png and /dev/null differ diff --git a/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501214912.png b/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501214912.png deleted file mode 100644 index f59d8f80..00000000 Binary files a/src/site/img/user/Functional files/Photo Resources/Pasted image 20250501214912.png and /dev/null differ diff --git a/src/site/img/user/Functional files/Photo Resources/Pasted image 20260101204203.png b/src/site/img/user/Functional files/Photo Resources/Pasted image 20260101204203.png new file mode 100644 index 00000000..e8ab209e Binary files /dev/null and b/src/site/img/user/Functional files/Photo Resources/Pasted image 20260101204203.png differ diff --git a/src/site/img/user/Functional files/Photo Resources/micro-ROS_architecture.png b/src/site/img/user/Functional files/Photo Resources/micro-ROS_architecture.png new file mode 100644 index 00000000..f5da2242 Binary files /dev/null and b/src/site/img/user/Functional files/Photo Resources/micro-ROS_architecture.png differ diff --git a/src/site/notes/List.md b/src/site/notes/List.md index c4f51eea..07a88c26 100644 --- a/src/site/notes/List.md +++ b/src/site/notes/List.md @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"计算机/Python/List.md","permalink":"/计算机/Python/List/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.860+08:00","updated":"2025-11-17T10:04:53.543+08:00"} +{"dg-publish":true,"dg-path":"计算机/Python/List.md","permalink":"/计算机/Python/List/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.860+08:00","updated":"2026-01-02T23:30:20.594+08:00"} --- @@ -78,9 +78,9 @@ l1.extend(l2) ``` #### Remove -`pop() ` method removes and returns value :移除指定索引的元素,并返回该元素的值, 未指定参数时,默认弹出最后一个元素 -`del` removes it without returning anything:移除特定索引的元素(不会返回值) -`remove()` remove a specific value : 移除特定值的元素 +`pop() ` method removes and returns value :**移除指定索引**的元素,并返回该元素的值, 未指定参数时,默认弹出最后一个元素 +`del` removes it without returning anything:**移除特定索引**的元素(不会返回值) +`remove()` remove a specific value : **移除特定值**的元素 `clear()`  remove all items : 清除所有的元素 使用 [[set\|Set]] 移除重复的元素 diff --git a/src/site/notes/Nonlinear.md b/src/site/notes/Nonlinear.md index db5576ff..2820ad4f 100644 --- a/src/site/notes/Nonlinear.md +++ b/src/site/notes/Nonlinear.md @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-home":true,"dg-pinned":true,"dg-path":"Nonlinear.md","dg-hide-in-graph":true,"permalink":"/Nonlinear/","hideInGraph":true,"pinned":true,"tags":["gardenEntry"],"dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-03T22:30:48.520+08:00","updated":"2025-11-15T09:50:33.591+08:00"} +{"dg-publish":true,"dg-home":true,"dg-pinned":true,"dg-path":"Nonlinear.md","dg-hide-in-graph":true,"permalink":"/Nonlinear/","hideInGraph":true,"pinned":true,"tags":["gardenEntry"],"dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-03T22:30:48.520+08:00","updated":"2026-01-09T22:17:19.533+08:00"} --- @@ -107,4 +107,9 @@ root((本网站)) I'm grateful to **Obsidian** and the open-source plugin **Digital Garden**, which have enabled my knowledge network to be presented to the public. +*** + +近期的其他项目,欢迎体验、star、提意见 : +1. https://unlinearity.github.io/URDF-Visualizer/ 集成了 URDF 和 Xacro 解析的机器人文件可视化网站 +2. https://unlinearity.github.io/Animated-Image-Creator/ 将静态图片序列转为 `.apng` 或 `webp` 的动态图片的实用网站 diff --git a/src/site/notes/Python Data Types.md b/src/site/notes/Python Data Types.md index 96947c9f..1f96c76b 100644 --- a/src/site/notes/Python Data Types.md +++ b/src/site/notes/Python Data Types.md @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"计算机/Python/Python Data Types.md","permalink":"/计算机/Python/Python Data Types/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-04-16T13:01:27.460+08:00","updated":"2025-11-17T10:04:53.544+08:00"} +{"dg-publish":true,"dg-path":"计算机/Python/Python Data Types.md","permalink":"/计算机/Python/Python Data Types/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-04-16T13:01:27.460+08:00","updated":"2026-01-03T11:20:10.571+08:00"} --- @@ -11,22 +11,28 @@ `type()` - Basic Data Types : store a single value - Advanced Data Yypes : can store many items -[[Python Basic Data Types\|Python Basic Data Types]] -[[Python Comprehensions\|Python Comprehensions]] - -| | 类型 | 可变性 | 可迭代 | 类型构造函数 | -| -------- | ----------------- | --------- | -------- | ----------- | -| Basic | Integer | immutable | | `int()` | -| Basic | Float | immutable | | `float()` | -| Basic | Boolean | immutable | | `bool()` | -| Basic | Complex numbers | immutable | | `complex()` | -| Basic | [[String\|String]] | immutable | Iterable | `str()` | -| Advanced | [[Range\|Range]] | immutable | Iterable | `range()` | -| Advanced | [[Tuple\|Tuple]] 元组 | immutable | Iterable | `tuple()` | -| Advanced | [[List\|List]] 列表 | mutable | Iterable | `list()` | -| Advanced | [[set\|Set]] 集合 | mutable | Iterable | `set()` | -| Advanced | [[Dictionary\|Dictionary]] 字典 | mutable | Iterable | `dict()` | +| 类别 | 类型 | 补充说明 | 类型构造函数 | 可变性 | 可迭代 | +| ---------------------------------- | ----------------- | ----------- | --------------- | --- | --- | +| [[Python Basic Data Types\|Basic]] | Integer | 整型数据 | `int()` | ❌ | ❌ | +| | Float | 浮点数 | `float()` | ❌ | ❌ | +| | Boolean | 布尔值 | `bool()` | ❌ | ❌ | +| | Complex numbers | 复数 | `complex()` | ❌ | ❌ | +| | [[String\|String]] | 字符串 | `str()` | ❌ | ✅ | +| Advanced | [[Range\|Range]] | 数值范围 | `range()` | ❌ | ✅ | +| | [[Tuple\|Tuple]] 元组 | 有序不可变序列 | `tuple()` | ❌ | ✅ | +| [[Python Comprehensions\|推导式]] | [[List\|List]] 列表 | 有序可变序列 | `list()` | ✅ | ✅ | +| | [[set\|Set]] 集合 | 无序不重复元素集 | `set()` | ✅ | ✅ | +| | [[Dictionary\|Dictionary]] 字典 | 键值对映射 | `dict()` | ✅ | ✅ | +| [[collections\|collections]] | defaultdict | 带默认值的字典 | `defaultdict()` | ✅ | ✅ | +| | Counter | 计数器,统计频率 | `Countere()` | ✅ | ✅ | +| | deque | 双端队列,高效两端操作 | `deque()` | ✅ | ✅ | +| | OrderedDict | 有序字典 | `OrderedDict()` | ✅ | ✅ | +| | namedtuple | 命名元组,字段名访问 | `namedtuple()` | ❌ | ✅ | +| | ChainMap | 多个字典的链式视图 | `ChainMap()` | ✅ | ✅ | +| | UserDict | 字典的用户友好包装器 | `UserDict()` | ✅ | ✅ | +| | UserList | 列表的用户友好包装器 | `UserList()` | ✅ | ✅ | +| | UserString | 字符串的用户友好包装器 | `UserString()` | ❌ | ✅ | - mutable **可变**:  可以在原地修改其内容,不需要创建新对象 @@ -34,6 +40,8 @@ **变量名只是一个标签**,**不可变对象的值本身永远不会变**,当重新赋值时,不是改变了对象,而是指向了新的对象。 对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。 + + ### Iterator **Iterable** **可迭代对象** An object that implements another special method, called `__iter__`. This function returns an iterator. 是数据的容器,可以通过 `for` 循环遍历(但不能自己遍历,需要迭代器)。 diff --git a/src/site/notes/Python.md b/src/site/notes/Python.md index 65f592d5..c6a32556 100644 --- a/src/site/notes/Python.md +++ b/src/site/notes/Python.md @@ -1,5 +1,5 @@ --- -{"tags":["Programming"],"dg-publish":true,"dg-path":"计算机/Python/Python.md","dg-pinned":true,"permalink":"/计算机/Python/Python/","pinned":true,"dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.000+08:00","updated":"2025-11-19T18:15:26.840+08:00"} +{"tags":["Programming"],"dg-publish":true,"dg-path":"计算机/Python/Python.md","dg-pinned":true,"permalink":"/计算机/Python/Python/","pinned":true,"dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.000+08:00","updated":"2026-01-03T11:23:14.828+08:00"} --- @@ -10,10 +10,10 @@ [[Python 函数\|Python 函数]] [[Python 类与对象\|Python 类与对象]] -[[String\|Python 字符串操作]] + [[Python 输入输出\|Python 输入输出]] -[[Python 常用操作\|Python 常用操作]] +[[Python 常用操作\|Python 常用操作]] [[Python 位运算\|Python 位运算]] [[python日期处理\|python日期处理]] @@ -23,7 +23,6 @@ ### 二、常用库 [[Python Modules and Packages\|Python Modules and Packages]] [[pip\|pip]] - | 库名/工具 | 功能 | | ---------------- | -------------- | | [[Jupyter\|Jupyter]] | 核心平台 | diff --git a/src/site/notes/RMW.md b/src/site/notes/RMW.md index 3bab8539..3b64eab7 100644 --- a/src/site/notes/RMW.md +++ b/src/site/notes/RMW.md @@ -1,5 +1,5 @@ --- -{"dg-path":"机器人/RMW.md","dg-publish":true,"permalink":"/机器人/RMW/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-05-01T17:46:37.000+08:00","updated":"2025-10-27T18:46:10.000+08:00"} +{"dg-path":"机器人/RMW.md","dg-publish":true,"permalink":"/机器人/RMW/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-05-01T17:46:37.000+08:00","updated":"2026-01-02T00:21:33.443+08:00"} --- (terminology::**ROS Middleware Interface**) @@ -7,7 +7,7 @@ > 是 ROS 2 架构中一个关键的中间层接口,全称为 **ROS 中间件接口** -它位于 [[ ROS 2\| ROS 2]] 软件架构中 [[RCL\|RCL]](ROS Client Library)与具体通信中间件(如 [[DDS\|DDS]])实现之间,扮演了中间抽象层的角色。 +它位于 [[ROS2\|ROS2]] 软件架构中 [[RCL\|RCL]](ROS Client Library)与具体通信中间件(如 [[DDS\|DDS]])实现之间,扮演了中间抽象层的角色。 RMW 的主要作用是为上层提供一个标准化、与中间件无关的 API,使得 ROS 2 能够支持多种不同的底层通信中间件而无需修改上层逻辑,从而实现“中间件无关性”(middleware agnosticism)。 diff --git a/src/site/notes/ROS 2.md b/src/site/notes/ROS2.md similarity index 60% rename from src/site/notes/ROS 2.md rename to src/site/notes/ROS2.md index 0a80aa0f..c3601625 100644 --- a/src/site/notes/ROS 2.md +++ b/src/site/notes/ROS2.md @@ -1,122 +1,93 @@ --- -{"tags":["OpenSource","Framework"],"dg-publish":true,"dg-path":"机器人/ROS 2.md","permalink":"/机器人/ROS 2/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-28T21:52:03.720+08:00","updated":"2025-11-07T21:49:00.000+08:00"} +{"tags":["OpenSource","Framework","Robotics"],"dg-publish":true,"dg-path":"机器人/ROS2.md","permalink":"/机器人/ROS2/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-28T21:52:03.720+08:00","updated":"2026-01-03T16:44:57.245+08:00"} --- -(website::https://docs.ros.org/) -(terminology::**Robot Operating System 2**) 第二代机器人操作系统 -是一个用于[[机器人\|机器人]]软件开发的开源框架。它提供了一套工具和库,使得开发者能够更容易地创建复杂的机器人应用程序。ROS的核心目标是实现代码的复用、模块化以及跨平台的机器人软件开发。 -模块化、分布式 -实际上是**软件库和工具集**,用于简化在各种机器人平台上创建复杂而强大的机器人行为的任务,即不重复造轮子。 -ROS2 是在 ROS 的基础上设计开发的第二代机器人操作系统,可以帮助我们简化机器人开发任务,本质上是加速机器人落地的**软件库和工具集**。 +(terminology::**Robot Operating System 2**) 第二代机器人操作系统[^1] +> 并不是一个传统意义上的操作系统(如 Windows 或 Linux),而是一个用于构建[[机器人\|机器人]]应用的开源**软件框架和中间件**。 +> 它提供了一系列库、工具和约定,核心目标是实现代码的复用、模块化以及跨平台的机器人软件开发,使得软件的复用性更高,简化机器人开发任务,是加速机器人落地的**软件库和工具集**。 -一个面向机器人的中间件、库和工具的集合。它为机器人应用开发提供了一种灵活的框架,用于编写机器人软件。它能够帮助开发者更容易地构建复杂的机器人系统,使得软件的复用性更高, +### 设计目标:面向真实世界应用 +ROS 2 是对其前身 ROS 1 的彻底重新设计,旨在解决 ROS 1 在真实世界商业和研究应用中遇到的局限。其核心设计目标包括: +- **支持多机器人系统**: 提供开箱即用的、可靠的多机器人通信能力。 +- **支持实时控制**: 改善对实时系统(Real-time Systems)的支持,满足高性能机器人(如机械臂)的控制需求。 +- **支持嵌入式平台**: 能够轻松部署到资源受限的微控制器上。 +- **支持生产环境**: 提升稳定性和安全性,使其适用于商业产品而非仅仅是学术研究。 +### 相关章节 [[ROS2 相关基础\|ROS2 相关基础]] [[ROS2 的安装\|ROS2 的安装]] [[ROS2 Architecture\|ROS2 Architecture]] -[[ROS2 Package\|ROS2 Package]] -[[ROS2 Message\|ROS2 Message]] -[[ROS2 Communication\|ROS2 Communication]] [[Ros2 bag\|Ros2 bag]] -[[ROS and mqtt 代码使用\|ROS and mqtt 代码使用]] - -![Pasted image 20250501214912.png](../img/user/Functional%20files/Photo%20Resources/Pasted%20image%2020250501214912.png) - - -### 概念 Concepts -#### Basic Concepts +#### 概念 Concepts +Basic Concepts [[ROS2 Nodes\|ROS2 Nodes]] [[ROS2 Topics\|ROS2 Topics]] [[ROS2 Services\|ROS2 Services]] [[RCL\|RCL]] - -### 实际实践 +[[ROS2 Package\|ROS2 Package]] +[[ROS2 Message\|ROS2 Message]] +[[ROS2 Communication\|ROS2 Communication]] +#### 实际实践 创建工作区 编写节点 rclcpp 或 rclpy 编译构建 colcon build 运行节点 ros2 run 测试通信 ros2 topic echo / ros2 topic pub - -### 相关工具 - - - - - -| 相关工具 | 简要介绍 | -| ---------- | ------------ | -| [[Rviz2\|Rviz2]] | Data | -| [[RQT\|RQT]] | GUI Framwork | -| [[Gazebo\|Gazebo]] | | -| [[Colcon\|Colcon]] | | - - - - -(terminology::**Robot Operating System 2**) -> ROS 2 (Robot Operating System 2) 并不是一个传统意义上的操作系统(如 Windows 或 Linux),而是一个用于构建[[机器人\|机器人]]应用的开源**软件框架和中间件**。它提供了一系列库、工具和约定,旨在简化创建复杂、鲁棒的机器人行为的难度。 - -### 设计目标:面向真实世界应用 - -ROS 2 是对其前身 ROS 1 的彻底重新设计,旨在解决 ROS 1 在真实世界商业和研究应用中遇到的局限。其核心设计目标包括: - -- **支持多机器人系统**: 提供开箱即用的、可靠的多机器人通信能力。 -- **支持实时控制**: 改善对实时系统(Real-time Systems)的支持,满足高性能机器人(如机械臂)的控制需求。 -- **支持嵌入式平台**: 能够轻松部署到资源受限的微控制器上。 -- **支持生产环境**: 提升稳定性和安全性,使其适用于商业产品而非仅仅是学术研究。 +[[ROS and mqtt 代码使用\|ROS and mqtt 代码使用]] ### 核心概念:计算图模型 (Computation Graph) - 一个 ROS 2 系统由一系列松散耦合的、可独立运行的**节点 (Nodes)** 组成,这些节点通过一个通用的通信层进行交互,形成一个“计算图”。 +![Pasted image 20260101204203.png](../img/user/Functional%20files/Photo%20Resources/Pasted%20image%2020260101204203.png) #### 1. 节点 (Nodes) - 节点是 ROS 2 中的基本可执行单元。一个机器人系统通常由许多各司其职的节点组成。例如,一个节点负责从摄像头读取图像,另一个节点负责处理图像以检测障碍物,还有一个节点负责根据障碍物信息控制电机。 #### 2. 通信机制 - 节点之间通过三种核心机制进行通信: - - **话题 (Topics)** - **模式**: **发布/订阅 (Publish/Subscribe)** 模式,是**多对多**的异步通信。 - **工作方式**: 一个节点(发布者)将消息发布到一个特定的话题上(如 `/camera/image`),其他任意数量的节点(订阅者)都可以订阅该话题以接收这些消息。 - **适用场景**: 持续的数据流传输,如传感器数据、机器人状态等。这是最常用的通信方式。 - - **服务 (Services)** - **模式**: **请求/响应 (Request/Response)** 模式,是**一对一**的同步通信。 - **工作方式**: 一个节点(客户端)向另一个节点(服务器)发送一个请求,并**等待**服务器处理并返回一个响应。 - **适用场景**: 需要远程过程调用(RPC)的场景,例如请求机器人执行一个特定的、耗时较短的计算或动作。 - - **动作 (Actions)** - **模式**: **带反馈的请求/响应**模式,是**一对一**的异步通信。 - **工作方式**: 客户端向服务器发送一个**目标 (Goal)**,服务器在执行任务的过程中会**周期性地发布反馈 (Feedback)**,并在任务完成后返回一个最终**结果 (Result)**。客户端可以随时取消任务。 - **适用场景**: 需要执行耗时较长、且需要过程监控的任务,如“导航到某个位置”、“旋转机械臂 30 度”等。 - #### 3. 其他概念 - - **参数 (Parameters)**: 每个节点都可以拥有可动态配置的参数,方便在不重新编译代码的情况下调整节点行为。 - **启动文件 (Launch Files)**: 使用 Python 编写的脚本,用于一次性地启动和配置一个包含多个节点的复杂系统。 ### 与 ROS 1 的主要区别 +| 类别 | ROS 1 | ROS 2 | +| ------ | ------------------ | --------------------- | +| 网络传输 | 基于TCP/UDP的自定义协议 | 现有标准(DDS),抽象层支持添加其他协议 | +| 网络架构 | 中央名称服务器(roscore) | 对等节点发现 | +| 平台支持 | Linux | Linux、Windows 和 macOS | +| 客户端库 | 各种语言独立编写 | 共享一个共同的底层C库(rcl) | +| 节点与进程 | 每个进程单节点 | 每个进程多节点 | +| 线程模型 | 回调队列和处理程序 | 可交换的执行器 | +| 节点状态管理 | 无 | 生命周期节点 | +| 嵌入式系统 | 最小实验性支持(rosserial) | 商业支持的实现(micro-ROS) | +| 参数访问 | 基于XMLRPC的辅助协议 | 使用服务调用实现 | +| 参数类型 | 赋值时推断类型 | 类型声明并强制执行 | -| 特性 | ROS 1 | ROS 2 | -|------------------|----------------------------------------|--------------------------------------------------------------------| -| **底层通信** | TCPROS/UDPROS (自定义) | **DDS (Data Distribution Service)**,一个工业级、标准化的实时中间件。 | -| **多机器人通信** | 需要复杂的手动网络配置 | **原生支持**,可自动发现和通信。 | -| **实时性** | 支持不佳 | **设计核心**,提供实时安全的 C++客户端库。 | -| **官方支持语言** | C++, Python | **C++, Python** (均为一等公民) | -| **安全性** | 基本没有 | **内置安全机制**,支持加密、认证和访问控制。 | ### 核心生态系统 - - **Rviz2**: 强大的 3D 可视化工具,用于显示传感器数据、机器人模型和各种调试信息。 - **Gazebo**: 功能齐全的 3D 物理仿真环境,用于在部署到真实机器人之前进行算法测试。 - **MoveIt2**: 应用最广泛的开源运动规划框架,用于机械臂的路径规划、运动学求解和碰撞检测。 - **Nav2**: 完整的机器人自主导航框架。 ---- - -> [[机器人\|机器人]] +| 相关工具 | 简要介绍 | +| ---------- | ------------ | +| [[Rviz2\|Rviz2]] | Data | +| [[RQT\|RQT]] | GUI Framwork | +| [[Gazebo\|Gazebo]] | | +| [[Colcon\|Colcon]] | | +[^1]: (website::https://docs.ros.org/) diff --git a/src/site/notes/URDF.md b/src/site/notes/URDF.md index aa659822..e75952bb 100644 --- a/src/site/notes/URDF.md +++ b/src/site/notes/URDF.md @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"机器人/URDF.md","permalink":"/机器人/URDF/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-01-07T21:30:49.000+08:00","updated":"2025-12-25T23:58:04.000+08:00"} +{"dg-publish":true,"dg-path":"机器人/URDF.md","permalink":"/机器人/URDF/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-01-07T21:30:49.000+08:00","updated":"2026-01-08T21:47:01.394+08:00"} --- @@ -176,3 +176,10 @@ DAE 用来描述“外形 + 材质 + 层级关系”。 - 条件与循环 - 文件拆分与复用 + +### 可视化网站 +https://unlinearity.github.io/URDF-Visualizer/ + +https://gkjohnson.github.io/urdf-loaders/javascript/example/bundle/ +https://xinlang2019.github.io/urdf_visualizer/ +https://viewer.robotsfan.com/ diff --git a/src/site/notes/micro-ROS.md b/src/site/notes/micro-ROS.md index fa63fb02..de522746 100644 --- a/src/site/notes/micro-ROS.md +++ b/src/site/notes/micro-ROS.md @@ -1,12 +1,14 @@ --- -{"dg-publish":true,"dg-path":"机器人/micro-ROS.md","permalink":"/机器人/micro-ROS/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-02T10:36:28.420+08:00","updated":"2025-09-02T22:54:46.000+08:00"} +{"dg-publish":true,"dg-path":"机器人/micro-ROS.md","permalink":"/机器人/micro-ROS/","dgPassFrontmatter":true,"noteIcon":"","created":"2025-08-02T10:36:28.420+08:00","updated":"2026-01-03T13:44:57.543+08:00"} --- (website::https://micro.ros.org/ ) -> micro-ROS puts [[ROS 2\|ROS 2]] onto microcontrollers +> micro-ROS puts [[ROS2\|ROS2]] onto microcontrollers + + ### 架构 -![Pasted image 20250501011135.png](../img/user/Functional%20files/Photo%20Resources/Pasted%20image%2020250501011135.png) +![micro-ROS_architecture.png](../img/user/Functional%20files/Photo%20Resources/micro-ROS_architecture.png) [[RCL\|RCL]] [[XRCE-DDS\|XRCE-DDS]] @@ -18,3 +20,4 @@ [[RTOS\|RTOS]]:FreeRTOS、Zephyr、NuttX + diff --git "a/src/site/notes/z \345\217\230\346\215\242.md" "b/src/site/notes/z \345\217\230\346\215\242.md" index 04deac42..97148cca 100644 --- "a/src/site/notes/z \345\217\230\346\215\242.md" +++ "b/src/site/notes/z \345\217\230\346\215\242.md" @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"A1- 数学/8. 变换/z 变换.md","tags":["Transform","Discrete"],"permalink":"/A1- 数学/8. 变换/z 变换/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.000+08:00","updated":"2025-09-12T16:38:32.000+08:00"} +{"dg-publish":true,"dg-path":"A1- 数学/8. 变换/z 变换.md","tags":["Transform","Discrete"],"permalink":"/A1- 数学/8. 变换/z 变换/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:27.000+08:00","updated":"2026-01-03T16:47:46.359+08:00"} --- @@ -98,13 +98,13 @@ $$\begin{align} \end{align}$$ 根据 $k-m=n \quad \quad n<0,f(t)=0 \quad \Rightarrow \quad f(nT)=0$,有: + $$\begin{align} \mathscr{Z}[f(kT-mT)] & =\sum\limits_{k=0}^{\infty} f(kT-mT)z^{-k} = \sum\limits_{n=-m}^{\infty} f(nT)z^{-(n+m)} \\ & =z^{-m}\left(\sum\limits_{n=0}^{\infty}f(nT)z^{-n}+ \sum\limits_{n=-m}^{-1}f(nT)z^{-n}\right) \\ & =z^{-m}F(z) \end{align}$$ - - 向左平移为**超前**: $$\begin{align} \mathscr{Z}[f(kT+mT)]&=z^{m}\left[F(z)-\sum\limits_{n=0}^{m-1}f(nT)z^{-n}\right] diff --git "a/src/site/notes/\344\274\240\351\200\222\345\207\275\346\225\260.md" "b/src/site/notes/\344\274\240\351\200\222\345\207\275\346\225\260.md" index b2cd0f85..fc35f948 100644 --- "a/src/site/notes/\344\274\240\351\200\222\345\207\275\346\225\260.md" +++ "b/src/site/notes/\344\274\240\351\200\222\345\207\275\346\225\260.md" @@ -1,11 +1,11 @@ --- -{"dg-publish":true,"dg-path":"A2- 控制理论/1. 经典控制理论/1.1 传递函数.md","permalink":"/A2- 控制理论/1. 经典控制理论/1.1 传递函数/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-10-16T12:50:55.000+08:00","updated":"2025-09-18T20:36:36.000+08:00"} +{"dg-publish":true,"dg-path":"A2- 控制理论/1. 经典控制理论/1.1 传递函数.md","permalink":"/A2- 控制理论/1. 经典控制理论/1.1 传递函数/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-10-16T12:50:55.000+08:00","updated":"2026-01-03T16:50:26.100+08:00"} --- (terminology::**Transform Fuction**) -复变量的有理分式函数 +复变量的有理分式 函数 - 使用系统参数表示==输出量==与==输入量==之间关系的表达式 - 只取决于系统或元件的结构与参数,**表征了系统本身的动态特性** - 输出(果)= 输入(因) diff --git "a/src/site/notes/\345\274\225\347\224\250\347\275\221\347\253\231\347\264\242\345\274\225-Index.md" "b/src/site/notes/\345\274\225\347\224\250\347\275\221\347\253\231\347\264\242\345\274\225-Index.md" index 3fad5f25..aa1c6244 100644 --- "a/src/site/notes/\345\274\225\347\224\250\347\275\221\347\253\231\347\264\242\345\274\225-Index.md" +++ "b/src/site/notes/\345\274\225\347\224\250\347\275\221\347\253\231\347\264\242\345\274\225-Index.md" @@ -6,14 +6,16 @@ | File | Website/Repository | | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [[ROS2\|ROS2]] | https://docs.ros.org/ | +| [[micro-ROS\|micro-ROS]] | https://micro.ros.org/ | +| [[Python\|Python]] | | +| [[机器人\|机器人]] | https://hades.mech.northwestern.edu/index.php/Modern_Robotics | | [[人工智能\|人工智能]] | | | [[现代机器人学\|现代机器人学]] | http://modernrobotics.org | | [[强化学习\|强化学习]] | | | [[Deepseek-OCR\|Deepseek-OCR]] | | | [[Deepseek-OCR API示例\|Deepseek-OCR API示例]] | https://www.bilibili.com/video/BV1RcCuBREhA/ | | [[Deepseek-OCR 配套工具\|Deepseek-OCR 配套工具]] | https://www.bilibili.com/video/BV1gRCRBjEqf/ | -| [[Python\|Python]] | | -| [[机器人\|机器人]] | https://hades.mech.northwestern.edu/index.php/Modern_Robotics | | [[正则表达式\|正则表达式]] | https://regexlearn.com/ | | [[PyTorch\|PyTorch]] | https://pytorch.org/ | | [[PlatformIO\|PlatformIO]] | https://platformio.org/ | @@ -21,13 +23,11 @@ | [[DDS\|DDS]] | https://www.dds-foundation.org/ | | [[MQTT\|MQTT]] | | | [[Tensor\|Tensor]] | [Tensor API](https://docs.pytorch.org/docs/stable/torch.html) | -| [[ROS 2\|ROS 2]] | https://docs.ros.org/ | | [[分布函数\|分布函数]] | [世界是对数的吗?](https://www.bilibili.com/video/BV15kj4z4Eju/) | | [[图像\|图像]] | https://imgsli.com/ | | [[OpenCV\|OpenCV]] | https://opencv.org/ | | [[傅里叶变换\|傅里叶变换]] | https://www.jezzamon.com/fourier/index.html | | [[四元数\|四元数]] | https://eater.net/quaternions | -| [[micro-ROS\|micro-ROS]] | https://micro.ros.org/ | | [[XRCE-DDS\|XRCE-DDS]] | | | [[颜色\|颜色]] | https://mycolor.space/ | | [[开源\|开源]] | | diff --git "a/src/site/notes/\346\213\211\346\231\256\346\213\211\346\226\257\345\217\230\346\215\242.md" "b/src/site/notes/\346\213\211\346\231\256\346\213\211\346\226\257\345\217\230\346\215\242.md" index c1b86e9f..ff27488b 100644 --- "a/src/site/notes/\346\213\211\346\231\256\346\213\211\346\226\257\345\217\230\346\215\242.md" +++ "b/src/site/notes/\346\213\211\346\231\256\346\213\211\346\226\257\345\217\230\346\215\242.md" @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"A1- 数学/8. 变换/拉普拉斯变换.md","tags":["Transform"],"aliases":["Laplace Transform"],"permalink":"/A1- 数学/8. 变换/拉普拉斯变换/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:28.000+08:00","updated":"2025-09-23T16:38:54.000+08:00"} +{"dg-publish":true,"dg-path":"A1- 数学/8. 变换/拉普拉斯变换.md","tags":["Transform"],"aliases":["Laplace Transform"],"permalink":"/A1- 数学/8. 变换/拉普拉斯变换/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-05-21T15:20:28.000+08:00","updated":"2025-12-27T23:55:22.787+08:00"} --- diff --git "a/src/site/notes/\346\225\260\345\255\227\346\216\247\345\210\266\345\231\250.md" "b/src/site/notes/\346\225\260\345\255\227\346\216\247\345\210\266\345\231\250.md" index c2de3237..eac7e8ce 100644 --- "a/src/site/notes/\346\225\260\345\255\227\346\216\247\345\210\266\345\231\250.md" +++ "b/src/site/notes/\346\225\260\345\255\227\346\216\247\345\210\266\345\231\250.md" @@ -1,5 +1,5 @@ --- -{"dg-publish":true,"dg-path":"A2- 控制理论/3. 计算机控制系统/4.1 数字控制器.md","permalink":"/A2- 控制理论/3. 计算机控制系统/4.1 数字控制器/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-10-08T10:26:32.000+08:00","updated":"2025-10-25T23:56:16.000+08:00"} +{"dg-publish":true,"dg-path":"A2- 控制理论/3. 计算机控制系统/4.1 数字控制器.md","permalink":"/A2- 控制理论/3. 计算机控制系统/4.1 数字控制器/","dgPassFrontmatter":true,"noteIcon":"","created":"2024-10-08T10:26:32.000+08:00","updated":"2026-01-03T18:25:07.639+08:00"} --- (terminology::**Digital Controller**) @@ -103,6 +103,9 @@ c_{2}=e^{ -T(1/T_{1}+1/T_{2}) }+\dfrac{T_{1}e^{ -T/T_{2} }-T_{2}e^{ -T/T_{1} }}{ \end{align}$$ + + + $$\begin{align} \mathscr{L}[f(t)]=\int _{0}^{+\infty}e^{ -st } \, dt \end{align}$$ diff --git "a/src/site/notes/\346\234\272\345\231\250\344\272\272.md" "b/src/site/notes/\346\234\272\345\231\250\344\272\272.md" index 3dcca605..0244a8b9 100644 --- "a/src/site/notes/\346\234\272\345\231\250\344\272\272.md" +++ "b/src/site/notes/\346\234\272\345\231\250\344\272\272.md" @@ -1,5 +1,5 @@ --- -{"tags":["Subject"],"dg-publish":true,"dg-path":"机器人/机器人.md","dg-pinned":true,"permalink":"/机器人/机器人/","pinned":true,"dgPassFrontmatter":true,"noteIcon":"","created":"2024-08-26T22:44:41.000+08:00","updated":"2025-11-18T15:28:06.228+08:00"} +{"tags":["Subject"],"dg-publish":true,"dg-path":"机器人/机器人.md","dg-pinned":true,"permalink":"/机器人/机器人/","pinned":true,"dgPassFrontmatter":true,"noteIcon":"","created":"2024-08-26T22:44:41.000+08:00","updated":"2026-01-02T00:21:33.487+08:00"} --- @@ -11,7 +11,7 @@ ### 机器人基础 [[机器人分类\|机器人分类]] -[[ROS 2\|ROS 2]] [[Genesis\|Genesis]] +[[ROS2\|ROS2]] [[Genesis\|Genesis]] [[Lie Group\|Lie Group]] [[Lie Algebra\|Lie Algebra]] #### 基础概念 diff --git "a/src/site/notes/\347\275\221\347\253\231\345\206\205\345\256\271\347\264\242\345\274\225-Index.md" "b/src/site/notes/\347\275\221\347\253\231\345\206\205\345\256\271\347\264\242\345\274\225-Index.md" index 05b7ec9f..46bbe2e0 100644 --- "a/src/site/notes/\347\275\221\347\253\231\345\206\205\345\256\271\347\264\242\345\274\225-Index.md" +++ "b/src/site/notes/\347\275\221\347\253\231\345\206\205\345\256\271\347\264\242\345\274\225-Index.md" @@ -13,8 +13,8 @@ | File | terminology | | --------------------------- | ---------------------------------------- | -| [[级数\|级数]] | **Series** | | [[机器人\|机器人]] | **Robotics** | +| [[级数\|级数]] | **Series** | | [[机器学习\|机器学习]] | **Machine Learning** | | [[线性代数\|线性代数]] | **Linear Algebra** | | [[经典控制理论\|经典控制理论]] | **Classical Control Theory** | @@ -58,9 +58,19 @@ | File | 术语-terminology | | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [[URDF\|URDF]] | **Unified Robot Description Format** | +| [[数字控制器\|数字控制器]] | **Digital Controller** | +| [[传递函数\|传递函数]] | **Transform Fuction** | +| [[z 变换\|z 变换]] | **Z-Transform** | +| [[ROS2\|ROS2]] | **Robot Operating System 2** | +| [[micro-ROS\|micro-ROS]] | \- | +| [[Python\|Python]] | \- | +| [[Python Data Types\|Python Data Types]] | \- | +| [[List\|List]] | \- | +| [[RMW\|RMW]] | **ROS Middleware Interface** | +| [[拉普拉斯变换\|拉普拉斯变换]] | **Laplace Transform** | | [[Xacro\|Xacro]] | **XML Macros** | | [[Anaconda\|Anaconda]] | \- | -| [[URDF\|URDF]] | **Unified Robot Description Format** | | [[欧拉角\|欧拉角]] | | | [[XML\|XML]] | **eXtensible Markup Language** | | [[人工智能\|人工智能]] | **Artificial Intelligence** | @@ -81,19 +91,16 @@ | [[Deepseek-OCR\|Deepseek-OCR]] | \- | | [[Deepseek-OCR API示例\|Deepseek-OCR API示例]] | \- | | [[Deepseek-OCR 配套工具\|Deepseek-OCR 配套工具]] | \- | -| [[Python\|Python]] | \- | | [[编程语言的共性\|编程语言的共性]] | \- | | [[程序底层实现\|程序底层实现]] | \- | | [[算法\|算法]] | **Algorithm** | | [[面向对象编程\|面向对象编程]] | **Object-Oriented Programming** | -| [[Python Data Types\|Python Data Types]] | \- | | [[PyTorch\|PyTorch]] | \- | | [[图\|图]] | **Graph** | | [[数组\|数组]] | | | [[机器语言\|机器语言]] | \- | | [[C++基础\|C++基础]] | | | [[JSON\|JSON]] | **JavaScript Object Notation** | -| [[List\|List]] | \- | | [[Matlab Array\|Matlab Array]] | \- | | [[PlatformIO\|PlatformIO]] | \- | | [[C++ 面向对象编程\|C++ 面向对象编程]] | \- | @@ -116,7 +123,6 @@ | [[集成学习\|集成学习]] | | | [[交流拖动控制系统\|交流拖动控制系统]] | \- | | [[定积分\|定积分]] | **Definite Integral** | -| [[ROS 2\|ROS 2]] | | | [[微分中值定理\|微分中值定理]] | **Mean Value Theorem for Derivatives** | | [[CUDA\|CUDA]] | **Compute Unified Device Architecture** | | [[8051数模转换\|8051数模转换]] | \- | @@ -134,12 +140,10 @@ | [[高阶系统的时域分析\|高阶系统的时域分析]] | \- | | [[泰勒级数\|泰勒级数]] | **Taylor Series** | | [[优化\|优化]] | | -| [[RMW\|RMW]] | **ROS Middleware Interface** | | [[拉格朗日乘数法\|拉格朗日乘数法]] | **Lagrange Multiplier Method** | | [[算子\|算子]] | \- | | [[方向导数\|方向导数]] | **Directional Derivative** | | [[特征值和特征向量\|特征值和特征向量]] | **Eigenvalues and Eigenvectors** | -| [[数字控制器\|数字控制器]] | **Digital Controller** | | [[执行机构\|执行机构]] | \- | | [[变送器\|变送器]] | **Transmitter** | | [[可编程控制器硬件\|可编程控制器硬件]] | \- | @@ -225,7 +229,6 @@ | [[安全防爆\|安全防爆]] | \- | | [[检测基础\|检测基础]] | \- | | [[RCC\|RCC]] | **Reset and Clock Control** | -| [[拉普拉斯变换\|拉普拉斯变换]] | **Laplace Transform** | | [[阶跃函数\|阶跃函数]] | **Step function** | | [[压力检测\|压力检测]] | **Pressure Measurement** | | [[温度检测\|温度检测]] | **Temperature Measurement** | @@ -238,7 +241,6 @@ | [[二阶系统的时域分析\|二阶系统的时域分析]] | \- | | [[欠阻尼二阶系统动态分析\|欠阻尼二阶系统动态分析]] | \- | | [[经典输入信号\|经典输入信号]] | **Classical Input Signal** | -| [[传递函数\|传递函数]] | **Transform Fuction** | | [[根轨迹法基础\|根轨迹法基础]] | \- | | [[均匀控制系统\|均匀控制系统]] | \- | | [[距离度量\|距离度量]] | **Distance Metric** | @@ -255,7 +257,6 @@ | [[最小拍控制器的改进\|最小拍控制器的改进]] | \- | | [[数字 PID 控制器\|数字 PID 控制器]] | **Discrete-time PID Controller** | | [[数字PID 参数整定\|数字PID 参数整定]] | \- | -| [[z 变换\|z 变换]] | **Z-Transform** | | [[模拟控制器离散化\|模拟控制器离散化]] | **Discretization of Analog Controllers** | | [[SLAM\|SLAM]] | **Simultaneous Localization and Mapping** | | [[概率图模型\|概率图模型]] | **Probabilistic Graphical Model** | @@ -311,7 +312,6 @@ | [[狭义相对论\|狭义相对论]] | **Special Relativity** | | [[拉普拉斯方程\|拉普拉斯方程]] | **Laplace’s equation** | | [[四元数\|四元数]] | **Quaternion** | -| [[micro-ROS\|micro-ROS]] | \- | | [[异步电机变压调速系统\|异步电机变压调速系统]] | \- | | [[MPC\|MPC]] | **Model Predictive Control** | | [[多维正态分布\|多维正态分布]] | \- | @@ -342,8 +342,8 @@ | [[状态观测器\|状态观测器]] | **Observer** | | [[直流电机的开环调速\|直流电机的开环调速]] | \- | | [[直流电机的调速指标\|直流电机的调速指标]] | \- | -| [[8051模数转换\|8051模数转换]] | \- | | [[8051串口通信\|8051串口通信]] | \- | +| [[8051模数转换\|8051模数转换]] | \- | | [[AFIO\|AFIO]] | **Alternate Function I/O** | | [[DDPM\|DDPM]] | **Denoising Diffusion Probabilistic Model** | | [[DMA\|DMA]] | **Direct Memory Access** | @@ -355,8 +355,8 @@ | [[Transformer\|Transformer]] | | | [[Unlinearity\|Unlinearity]] | \- | | [[USART\|USART]] | **Universal Synchronous/Asynchronous Receiver/Transmitter** | -| [[YOLO\|YOLO]] | **You Only Look Once** | | [[XRCE-DDS\|XRCE-DDS]] | \- | +| [[YOLO\|YOLO]] | **You Only Look Once** | | [[二维分布函数\|二维分布函数]] | **Joint Distribution Function** | | [[二维离散分布律\|二维离散分布律]] | \- | | [[二重积分\|二重积分]] | **Double Integral** | @@ -364,8 +364,8 @@ | [[傅里叶级数\|傅里叶级数]] | **Fourier Series** | | [[关于该网站\|关于该网站]] | \- | | [[内部定时计数器\|内部定时计数器]] | \- | -| [[分程控制系统\|分程控制系统]] | \- | | [[函数空间\|函数空间]] | | +| [[分程控制系统\|分程控制系统]] | \- | | [[区间估计\|区间估计]] | \- | | [[卡尔曼滤波\|卡尔曼滤波]] | **Kalman Filter** | | [[反馈\|反馈]] | | @@ -383,16 +383,16 @@ | [[校正环节的设计\|校正环节的设计]] | \- | | [[概率分布律\|概率分布律]] | **Probability mass function** | | [[正态总体的假设检验\|正态总体的假设检验]] | **Hypothesis testing for normal populations** | -| [[点集\|点集]] | \- | | [[滞后校正\|滞后校正]] | \- | +| [[点集\|点集]] | \- | | [[热方程\|热方程]] | **Heat Equation** | | [[特殊功能寄存器\|特殊功能寄存器]] | **Special Function Registers** | | [[状态空间表达式的建立\|状态空间表达式的建立]] | **State Space Representation** | | [[状态空间表达式的能控标准型和能观标准型\|状态空间表达式的能控标准型和能观标准型]] | \- | | [[现金流量图\|现金流量图]] | \- | | [[电阻\|电阻]] | **Resistance** | -| [[直流电机反馈控制的动态建模\|直流电机反馈控制的动态建模]] | \- | | [[直流电机的电流截止负反馈\|直流电机的电流截止负反馈]] | \- | +| [[直流电机反馈控制的动态建模\|直流电机反馈控制的动态建模]] | \- | | [[直流电机的闭环调速系统\|直流电机的闭环调速系统]] | \- | | [[矩阵的初等变换\|矩阵的初等变换]] | **Elementary Matrix Transformations** | | [[离散系统稳态分析\|离散系统稳态分析]] | **Steady-state Analysis of Discrete Systems** | @@ -409,8 +409,8 @@ | [[长短期记忆网络\|长短期记忆网络]] | **Long Short-Term Memory** | | [[降维\|降维]] | | | [[随机变量函数的分布\|随机变量函数的分布]] | **Distribution of Functions of Random Variables** | -| [[频率特性\|频率特性]] | **Frequency Response** | | [[频率\|频率]] | **Frequency** | +| [[频率特性\|频率特性]] | **Frequency Response** | | [[独立同分布\|独立同分布]] | \- | | [[随机过程\|随机过程]] | **Stochastic Process** | | [[曲率\|曲率]] | **Curvature** | @@ -526,8 +526,8 @@ | [[开环频率特性\|开环频率特性]] | \- | | [[模态\|模态]] | **Modal** | | [[线性定常系统的差分方程求解\|线性定常系统的差分方程求解]] | \- | -| [[线性系统的结构分解\|线性系统的结构分解]] | \- | | [[线性时变系统的能控能观性\|线性时变系统的能控能观性]] | \- | +| [[线性系统的结构分解\|线性系统的结构分解]] | \- | | [[脉冲函数\|脉冲函数]] | **Pulse Function** | | [[频带宽度\|频带宽度]] | **Bandwidth** | | [[RTOS\|RTOS]] | **Real-Time Operating System** | @@ -548,8 +548,8 @@ | [[估计量的评选标准\|估计量的评选标准]] | \- | | [[凯莱-哈密顿定理\|凯莱-哈密顿定理]] | **Cayley-Hamilton Theorem** | | [[向量投影\|向量投影]] | \- | -| [[散度\|散度]] | **Divergence** | | [[收敛\|收敛]] | **Convergence** | +| [[散度\|散度]] | **Divergence** | | [[斐波那契数列\|斐波那契数列]] | **Fibonacci Sequence** | | [[斯托克斯公式\|斯托克斯公式]] | **Stokes' theorem** | | [[旋度\|旋度]] | **Curl** |