1.【干货|开源MIT Min cheetah机械狗设计(二十三)】运动控制器源码解析---控制和优化思想
2.干货|开源MIT Min cheetah机械狗设计(二十)运动控制器源码解析---Locomotion程序架构
3.干货|开源MIT Min cheetah机械狗设计(十四)运动控制器源码解析---四足机器人浮动基动力学模型创建
4.华北舵狗王带你一起做四足机器人9 (MIT Cheetah 开源 代码 仿真器编译)
【干货|开源MIT Min cheetah机械狗设计(二十三)】运动控制器源码解析---控制和优化思想
开源MIT Min Cheetah机械狗设计:控制与优化解析
在这个开源项目中,模拟码MIT Min Cheetah机械狗的狗源控制与优化策略是其亮点,特别是模拟码MPC控制与QP优化策略。WBC作为辅助手段,狗源已在前期讨论,模拟码本文主要聚焦于这两个核心部分。狗源scratch发牌源码下载 控制问题的模拟码核心是通过状态方程,如微分方程,狗源来描述和控制系统的模拟码运动,如牛顿第二定律。狗源它不仅体现了物理规律,模拟码如位移与速度的狗源关系,而且揭示了如何通过不同的模拟码输入策略达到期望状态,这便是狗源优化的起点。 优化则涉及代价函数的模拟码选择和权重设置。LQR关注整个时间的最优性,而MPC关注当前时刻到未来的最优路径。LQR是闭环控制,而MPC是报表vb源码开环的,这使得MPC可以处理不等式约束,适应更复杂的控制环境。 相较于传统PID控制,现代控制理论如状态空间模型,具有更强的系统理解能力,但复杂项目中,传统控制方法仍占有重要地位。例如在汽车行业,虽然现代控制算法有优势,但安全性和落地性仍是考量的关键。 控制算法的应用领域主要集中在无人机、机器人和汽车工业,尤其是动力学模型成熟的场景。机器学习和强化学习作为补充,分别在参数辨识和规则环境中的应用有所贡献,但仍有发展空间。 接下来,我们将深入探讨机械狗的真源码平台仿真实现,以及可能的扩展功能,如路径规划和激光雷达扫描,以期为设计提供更全面的支持。干货|开源MIT Min cheetah机械狗设计(二十)运动控制器源码解析---Locomotion程序架构
开源MIT Min cheetah机械狗设计第篇,讲解Locomotion程序架构。
本文集中解析机械狗的运动模式,涵盖种模式,包括被动、关节运动、阻抗控制、站立、平衡站立、奔跑、恢复站立、视觉辅助、后空翻、前空翻。每种模式继承自FSM_State,lftp源码安装实现状态转移与控制。
程序核心在于FSM_StatesList中的运动模式调度,runFSM()函数对模式进行管理。
重点介绍奔跑模式,它依赖MPC(ConvexMPCLocomotion)与WBC(WBC_Ctrl)控制器。MPC部分已前文讨论,本篇聚焦于WBC实现。
首先,初始化MPC,作为WBC的一部分。WBC运行于FSM_State_Locomotion的run()函数,通过循环调用控制步骤LocomotionControlStep()。
控制步骤中,MPC预测足端反作用力Fr_des[i],WBC求解关节扭矩、加速度、速度与位置。腿部控制器LegController据此发送关节扭矩、打渔游戏源码速度与位置。
核心在于运行WBC控制器WBC_Ctrl::run()与计算过程的_WComputeWBC()函数,通过公式进行计算。
欲详细了解WBC控制器设计原理,可参考相关文章。
本篇至此,下篇将深入探讨WBC控制器的程序实现。
干货|开源MIT Min cheetah机械狗设计(十四)运动控制器源码解析---四足机器人浮动基动力学模型创建
干货MIT Min Cheetah机械狗设计详解(十四):动力学模型创建 对于机器人爱好者和初入机器人领域的专业人士,开源MIT Min Cheetah系列设计无疑是一份宝贵资源。本文将深入探讨RobotRunner核心模块,包括数据更新、步态规划、控制算法和命令发送,尤其是关键的浮动基动力学模型构建。 首先,我们从单刚体动力学模型开始,简化机械狗的复杂动态,计算足底反作用力,但此方法在高速运动时并不适用。为解决高速情况下的适应性,浮动基动力学模型引入,它在单刚体基础上优先满足动态响应,如WBC控制器的需要。模型创建包括:浮动基动力学模型参数设置:定义机械狗整体的配置空间和关节自由度,引入6个表示身体浮动基的自由度。
广义惯量和空间惯量:每个连杆和关节电机的广义惯性张量(包括质量、质心位置和旋转惯量)是动力学计算的基础。
连杆位置向量:这些参数用于后续的运动旋量计算。
浮动基动力学模型:以拉格朗日单腿动力学为基础,考虑机械狗整体的运动状态和力矩映射。
动力学方程的构造:包括动力学方程组、约束方程和构型角度约束,以及外力和转矩的关系。
代码中,通过`forwardKinematics()`函数计算关节和连杆的空间变换,为求解质量矩阵、非惯性力矩阵和接触雅可比矩阵做准备。在冗余自由度的系统中,浮动基动力学模型与WBC结合,最终计算出关节的控制参数。 总结,浮动基动力学模型的创建是实现高精度控制的关键步骤,它为后续的动力学方程求解提供了关键参数。理解这些核心概念,将有助于深入理解四足机器人动态控制的奥秘。华北舵狗王带你一起做四足机器人9 (MIT Cheetah 开源 代码 仿真器编译)
在探讨如何成功在虚拟机中安装和编译四足机器人开源代码的过程中,我遇到了一些挑战。最初,通过基本库的预编译,没有报错出现。然而,在进行make操作时,遇到了“c++ no-pie”错误。我尝试通过移除cmakelist文件中的相关标志位来解决,但仍然遇到了文件缺失问题,尤其是与ipopt相关的文件。目前,我仍在尝试解决这些问题,并将更新帖子提供解决方案。
在9月3日的更新中,我已经在.虚拟机中成功编译并运行程序。如果有兴趣尝试但遇到编译问题,可参考本帖子。
首先,我要感谢廖洽源对该项目的整理,他在帖子中详细介绍了开源程序架构和仿真软件的操作。
安装过程主要分为以下步骤:安装虚拟机和Linux镜像、更新阿里云源、解决虚拟机网络问题、安装缺失库和gcc(针对gcc版本过低的情况)、安装MIT所需的基本库、安装Java(为后续LCM链接做准备)、更新cmake、安装LCM实时通信库、安装QT5、安装IPOPT(重要)、修改cmakelist链接QT文件、编译MIT源码、测试。
在测试阶段,首先在build目录下启动仿真环境,然后在新控制台中运行控制器。使用如“./user/${ controller_folder}/${ controller_name} ${ robot_name} ${ target_system}”这样的命令,例如“./user/JPos_Controller/jpos_ctrl 3 s”。选择Cheetah 3、Mini Cheetah或在仿真环境中运行。
对于虚拟机中仿真器无法连接网络导致的LCM库报错问题,需要在启动仿真器时解决。官方推荐使用罗技Gamepad F遥控器进行控制。对于vmware不识别USB遥控器的问题,可以通过特定的步骤解决,确保在虚拟机中正确链接并使用遥控器。
在廖洽源给出的软件操作方法中,运行MIT Controller后,会模拟机器人从伸展状态到趴着状态的运动。如果在模拟过程中未插入手柄且使用的是MIT Cheetah 3,可能会出现关节反向穿透身体导致的物理引擎错误。注意,在更改控制模式时,直接修改参数即可,无需点击界面上的SAVE按钮。