基于树莓派与ROS打造四足机器人:从硬件搭建到SLAM导航全解析
1. 项目缘起从吃灰的树莓派到能跑能跳的机器狗手头那块树莓派4B是不是已经在你抽屉里躺了快一年了当初兴致勃勃买回来想着要搞智能家居中枢、做NAS、甚至跑个服务器结果最后大概率是跟着教程点亮了个LED灯然后就束之高阁成了“吃灰派”。我也有过同样的经历直到我遇到了PuppyPi这个开源四足机器人项目。它就像一剂强心针让我那块落满灰尘的树莓派瞬间“活”了过来从一个简单的单板计算机蜕变成了一只能够行走、探索甚至进行简单交互的机器狗。这不仅仅是复活了一块硬件更是打开了一扇通往机器人技术、实时控制与智能感知世界的大门。PuppyPi项目的核心魅力在于它提供了一个完整、低成本且开源的框架让你能基于树莓派和ROS机器人操作系统快速搭建一个属于自己的四足机器人平台。你不再需要从零开始设计机械结构、编写底层电机驱动和复杂的运动学算法。项目已经提供了3D打印的机械狗身体设计、基于PCA9685舵机控制板的驱动方案以及一套在ROS中实现的基本步态控制程序。这意味着即使你是一个机器人领域的初学者只要具备基本的动手能力焊接、拧螺丝和编程基础主要是Python就能在几个周末的时间里让你的机器狗“站起来”并完成基础的行走动作。而对于有经验的开发者PuppyPi更是一个绝佳的试验平台你可以在其上集成激光雷达实现SLAM建图导航加装摄像头做视觉跟随或者用IMU数据优化步态稳定性探索ROS中导航、感知、控制等各个模块的深度融合。2. 核心设计思路为什么是树莓派ROS舵机的组合在决定让树莓派“变身”之前我们需要理解PuppyPi这个方案背后的设计逻辑。市面上机器人平台方案很多从乐高Mindstorms到更专业的DJI RoboMaster为何这个开源项目选择了这样的技术栈这背后是一系列针对爱好者、教育者和原型开发者的精准权衡。2.1 计算核心树莓派的不可替代性首先计算核心选择树莓派几乎是必然的。对于个人和小型项目而言树莓派在性能、功耗、社区支持和成本之间取得了最佳平衡。以树莓派4B为例其四核Cortex-A72处理器和最高8GB的内存足以流畅运行一个完整的ROS Noetic或ROS2 Humble桌面环境。这意味着你可以在同一块板卡上同时运行机器人的“大脑”决策、规划和“小脑”运动控制、传感器融合无需额外的上位机。其丰富的GPIO、USB、CSI/DSI接口为连接各种传感器摄像头、激光雷达、IMU和执行器舵机控制板提供了极大便利。更重要的是其庞大的社区和近乎无限的教程资源能让你在遇到任何问题时快速找到解决方案极大降低了学习和开发门槛。2.2 机器人“中枢神经”ROS的价值所在如果说树莓派是机器狗的身体和基础算力那么ROS就是其灵魂和神经系统。ROS不是一个传统意义上的操作系统而是一个运行在Linux之上的分布式通信框架和工具集。它为机器人开发提供了标准化的通信机制话题、服务、动作、丰富的功能包如导航、感知、仿真和强大的调试可视化工具如Rviz、rqt。在PuppyPi项目中使用ROS带来了几个决定性优势模块化开发你可以将机器狗的舵机控制、IMU数据读取、步态算法、手柄遥控等功能拆分成独立的节点Node。每个节点专注于一件事通过ROS的话题Topic进行数据交换。例如一个节点发布/cmd_vel速度指令话题另一个订阅该话题的节点将其解算成12个舵机的具体角度并执行。这种松耦合的设计让代码易于维护、调试和扩展。丰富的生态当你想让机器狗具备自主导航能力时无需从头编写复杂的SLAM同步定位与建图算法可以直接集成ROS中成熟的gmapping、cartographer或slam_toolbox功能包。想加视觉识别OpenCV和vision_opencv功能包已经为你准备好了接口。ROS生态就像乐高积木提供了大量预制的、经过验证的“积木块”。仿真与调试在将代码部署到实体机器人上之前你可以利用ROS的Gazebo仿真环境在电脑上构建一个虚拟的PuppyPi机器狗模型测试步态算法和导航逻辑这能避免因代码错误导致的硬件损坏比如舵机堵转。Rviz工具则可以实时可视化机器狗的关节状态、传感器数据甚至规划路径让调试过程从“盲人摸象”变为“一目了然”。2.3 执行机构舵机方案的权衡PuppyPi选择了最普及的舵机Servo作为关节执行器而非更高级的直流无刷电机。这同样是基于成本、易用性和项目定位的考虑。舵机是一个集成了电机、减速齿轮和位置反馈的闭环控制单元你只需要发送一个PWM信号脉宽调制就能命令它转动到指定角度控制接口极其简单。一个MG996R这类金属齿轮舵机的成本仅需几十元而一个具备同等扭矩和精度的无刷电机加驱动器方案成本可能高出十倍不止。对于实现四足机器人的基本行走、蹲起、摇头等动作舵机完全够用。当然舵机也有其局限性比如响应速度相对较慢、存在回差、长时间大负载运行易发热等但对于学习和原型验证阶段这些是可以接受的折衷。注意舵机的选型至关重要。PuppyPi的腿部关节需要承受整机重量和运动冲击必须选择扭矩足够建议≥15kg·cm且是金属齿轮的舵机如MG996R或更好的型号。塑料齿轮舵机在第一次摔倒时可能就会扫齿报废。3. 硬件搭建与核心电路解析理论清晰后我们进入动手环节。硬件组装是第一个实实在在的挑战它决定了机器狗物理结构的稳定性和可靠性。3.1 物料清单与工具准备你需要准备的不仅仅是零件还有正确的工具核心控制器树莓派4B4GB或8GB版本为佳以及配套的SD卡至少16GBClass 10以上、电源5V/3A以上推荐官方电源。结构件PuppyPi的3D打印文件可在其GitHub仓库找到。建议使用PETG或ABS材料打印它们比PLA更具韧性和耐热性。你需要打印身体框架、四条腿的所有连杆件、舵机座等。执行器12个金属齿轮舵机每条腿3个髋关节侧摆、髋关节前后摆、膝关节。务必统一型号避免因性能差异导致步态不稳。驱动与控制PCA9685舵机控制板I2C接口可同时控制16路舵机这是连接树莓派和众多舵机的桥梁。电源系统这是最容易出问题的地方。舵机在运动时瞬间电流很大不能直接用树莓派的5V引脚供电。你需要一个独立的2S或3S锂电池7.4V或11.1V作为动力电源通过一个降压模块如LM2596降至6V左右给PCA9685板和所有舵机供电。树莓派则单独由其自身的5V电源供电。两个电源的地GND必须共地即连接在一起否则I2C通信会失败。辅助传感器可选但推荐MPU6050六轴陀螺仪加速度计用于感知身体姿态是实现平衡和更高级步态的基础。工具烙铁、焊锡、热缩管、螺丝刀套装、杜邦线公对公、公对母、扎带、万用表。3.2 机械组装要点与避坑指南组装过程像拼装一个复杂的立体模型需要耐心和细致。预处理打印件所有螺丝孔位特别是舵机输出轴的D形孔最好用合适尺寸的钻头或锉刀稍微修整一下确保舵机能严丝合缝地嵌入避免强行压入导致塑料件开裂。舵机校准与安装在将舵机固定到结构件上之前务必进行中位校准。用PCA9685板或一个简单的舵机测试器给舵机发送一个让输出轴处于中间位置的PWM信号通常对应1500us脉宽然后再将其安装到机械结构中并使连杆处于设计的“零位”。这一步能极大简化后续软件中的角度偏移校准。走线与固定12个舵机意味着至少36根线电源正、负、信号。混乱的线缆不仅是美观问题更可能在运动中被关节夹住扯断。强烈建议使用硅胶线并沿着机械臂用扎带仔细固定。为每条腿的线缆编成线束预留出足够的活动余量。电源连接按照“动力电源 - 降压模块 - PCA9685 VCC/GND”和“树莓派5V电源 - 树莓派”分别供电。然后用一根杜邦线将树莓派的GND引脚与PCA9685的GND引脚连接实现共地。PCA9685的V引脚连接降压模块输出的~6VVCC引脚连接树莓派的3.3V或5V为板载逻辑电路供电接3.3V更安全。3.3 电路连接原理图解析理解电路连接原理能帮你快速排查问题树莓派 (I2C主设备) | |--- SDA (GPIO2) --- PCA9685 SDA |--- SCL (GPIO3) --- PCA9685 SCL |--- GND ----------- PCA9685 GND (共地关键) | |--- (独立5V电源供电)动力锂电池 (7.4V/11.1V) | |--- 降压模块 (输出调至~6.0V) | |--- V --- PCA9685 V (及所有舵机正极) |--- GND -- PCA9685 GND (及所有舵机负极)PCA9685 | |--- PWM0~PWM11 --- 12个舵机的信号线 (Signal)MPU6050同样通过I2C连接到树莓派注意其地址可能与PCA9685冲突默认都是0x40通常需要改变PCA9685的地址通过板载跳线帽设置。实操心得第一次上电前用万用表仔细检查所有电源连接确保没有短路。可以先不安装舵机只连接PCA9685和树莓派在树莓派上用i2cdetect -y 1命令检测是否能正确识别到PCA9685的设备地址如0x40这是验证硬件连接是否成功的第一步。4. 软件环境搭建与ROS功能包部署硬件准备就绪后我们进入软件世界。一个稳定、配置正确的软件环境是项目成功的一半。4.1 操作系统与ROS安装推荐使用Ubuntu Server 20.04 LTS搭配ROS Noetic这是目前与树莓派4B兼容性最成熟稳定的组合。虽然Ubuntu 22.04/24.04和ROS2 Jazzy是未来趋势但在树莓派上其资源消耗和软件包成熟度对新手仍不友好。烧录系统使用Raspberry Pi Imager工具选择Ubuntu Server 20.04 LTS (64-bit)镜像烧录到SD卡。在烧录前Imager的高级设置中齿轮图标可以预先开启SSH并设置Wi-Fi这样树莓派启动后就能直接通过网络访问无需连接键盘鼠标。基础配置首次SSH登录后更新系统sudo apt update sudo apt upgrade -y。设置时区、扩展文件系统等。安装ROS Noetic按照ROS官网的步骤安装。核心命令序列如下sudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo apt update sudo apt install ros-noetic-desktop-full # 安装完整桌面版包含Rviz、Gazebo等工具安装完成后记得将ROS环境变量添加到bashrc中echo source /opt/ros/noetic/setup.bash ~/.bashrc source ~/.bashrc。安装依赖工具安装构建工具和Python包管理工具sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential。然后初始化rosdepsudo rosdep init rosdep update。4.2 PuppyPi功能包与依赖安装PuppyPi的源代码通常托管在GitHub上。我们需要在工作空间中克隆并编译它。创建工作空间mkdir -p ~/puppypi_ws/src cd ~/puppypi_ws/src克隆代码使用git克隆PuppyPi的主功能包通常它还会依赖一些ROS标准包和第三方驱动。git clone https://github.com/puppypi-author/puppypi_ros.git # 可能还需要克隆舵机驱动、IMU驱动等包安装依赖并编译回到工作空间根目录使用rosdep自动安装缺失的系统依赖然后编译。cd ~/puppypi_ws rosdep install --from-paths src --ignore-src -r -y catkin_make编译成功后同样需要将工作空间的setup文件加入环境变量echo source ~/puppypi_ws/devel/setup.bash ~/.bashrc source ~/.bashrc。4.3 关键配置文件解析与校准软件包中最重要的部分之一是配置文件它定义了机器狗的物理参数和舵机映射。puppypi_description/urdf/puppypi.urdf这是机器狗的URDF模型文件定义了它的连杆、关节、质量、惯性矩阵等物理属性。Rviz和Gazebo都依赖这个文件进行可视化或仿真。你需要确保其中的尺寸与你实际打印的零件尺寸一致。puppypi_control/config/servos_config.yaml这是核心的舵机配置文件。它定义了每个舵机对应的PCA9685通道、安装方向、角度偏移Offset和角度限位Limit。校准工作主要在这里进行。front_left_hip_yaw: channel: 0 direction: 1 # 1或-1控制旋转方向 offset: 0.0 # 弧度制偏移用于补偿机械安装误差 lower_limit: -0.8 # 弧度 upper_limit: 0.8 # 弧度校准流程启动舵机控制节点后通过ROS服务或话题发送指令让每个关节缓慢运动到其机械零位即连杆与机身成设计角度的位置观察实际位置与理论位置的偏差然后将偏差值填入offset字段。这是一个需要反复微调的精细过程。5. 基础运动控制与步态算法初探让机器狗动起来是第一个激动人心的时刻。我们从最简单的单关节控制逐步深入到复杂的步态协调。5.1 ROS控制框架解析PuppyPi的ROS控制框架通常遵循以下架构硬件接口层(puppypi_hardware)这个节点负责与真实的物理硬件通信。它订阅一个名为/joint_states的目标关节角度话题然后通过PCA9685的驱动库如Adafruit_PCA9685计算出对应的PWM脉宽发送给各个舵机。同时它也可以发布当前的关节实际角度可能来自舵机反馈或估算。控制器管理器(controller_manager)这是ROS control框架的核心。它加载并管理不同类型的控制器例如joint_state_controller用于发布关节状态和joint_trajectory_controller用于接收轨迹指令并插值。运动规划层这是上层应用。你可以编写一个节点根据手柄输入/joy话题生成/cmd_vel身体期望的线速度和角速度或者根据预设的步态序列生成周期性的关节轨迹。这个节点会通过action或service调用controller_manager的控制器最终驱动硬件。5.2 实现第一个动作站立与蹲下在深入步态前我们先实现机器狗从趴下到站立的动作。这本质上是让所有12个关节运动到一组预设的角度。在配置文件中定义两组角度pose_lying趴下和pose_standing站立。编写一个简单的Python脚本创建一个FollowJointTrajectoryAction的客户端。构建一条从当前姿态到目标姿态的轨迹JointTrajectory轨迹点可以只有一个即直接跳变但为了平稳最好插入几个中间点并设置合适的时间。发送轨迹目标控制器管理器会平滑地执行这条轨迹。5.3 对角步态的实现原理四足机器人的步态多种多样其中“对角步态”是行走时最稳定、最常用的一种。其核心原理是任何时候机器狗都有三条腿处于支撑相接触地面一条腿处于摆动相抬起向前迈步并且处于摆动相的两条腿在对角线上。步态周期与相位将一个完整的步伐循环划分为一个周期。将对角的两条腿如左前右后分为一组A组另一组对角腿右前左后为B组。在一个周期内A组和B组交替处于支撑相和摆动相。足端轨迹规划对于处于摆动相的腿其足端脚在空间中的运动轨迹需要精心规划。通常是一个倒扣的“半椭圆”形快速抬起水平向前移动缓慢放下。这可以通过贝塞尔曲线或多项式插值来实现目的是减少落地时的冲击。身体重心调整当一条腿抬起时身体重心会向剩余三条腿构成的支撑三角形中心移动以保持稳定。这需要通过逆运动学实时计算其他支撑腿关节的微小调整来实现。ROS中的实现创建一个步态生成节点。它内部维护一个定时器在每个控制周期如10ms根据当前时间计算步态相位。根据相位和/cmd_vel指令计算每条摆动腿足端的目标位置。通过逆运动学Inverse Kinematics, IK将足端位置转换为12个关节的角度。PuppyPi的每条腿可简化为一个3自由度的串联机械臂其IK有解析解计算速度快。将计算出的关节角度发布到/joint_states话题或通过控制器接口发送。注意事项逆运动学计算中关节角度可能存在多解。需要根据机械结构限制如膝关节通常不会向前弯曲选择一个合适的解。同时要时刻进行关节限位检查防止计算出的角度超出舵机物理范围。6. 进阶功能集成SLAM建图与自主导航初试当你的机器狗能稳健行走后就可以赋予它“眼睛”和“大脑”让它能认识环境并自主行动。SLAM和导航是机器人技术的皇冠明珠。6.1 传感器选型与集成激光雷达要让机器狗实现自主导航首先需要感知环境。对于室内场景2D激光雷达如RPLIDAR A1或Slamtec的雷达是性价比最高的选择。它通过旋转发射激光束并接收反射得到周围环境在同一个平面上的距离信息生成一个二维的“点云”图。安装将雷达安装在机器狗身体顶部中心位置确保其扫描平面水平且前方无遮挡。ROS驱动雷达厂商通常会提供ROS驱动包。安装后启动驱动节点它会将雷达数据发布到/scan话题sensor_msgs/LaserScan类型。你可以在Rviz中订阅这个话题看到实时的激光扫描线。6.2 使用SLAM Toolbox构建地图slam_toolbox是ROS中一个强大且易于使用的SLAM算法包它融合了激光雷达数据和机器狗自身的运动估计来自舵机编码器反馈或IMU的里程计信息来构建地图。安装sudo apt install ros-noetic-slam-toolbox配置启动文件你需要编写一个.launch文件启动slam_toolbox的在线同步建图节点。关键配置包括指定/scan话题名。指定机器狗的基坐标系base_frame通常是base_link和雷达坐标系laser_frame。设置地图分辨率、大小等参数。建图操作roslaunch puppypi_navigation slam.launch启动后在Rviz中打开配置好的视图添加LaserScan、Map和RobotModel等显示项。然后通过手柄或键盘遥控节点如teleop_twist_keyboard控制机器狗在环境中缓慢、匀速地行走尽可能走遍所有区域并多做一些回环比如回到起点。slam_toolbox会实时将/scan数据匹配并融合到地图中。当你探索完整个环境后使用地图保存服务rosrun map_server map_saver -f ~/my_map这会生成my_map.pgm地图图像和my_map.yaml地图元数据两个文件。6.3 基于AMCL的定位与导航有了地图后下一步是让机器狗知道自己在地图中的位置定位然后规划一条路径到达目标点导航。ROS的move_base框架配合amcl自适应蒙特卡洛定位算法是经典方案。定位 (AMCL)AMCL使用粒子滤波算法。它在地图上撒下许多“粒子”每个粒子代表一个可能的位置和朝向。随着机器狗移动和激光雷达数据不断更新与地图匹配度低的粒子被淘汰匹配度高的粒子被复制最终所有粒子会收敛到机器狗的真实位置附近。启动AMCL节点需要提供之前保存的地图。导航 (move_base)move_base是一个功能包它整合了全局路径规划如global_planner负责计算从当前位置到目标点的最优路径和局部路径规划如dwa_local_planner负责根据实时传感器信息避开动态障碍物并跟踪全局路径。你需要为你的机器狗配置一系列参数文件.yaml包括代价地图参数、机器人外形尺寸、速度加速度限制、规划器参数等。这是一个需要大量调试和调参的过程。发送导航目标在Rviz中使用“2D Nav Goal”工具在地图上点击一个点并拖动方向即可向move_base发送一个目标位姿。如果一切配置正确你会看到一条绿色的全局路径和红色的局部路径生成机器狗开始自动向目标点移动并绕开障碍物。实操心得导航调参是个“玄学”。如果机器狗在原地打转、撞墙或者规划不出路径请按以下顺序排查首先检查/scan数据是否正常、坐标系变换TF树是否正确使用rosrun tf view_frames生成PDF查看其次检查AMCL的定位是否稳定粒子是否收敛最后仔细调整move_base的代价地图膨胀半径、机器人轮廓、速度限制等参数。从较小的速度开始测试是明智的选择。7. 常见问题排查与性能优化实录在PuppyPi的整个搭建和调试过程中你会遇到无数个“为什么不动了”的时刻。这里记录了一些典型问题及其解决方案。7.1 硬件与底层通信问题问题现象可能原因排查步骤与解决方案舵机完全不动或乱抖1. 电源功率不足或电压不对。2. PCA9685与树莓派I2C通信失败。3. 舵机信号线接触不良。1.测电压用万用表测量PCA9685 V和GND之间的电压运动时是否跌落到5V以下检查电池电量确保降压模块输出稳定。2.查I2C在树莓派上运行i2cdetect -y 1看是否能扫描到PCA9685的地址默认0x40。若无检查接线、共地尝试降低I2C总线速度。3.查信号用逻辑分析仪或另一个舵机单独测试信号线。树莓派频繁重启或死机1. 树莓派电源5V被动力电源干扰。2. 峰值电流导致电压骤降。1.严格隔离确保树莓派使用独立的、高质量的5V/3A电源适配器供电切勿从动力电源降压后取电给树莓派。2.加强滤波在树莓派电源输入端并联一个大电容如1000uF以缓冲电流冲击。只有部分舵机能动1. 个别舵机损坏或线缆断路。2. PCA9685某个通道损坏。3. 软件配置中舵机ID映射错误。1.交换测试将不动的舵机换到已知正常的通道上测试判断是舵机问题还是通道问题。2.检查配置核对servos_config.yaml中每个舵机的channel编号与实际物理连接是否一一对应。7.2 ROS软件与功能问题问题现象可能原因排查步骤与解决方案roslaunch失败提示找不到功能包1. 功能包未编译。2. 工作空间未source。3. 包名拼写错误。1. 进入工作空间执行catkin_make。2. 确保执行了source devel/setup.bash并检查echo $ROS_PACKAGE_PATH是否包含你的工作空间路径。3. 使用rospack list或rosls查看已安装的包。Rviz中看不到机器人模型1. URDF文件描述错误或路径不对。2.robot_state_publisher节点未运行或发布频率不对。3. TF坐标系未正确设置。1. 检查URDF文件语法check_urdf my_robot.urdf。2. 确保启动了发布机器人状态的launch文件。用rostopic echo /joint_states查看是否有数据。3. 运行rosrun tf view_frames生成TF树图检查base_link到各个laser、camera等frame的连接是否完整。机器狗行走时步态不稳左右摇晃1. 机械结构松动。2. 舵机中位和偏移未校准好。3. 步态算法中足端轨迹规划不平滑或重心调整逻辑不佳。4. 控制周期不稳定。1.机械加固检查所有螺丝是否拧紧特别是舵机输出轴与连杆的连接。2.精细校准在空载和负载站立状态下重新校准每个关节的零位和偏移。3.算法调试在仿真中Gazebo先调试步态可视化足端轨迹和重心投影点确保运动连续平滑。4.检查周期确保控制节点在稳定的周期如100Hz下运行避免消息发布延迟。SLAM建图时地图重影或严重扭曲1. 提供的里程计信息不准舵机打滑或模型误差大。2. 激光雷达数据噪声大或安装不水平。3. SLAM算法参数不适合当前环境。1.改善里程计尝试融合IMU数据通过robot_pose_ekf包来提供更准确的姿态变化估计。2.检查雷达在静止状态下观察/scan数据看是否有很多噪点。确保雷达安装稳固、水平。3.调整参数修改slam_toolbox参数如scan_buffer_size,minimum_travel_distance,minimum_travel_heading等减少无效匹配。7.3 性能优化与小技巧减轻树莓派负载关闭图形界面如果用的是桌面版sudo systemctl set-default multi-user.target然后重启。使用htop命令监控CPU和内存使用关闭不必要的后台进程。优化ROS通信对于高频率的控制指令如关节角度使用rospy.Publisher的queue_size参数设为1并启用latchFalse以减少延迟和内存占用。考虑使用rospy.Rate严格控制发布频率。电源管理在代码中实现一个“软开关”或“休眠”状态。当机器狗待机时通过一个GPIO控制的MOSFET电路切断所有舵机的电源仅保持树莓派和核心传感器供电可以大幅延长电池续航。结构化调试善用ROS的日志级别rospy.logdebug/info/warn/err。为不同的功能模块设置不同的日志级别在调试时打开DEBUG正常运行时设为INFO或WARN。使用rqt_console工具可以集中查看和过滤日志信息。从一块吃灰的树莓派到一只活灵活现的PuppyPi机器狗这个过程远不止是组装硬件和运行代码。它是一次完整的嵌入式系统开发、机器人学原理和软件工程实践的深度旅程。你会遇到电源管理的坑、机械装配的烦、坐标变换的懵、以及参数调试的玄学。但每解决一个问题每看到机器狗完成一个更复杂的动作那种成就感是无与伦比的。这个项目最大的价值在于它为你提供了一个触手可及的、可无限扩展的实体平台所有在教科书和仿真中学到的理论在这里都能得到最真实的验证和反馈。接下来你可以尝试为它加上摄像头实现人脸跟踪装上机械臂尝试抓取甚至尝试用强化学习来训练更优的步态。这扇门已经打开剩下的就是你的探索了。