<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_62799021的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_62799021</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_62799021]]></copyright><item><title><![CDATA[Moveit2 第一个C++规划程序]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/161513038</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/161513038</guid><author>weixin_62799021</author><pubDate>Fri, 29 May 2026 11:44:34 +0800</pubDate><description><![CDATA[本文介绍了如何创建一个使用MoveIt2的C++ ROS2项目。主要内容包括： 创建C++包并添加moveit_ros_planning_interface和rclcpp依赖 编写基础ROS节点结构，包含初始化、日志记录等 使用MoveGroupInterface实现机器人运动规划和控制 设置目标位姿并执行运动规划 构建和运行程序的方法 需要同时启动demo.launch.py来提供机器人模型和仿真环境 程序会在10秒内查找robot_description，否则报错退出 该教程展示了如何通过MoveIt2]]></description><category></category></item><item><title><![CDATA[Moveit2 快速入门]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/161509290</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/161509290</guid><author>weixin_62799021</author><pubDate>Fri, 29 May 2026 10:36:32 +0800</pubDate><description><![CDATA[本文介绍了如何使用MoveIt 2对Kinova机械臂进行运动规划，主要包括： 核心功能：MoveIt通过起始与目标状态求解无碰撞轨迹，流程涉及逆运动学、碰撞检测、OMPL路径搜索等模块。 实际操作： 夹爪规划：选择预定义姿态（如Open/Close）作为目标，通过SRDF配置快速规划。 机械臂规划：拖动末端交互标记设置笛卡尔空间目标位姿，支持关节空间与直线轨迹规划。 关键概念：规划组（关节集合）、规划场景、碰撞对象及轨迹生成的区别与联系。 常见问题：规划失败可能因IK无解、碰撞或时间不足导致，并提供了调试]]></description><category></category></item><item><title><![CDATA[Moveit2 安装]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/161507986</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/161507986</guid><author>weixin_62799021</author><pubDate>Fri, 29 May 2026 10:04:08 +0800</pubDate><description><![CDATA[MoveIt 2 是 ROS 2 的机器人操纵平台，融合了运动规划、操纵、3D 感知、运动学、控制和导航方面的最新进展。MoveIt 2于2019年首次发布。]]></description><category></category></item><item><title><![CDATA[Remote ssh无法连接？]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/156024157</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/156024157</guid><author>weixin_62799021</author><pubDate>Wed, 17 Dec 2025 17:40:02 +0800</pubDate><description><![CDATA[本文介绍了解决VS Code远程SSH连接问题的三个关键步骤：首先检查SSH配置文件，确保允许密码/公钥登录及保持连接稳定的参数；其次确认VS Code的Remote-SSH扩展配置正确，包括SSH路径和下载设置；最后检查网络连通性，分析VS Code远程连接的工作原理，指出下载失败时需开启本地代理。这些方法能有效解决远程开发中的连接问题。]]></description><category></category></item><item><title><![CDATA[设备每次插入Linux识别的串口不一样？试试udev！]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/155827384</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/155827384</guid><author>weixin_62799021</author><pubDate>Fri, 12 Dec 2025 18:15:00 +0800</pubDate><description><![CDATA[本文介绍了如何通过udev规则为USB设备（如串口设备和摄像头）创建固定符号链接的方法。对于串口设备，通过udevadm命令获取设备的idVendor、idProduct和serial等属性，编写规则文件并重载生效。对于摄像头设备，则通过查询/dev/v4l/by-path路径信息来区分不同设备，并创建对应的符号链接。文中提供了详细的命令示例和规则文件模板，帮助用户实现设备名称的持久化绑定，便于系统识别和管理多个同型号设备。]]></description><category></category></item><item><title><![CDATA[还在用conda？，试试uv，提高包的安装速度]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/155827339</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/155827339</guid><author>weixin_62799021</author><pubDate>Fri, 12 Dec 2025 16:00:00 +0800</pubDate><description><![CDATA[UV工具使用教程摘要：UV是一个Python开发工具，支持项目初始化、虚拟环境管理（创建/删除/复现）、依赖安装（支持系统包集成）、命令行工具管理等功能。提供便捷命令激活环境运行脚本，支持本地/whl包安装和项目测试安装。文档构建可集成Sphinx，支持多种包构建方式（wheel/sdist/manylinux）。关键命令包括：uv init创建项目，uv venv创建虚拟环境，uv pip安装依赖，uv run执行脚本，uv build打包项目。]]></description><category></category></item><item><title><![CDATA[使用nmcli连接网络]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/151358920</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/151358920</guid><author>weixin_62799021</author><pubDate>Tue, 09 Sep 2025 13:09:55 +0800</pubDate><description><![CDATA[本文提供了nmcli网络管理命令的完整指南，涵盖网络连接、设备管理、WiFi操作、IP/DNS配置等常用功能。通过表格形式清晰展示了命令语法、功能说明和示例，包括查看/修改连接、管理网卡状态、配置WiFi热点、设置静态IP/DNS等实用操作。还介绍了网络监控、交互式编辑、克隆配置等高级功能，并附有开发常用命令如扫描WiFi、固定IP设置等。配置文件存储在/etc/NetworkManager/system-connections目录。该指南适合快速查询各类网络管理场景下的nmcli命令用法。]]></description><category></category></item><item><title><![CDATA[报错SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/148307677</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/148307677</guid><author>weixin_62799021</author><pubDate>Thu, 29 May 2025 12:18:51 +0800</pubDate><description><![CDATA[本文介绍了解决SvelteKit项目中出现的"Not found: /.well-known/appspecific/com.chrome.devtools.json"错误的四种方法：1）更新所有依赖；2）在hooks.server.ts中添加处理逻辑返回204响应；3）安装vite-plugin-devtools-json插件并配置；4）在Chrome设置中禁用DevTools Project Settings功能。其中第三种安装插件的方法目前有效，但作者提醒未来可能发生变化。]]></description><category></category></item><item><title><![CDATA[用AxumStatusCode细化Rust Web标准格式响应]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/148267201</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/148267201</guid><author>weixin_62799021</author><pubDate>Tue, 27 May 2025 23:43:18 +0800</pubDate><description><![CDATA[本文介绍了在Rust中使用Axum框架构建统一API响应的方法。主要内容包括：定义ApiResult统一响应类型和错误响应结构体，演示了成功和失败响应的使用方式，并解释了将响应码放在响应头的四个优势。文章还提供了CRUD操作的常见响应码参考，并详细列出了HTTP 1xx-4xx状态码及其含义，特别标注了RESTful API开发中的常用状态码。这种设计遵循HTTP协议规范，便于前端处理，同时提高了缓存效率和浏览器兼容性]]></description><category></category></item><item><title><![CDATA[报错“该文件包含不能在当前代码页(936)中表示的字符”：已解决]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/144653891</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/144653891</guid><author>weixin_62799021</author><pubDate>Sun, 22 Dec 2024 22:29:02 +0800</pubDate><description><![CDATA[报错：“该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据 丢失”在使用clang编译时报错该信息，是因为win的编码问题，改为unicode即可。报错：“error C2220: 以下警告被视为错误”]]></description><category></category></item><item><title><![CDATA[Rust整合Tracing日志和Opentelemetry链路追踪可观测性]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/144173057</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/144173057</guid><author>weixin_62799021</author><pubDate>Mon, 02 Dec 2024 12:00:00 +0800</pubDate><description><![CDATA[方式一：使用span!宏创建span(Level::TRACE, "这是一个span，指定span的级别为trace");// 忽略后离开作用域被drop()例如// 定义一个span，指定span的级别为trace，指定span的名字，这是最低的级别(Level::TRACE, "这是一个span, 指定span的级别为trace");// span开始位置方式二：创建span并手动设置跨度范围// 定义一个span，指定span的级别为trace，指定span的名字，这是最低的级别。]]></description><category></category></item><item><title><![CDATA[Rust依赖注入]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143923570</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143923570</guid><author>weixin_62799021</author><pubDate>Thu, 21 Nov 2024 10:00:00 +0800</pubDate><description><![CDATA[Axum官方推荐以下两种方式实现依赖注入，非必要不使用泛型，都通过AppState存储依赖添加。]]></description><category></category></item><item><title><![CDATA[Windows配置开发环境太复杂？试试MSYS2]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143883119</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143883119</guid><author>weixin_62799021</author><pubDate>Tue, 19 Nov 2024 14:32:05 +0800</pubDate><description><![CDATA[这里使用MSYS2提供的GNU工具链，而不是MSVC（不需要安装Visual Sudio）在安装时选2配置的内容，不需要修改。你也可以通过以下方式配置指定项目。所有缓存在MSYS2安装目录的。]]></description><category></category></item><item><title><![CDATA[Windows使用Scoop安装Nvim并使用LazyVim配置]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143856980</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143856980</guid><author>weixin_62799021</author><pubDate>Tue, 19 Nov 2024 12:15:00 +0800</pubDate><description><![CDATA[3、设置全局代理（可选），一般不需要设置（设置ssh key即可）lazyvim提供了一套便捷的配置和插件管理。大多数问题都来源于网络，查看git全局配置。2、配置ssh key，先查看有没有。生成ssh key，一直回车即可。将内容复制粘贴到github。关闭后再次打开nvim然后按。1、设置git用户名和邮箱。卸载scoop，最后删除。等它自动配置好就可以了。]]></description><category></category></item><item><title><![CDATA[Rust整合Kafka]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143856640</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143856640</guid><author>weixin_62799021</author><pubDate>Tue, 19 Nov 2024 07:30:00 +0800</pubDate><description><![CDATA[这里使用基于librdkafka的 Rust 库，你还可以选择kafka（纯Rust实现的Kafka客户端）]]></description><category></category></item><item><title><![CDATA[报错expected enum`Result＜_, InfraError＞` found enum `Result＜_, anyhow::Error＞`：已解决]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143725336</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143725336</guid><author>weixin_62799021</author><pubDate>Wed, 13 Nov 2024 07:45:00 +0800</pubDate><description><![CDATA[InfraErrorthiserror实现了标准库的适合编写库crate适合需要明确错误的应用明确错误类型定义复杂传播复杂（可能需要match或map_err传播）可读性差开发简单Web应用适合使用anyhow，复杂Web应用适合thiserror开发库crate适合thiserror混合使用容易造成混乱（可以相信自己但不能相信猪队友）两者结合使用容易导致应用复杂的例子，例如基础设施层返回InfraError，领域层转换为要做一层转换，到应用层还要转换一次；如果使用anyhow。]]></description><category></category></item><item><title><![CDATA[Rust 建造者模式]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143709596</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143709596</guid><author>weixin_62799021</author><pubDate>Tue, 12 Nov 2024 17:00:00 +0800</pubDate><description><![CDATA[在DDD中，DTO(数据传输对象)->BO(业务对象)、BO(业务对象)->PO(持久化对象，有的叫DO，即和数据表映射的实体)等等情况要做转换，这里提供以下转换方式。]]></description><category></category></item><item><title><![CDATA[Rust整合openapi、swagger-ui]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143660685</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143660685</guid><author>weixin_62799021</author><pubDate>Mon, 11 Nov 2024 09:45:00 +0800</pubDate><description><![CDATA[前后端分离开发中，接口需要规范化、标准化、文档化，这里使用utoipa。]]></description><category></category></item><item><title><![CDATA[Docker部署Minio]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143184496</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143184496</guid><author>weixin_62799021</author><pubDate>Mon, 11 Nov 2024 07:30:00 +0800</pubDate><description><![CDATA[Docker部署最新版minio]]></description><category></category></item><item><title><![CDATA[Rust使用lettre发送邮件]]></title><link>https://blog.youkuaiyun.com/weixin_62799021/article/details/143649123</link><guid>https://blog.youkuaiyun.com/weixin_62799021/article/details/143649123</guid><author>weixin_62799021</author><pubDate>Sun, 10 Nov 2024 10:00:00 +0800</pubDate><description><![CDATA[Rust使用smtp发送邮件，使用邮件进行注册登陆时可以生成的验证码往redis里写一份，key设置为邮件名，设置过期时间为60s，注册登陆时与redis中的验证码比较即可。这里使用SMTP发送邮件，所以要开启SMTP，由于outlook需要付费，这里使用qq邮箱。生成授权码，这个授权码就是邮件发送者的密码。]]></description><category></category></item></channel></rss>