<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vex LemLib on 当以读书通世事</title><link>https://www.sakaay.com/steam/vex%E7%B3%BB%E5%88%97/vex-lemlib/</link><description>Recent content in Vex LemLib on 当以读书通世事</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 06 Nov 2025 17:24:35 +0800</lastBuildDate><atom:link href="https://www.sakaay.com/steam/vex%E7%B3%BB%E5%88%97/vex-lemlib/index.xml" rel="self" type="application/rss+xml"/><item><title>vex LemLib的入门指南</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-getting-started/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-getting-started/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="visual-studio-code-安装"&gt;Visual Studio Code 安装&lt;/h2&gt;&#10;&lt;p&gt;我们推荐使用&lt;a href="https://code.visualstudio.com/" target="_blank" rel="noopener"&gt;Visual Studio Code&lt;/a&gt;&#10;作为代码编辑器。点击链接并点击下载按钮，如下图所示：&#10;&lt;img src="https://file.sakaay.com/sakaay/vex%20pic/download-visual-studio-code.webp" alt="vscode"&gt;&lt;/p&gt;&#10;&lt;h2 id="pros-安装"&gt;PROS 安装&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://pros.cs.purdue.edu/" target="_blank" rel="noopener"&gt;PROS&lt;/a&gt;&#10;提供了构建和上传程序所需的工具。它可以作为 VSCode 的&lt;a href="https://marketplace.visualstudio.com/items?itemName=sigbots.pros" target="_blank" rel="noopener"&gt;扩展&lt;/a&gt;&#10;进行安装。只需在 VSCode 左侧边栏底部点击方块，搜索“PROS”，然后点击“安装”，如下图所示：&#10;![pros](&lt;a href="https://file.sakaay.com/sakaay/vex%20pic/install-pros.webp" target="_blank" rel="noopener"&gt;https://file.sakaay.com/sakaay/vex%20pic/install-pros.webp&lt;/a&gt;&#10; =400*400)&lt;/p&gt;&#10;&lt;p&gt;扩展下载完成后，你应该会看到如下图所示的通知。点击安装并等待安装完成：&#10;&lt;img src="https://file.sakaay.com/sakaay/vex%20pic/download-pros-toolchain.webp" alt="pros-toolchain"&gt;&lt;/p&gt;</description></item><item><title>vex LemLib的配置</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-configuration/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-configuration/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="引言"&gt;引言&lt;/h2&gt;&#10;&lt;p&gt;既然 LemLib 已安装，我们在开始使用它之前需要对其进行配置。大多数错误都发生在配置期间，因此请密切注意说明。&lt;/p&gt;&#10;&lt;h2 id="传动系统"&gt;传动系统&lt;/h2&gt;&#10;&lt;p&gt;首先，我们需要配置我们传动系统上的电机。每个电机有三个属性：连接的端口、是否反转以及安装的墨盒（又名变速箱）。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;[success] 从机器人的角度来看，电机在机器人的左侧。&lt;/p&gt;</description></item><item><title>vex LemLib的驾驶员控制</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-driver-control/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-driver-control/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="介绍"&gt;介绍&lt;/h2&gt;&#10;&lt;p&gt;在本教程中，我们将学习如何对传动系统进行编程，以实现控制器操纵杆输入。&lt;/p&gt;&#10;&lt;h2 id="控制器"&gt;控制器&lt;/h2&gt;&#10;&lt;p&gt;控制器有两个操纵杆。一个“左”操纵杆和一个“右”操纵杆。每个操纵杆有两个轴，一个“x”轴和一个“y”轴。我们将使用这些轴来控制传动系统。&lt;/p&gt;&#10;&lt;h2 id="坦克驾驶"&gt;坦克驾驶&lt;/h2&gt;&#10;&lt;p&gt;坦克驾驶是一种控制传动系统的简单方法。你为左轮提供动力，为右轮提供动力。在这个例子中，我们将使用“左 y”轴和“右 y”轴。&lt;/p&gt;</description></item><item><title>vex LemLib的PID整定</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-pid-tuning/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-pid-tuning/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="引言"&gt;引言&lt;/h2&gt;&#10;&lt;p&gt;在 LemLib 的大多数运动算法中都使用了 PID。LemLib 使用了两个 PID 控制器：一个用于横向运动，一个用于角运动。本教程将重点介绍这些 PID 的整定。&lt;/p&gt;&#10;&lt;h2 id="什么是-pid"&gt;什么是 PID？&lt;/h2&gt;&#10;&lt;p&gt;如果您不熟悉 PID，请查看 &lt;a href="https://wiki.purduesigbots.com/software/control-algorithms/pid-controller" target="_blank" rel="noopener"&gt;BLRS Wiki&lt;/a&gt;&#10;。&lt;/p&gt;&#10;&lt;p&gt;PID 是一种控制器。它控制一个机械装置。它接受一个数值输入，并返回一个数值输出。数值输入是来自传感器的测量值，数值输出是执行器（例如电机）的功率。&lt;/p&gt;</description></item><item><title>vex LemLib的角运动</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-arc-motion/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-arc-motion/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;转向运动是 LemLib 可以执行的最简单的运动。所有这些运动都会以某种方式使机器人旋转，并且只使用角度 PID 控制器。&lt;/p&gt;&#10;&lt;h2 id="转向角度"&gt;转向角度&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;{cpp:func}&lt;code&gt;turnToHeading &amp;lt;lemlib::Chassis::turnToHeading&amp;gt;&lt;/code&gt; 和 {cpp:class}&lt;code&gt;TurnToHeadingParams &amp;lt;lemlib::TurnToHeadingParams&amp;gt;&lt;/code&gt; API 参考。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;这个运动使机器人转向面对特定的角度。这个角度是绝对的，这意味着将机器人转向面对 90 度将始终使机器人面向相同的方向。&lt;/p&gt;&#10;&lt;p&gt;这个函数有两个必需的参数，要转向的角度（以度为单位）和超时时间。这是运动可以持续的硬时间限制（以毫秒为单位）。在这个时间段过去后，运动将结束，无论它完成得如何。&lt;/p&gt;</description></item><item><title>vex LemLib的横向运动</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-hen-motion/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-hen-motion/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="介绍"&gt;介绍&lt;/h2&gt;&#10;&lt;p&gt;在本教程中，我们将学习如何对传动系统进行编程，以实现控制器操纵杆输入。&lt;/p&gt;&#10;&lt;h2 id="控制器"&gt;控制器&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;View the &lt;a href="https://github.com/LemLib/LemLib/blob/stable/src/main.cpp" target="_blank" rel="noopener"&gt;example project&lt;/a&gt;&#10; if you need more context for setup&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;在大多数自动控制中，你不只是想让底盘原地打转，还想让它在场地中移动。LemLib 提供了两种基于 PID 的运动，专门用于实现这一目标：“moveToPoint”（移动到点）和“moveToPose”（移动到姿态）。这两种运动在内部都使用了角度和横向 PID 控制器，这意味着两者都需要进行调整。&lt;/p&gt;</description></item><item><title>vex LemLib的纯追踪</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-pure-pursuit/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-pure-pursuit/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：如果需要更多设置上下文信息，请查看&lt;a href="https://github.com/LemLib/LemLib/blob/stable/src/main.cpp" target="_blank" rel="noopener"&gt;示例项目&lt;/a&gt;&#10;。&lt;/p&gt;&#10;&lt;h2 id="简介"&gt;简介&lt;/h2&gt;&#10;&lt;p&gt;在本教程中，我们将使用纯追踪（Pure Pursuit）。纯追踪是一种路径跟踪算法，可让机器人快速跟随路径。&lt;/p&gt;&#10;&lt;h2 id="什么是纯追踪"&gt;什么是纯追踪？&lt;/h2&gt;&#10;&lt;p&gt;纯追踪是一种路径跟踪算法，可让机器人快速跟随路径。它的工作原理是在机器人周围绘制一个假想圆，然后找到该圆与路径的交点。然后机器人将朝着交点行驶。如下 GIF 所示：&#10;&lt;img src="https://file.sakaay.com/sakaay/vex%20pic/pursuit.gif" alt="pursuit"&gt;&lt;/p&gt;</description></item><item><title>vex LemLib的运动链</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-motion-chain/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-motion-chain/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="简介"&gt;简介&lt;/h2&gt;&#10;&lt;p&gt;当我们有一条无法用单一运动来描述的路径时，我们会使用运动链。例如，想象一下我们想要像这样绕过一个障碍物：&lt;/p&gt;&#10;&lt;p&gt;如果有人想到在这条路径上使用纯追踪，那是个不错的选择！但有时纯追踪并不是最佳选择。通常，通过图形用户界面创建路径并进行调整需要花费大量时间。考虑一下，如果你在五分钟后有一场比赛，并且需要快速更改路径。那你会怎么做呢？&#10;&lt;img src="https://file.sakaay.com/sakaay/vex%20pic/path-around-obstacle.svg" alt="path-around-obstacle"&gt;&#10;也许你会想到使用两个&lt;code&gt;Chassis::moveToPose&lt;/code&gt;运动，如下所示：&#10;&lt;img src="https://file.sakaay.com/sakaay/vex%20pic/boomerang-chaining-around-obstacle.svg" alt="boomerang-chaining-around-obstacle"&gt;&#10;现在，这将花费更少的编程时间，但由于在中途停止，在比赛中也会花费更多时间。因此，为了加快速度，我们可以不停下来！&lt;/p&gt;</description></item><item><title>vex LemLib的下载</title><link>https://www.sakaay.com/steam/vex/vex-lemllib-download/</link><pubDate>Thu, 06 Nov 2025 17:24:35 +0800</pubDate><guid>https://www.sakaay.com/steam/vex/vex-lemllib-download/</guid><description>&lt;div class="ad-block"&gt;&#10;&lt;ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2897720906666216" data-ad-slot="2668661755" data-ad-format="auto" data-full-width-responsive="true"&gt;&lt;/ins&gt;&#10;&lt;/div&gt;&#10;&lt;h1 id="下载"&gt;下载&lt;/h1&gt;&#10;&lt;h2 id="手动下载"&gt;手动下载&lt;/h2&gt;&#10;&lt;p&gt;LemLib 可以从 LemLib 的 GitHub 仓库中的&lt;a href="https://github.com/LemLib/LemLib/releases" target="_blank" rel="noopener"&gt;发布&lt;/a&gt;&#10;标签页以&lt;a href="https://pros.cs.purdue.edu/" target="_blank" rel="noopener"&gt;PROS&lt;/a&gt;&#10;模板的形式下载。&lt;/p&gt;&#10;&lt;h2 id="仓库下载"&gt;仓库下载&lt;/h2&gt;&#10;&lt;p&gt;如果你不想在每次有新版本发布时都重新下载 LemLib，我们已经设置了一个仓库以使更新过程更容易。&lt;/p&gt;&#10;&lt;p&gt;你可以使用以下命令将仓库添加到你的&lt;code&gt;pros-cli&lt;/code&gt;安装中。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;pros c add-depot LemLib https://raw.githubusercontent.com/LemLib/LemLib/depot/stable.json &lt;span class="c1"&gt;# 添加 LemLib 的稳定仓库&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;pros c apply LemLib &lt;span class="c1"&gt;# 应用 LemLib 的最新稳定版本&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;要更新 LemLib，你只需要运行以下命令：&lt;/p&gt;</description></item></channel></rss>