<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文章 on Kyrie Cao 的博客</title><link>http://kthoughts.click/zh-cn/posts/</link><description>Recent content in 文章 on Kyrie Cao 的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 11 Jun 2025 14:30:00 +0800</lastBuildDate><atom:link href="http://kthoughts.click/zh-cn/posts/rss.xml" rel="self" type="application/rss+xml"/><item><title>SO101 机械臂 + LeRobot 框架调试踩坑记录</title><link>http://kthoughts.click/zh-cn/posts/so101-lerobot-debug/</link><pubDate>Wed, 11 Jun 2025 14:30:00 +0800</pubDate><guid>http://kthoughts.click/zh-cn/posts/so101-lerobot-debug/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;最近在使用 &lt;strong&gt;SO101 机械臂&lt;/strong&gt; 配合 &lt;strong&gt;LeRobot 框架&lt;/strong&gt; 进行机器人学习项目开发，过程中遇到了不少坑。本文记录这些问题及解决方案，希望能帮助到有同样需求的朋友。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="环境配置"&gt;环境配置&lt;/h2&gt;
&lt;h3 id="硬件清单"&gt;硬件清单&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SO101 六轴机械臂&lt;/li&gt;
&lt;li&gt;边缘算力终端（实际目前使用的是一台3060的windows笔记本）&lt;/li&gt;
&lt;li&gt;摄像头（暂未使用）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="软件环境"&gt;软件环境&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Python 3.10，注意：LeRobot 框架要求 Python 3.10或者3.11，3.13等其他版本不支持！&lt;/li&gt;
&lt;li&gt;PyTorch 2.0+ 由Conda管理&lt;/li&gt;
&lt;li&gt;LeRobot 框架 来自seeed的Github仓库&lt;/li&gt;
&lt;li&gt;操作系统：Ubuntu 22.04 / Windows 11双系统PC，初步调试过程中实际使用的是Windows 11，目前校准电机的过程完全OK&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="踩坑记录"&gt;踩坑记录&lt;/h2&gt;
&lt;h3 id="1-conda-环境管理注意事项"&gt;1. conda 环境管理注意事项&lt;/h3&gt;
&lt;p&gt;首先，调试电机之前，先创建一个单独的conda环境，命名为lerobot310，然后激活该环境。
windows下：&lt;code&gt;conda activate lerobot310&lt;/code&gt;
使用&lt;code&gt;pip install -e &amp;quot;.[feetech]&amp;quot;&lt;/code&gt;安装feetech库，该库是LeRobot框架的一个子库，用于与SO101机械臂进行通信。
检查pytorch/vision/cuda是否都完成安装&lt;/p&gt;
&lt;h3 id="2-电机编号不是实际安装的编号"&gt;2. 电机编号不是实际安装的编号&lt;/h3&gt;
&lt;h4 id="问题描述"&gt;问题描述&lt;/h4&gt;
&lt;p&gt;校准电机min和max角度时，wrist_roll和wrist_flex（4号和5号电机装反）&lt;/p&gt;
&lt;h4 id="解决方案"&gt;解决方案&lt;/h4&gt;
&lt;p&gt;注释掉src里面的so_follower里面的其他1-3和6电机的定义，重新单独校准编号时仅调试这两个即可。&lt;/p&gt;
&lt;h3 id="3-相机标定问题"&gt;3. 相机标定问题&lt;/h3&gt;
&lt;p&gt;尚未安装相机，暂时调试没遇到其他问题了&lt;/p&gt;
&lt;h2 id="参考资源"&gt;参考资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/huggingface/lerobot" target="_blank" rel="noopener"&gt;LeRobot 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.seeedstudio.com/cn/lerobot_so100m_new" target="_blank" rel="noopener"&gt;[SO101 机械臂安装教程]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hugging Face 机器人学习社区&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;调试机器人系统是一个需要耐心的过程，建议：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;分步验证&lt;/strong&gt;：先确保机械臂单独控制正常，再集成相机，最后接入 LeRobot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;日志记录&lt;/strong&gt;：开启详细日志，方便定位问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;社区求助&lt;/strong&gt;：遇到问题可以先搜 GitHub Issues，或向社区提问&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如有新的坑会持续更新本文。
&lt;a href="mailto:kyriecao2025@163.com"&gt;kyriecao2025@163.com&lt;/a&gt;，有问题与我联系。&lt;/p&gt;</description></item><item><title>Markdown 示例</title><link>http://kthoughts.click/zh-cn/posts/markdown-sample/</link><pubDate>Mon, 08 Jun 2020 08:06:25 +0600</pubDate><guid>http://kthoughts.click/zh-cn/posts/markdown-sample/</guid><description>&lt;p&gt;这是一篇示例文章，用于测试以下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不同的文章作者&lt;/li&gt;
&lt;li&gt;目录&lt;/li&gt;
&lt;li&gt;Markdown 内容渲染&lt;/li&gt;
&lt;li&gt;数学公式渲染&lt;/li&gt;
&lt;li&gt;Emoji 渲染&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h1 id="markdown-语法渲染"&gt;Markdown 语法渲染&lt;/h1&gt;
&lt;h2 id="标题"&gt;标题&lt;/h2&gt;
&lt;p&gt;以下 HTML &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;—&lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 元素代表六个级别的章节标题。&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; 是最高级别，&lt;code&gt;&amp;lt;h6&amp;gt;&lt;/code&gt; 是最低级别。&lt;/p&gt;
&lt;h1 id="h1-标题"&gt;H1 标题&lt;/h1&gt;
&lt;h2 id="h2-标题"&gt;H2 标题&lt;/h2&gt;
&lt;h3 id="h3-标题"&gt;H3 标题&lt;/h3&gt;
&lt;h4 id="h4-标题"&gt;H4 标题&lt;/h4&gt;
&lt;h5 id="h5-标题"&gt;H5 标题&lt;/h5&gt;
&lt;h6 id="h6-标题"&gt;H6 标题&lt;/h6&gt;
&lt;h2 id="段落"&gt;段落&lt;/h2&gt;
&lt;p&gt;这是一段普通的文字。Markdown 让写作变得简单而优雅。你可以轻松地格式化文本，添加链接、图片和代码。&lt;/p&gt;
&lt;h2 id="引用"&gt;引用&lt;/h2&gt;
&lt;h4 id="无归属引用"&gt;无归属引用&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;这是一段引用文字。
&lt;strong&gt;注意&lt;/strong&gt; 你可以在引用中使用 &lt;em&gt;Markdown 语法&lt;/em&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id="有归属引用"&gt;有归属引用&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;不要通过共享内存来通信，而要通过通信来共享内存。&lt;/p&gt;
— &lt;cite&gt;Rob Pike&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="表格"&gt;表格&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;姓名&lt;/th&gt;
&lt;th&gt;年龄&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;张三&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;李四&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="代码块"&gt;代码块&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;hello_world&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;&amp;#34;Hello, World!&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="列表"&gt;列表&lt;/h2&gt;
&lt;h4 id="有序列表"&gt;有序列表&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;第一项&lt;/li&gt;
&lt;li&gt;第二项&lt;/li&gt;
&lt;li&gt;第三项&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="无序列表"&gt;无序列表&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;列表项&lt;/li&gt;
&lt;li&gt;另一个列表项&lt;/li&gt;
&lt;li&gt;还有一个列表项&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="嵌套列表"&gt;嵌套列表&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;水果
&lt;ul&gt;
&lt;li&gt;苹果&lt;/li&gt;
&lt;li&gt;橙子&lt;/li&gt;
&lt;li&gt;香蕉&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;乳制品
&lt;ul&gt;
&lt;li&gt;牛奶&lt;/li&gt;
&lt;li&gt;奶酪&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="数学公式渲染"&gt;数学公式渲染&lt;/h2&gt;
&lt;p&gt;行内公式：(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…)&lt;/p&gt;</description></item><item><title>Shortcodes 示例</title><link>http://kthoughts.click/zh-cn/posts/shortcodes/</link><pubDate>Mon, 08 Jun 2020 08:06:25 +0600</pubDate><guid>http://kthoughts.click/zh-cn/posts/shortcodes/</guid><description>&lt;p&gt;这是一篇示例文章，用于测试各种短代码功能。&lt;/p&gt;
&lt;h2 id="警告框"&gt;警告框&lt;/h2&gt;
&lt;div class="alert success"&gt;
&lt;span&gt;&lt;i data-feather="check-circle"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;这是一个成功类型的警告框。&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="alert danger"&gt;
&lt;span&gt;&lt;i data-feather="alert-octagon"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;这是一个危险类型的警告框。&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="alert warning"&gt;
&lt;span&gt;&lt;i data-feather="alert-triangle"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;这是一个警告类型的警告框。&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;这是一个信息类型的警告框。&lt;/strong&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2 id="图片"&gt;图片&lt;/h2&gt;
&lt;h4 id="普通图片"&gt;普通图片&lt;/h4&gt;
&lt;img src="http://kthoughts.click/posts/shortcodes/boat.jpg"
alt="海上的一艘船"
&gt;
&lt;div style="margin-top: 3rem;"&gt;&lt;/div&gt;
&lt;h4 id="居中对齐的图片"&gt;居中对齐的图片&lt;/h4&gt;
&lt;img src="http://kthoughts.click/posts/shortcodes/boat.jpg"
alt="海上的一艘船"
width="600"
height="400"
class="center"
&gt;
&lt;h2 id="分栏"&gt;分栏&lt;/h2&gt;
&lt;div class="row"&gt;
&lt;div class="col col-sm-12 col-lg-6"&gt;
&lt;h5 id="左侧栏"&gt;左侧栏&lt;/h5&gt;
&lt;p&gt;这是一段左侧栏的文字内容。&lt;/p&gt;
&lt;/div&gt;
&lt;div class="col col-sm-12 col-lg-6"&gt;
&lt;h5 id="右侧栏"&gt;右侧栏&lt;/h5&gt;
&lt;p&gt;这是一段右侧栏的文字内容。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="垂直间距"&gt;垂直间距&lt;/h2&gt;
&lt;p&gt;这是第一行。
&lt;div style="margin-top: 4rem;"&gt;&lt;/div&gt;
这是第二行。与上一行之间有 &lt;code&gt;4rem&lt;/code&gt; 的垂直间距。&lt;/p&gt;
&lt;h2 id="视频"&gt;视频&lt;/h2&gt;
&lt;video class="video-player" id="video-17" playsinline controls&gt;
&lt;source src="http://kthoughts.click/videos/sample.mp4" type="video/mp4" /&gt;
&lt;/video&gt;
&lt;h2 id="mermaid-图表"&gt;Mermaid 图表&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;流程图：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="mermaid" align="left" style="background-color: none; border-radius: 5px;"&gt;
graph LR;
A[硬边] --&gt;|链接文字| B(圆边)
B --&gt; C{决策}
C --&gt;|一| D[结果一]
C --&gt;|二| E[结果二]
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;时序图：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="mermaid" align="center" style="background-color: none; border-radius: 5px;"&gt;
sequenceDiagram
participant Alice
participant Bob
Alice-&gt;&gt;John: 你好 John，你好吗？
loop 健康检查
John-&gt;&gt;John: 与疑病症抗争
end
John--&gt;&gt;Alice: 很好！
John-&gt;&gt;Bob: 你呢？
Bob--&gt;&gt;John: 很好！
&lt;/div&gt;
&lt;h2 id="嵌入-pdf"&gt;嵌入 PDF&lt;/h2&gt;
&lt;div class="pdf-viewer" data-url="http://kthoughts.click/files/resume.pdf" data-hide-paginator="false"
data-hide-loader="false" data-page-num="1"&gt;
&lt;div class="paginator"&gt;
&lt;div class="page-number-indicator"&gt;
&lt;span&gt;Page: &lt;span class="page-num"&gt;&lt;/span&gt; / &lt;span class="page-count"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div class="next-prev-btn"&gt;
&lt;button class="prev btn btn-sm btn-info"&gt;Previous&lt;/button&gt;
&lt;button class="next btn btn-sm btn-info"&gt;Next&lt;/button&gt;
&lt;/div&gt;
&lt;div class="download-btn"&gt;
&lt;a href="http://kthoughts.click/files/resume.pdf" download class="btn btn-sm btn-info download-pdf-btn"&gt;
&lt;i class="fas fa-download"&gt;&lt;/i&gt; Download PDF
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="embed-pdf-container"&gt;
&lt;div class="loading-wrapper"&gt;
&lt;div class="loading"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;canvas class="pdf-canvas"&gt;&lt;/canvas&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>富内容</title><link>http://kthoughts.click/zh-cn/posts/category/sub-category/rich-content/</link><pubDate>Mon, 08 Jun 2020 08:06:25 +0600</pubDate><guid>http://kthoughts.click/zh-cn/posts/category/sub-category/rich-content/</guid><description>&lt;p&gt;这篇示例文章测试以下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;侧边栏中的分类、子分类嵌套&lt;/li&gt;
&lt;li&gt;Hero 图片和其他图片位于文章目录内的 &lt;code&gt;images&lt;/code&gt; 文件夹&lt;/li&gt;
&lt;li&gt;不同媒体渲染，如图片、YouTube 视频、Vimeo 视频等&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="图片示例"&gt;图片示例&lt;/h3&gt;
&lt;img src="http://kthoughts.click/posts/category/sub-category/rich-content/images/forest.jpg"
alt="森林"
class="center"
&gt;
&lt;div style="margin-top: rem;"&gt;&lt;/div&gt;
&lt;h3 id="youtube-视频示例"&gt;YouTube 视频示例&lt;/h3&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ZJthWmvUzzc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div style="margin-top: rem;"&gt;&lt;/div&gt;
&lt;h3 id="vimeo-视频示例"&gt;Vimeo 视频示例&lt;/h3&gt;
&lt;div
style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
&lt;iframe
src="https://player.vimeo.com/video/48912912?dnt=0"
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allow="fullscreen"&gt;
&lt;/iframe&gt;
&lt;/div&gt;</description></item><item><title>简介</title><link>http://kthoughts.click/zh-cn/posts/introduction/</link><pubDate>Mon, 08 Jun 2020 08:06:25 +0600</pubDate><guid>http://kthoughts.click/zh-cn/posts/introduction/</guid><description>&lt;p&gt;你好！这是一篇简介文章。这篇文章测试了以下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hero 图片与文章位于同一目录&lt;/li&gt;
&lt;li&gt;这篇文章应该显示在侧边栏顶部&lt;/li&gt;
&lt;li&gt;文章作者应该与 &lt;code&gt;author.yaml&lt;/code&gt; 文件中指定的一致&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sub-Category</title><link>http://kthoughts.click/zh-cn/posts/category/sub-category/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kthoughts.click/zh-cn/posts/category/sub-category/_index.bn/</guid><description/></item><item><title>Top Category Sample</title><link>http://kthoughts.click/zh-cn/posts/category/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kthoughts.click/zh-cn/posts/category/_index.bn/</guid><description/></item><item><title>পোস্ট সমূহ</title><link>http://kthoughts.click/zh-cn/posts/_index.bn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kthoughts.click/zh-cn/posts/_index.bn/</guid><description/></item></channel></rss>