基于Arduino RP2040的四足机器人DIY:从步态控制到语音识别

基于Arduino RP2040的四足机器人DIY:从步态控制到语音识别 1. 项目概述从零打造一台会“听话”的智能蜘蛛机器人几年前我第一次在开源社区看到SMARS机器人的设计时就被它那种“用最简单结构实现复杂功能”的理念吸引了。它原本是一个模块化的轮式小车后来社区里的大神Kevin Thomas把它改造成了四足蜘蛛形态也就是SMARS Quad Mod。但说实话当时能找到的资料要么是零散的3D模型文件要么是语焉不详的接线图代码和硬件说明经常对不上号想完整复现一个能稳定行走的版本得自己花大量时间去“考古”和试错。这恰恰是很多开源硬件项目爱好者面临的共同痛点想法很酷但实现路径模糊。所以我决定自己动手把这条路彻底走通并且给它加点“现代感”——用上Arduino官方的RP2040 Connect开发板给它装上WiFi和语音控制的大脑。最终的目标是让你能通过手机App远程指挥它前进后退或者直接喊一声“前进”它就能乖乖听话。这不仅仅是做一个玩具更是理解四足机器人步态控制、无线通信和边缘AI语音识别的一次绝佳实践。无论你是对机器人感兴趣的学生还是想找个周末项目练手的硬件爱好者跟着这篇指南你都能收获一台属于自己的、独一无二的智能蜘蛛伙伴。2. 核心硬件选型与设计思路解析2.1 为什么选择Arduino RP2040 Connect作为主控在开始动手之前搞清楚“为什么”选这块板子比直接知道“怎么用”更重要。市面上主控板选择很多比如经典的Arduino Uno、性能更强的ESP32系列我最终锁定RP2040 Connect主要基于以下几点考量首先性能与接口的平衡。RP2040 Connect的核心是Raspberry Pi自研的双核ARM Cortex-M0处理器运行频率高达133MHz这比传统AVR架构的Uno要强大得多。处理8个伺服电机的实时PWM信号、运行WiFi栈甚至进行轻量级的语音关键词识别都需要一定的算力储备RP2040完全能胜任。同时它板载了Nina W102 WiFi/蓝牙模块和麦克风这意味着实现无线控制和语音输入不需要额外焊接任何模块极大简化了电路设计和空间布局。对于蜘蛛机器人这种内部空间紧凑的项目集成度就是王道。其次开发环境的友好度。Arduino生态经过多年发展其IDE和库管理已经非常成熟。RP2040 Connect有官方维护的Arduino核心库这意味着你可以继续使用熟悉的Servo.h、WiFiNINA.h等库来编程学习曲线平缓。相比之下如果使用纯粹的ESP32虽然性能更强、成本更低但在伺服电机控制的精细调校和某些特定库的兼容性上可能需要花费更多时间去适配。最后扩展性与可靠性。板载的QSPI Flash和硬件调试接口为未来可能的功能升级比如更复杂的步态算法留下了空间。官方板卡的品控和电源设计也更为可靠减少了因供电不稳导致伺服电机抖动或主板重启的奇葩问题。在项目初期稳定性往往比极限压榨成本更重要。注意我文中也提到了ESP32-CAM或ESP32开发板的替代方案。如果你预算极其有限且不需要语音功能ESP32确实是性价比之选。但如果你希望一步到位体验完整的WiFi语音控制并且享受更顺畅的开发过程RP2040 Connect是我强烈推荐的选择。2.2 机械结构3D打印件的设计与优化要点SMARS蜘蛛机器人的魅力很大程度上来自于其巧妙的3D打印机械结构。原版设计为了追求极致的简易组装采用了大量的卡扣和轴连接完全避免了螺丝。但在我们的四足版本中为了承受伺服电机反复运动带来的应力和保证长期使用的可靠性我在原版Quad Mod文件基础上做了一些关键修改。核心受力部件的加固伺服电机安装座servo_case.stl和与之配合的框架连接件servo_case_m.stl是受力的核心。我在Thingiverse页面的修改版中略微增加了这些部件关键部位的壁厚和加强筋的密度。特别是在伺服电机输出轴对应的孔位周围增加了同心圆状的加强结构防止长时间运行后孔位变形导致虚位增大影响行走精度。装配公差的调整3D打印存在不可避免的收缩和误差。原设计有些卡扣位置过紧组装时需要用蛮力有损坏风险有些又过松导致关节晃动。我对所有涉及配合的零件如脚部foot.stl/foot_m.stl与伺服摆臂的连接处进行了微调预留了大约0.2mm的装配间隙。这样既能保证组装顺滑又能确保最终连接紧固后没有明显晃动。你在打印时如果发现某个零件特别难装可以用小锉刀或砂纸对接触面进行轻微打磨这是非常正常的后处理操作。电池仓的重新设计这是改动最大的部分。原版的电池仓battery_cover.stl为了追求外观流线型内部空间和开口方向对18650电池的取放很不友好。我重新设计了电池仓的开口方向和内部卡扣结构现在你可以像给遥控器换电池一样轻松地推入和弹出两节串联的18650电池同时保证了电池在机器人运动时不会因震动而松脱。材料选择建议我强烈推荐使用eSUN的ABS材料。相比普通的PLAABS在韧性上表现好得多能够更好地吸收伺服电机启停时的冲击不易发生脆性断裂。而且ABS的打印温度窗口更宽层间结合力更好打印这种带有细小卡扣和薄壁的零件成功率更高。当然如果你只有PLA也可以尝试但建议将填充率提高到25%-30%并且避免在低温环境下运行机器人因为PLA在低温下会更脆。2.3 动力与控制系统电路设计蜘蛛机器人的“心脏”是它的电源和控制系统。8个SG90伺服电机同时工作时的峰值电流可能超过2A因此一个稳定、足额的5V电源是项目成功的基石。我们的电路设计可以拆解为三个部分电源模块、主控模块和驱动模块。1. 电源模块PSU 这是整个系统稳定运行的基石。我们采用两节18650锂电池串联得到标称7.4V满电约8.4V的电压。然后通过一个3A降压模块DC-DC Step-down将其稳定降至5V为所有伺服电机和主控板供电。这里有几个关键细节电池选择务必选择带有保护板的18650电池防止过充、过放和短路。我实测使用两节容量在2600mAh左右的电池可以支持机器人持续行走约30-45分钟。降压模块调压在连接任何负载之前必须先用万用表将降压模块的输出电压精确调整到5.0V具体操作是接上电池打开开关用万用表表笔接触降压模块的“OUT”和“OUT-”端子用小螺丝刀缓慢逆时针旋转模块上的蓝色可调电阻电位器直到电压显示为5.00V。这一步至关重要电压过高会烧毁伺服电机过低则会导致电机无力甚至主控板重启。开关与接线开关应串联在电池的正极B与降压模块的输入正极IN之间。所有电源线电池到模块模块到扩展板建议使用18AWG或更粗的硅胶线以减少大电流下的压降和发热。2. 主控与扩展模块 Arduino RP2040 Connect通过排针插在一块Nano尺寸的I/O扩展板上。这块扩展板的作用是“承上启下”承上它将RP2040的GPIO引脚特别是模拟引脚A0-A3和数字引脚D2-D5以更友好的方式引出。启下它提供了集中的电源接口5V和GND排针和信号接口让我们可以整洁地焊接所有伺服电机的三根线信号、电源、地线。供电连接将降压模块输出的5V和GND分别焊接至扩展板的“5V”和“GND”排针。特别注意还需要从这同一个“5V”排针引一根线到扩展板上给RP2040供电的“VIN”或“5V”引脚具体看扩展板丝印确保主控板获得电力。3. 伺服电机驱动连接 8个SG90伺服电机的接线是体力活更是细心活。每个电机有三根线棕色GND、红色VCC 5V、橙色信号线。我们的接法是所有电机的红线VCC和棕线GND分别并联焊接在扩展板的“5V”和“GND”排针上。建议采用“总线”式焊接即用一根较粗的导线作为5V主干另一根作GND主干然后将每个电机的电源线焊接到主干上这样比每个电机单独焊到排针上更整洁可靠。信号线按照代码中定义的引脚一对一连接。这是最容易出错的地方务必对照下面的表格和图片反复确认腿部名称关节对应伺服电机连接至扩展板引脚对应Arduino RP2040引脚左前腿 (Front Left)髋关节 (Hip)#1A1GPIO26 (ADC0)膝关节 (Knee)#2A0GPIO27 (ADC1)左后腿 (Back Left)髋关节 (Hip)#3A3GPIO28 (ADC2)膝关节 (Knee)#4A2GPIO29 (ADC3)右前腿 (Front Right)髋关节 (Hip)#5D4GPIO6膝关节 (Knee)#6D5GPIO7右后腿 (Back Right)髋关节 (Hip)#7D2GPIO4膝关节 (Knee)#8D3GPIO5实操心得在焊接所有信号线之前先不要安装白色的伺服摆臂。用一个简单的测试程序比如让每个伺服电机在0-180度之间缓慢转动一次依次测试每个引脚对应的电机是否转动正确。确认无误后再将所有电机置于90度位置中位然后再安装摆臂。这样可以避免因接线错误导致电机狂转从而打坏摆臂或齿轮。3. 软件环境搭建与基础固件烧录3.1 Arduino IDE配置与RP2040核心安装工欲善其事必先利其器。要让Arduino IDE认识我们的RP2040 Connect板卡需要安装对应的开发板支持包。安装Arduino IDE如果你还没有安装请前往Arduino官网下载最新版本的IDE1.8.x或2.0.x均可。建议使用2.0以上版本它对库管理和代码提示的支持更好。添加开发板管理网址打开Arduino IDE进入“文件” - “首选项”。在“附加开发板管理器网址”一栏中填入以下网址https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json然后点击“好”保存。安装RP2040核心打开“工具” - “开发板” - “开发板管理器”。在搜索框中输入“rp2040”。在搜索结果中找到由“Earle F. Philhower, III”维护的“Raspberry Pi Pico/RP2040”项目点击安装。这里有一个关键点为了保证与我的代码完全兼容避免因库版本更新导致的意外问题请务必安装版本3.9.5。你可以在开发板管理器右下角选择指定版本进行安装。新版本可能引入不兼容的变更在项目初期使用已验证的版本能避开很多坑。选择开发板与端口安装完成后在“工具” - “开发板”中选择“Raspberry Pi RP2040 Boards” - “Arduino RP2040 Connect”。然后用USB线将板子连接到电脑在“工具” - “端口”中选择新出现的串口通常显示为COMx或/dev/cu.usbmodemxx。3.2 基础控制代码解析与烧录代码是机器人的灵魂。我提供的代码仓库里最基础也是最重要的文件是smars_spider_serial.ino。这个程序实现了通过串口指令控制机器人所有动作是我们测试硬件和后续升级的基石。代码结构解析伺服电机初始化程序开头定义了8个伺服电机对象并在setup()函数中通过attach()函数将它们绑定到具体的引脚上。这里的MIN_PULSE和MAX_PULSE参数通常为500和2500微秒用于校准伺服角度范围如果你的伺服电机转动角度不精确比如只能转170度可以微调这两个值。步态引擎核心是一个状态机。我实现了一个相对简单的三角步态Tripod Gait。在这种步态下机器人始终有三条腿着地形成一个稳定的三角支撑另外三条腿同时抬起向前摆动。具体来说左前、右后、左后腿为一组右前、左后、右后腿为另一组两组交替支撑和摆动实现前进、后退和转向。代码中通过walk()函数实现步态序列通过计算每个伺服电机在步态周期中的角度变化来实现平滑运动。串口命令解析在loop()函数中程序持续监听串口。当你从IDE的串口监视器发送单个字符时会触发对应的动作。例如S站立。所有腿调整到初始站立姿态。F前进。B后退。L左转。R右转。X停止所有动作。烧录与测试步骤从我的GitHub仓库下载完整的项目代码。用USB线连接RP2040 Connect和电脑。此时请确保机器人的电源开关是关闭的伺服电机仅通过USB供电电流有限进行测试这是安全做法。在Arduino IDE中打开smars_spider_serial.ino点击上传按钮。上传成功后打开串口监视器波特率设置为9600。你会看到初始化信息并可能听到伺服电机归位的轻微响声。在输入框内输入S并发送机器人应该会调整到站立姿势。此时你可以尝试发送F、B等指令观察每条腿的运动是否符合预期前进时腿应该向前摆动。踩坑记录第一次上传代码时可能会遇到“上传错误”或板子识别不到的情况。请检查a) USB线是否支持数据传输有些线只能充电b) 在点击上传按钮的瞬间快速按下并松开RP2040 Connect板上的“BOOT”按钮使其进入下载模式。多试几次熟悉这个节奏。4. WiFi遥控功能的实现与手机App配置让蜘蛛机器人“脱线”奔跑通过WiFi用手机控制是项目的第一个高光时刻。这依赖于RP2040 Connect内置的WiFi NINA模块和配套的网络服务程序。4.1 网络服务模式与通信协议选择我采用了SoftAP软件接入点模式。即让机器人自己创建一个WiFi热点SSID名为smars_spider你的手机直接连接这个热点。这种模式的优点是无需外部路由器在任何地方都可以使用不受网络环境限制。延迟极低因为是点对点直连控制指令的传输延迟通常在毫秒级几乎感觉不到滞后。配置简单手机连接后打开App即可不需要在代码里配置你家WiFi的SSID和密码。通信协议上我使用了简单的UDP协议。相比TCPUDP是无连接的发送小数据包如控制指令开销更小速度更快对于实时控制场景更合适。代码中机器人会开启一个UDP端口我设置为8888持续监听来自手机App的指令数据包。4.2 手机控制端App的选择与配置你不需要自己开发App。我们利用一个现成的、功能强大的开源项目Arduino Car。这款App设计初衷就是用来通过WiFi控制各种小车、机器人它支持自定义控制界面和通信协议完美契合我们的需求。获取与安装在手机的官方应用商店Google Play Store或Apple App Store搜索“Arduino Car”并安装。如果找不到也可以从其GitHub仓库下载APK文件进行安装。连接机器人首先给机器人上电。等待约30秒后用手机的WiFi设置搜索并连接名为smars_spider的网络通常没有密码。配置App打开Arduino Car App。首次使用它会要求你配置连接。点击界面上的齿轮或“设置”图标进入配置页面。关键配置如下Connection Type选择UDP。IP Address填写192.168.4.1。这是RP2040在SoftAP模式下默认的IP地址。Port填写8888与代码中设置的UDP端口一致。Control Mode选择Gamepad游戏手柄模式或Buttons按钮模式看个人喜好。游戏手柄模式用虚拟摇杆控制更直观。指令映射这是最关键的一步告诉App按下某个键时发送什么字符给机器人。在App的设置里找到“Button Configuration”或“Command Mapping”将“Up”按钮映射到发送字符F。将“Down”按钮映射到发送字符B。将“Left”按钮映射到发送字符L。将“Right”按钮映射到发送字符R。将“Stop”或某个功能键映射到发送字符X。你也可以配置“Stand”键发送S。保存配置后返回主控制界面。现在你应该可以通过手机上的按钮或摇杆实时控制蜘蛛机器人前进、后退、左转、右转和停止了看着它在你指尖的指挥下灵活移动成就感满满。4.3 WiFi控制代码烧录与深度优化将smars_spider_wifi.ino代码上传到机器人。这个代码在串口版本的基础上增加了WiFi初始化和UDP监听逻辑。上传前有几点需要注意首次上传因为WiFi库和网络服务需要占用一定空间请确保选择了正确的板卡和端口。上传过程可能比基础串口程序稍长。功耗管理在实际移动中WiFi模块持续运行会消耗不少电量。在代码中我并没有启用任何深度睡眠功能因为需要持续响应指令。一个实用的优化是在代码中加入一个“空闲超时”检测。例如如果超过30秒没有收到任何UDP指令则让机器人自动执行X停止命令并可能将WiFi模块切换到低功耗模式直到收到下一个唤醒指令。这可以显著延长电池续航。信号稳定性SoftAP模式的信号覆盖范围有限通常在空旷无遮挡环境下约10-15米。如果控制距离变短或指令丢失可能是环境干扰如2.4GHz WiFi设备过多或机器人机身尤其是电池和金属部件对天线产生了遮挡。可以尝试调整机器人体内WiFi天线部分的位置或者为RP2040 Connect板载的陶瓷天线区域留出更多空间。5. 边缘语音控制让机器人“听懂”你的话如果说WiFi控制赋予了机器人“远程操控”的能力那么语音控制则赋予了它“自然交互”的雏形。我们不是在云端进行复杂的语音识别而是在资源有限的RP2040单片机上实现本地化的关键词识别Keyword Spotting。这意味着你的语音指令“前进”、“后退”等是在机器人本地被识别的无需网络响应更快隐私性也更好。5.1 语音识别模型的工作原理与获取我们借助Edge Impulse这个在线机器学习平台来生成一个轻量级的语音识别模型。其核心流程是数据采集与标注在平台上录制或上传数十次“前进”、“后退”、“左转”、“右转”等关键词的音频样本并为其打上标签。特征提取平台将音频信号转换为MFCC梅尔频率倒谱系数等特征图这些特征能有效表征语音的关键信息同时大幅降低数据维度。模型训练使用一种称为“神经网络分类器”的算法如基于卷积神经网络CNN的模型对这些特征进行训练让模型学会将特定的声音模式与对应的标签关联起来。模型部署训练完成后平台可以将模型导出为适用于嵌入式设备的格式比如一个C库文件。为了让大家快速上手我已经在Edge Impulse上创建并训练好了一个包含“forward”、“backward”、“left”、“right”四个关键词的公开模型。你无需自己训练可以直接下载使用。5.2 模型库的集成与代码适配下载模型库访问我提供的Edge Impulse公开项目链接。进入“Deployment”页面选择“Arduino Library”作为部署类型然后点击“Build”按钮。平台会生成一个.zip格式的库文件供你下载。安装库到Arduino IDE在Arduino IDE中点击“项目” - “加载库” - “添加.ZIP库…”然后选择你刚刚下载的.zip文件。安装成功后你可以在“项目” - “加载库” - “管理库…”中搜索到名为project-name_inferencing的库project-name是你在Edge Impulse创建的项目名。理解语音控制代码打开smars_spider_voice.ino文件。与之前的代码相比它主要增加了以下部分麦克风初始化调用PDM库配置RP2040 Connect板载的麦克风进行音频采样。推理循环在主循环中不断采集一小段音频例如1秒钟将其送入Edge Impulse生成的推理库进行处理。结果判断推理库会输出一个识别结果包含识别到的关键词及其置信度。代码中会设置一个置信度阈值例如0.7只有当置信度高于此阈值时才认为识别有效并触发相应的机器人动作如识别到“forward”则执行前进函数。5.3 语音控制固件烧录与现场调试将smars_spider_voice.ino代码上传到机器人。上传成功后机器人即进入语音监听模式。现场调试技巧环境噪音首次测试尽量在安静的环境中进行。背景噪音过大如风扇声、人声嘈杂会影响模型识别准确率。发音清晰度以平稳、清晰的语调说出关键词。由于模型是基于英文单词训练的发音尽量标准。你可以通过串口监视器波特率115200查看实时的识别结果和置信度这有助于你了解机器人的“听力”情况。阈值调整如果发现机器人太“敏感”容易误触发或太“迟钝”很难触发可以修改代码中的置信度阈值CONFIDENCE_THRESHOLD。提高阈值如从0.7调到0.8会让识别更严格降低阈值则更宽松。增加唤醒词一个更完善的交互是加入“唤醒词”比如先说“你好蜘蛛”等机器人用LED或声音回应后再下达行动指令。这可以避免它在日常环境中被无关对话误触发。这需要你在Edge Impulse模型中增加“唤醒词”类别并重新训练。个人体会将语音识别模型成功跑在RP2040这样的小型MCU上并实时控制8个伺服电机是一次非常有趣的边缘AI实践。你会直观地感受到算力、内存与功能之间的权衡。当前模型只能识别4个词如果想增加更多指令如“跳舞”、“坐下”就需要更复杂的模型可能会接近RP2040的内存极限。这时就需要考虑优化模型结构或使用更高级的模型压缩技术了。6. 机械总装、校准与最终测试当所有电子部分和代码都准备就绪后最后一步就是将它们优雅地塞进3D打印的躯壳里并完成精细的机械校准。6.1 分步组装流程与技巧遵循正确的组装顺序可以事半功倍避免返工安装腿部伺服电机将8个SG90伺服电机压入对应的servo_case打印件中。确保电机线从设计好的线槽中穿出。然后将servo_case安装到frame_quad框架上。在此阶段先不要涂抹任何胶水。用手按压检查结合是否紧密。如果发现有明显松动再在关键接触点使用少量热熔胶加固。过早使用胶水会使得后续调整变得困难。连接电路与初步测试将框架与chassis_quad底盘合体。然后按照第2.3章节的接线图将所有伺服电机的信号线焊接到扩展板上。务必在焊接电源线红、棕之前先完成3.2章节的伺服电机中位测试。使用USB供电运行测试程序确保每个电机都能独立、正确地响应指令并回到90度位置。安装伺服摆臂与脚部确认所有电机处于90度中位后断开USB供电。将白色的十字形伺服摆臂随伺服电机附赠以垂直于框架的方向安装到每个电机的输出轴上。然后将3D打印的servo_arm连接杆和foot脚组装起来再套到白色的伺服摆臂上。用附赠的小螺丝固定。关键技巧拧紧这颗固定螺丝时一定要使用合适的螺丝刀力度要适中感觉到阻力明显增加后再拧四分之一圈即可。过度拧紧会压迫伺服电机内部的齿轮导致阻力增大甚至损坏。安装电源与控制核心将焊接好的降压模块、开关、电池座等PSU组件安装到psu_holder支架上然后整体放入底盘前部的空间。接着将插好RP2040 Connect的扩展板用M3螺丝或尼龙柱固定在底盘预留的安装孔上。整理线束用扎带或热熔胶将过长的电线固定在底盘内侧避免运动时与活动部件干涉。合盖与最终检查盖上battery_cover电池盖。再次检查所有螺丝是否紧固线材是否有被挤压的风险。打开电源开关聆听伺服电机是否发出异常的滋滋声这是电源不稳或负载过重的迹象。6.2 运动校准与步态微调即使机械安装完全正确由于伺服电机个体差异和安装误差机器人的初始姿态和步态也可能不理想。需要进行软件校准静态姿态校准在smars_spider_serial.ino代码中找到控制每个伺服电机初始角度的数组或变量通常是在stand()函数里。通过串口监视器发送S指令让机器人站立。从正面和侧面观察理想状态是机身水平所有脚掌平贴地面。如果某条腿过高或过低就微调对应伺服电机的初始角度值增加或减少几度重新上传代码测试直到达到最佳站立姿态。步态幅度与速度微调在walk()函数中控制步态的关键参数是伺服电机的摆动角度step_height抬腿高度和摆动周期step_duration一步的时间。如果机器人走路时摇晃剧烈可以尝试减小step_height。如果走路拖沓无力可以尝试减小step_duration来增加速度但要注意伺服电机速度极限过快会导致失步。一个更高级的调整是引入“轨迹规划”让伺服电机不是简单地匀速转动而是以缓启动、缓停止的方式运动这样动作会更柔和、更省电。6.3 功能集成测试与问题隔离在最终组装完成后进行全功能测试串口控制测试通过USB连接电脑用串口监视器发送所有指令S, F, B, L, R, X确保每个动作都准确无误。WiFi控制测试切换到smars_spider_wifi固件并上传。断开USB使用电池供电。手机连接smars_spider热点用Arduino Car App控制测试在无线状态下的响应速度和稳定性。语音控制测试切换到smars_spider_voice固件并上传。在安静环境下用清晰的英文发出指令观察响应情况。测试中常见问题与隔离方法问题某个方向行走不协调像在“划水”。排查单独测试该方向运动所涉及的那组腿三角步态中的一组三条腿检查它们的伺服电机转动方向是否正确。在代码中可能需要将对应电机的角度映射反转例如用180 - angle。问题语音识别率低。排查首先通过串口日志查看置信度。如果置信度一直很低可能是环境噪音大或麦克风被遮挡。尝试在更安静的环境测试并确保机器人外壳没有完全盖住RP2040板载的麦克风小孔。如果置信度波动大可以尝试重新录制更清晰的语音样本训练模型。问题运行一段时间后伺服电机发热严重或动作卡顿。排查立即断电检查机械结构是否有卡滞如线缆缠绕、零件干涉。用手轻轻转动每个关节感受阻力。如果机械顺畅则可能是电源问题。用万用表测量在机器人运动时伺服电机供电端的电压是否被拉低至5V以下。如果是说明电池电量不足或降压模块/导线无法提供持续3A电流需要检查电池状态或更换更粗的电源线。完成所有这些步骤后你的基于Arduino RP2040的SMARS蜘蛛机器人就正式诞生了。它不仅是一个能行走的机器更是你亲手构建的融合了机械设计、电路知识、嵌入式编程和边缘AI应用的智慧结晶。