别动我齐刘海
码龄5年
求更新 关注
提问 私信
  • 博客:14,006
    14,006
    总访问量
  • 47
    原创
  • 1
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2021-09-23
博客简介:

weixin_62225554的博客

查看详细资料
个人成就
  • 获得277次点赞
  • 内容获得0次评论
  • 获得254次收藏
  • 博客总排名30,354名
  • 原力等级
    原力等级
    3
    原力分
    230
    本月获得
    191
创作历程
  • 47篇
    2026年
成就勋章

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

创作活动更多

编程达人挑战赛·第12期

作为写代码的你,是否也渴望被更多人看到?技术人员普遍有一个共性——明明技术很强,却没人知道你做了什么;花了很多时间踩坑,却没人因你少走弯路;脑子里有一堆干货,但却不懂如何有效地输出。 在如今写代码的人越来越多的时代,能够清晰表达自己思路与技术的人却少之又少。 因此,我们发起了这个【编程达人挑战赛】——帮助你将代码变成作品,将技术转化为真正的价值,同时激励更多的人坚持写作与分享。 注:活动细则介绍请看此贴:[https://bbs.csdn.net/topics/619791811](https://bbs.csdn.net/topics/619791811)。

725人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Day17 unitree_G1人形机器人“身外化身”_“双路冗余接收”

70147015这里最重要的设计判断是:双路冗余只能恢复“单路丢失”,不能恢复“两路共同丢失”。因此程序明确统计。它表示某个帧号在 7014、7015 两条链路上都没有出现。这种缺帧更可能发生在两条 UDP 输出分流之前,例如 Axis Studio、无线链路或更上游的数据源,而不是本地双路合并算法能够修复的问题。
原创
博文更新于 21 小时前 ·
231 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

机器人运动控制学习1——基础概念

舒服很多,虽然两种最后可能都达到相同速度,但“冲击感”不同,这个冲击感和 Jerk 密切相关。按现在这个趋势,0.2 秒后可能会倒,我现在提前调整。这个如果彻底学懂,你就真正跨进“运动控制”的门了。工业机械臂、数控机床、电机控制里非常常见这种思想。根据位置误差给动力,同时根据速度控制别冲过头。人形机器人、机械臂、交互控制都会大量遇到。先把一个关节控制明白,再扩展到几十个关节。因为算法可以更直接控制机器人动力学行为。机器人全身这么多关节,到底怎么一起协调?给电机固定 2V 电压,持续 3 秒。
原创
博文更新于 前天 23:22 ·
320 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

Day16 unitree_G1人形机器人“身外化身”axis-raw

我们的最终思路不是“修补MocapApi”,而是绕过它,直接接收Axis Studio输出的二进制BVH UDP,并以作为唯一帧序列依据,确保程序内部逐帧守恒。需要准确限定:已实现的是“程序收到BVH帧后,FIFO → GMR → 动作生成 → ZMQ全链路零丢帧”;但动捕服Wi‑Fi或Axis本身没有生成/广播的帧,程序无法凭空恢复。
原创
博文更新于 前天 10:00 ·
290 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

Day15 unitree_G1人形机器人“身外化身”通信丢帧排查

但是仍偶尔跳跃。这说明原程序内部的FIFO和深拷贝没有继续丢帧,缺帧已经发生在程序看到Avatar事件之前。
原创
博文更新于 2026.08.16 ·
182 阅读 ·
7 点赞 ·
0 评论 ·
4 收藏

Day14 unitree_G1人形机器人BVH/MocapApi实际输出少于Axis排查

Cache中文一般叫“缓存”。
原创
博文更新于 2026.08.14 ·
346 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

机器学习基础3——C++、OpenCV、点云、Open3D

Open3D 官方的全局配准流程就是这种思想:先对点云降采样、估计法向量、计算 FPFH 特征,再使用 RANSAC 等方法获得粗略全局对齐,最后可用 point-to-plane ICP 进一步精修。这种方法使用目标点的法向量,官方教程示例也说明 point-to-plane 在其测试中比 point-to-point 更快达到紧密对齐。Open3D 官方全局配准教程当前使用 FPFH,并将其描述为每个点的 33 维局部几何特征,用于在特征空间中寻找可能的对应点。这就是最简单的 DBSCAN 直觉。
原创
博文更新于 2026.08.13 ·
249 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

Day13 unitree_G1人形机器人传输问题

Axis内部posture_index跨度:约96 Hz↓MocapApi实际Avatar事件:约63 Hz↓MotionInput收到:全部记录↓GMR处理:与收到数量相等↓ZMQ发送:与生成数量相等↓MuJoCo接收:与ZMQ发送数量相等↓MuJoCo应用:与接收数量相等Axis内部姿态索引↓普通BVH/MocapApi Avatar事件进入我们程序之后,数量都能对上。GMRprotobufZMQFIFOMuJoCo日志线程本机TCP。
原创
博文更新于 2026.08.13 ·
363 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

Day12 unitree_G1人形机器人优先拿到所有真实帧

如果现在就补帧,虽然机器人接收数量连续,但会掩盖采集端真实缺失,导致无法判断MocapApi调用是否已经解决。等到GMR线程读取时,SDK内部缓存可能已经更新成下一帧,最终表现就会类似“只读到最新帧”。每取到一个Avatar事件,就立即把对应姿态深拷贝完成,然后再取下一个事件。即使Avatar事件已经收到,SDK内部姿态也可能在读取几十个关节期间更新。即使GMR短时间变慢,已经采集的帧仍保存在FIFO中,不会被“最新帧”替换。GMR只需要Avatar姿态,但无关事件不能拖慢后面的Avatar事件。
原创
博文更新于 2026.08.12 ·
368 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

机器学习基础2——C++、OpenCV、点云、Open3D

│ 一只杯子 ││ ││ │每个小格子:就是一个 pixel,像素。横向 1920 个像素纵向 1080 个像素约 207 万个像素这个概念非常重要。______/ \| || |\______/电脑怎么知道哪里是杯子?一个非常朴素的方法就是:找图片里“变化特别大的地方”。背景背景背景 | 杯子杯子杯子左边比较暗,右边比较亮。颜色/亮度突然变化于是就可能是:边缘。图像内容突然发生明显变化的位置。0这个像素对应的东西,离相机有多远。这个位置是杯子↓这个位置距离相机↓。
原创
博文更新于 2026.08.11 ·
194 阅读 ·
7 点赞 ·
0 评论 ·
7 收藏

Day11 unitree_G1人形机器人BVH/MocapApi实际输出少于Axis函数层面问题

MocapApi 函数问题核心通常就是:其中最需要警惕的是:事件本身和 Avatar 当前缓存姿态是否一一对应。当前程序大致执行:相关代码:[noitom_client.cpp](C:\\Users\\RX01296\\Desktop\\全身控制8_3\\gmr-master_PN_xsenscpp最终版\\gmr-master_PN\\cpp_noitom_g1\\src\
oitom_client.cpp)SDK 的 事件主要提供 。真正的姿态数据由后续 Avatar/Joint 接口读
原创
博文更新于 2026.08.11 ·
323 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

机器学习基础1——C++、OpenCV、点云、Open3D

这一步非常重要。二维世界x →y │ │↓ │ 杯子 ││ │xyxyz其中z可以理解为深度/距离。点1 = (0.1, 0.5, 1.2)点2 = (0.2, 0.5, 1.1)点3 = (0.3, 0.6, 1.0).... . .. .. 杯子 .. .. .────────────────── 桌面Point Cloud,点云。double x;double y;double z;大白话:我规定以后有一种东西叫Point。xyznullptr。
原创
博文更新于 2026.08.10 ·
253 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

Day10 unitree_G1人形机器人BVH/MocapApi实际输出少于Axis

我检查了现有代码,确认采集和GMR已经分线程,中间FIFO保存的是独立的NoitomFrame,所以数据只要被程序取出来,后面不会再被覆盖。因此准备把固定休眠改成线程让出,并在SDK内部连续排空非Avatar事件,同时增加poll次数、Avatar事件数、空轮询、MoreEvent、重复索引和最大轮询间隔等统计。今天还检查到8_3中的旧CMake缓存仍带有7_28绝对路径,因此后续必须在8_3重新建立干净构建,验证独立运行后再删除7_28。当前程序遇到非Avatar事件后,会返回外层,然后触发1毫秒等待。
原创
博文更新于 2026.08.10 ·
193 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

“三层同步审计”判定掉帧缺失

建立一个“Axis 原始输出—MocapApi—我们的程序”三层同步审计。只有这样才能判定缺失到底发生在哪一层。
原创
博文更新于 2026.08.08 ·
363 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

诺依腾Noitom掉帧问题

目前证据只能定位为“缺失已发生在最后一步深拷贝之前”,还不能区分到底是 Axis 没发、UDP 没收全,还是 MocapApi 把连续更新合并成了“最新状态”。而 Noitom 官方文档恰好把描述成取得“latest messages”,Avatar handle 又只是读取 SDK 内部管理的对象状态,并没有“按 posture_index 读取历史姿态”的接口。这意味着慢一步时,SDK 存在只保留更新后状态的风险。
原创
博文更新于 2026.08.08 ·
331 阅读 ·
7 点赞 ·
0 评论 ·
7 收藏

Day9 unitree_G1人形机器人BVH/MocapApi实际输出少于Axis

这不是ZMQ丢帧,因为它发生在ZMQ发送之前。
原创
博文更新于 2026.08.08 ·
174 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

机器人ONNX学习

ONNX 本质上是一个已经训练好的神经网络模型文件,它主要负责机器人控制策略推理,ONNX 在这里通常是一个模型文件,不是主程序。.onnx所以它类似于“游戏程序读取存档/资源文件”:ONNX 文件保存训练成果,但负责通信、循环控制、动捕接收和机器人命令发送的仍然是.exe主程序。ONNX.onnx.exeInputFps可以把 GMR 理解为“人体动作翻译器”,把 ONNX 理解为“机器人学会如何执行这些动作的大脑”。我已经直接解析了工程中现存的3个ONNX,并结合实际机器人控制器代码核对。
原创
博文更新于 2026.08.07 ·
221 阅读 ·
7 点赞 ·
0 评论 ·
3 收藏

双臂机器人通信链路解析

分布式实时中间件;交互话题::上位机下发期望关节指令;:主控回传机器人实际关节状态;作用:多算法节点解耦(插值、轨迹回放、VR 映射、状态可视化),支持时间戳、QoS 实时调度。物理层:以太网 / WiFi;传输层:UDP;应用层:自定义带 CRC 二进制结构体通信链路协议优势劣势VR ↔ 上位机WiFi-UDP无线低延迟、轻量化、适配 VR 引擎Wi4Fi 易受干扰,无可靠重传上位机内部节点ROS2 DDS模块化解耦、标准消息、时间戳、QoS进程间开销高于原生 UDP。
原创
博文更新于 2026.08.07 ·
398 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

Day7 unitree_G1人形机器人“身外化身”通信优化思路

整个改造的核心不是:把gRPC库换成ZMQ库。而是:先明确真实动捕数据入口,用统一输入接口隔离设备差异,恢复完整在线GMR IK,再根据“不能丢任何已收到的数据”的要求采用阻塞FIFO和有序ZMQ传输,最后通过分层计数、frame_id、CRC和MuJoCo审计,证明每一帧到底在哪一层产生、处理、发送、接收和应用。来源统一→ 算法隔离→ 协议稳定→ 有序传输→ 线程解耦→ 队列排空→ 分层计数→ 实物验证→ 数字验收这才是我们从零到现在真正完成的工程改造体系。
原创
博文更新于 2026.08.07 ·
281 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

Waza技能开发“:将工程经验转化为可复用的技能

我们的目标核心不是把所有经验堆进SKILL.mdWaza负责“测试和改进 Skill”,真正承载经验的是SKILL.md、参考资料和辅助脚本。
原创
博文更新于 2026.08.06 ·
156 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

Day8 unitree_G1人形机器人GMR—— MocapApi

MocapApi可以理解为:诺亦腾官方提供的一套C/C++软件接口,让我们自己的程序能够从Axis Studio中读取已经解算好的人体动作数据。它不是动捕服,不是网络协议,也不是GMR。
原创
博文更新于 2026.08.05 ·
163 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏
加载更多