- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 URDF 与机器人状态发布:从关节采样推导整机位姿
本文通过五连杆教学模型手算正向运动学,验证八界URDF中局部状态与整链位姿的生成机制。揭示了URDF定义几何映射、JointState提供实时关节值、robot_state_publisher按时间组合TF的完整流程。分析指出:局部边可独立发布,但整链查询需全路径同步;单条消息不自动刷新所有关节,频率筛选依赖采样戳;mimic关系仅用于约束推导,不可补全缺失状态。实测验证了升降与转动协同更新对工具末端位姿的影响,强调模型与状态一致性的重要性。
2026-11-12 13:58:46
原创 TF2 的原理与使用:把坐标、运动和观测时间一起算清楚
本文通过八界机器人头部与腕部相机的坐标变换问题,深入解析ROS 2中TF2的运行机制。重点阐述了坐标变换的方向性(T_A_B定义)、树结构下的路径依赖、时间戳插值原理(线性平移与四元数球面插值),以及“最新”时间必须为整条路径共同时间的重要性。实验验证了错误的时间匹配会导致高达0.443508m的位置偏差。最后提出使用lookup_transform_full()处理跨时态观测,强调应同时关注几何与时间语义,避免因忽略时间一致性引发定位错误。
2026-11-12 09:08:21
45
原创 Executor 与 Callback Group:响应已经回来,Future 为什么还在等
本文通过八界视觉抓取链的实验,剖析ROS 2中服务调用的执行依赖问题。基于Humble版本,对比四组线程与回调组配置,揭示等待阻塞源于资源竞争:即使增加线程,若回调组互斥或业务锁未释放,仍会形成循环等待。协程虽释放线程,但持有组许可,无法突破组级互斥。最终指出,稳定任务状态需结合回调分组、锁管理与异步调度,确保输入快照一致性与执行路径可推进性。
2026-11-11 20:01:51
72
原创 理解 QoS:从端点匹配到图像帧龄的完整链路
机器人软件与具身智能 · ROS 2 运行机制 · 第 09 篇。用 Humble 的实际通信实验检验 QoS,再为八界 RGBD 感知建立队列与时间预算。图 1 八界与样本历史的概念示意。基于八界 URDF 和作者提供的实拍参考进行外观渲染。八界头部彩色图用来找目标框,对齐深度用来恢复空间位置。应用可能同时遇到两种现象:ROS 图能看见图像端点,回调却一直没有样本;回调已经持续运行,抓取使用的图像却越来越旧。把 QoS 改成“可靠、深度更大”,对这两类问题可能产生完全不同的效果。
2026-11-11 19:57:35
314
原创 Topic、Service 和 Action:三种通信方式的设计取舍
本文通过八界视觉抓取模板,解析ROS 2中Topic、Service与Action三种通信机制的设计取舍。Topic用于持续数据流(如图像),强调观测与时间对齐;Service提供同步请求-响应,依赖序列号确保请求归属;Action则通过Goal UUID追踪任务全生命周期,支持状态反馈与取消管理。实验复现三类接口在单进程中的行为,验证其在状态同步、延迟响应与任务恢复中的可靠性,揭示不同通信模式在具身智能应用中的适用场景与设计权衡。
2026-11-11 19:07:28
230
原创 ROS 2 系统如何通信:节点、进程、DDS 与发现机制
本文解析 ROS 2 通信机制,从节点、DDS 实体到发现与回调流程,揭示“节点可见但收不到数据”的根源。通过实验验证:同一进程可共用多个节点,节点与 DDS Participant 不一一对应,发布成功≠接收成功。强调四层关键状态——节点存在、端点匹配、样本到达、回调执行——需分别验证。结合源码与实验,厘清 Context、Participant、DataWriter/Reader 的映射关系,指出应用回调依赖 Executor 调度,非自动触发。附带代码、教程与排障案例,助开发者精准定位通信问题。
2026-11-11 11:28:17
93
原创 时间也是机器人数据的一部分:采样、同步、延迟与数据有效期
本文探讨机器人系统中常被忽视的时间问题:数据的“采集时刻”决定其有效性,而非输出频率。即使感知节点持续输出,若控制器使用过时数据(如延迟180ms),会导致运动滞后或偏差。文章强调时间戳需包含采集时刻、时钟语义与同步机制,否则坐标变换、多传感器融合与队列处理均可能因时间错配而失效。高帧率不等于低延迟,采样混叠、处理积压、时钟漂移等问题会累积误差。建议保留原始时间戳、使用单调时钟比较、采用“最新帧”策略避免积压,并在同步时明确容忍窗口与物理补偿边界。时间,是空间之外的另一维关键变量。
2026-11-10 19:13:13
90
原创 测量为什么总有误差:噪声、协方差与不确定性
本文以距离传感器测量为例,揭示机器人感知中“平均”不等于“准确”的核心问题。尽管200次测量平均后结果稳定,但系统性偏差(如30mm安装误差)仍会导致错误估计。强调误差、噪声与不确定性的区别:前者是真值偏差,后者反映可信度。引入协方差描述多维测量的不确定性及其方向相关性,说明仅用单个精度无法刻画真实不确定性。通过雅可比传播与马氏距离分析,展示坐标变换与极坐标转位置时误差的非线性演化,并指出融合多传感器数据不能简单平均,必须考虑协方差结构与误差相关性,否则可能放大错误。最终提醒:模型外的偏差无法被算法自动发现
2026-11-10 18:58:42
52
原创 齐次变换与 SE(3):从坐标链到位姿误差
本文系统阐述机器人位姿描述与变换的核心概念:齐次变换矩阵(SE(3))的六自由度约束源于刚体运动不可拉伸、不可剪切的特性;左乘与右乘分别对应世界系与工具系的运动语义,直接影响执行方向;位姿误差应通过相对变换 $ T_{\text{current}}^{-1} T_{\text{target}} $ 求解,而非矩阵相减;矩阵平均会破坏旋转合法性,需采用指数映射或四元数插值;六维小量增量必须经指数映射 $ \exp(\xi^\wedge) $ 转换为合法位姿,确保中间状态保持刚体性质。理解这些原则是实现精准控制
2026-11-10 18:52:40
305
原创 机器人如何把目标变成运动:自由度、正逆运动学与奇异性
本文以2R平面机械臂为例,系统阐述机器人运动学核心概念:正运动学(FK)通过关节角计算末端位姿,逆运动学(IK)则反求实现目标位姿的关节构型,揭示同一位置可能对应多解或无解。引入雅可比矩阵描述关节速度与末端速度的映射关系,分析奇异性与工作空间限制,并强调实际应用中关节限位、碰撞避让及数值求解初值的重要性,阐明任务描述与机构能力之间的匹配本质。
2026-11-10 14:22:56
211
原创 机器人如何描述空间:坐标系、位置、姿态与参考系
机器人软件与具身智能:原理、架构与工程实践》 · 第一部分:机器人基础知识 · 第 02 篇本篇承接第一篇的系统全景,从一个二维例子出发,逐步理解三维旋转、位姿变换和 TF。数值例子只需 Python 与 NumPy,不需要安装 ROS 或连接机器人。相机告诉机器人:“杯子在前方 80 厘米。”机械臂却不能立刻向前伸出 80 厘米。因为相机的“前方”是沿着镜头看的方向,机械臂的“前方”来自它自己的安装方式;相机与手臂也不在同一个位置。如果底盘已经移动,这条观测还可能属于过去的时刻。
2026-11-10 11:13:10
348
原创 机器人软件系统全景:感知、定位、规划、控制与决策如何协作
机器人软件与具身智能:原理、架构与工程实践》 · 第一部分:机器人基础知识 · 第 01 篇本篇面向有基础编程经验、准备学习机器人软件的读者。我们用一台带相机、移动底盘和机械臂的机器人,推演一次“把杯子搬到桌上”的任务。计算示例可用 Python 直接复现,不需要连接机器人。设想这样一个调试现场:视觉画面里的杯子被准确框出,机械臂规划接口也返回成功,手臂运动到目标附近,夹爪却合在了空气中。应该换检测模型,还是调整机械臂控制器?仅凭这个现象还无法判断。检测框正确,不代表深度正确;
2026-11-09 20:03:34
359
1
原创 八界机器人 SDK 快速上手指南(Python)
纸巾、湿巾、脏衣篓、垃圾桶、笔筒、桌面收纳盒、绿植、花艺摆件、花瓶、台灯、书本、笔、日历、眼镜、纸团、烟灰缸、钥匙串、手办、鼠标垫、地毯、钱包、闹钟、雨伞、手机支架、摆件、笔袋、胶带、橡皮擦、文具盒、固体胶、扇子、卫生巾、袜子、手绢、抹布、鞋子。--json '{"req": {"rgb_image": @(head_view.json).rgb_image.img, "labels": ["鞋子"], "entry": "/shoe"}, "timeout": 15.0}' \。
2026-10-09 14:29:22
140
原创 八界机器人 SDK 快速上手指南(C++)
本文档由《八界机器人 SDK 开发文档(C++)》整理改写而来。本文档版本与 SDK 版本均为。目标是让第一次接触 SDK 的用户可以快速完成 4 件事:把 C++ SDK 编译起来。连上机器人。跑通状态查询、移动、拍照、检测等基础能力。能按模块查 API 和错误码。
2026-10-09 14:25:55
279
原创 八界机器人 SDK 开发文档(Python)
bajie_sdk是八界机器人 Python 开发套件,以.whl包形式随机器人出厂提供。控制机器人:移动、导航、机械臂操作、抓取放置感知环境:开放词检测(OVD)、图像特征匹配、VLM 桌面整理查询状态:获取电量、位置、告警、地图、家具信息CLI 快速调试:通过命令行直接调用接口,查询字段模板。
2026-10-09 14:22:42
170
原创 八界机器人 ROS2 Humble 高阶开发 SOP
SSH 到机器人# 创建 Python ROS2 包# 首次编译(注册 entry_points)注意:部分机器人上 setuptools ≥80.x 不支持,如报错去掉该参数即可。目标:让机器人导航到指定的语义区域或地图坐标点。涉及接口接口类型路径说明AreaNavAction区域导航(带区域轮廓)Nav2 标准导航Service重定位Python 完整示例 — 多区域顺序导航"""自定义多区域顺序导航节点依次导航到客厅 → 厨房 → 卧室,每个区域停留 5 秒。
2026-10-09 14:20:16
216
原创 openclaw完整部署sop(含配置deepseek)
本文介绍了OpenClaw和DeepSeek AI工具的配置流程。首先通过官方脚本安装OpenClaw,详细说明了安装命令和步骤。接着配置DeepSeek API,包括设置base_url、选择模型模式以及创建API密钥。然后指导如何配置飞书channel和skill选项,并调整记忆体设置。最后解决了TUI窗口token限制问题,修改配置文件后将窗口大小调整为32768。文中提供了完整的终端操作命令和截图指引,为后续skill训练奠定了基础。
2026-03-02 11:09:47
3098
原创 notes
sudo ip route add 192.168.124.5 dev wlan0 proto kernel scope link src 192.168.124.23 metric 600
2024-07-17 09:42:21
198
原创 《Linunx6.9 内核开发》链表解读-1
这种设计使得链表的操作更加高效,因为每次操作只需要更新一个指针,而不需要遍历整个链表或更新多个指针。通过这两个操作示例,可以看出使用二级指针 (**pprev) 的好处,在插入和删除节点时不需要遍历链表,只需更新相关的指针即可。维护链表结构的灵活性和效率,pprev 是一个指向指针的指针,它指向的是指向当前节点的指针。hlist_head 是链表的头节点,它包含一个指向链表第一个节点的指针 first。假设有一个链表,包含三个节点:node1、node2 和 node3。假设我们要删除 node2。
2024-06-24 14:05:02
1137
原创 RK3588设备树节点解读(电源-GPU)
这些是针对RK3588J和RK3588M GPU的操作性能点。这些是专门针对RK3588J GPU的操作性能点。这些是专门针对RK3588M GPU的操作性能点。这些是针对RK3588 GPU的操作性能点。
2024-06-17 10:25:50
2265
原创 RK3588设备树节点解读(rk3588s.dtsi)
文件中还定义了其他许多设备,如 USB 控制器、显示子系统、音频子系统、各种总线接口(I2C、SPI、UART 等)、GPU、NPU、VPU、SATA 控制器等。
2024-06-14 11:04:59
2120
原创 ssh 拉取代码问题记录
PubkeyAcceptedKeyTypes +ssh-rsa 是一个 OpenSSH 密钥验证策略,它表示服务器接受以 ssh-rsa 格式签名的公钥进行身份验证。这个策略只适用于 OpenSSH 服务器。如果你使用的是其他类型的服务器或客户端,可能无法理解或执行这个策略。ssh公钥登录报错:sign_and_send_pubkey: no mutual signature supported。报错原因:没有配置服务器接受以 ssh-rsa 格式签名的公钥进行身份验证。
2024-05-31 10:10:04
439
原创 ubuntu网络杂记
iptables v1.6.2: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) 要如何解决-高性能服务器开发
2024-01-03 09:51:29
997
原创 Camera学习-驱动篇
文件路径:kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-eco-cadmus-v3-0.dtsi。
2023-08-14 11:29:46
1390
原创 LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SDK_VERSION := current 意思是编译时忽略系统隐藏类(@hide)有时一些系统的class被import后编译时说找不到这个类,就是这个原。LOCAL_SDK_VERSION 这个编译配置,设置后,会使用sdk的hide的api來编译。就会使编译的应用不能访问hide的api,在Android.mk中如果有。
2023-04-04 09:09:52
352
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅