1.【干货|开源MIT Min cheetah机械狗设计(十二)】电机控制器FOC算法剖析
2.干货|开源MIT Min cheetah机械狗设计(十四)运动控制器源码解析---四足机器人浮动基动力学模型创建
3.干货|开源MIT Min cheetah机械狗设计(二十三)运动控制器源码解析---控制和优化思想
4.干货|开源MIT Min cheetah机械狗设计(二十一)运动控制器源码解析---刚体动力学建模
5.机器人常见的机械仿真软件
6.国产Panda5机械狗亮相北京冬奥!跟波士顿机器狗开源有关?网友释疑
【干货|开源MIT Min cheetah机械狗设计(十二)】电机控制器FOC算法剖析
电机控制器FOC算法详解 在开源MIT Min cheetah机械狗设计系列的狗源第十二部分,我们将深入探讨电机控制器的码机固件源码。核心部分包括四个关键环节:编码器数据处理:滤波和偏差消除,械狗确保编码器数据的开源准确性和稳定性。
FOC算法:焦点(FOC)算法用于精确控制电机,机械求15的源码通过Park和Clark变换,狗源结合PID控制,码机实现高效、械狗精确的开源电机驱动。
PID控制算法:基于位置和速度指令,机械进行实时电流调整。狗源
系统通信:电机控制器接收和上传状态,码机与SPIne固件通过特定命令和反馈进行交互。械狗
电机控制涉及逆变器、开源无刷电机、磁编码器等组件,核心算法通过将期望速度和转矩转换成电机能理解的控制信号,确保机械狗按照预期运行。 编码器校准涉及相序判断和零位对齐,通过校正消除误差,确保位置信息的精确。编码器值误差消除则是通过滤波和线性化,将机械误差转换为可管理的电气误差。 FOC算法部分,包括两相电流采样、DQ0变换、反变换,以及PID控制器的应用,保证了电机在各种条件下的kbmmw 源码稳定性能。整个控制流程在定时器驱动下运行,体现出了精细的算法设计与调试的重要性。 后续章节将转向UPboard运动算法程序的解析,这个部分包含动力学模型、步态规划等复杂内容,将逐步揭示机械狗动力系统背后的精密构造。干货|开源MIT Min cheetah机械狗设计(十四)运动控制器源码解析---四足机器人浮动基动力学模型创建
干货MIT Min Cheetah机械狗设计详解(十四):动力学模型创建 对于机器人爱好者和初入机器人领域的专业人士,开源MIT Min Cheetah系列设计无疑是一份宝贵资源。本文将深入探讨RobotRunner核心模块,包括数据更新、步态规划、控制算法和命令发送,尤其是关键的浮动基动力学模型构建。 首先,我们从单刚体动力学模型开始,简化机械狗的复杂动态,计算足底反作用力,但此方法在高速运动时并不适用。为解决高速情况下的适应性,浮动基动力学模型引入,它在单刚体基础上优先满足动态响应,如WBC控制器的需要。模型创建包括:浮动基动力学模型参数设置:定义机械狗整体的配置空间和关节自由度,引入6个表示身体浮动基的自由度。
广义惯量和空间惯量:每个连杆和关节电机的广义惯性张量(包括质量、质心位置和旋转惯量)是动力学计算的基础。
连杆位置向量:这些参数用于后续的运动旋量计算。
浮动基动力学模型:以拉格朗日单腿动力学为基础,考虑机械狗整体的黄历源码运动状态和力矩映射。
动力学方程的构造:包括动力学方程组、约束方程和构型角度约束,以及外力和转矩的关系。
代码中,通过`forwardKinematics()`函数计算关节和连杆的空间变换,为求解质量矩阵、非惯性力矩阵和接触雅可比矩阵做准备。在冗余自由度的系统中,浮动基动力学模型与WBC结合,最终计算出关节的控制参数。 总结,浮动基动力学模型的创建是实现高精度控制的关键步骤,它为后续的动力学方程求解提供了关键参数。理解这些核心概念,将有助于深入理解四足机器人动态控制的奥秘。干货|开源MIT Min cheetah机械狗设计(二十三)运动控制器源码解析---控制和优化思想
本文将深入探讨开源MIT Min Cheetah机械狗设计的控制与优化策略,重点关注MPC控制和QP优化。尽管WBC辅助MPC的内容在前文已有详述,这里主要聚焦控制理论的应用。
控制的核心在于通过状态方程描述物体运动规律,如牛顿第二定律,将连续问题离散化以适应计算机处理。状态空间表达式,如[公式],揭示了物理定律,如位移与速度的关系和电容与电流的关系。控制策略的优化在于选择最适合的路径,如LQR关注整个时间的最优,而MPC关注当前时刻对过去的xctf源码影响。
优化问题涉及代价函数和权重设置。LQR的代价函数[公式],权重为[公式],而MPC更复杂,如[公式],可加入不等式约束。MPC通过QP求解器,如Matlab或C++,实现开环优化,允许灵活设置约束条件。
与传统PID控制相比,现代控制理论如状态空间模型更精确,但在实际应用中,复杂项目如MIT机械狗,可能仍需依赖传统控制如PD,配合现代理论以提升性能。控制算法在无人机、机器人和汽车行业广泛应用,尤其在动力学模型成熟的情况下。
机器学习和强化学习在参数辨识和环境适应方面提供了补充,但强化学习对于规则明确的环境表现较好,未来有望在机器人领域有更多发展。接下来,我们将转向机械狗的仿真实现,以及后续的扩展功能,如路径规划和激光雷达扫描。
干货|开源MIT Min cheetah机械狗设计(二十一)运动控制器源码解析---刚体动力学建模
本篇内容深入探讨了开源MIT Min cheetah机械狗设计系列文章中的刚体动力学模型。刚体动力学模型是机械狗设计的核心,是darkshellnew源码麻省理工团队独立开发的动力学算法的重要基础。动力学算法的理论依据参考了Roy Featherstone的文章《Rigid Body Dynamics Algorithms》,该文章提出了一种新的六维运动空间和力空间,概念类似于运动旋量和力旋量。
商业动力学运算库如CoppeliaSim的Bullet 2.和单独的动力学求解库pinocchio、frost、drake等在机械狗设计中得到了广泛应用。机械狗设计所用的动力学算法设计思想包含牛顿欧拉方程、坐标系选取问题、六维运动空间等核心概念。牛顿欧拉方程是力学基础,描述了力与加速度和扭矩之间的关系,包括了定点和定轴转动的公式。坐标系的选择对动力学和运动学分析至关重要,不同坐标系的设计使计算变得更加高效。Pl¨ucker坐标系的引入实现了平动和转动的统一表示,简化了动力学方程,方便了后续程序的编写。
在六维运动空间中,刚体的速度和空间力被统一表示,使得动力学分析更加简洁。动力学模型编程中,动力学公式和运动学树的概念被整合进代码中,以方便处理和编程。文章最后指出,动力学知识的探讨还将继续,后续计划将增加视觉感知、激光雷达扫描等机械狗的智能功能,以提升其性能。
机器人常见的仿真软件
```html
在机器人技术的舞台上,仿真软件扮演着至关重要的角色,它在节省成本和时间的同时,让开发者能够提前解决潜在问题。其中,Webots以其卓越的性能和广泛的适用性,成为了众多工程师的首选。Webots - 开源的机器人仿真圣殿
Webots,一个深受开发者喜爱的开源软件,基于Apache2.0许可,为机器人、车辆和生物力学系统提供了全面的开发环境。它的魅力在于其友好的界面、详尽的教程和快速上手的操作体验。它支持C/C++、Python和JavaScript编程,无论是无人机、机械臂、机械狗,还是室内机器人,都能在虚拟世界中游刃有余。例如,稚晖君就曾利用Webots进行过仿真实践,展现了其强大的功能和灵活性。 然而,游戏引擎Unity也不容小觑。作为一款专业游戏开发工具,Unity不仅适用于游戏开发,它的物理引擎和3D渲染能力使得它在机器人仿真中也大放异彩。Unity3D以其易用性和广泛应用,成为了许多手游背后的推手,包括自动驾驶汽车领域的研究与探索。自动驾驶的创新之路
在自动驾驶的前沿,Nvidia Research的研究者们使用Unity中的仿真平台,实现了CNN模型,通过PyTorch处理来自车辆的摄像头数据,实现了端到端的自动驾驶预测。这证明了Unity在复杂场景模拟中的威力,为自动驾驶技术的进步提供了关键支持。 当然,还有同样热门的gazebo,作为ROS开发者们的常客,它在机器人仿真领域占据着一席之地。如果你正在寻找更深入的学习资源,不妨关注我们的公众号,获取更多实战项目的源码,如下载1中的openCRobotics源码,包含了A*算法等多种机器人控制技术,以及下载2中的人工智能摄像头项目,涵盖了从视觉识别到自动驾驶的全面实战内容。 总而言之,无论是Webots、Unity还是gazebo,这些仿真软件都在为机器人技术的进步贡献力量,为工程师们提供了创新的舞台。通过它们,我们可以在虚拟世界中探索无尽的可能性,为现实世界的机器人应用打下坚实的基础。```
国产Panda5机械狗亮相北京冬奥!跟波士顿机器狗开源有关?网友释疑
2月日,中国兵器工业集团宣布,北京新闻中心于2月4日启动,向冬奥会非注册记者提供服务。在新闻中心现场,一款名为Panda5的四足仿生机器人参加了北京冬奥之科技北京互动展示活动。该机器人能爬上px高的台阶或度的斜坡,具备多种步态和摔倒自恢复功能。它集成了机械、电子、控制、计算机、传感器和人工智能等多学科技术,能够执行复杂地形运输、特殊环境科学考察、抢险救灾和消防救助等任务。中国兵器工业集团表示,其仿生机器人团队在足式行走技术领域深耕多年,已突破高精尖技术封锁,并打破了外国在高性能四足机器人领域的技术垄断。该团队还构建了足式机器人全产业链,实现了高性能四足机器人的产业化。Panda5是该团队推出的第一个民用产品。
尽管Panda5的外观与波士顿动力的机器狗相似,引发了一些网友关于是否借鉴了后者的开源技术的疑问。实际上,波士顿动力确实开源了机器狗的相关技术,但开源的仅是Python脚本语言的软件开发工具包(SDK),目的是为了促销该款机器狗。这一SDK为开发者提供了一个程序接口,允许用户使用官方API、专用传感器和软件来定制自己的机器狗。这类似于Windows提供的SDK,它让用户能够开发Windows程序,但并不意味着Windows的源码被开源。机器狗的传感器集成、具体制作工艺和控制核心算法作为波士顿动力的核心机密,是不可能被随意开源的。因此,认为波士顿动力机器狗开源后出现的所有机器狗都是复制品的说法是不准确的。
请妥善转载并注明出处:快科技
责任编辑:若风
干货|开源MIT Min cheetah机械狗设计(二十)运动控制器源码解析---Locomotion程序架构
开源MIT Min cheetah机械狗设计第篇,讲解Locomotion程序架构。
本文集中解析机械狗的运动模式,涵盖种模式,包括被动、关节运动、阻抗控制、站立、平衡站立、奔跑、恢复站立、视觉辅助、后空翻、前空翻。每种模式继承自FSM_State,实现状态转移与控制。
程序核心在于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控制器的程序实现。