1.【干货|开源MIT Min cheetah机械狗设计(三十二)】番外篇(8)---Cartographer源码解读
2.Arduino开源机器人汇总(基于 GRBL或Marlin)
3.[1](含源码)通过关节力矩指令控制LBR/iiwa机械臂运动
4.干货|开源MIT Min cheetah机械狗设计(二十三)运动控制器源码解析---控制和优化思想
5.干货|开源MIT Min cheetah机械狗设计(二十一)运动控制器源码解析---刚体动力学建模
6.reprap概述
【干货|开源MIT Min cheetah机械狗设计(三十二)】番外篇(8)---Cartographer源码解读
干货|开源MIT Min cheetah机械狗设计(三十二)番外篇(8)---Cartographer源码解读
在MIT Min cheetah机械狗的机械机械开源设计中,第篇番外篇第8篇深入解析了传感器数据的网站网站流向。通常,源码源码正向讲解难以全面理解程序设计思路,机械机械因此我们将逆向还原设计过程。网站网站 数据首先从传感器获取点云,源码源码徐小明趋势通道源码通达信通过trajectory_builder_->AddSensorData(sensor_id,机械机械 timed_point_cloud_data)这一过程。在这个函数中,网站网站数据被进一步处理,源码源码通过MakeDispatchable函数,机械机械数据被封装为Dispatchable实例,网站网站以便在CollatedTrajectoryBuilder::AddData中处理不同类型的源码源码传感器数据。 数据接着被添加到OrderedMultiQueue中,机械机械队列满后会阻塞数据的网站网站插入,直到队列空间允许。源码源码在Dispatch函数中,数据被组织成一个Map结构,存储每个传感器的数据和回调函数。回调函数HandleCollatedSensorData负责计算数据利用率和将数据传递给GlobalTrajectoryBuilder。 逆向来看,设计者可能会将程序分为算法部分Cartographer和数据交互部分Cartographer_ros。Cartographer侧重于核心算法,如LocalTrajectoryBuilder和PoseGraph,而Cartographer_ros则负责数据的订阅、发布和类的实例化。SensorBridge和MapBuilderBridge作为桥梁,将传感器数据和Cartographer的内部结构连接起来。 软件架构清晰地展示出传感器数据如何层层传递,每个类都扮演着数据流转的桥梁角色。Cartographer_ros负责传感器数据的接入和结果的输出,而内部的C++实现则体现了谷歌工程师的高水准。 最后,下一篇文章将揭示数据如何在前端与局部地图进行匹配的素材源码是啥细节。Arduino开源机器人汇总(基于 GRBL或Marlin)
Arduino开源机器人汇总(基于GRBL或Marlin)
GRBL,作为开源的嵌入式CNC框架,因其高效和低成本,被广泛应用于多种开源机器人,如绘图机器人、机械手臂等,它的代码质量高且易于定制。XYZ结构机器人
XYZ结构常见于CNC设备,如3D打印机,每个轴独立控制,运动规划简单,步进数与滑台位置关系明确。推荐入门项目如DrawBot绘图机器人,使用GRBL控制。CoreXY结构
CoreXY结构以单同步带控制XY运动,紧凑且能提供更大的工作空间,运动速度快。大鱼DIY写字机器人V2.0 Pro就采用了这种结构。经典项目举例
DrawBot V1.1: henryarnold和MoustafaElkady的开源作品,GRBL控制。
DREMEL CNC: Nikodem Bartnik设计,使用GRBL,教程详尽。
INDYMILL: 金属版CNC升级,GRBL控制,付费安装教程。
大鱼DIY写字机器人V2.0 Pro: GRBL支持,开源且有视频教程。
sffactory 机械臂: Marlin 2.0控制,结构改进,内容丰富。
DArm: 廖洽源作品,mud太玄功源码Marlin 2.0,提供Solidworks工程。
Drawbot机械臂: Marlin控制,基于DArm设计,但未开源源码。
UArm Swift Pro: GRBL-Mega/Marlin版本,金属机身,结构封闭。
Mirobot六自由度机械臂: 周冬旭博士作品,GRBL控制,固件不开源。
MK2 Plus 机械臂: GRBL控制,作者为Jacky Le,基于MK1的改进。
[1](含源码)通过关节力矩指令控制LBR/iiwa机械臂运动
本文改编自 MATLAB 的自带帮助文档,介绍了如何使用 MATLAB 和 V-REP 进行 LBR/iiwa 机械臂的计算力矩控制仿真。相较于使用 Gazebo 的原例程,本例程旨在通过将 Gazebo 替换为 V-REP,实现 V-REP 和 MATLAB 的通信与数据交互。本文将逐步指导实现这一仿真过程。
首先,构建项目结构,包括用于存放场景文件、通信文件和控制文件的三个子文件夹。确保 MATLAB 版本不低于 b,以便加载 URDF 文件。然后,利用 MATLAB 的自带 LBR/iiwa 机械臂的 URDF 文件及三维模型文件,创建场景文件并将其加载至 V-REP 中。处理可能出现的路径兼容性问题,确保仿真环境的搭建无误。
通信准备阶段,天时战法指标源码复制 V-REP 相关组件至 MATLAB 文件夹,并利用 vrchk.m 文件进行通信失败类型提示。创建 iiwa_computer_torque_control_workcell_init.m 函数文件,用于初始化 V-REP 与 MATLAB 之间的通信链路,包括获取关节句柄和进行 streaming 初始化。
接下来,实现与 V-REP 的通信代码。在 iiwa_computed_torque_control 文件夹内,建立 iiwa_computed_torque_control.m 文件,其中包含通信代码框架,以适应后续的控制逻辑。在此阶段,主要关注同步模式控制的实现,确保机械臂在 MATLAB 的控制指令下按照预定轨迹运行。
在控制代码编写中,遵循关节力矩控制原理,选择同步模式进行仿真。此模式下,控制输入与 V-REP 的动作同步,即在 MATLAB 发出控制指令后,V-REP 在预设的时间间隔内执行该指令。通过调用 V-REP 的 API,实现关节位置、速度与加速度的控制,以及力矩的计算与应用,使机械臂按照预期轨迹运行。
为了保证控制的准确性,进行数据处理以对比前馈和反馈力矩,以及期望与实际关节位置和速度。此阶段的分析结果有助于优化控制算法,确保机械臂能够精确地按照预设路径运动。
最后,文库转換源码进行仿真运行前的系统配置,确保 V-REP 和 MATLAB 都已关闭,然后按照特定流程启动 V-REP,加载场景文件,并在 MATLAB 中运行相关代码。通过观察 V-REP 中的仿真动画,验证仿真过程的正确性与稳定性。
此过程不仅适用于学术研究和学习,也为实际应用提供了参考,旨在推动机器人控制技术的发展。通过分享此例程,旨在激发更多人对机器人控制的兴趣,并欢迎各界反馈与建议,共同促进技术进步。
干货|开源MIT Min cheetah机械狗设计(二十三)运动控制器源码解析---控制和优化思想
开源MIT Min Cheetah机械狗设计:控制与优化解析
在这个开源项目中,MIT Min Cheetah机械狗的控制与优化策略是其亮点,特别是MPC控制与QP优化策略。WBC作为辅助手段,已在前期讨论,本文主要聚焦于这两个核心部分。 控制问题的核心是通过状态方程,如微分方程,来描述和控制系统的运动,如牛顿第二定律。它不仅体现了物理规律,如位移与速度的关系,而且揭示了如何通过不同的输入策略达到期望状态,这便是优化的起点。 优化则涉及代价函数的选择和权重设置。LQR关注整个时间的最优性,而MPC关注当前时刻到未来的最优路径。LQR是闭环控制,而MPC是开环的,这使得MPC可以处理不等式约束,适应更复杂的控制环境。 相较于传统PID控制,现代控制理论如状态空间模型,具有更强的系统理解能力,但复杂项目中,传统控制方法仍占有重要地位。例如在汽车行业,虽然现代控制算法有优势,但安全性和落地性仍是考量的关键。 控制算法的应用领域主要集中在无人机、机器人和汽车工业,尤其是动力学模型成熟的场景。机器学习和强化学习作为补充,分别在参数辨识和规则环境中的应用有所贡献,但仍有发展空间。 接下来,我们将深入探讨机械狗的仿真实现,以及可能的扩展功能,如路径规划和激光雷达扫描,以期为设计提供更全面的支持。干货|开源MIT Min cheetah机械狗设计(二十一)运动控制器源码解析---刚体动力学建模
本篇内容深入探讨了开源MIT Min cheetah机械狗设计系列文章中的刚体动力学模型。刚体动力学模型是机械狗设计的核心,是麻省理工团队独立开发的动力学算法的重要基础。动力学算法的理论依据参考了Roy Featherstone的文章《Rigid Body Dynamics Algorithms》,该文章提出了一种新的六维运动空间和力空间,概念类似于运动旋量和力旋量。
商业动力学运算库如CoppeliaSim的Bullet 2.和单独的动力学求解库pinocchio、frost、drake等在机械狗设计中得到了广泛应用。机械狗设计所用的动力学算法设计思想包含牛顿欧拉方程、坐标系选取问题、六维运动空间等核心概念。牛顿欧拉方程是力学基础,描述了力与加速度和扭矩之间的关系,包括了定点和定轴转动的公式。坐标系的选择对动力学和运动学分析至关重要,不同坐标系的设计使计算变得更加高效。Pl¨ucker坐标系的引入实现了平动和转动的统一表示,简化了动力学方程,方便了后续程序的编写。
在六维运动空间中,刚体的速度和空间力被统一表示,使得动力学分析更加简洁。动力学模型编程中,动力学公式和运动学树的概念被整合进代码中,以方便处理和编程。文章最后指出,动力学知识的探讨还将继续,后续计划将增加视觉感知、激光雷达扫描等机械狗的智能功能,以提升其性能。
reprap概述
reprap是由英国巴恩大学的Adrian Bowyer等人设计制作的一种3D立体打印机。与传统的平面打印机不同,reprap打印的都是立体物件,而不是平面。它的打印原料使用的不是普通的墨汁,而是如ABS塑料、聚已酸内酯等材料。 reprap最初的设计目的是为了自我复制,只复制部分机械零件,这也是它名字的来源——RepRap是快速复制原型的缩写。除了制造自我零件外,reprap还可以用来制造其他物品,如门把手、挂衣钩、酒杯等。 reprap现在是一个开源的设计,任何人都可以从其网站下载设计资料,包括电路与机械部分,以及软件源代码。目前可用的版本有三个:简单的是RepStrap "Seedling",稍微复杂的是RepRap "Darwin",第三个版本叫做"孟德尔(Mendel)",已发布并能下载相关资料。Darwin的设计仍在不断更新中。 reprap的工作原理是,通过加热原料,一层一层地抹出一个物体,可能需要后期的手工修饰。以使用塑料为原料的Darwin为例,其工作原理就是这样。除了塑料版,还有激光版的reprap。扩展资料
RepRap是一个三维打印机原型机(或3D立体打印机),它具有一定程度的自我复制能力,能够打印出大部分其自身的(塑料)组件。RepRap是(replicating rapid prototyper)的缩写。这原型机从软件到硬件各种资料都是免费和开源的,都在自由软件协议GNU通用公共许可证GPL之下发布。机械制造行业适合免费的CRM吗?
一般来说,免费的CRM功能或者使用人数会受到限制,但是如果对系统要求不高的话还是可以考虑使用。
如果有技术支持的话,可以直接下载开源版本的源代码,结合公司的需要进行二次开发;如果没有的话,可以试用免费开源版本,一般来说,开源版本不限制使用人数,但是功能不是十分齐全。大多数免费CRM都没有很好的技术支持服务,很多CRM系统的问题需要到官方网站去自行查找资料,而且资料具有延时性和不完整性。一旦在使用过程中出现问题,将无法得到很好的解决。
还有一种版本就是免费增值模式,这种一般是功能齐全,但是限制使用人数,比如说两人以下永久免费。
你们公司是做机械制造的,涉及到的工种比较多,免费的CRM估计不能满足需要。建议还是选择收费版的。建议可以去悟空CRM官网看一下,有专门针对机械制造行业的CRM.
干货|开源MIT Min cheetah机械狗设计(十四)运动控制器源码解析---四足机器人浮动基动力学模型创建
干货MIT Min Cheetah机械狗设计详解(十四):动力学模型创建 对于机器人爱好者和初入机器人领域的专业人士,开源MIT Min Cheetah系列设计无疑是一份宝贵资源。本文将深入探讨RobotRunner核心模块,包括数据更新、步态规划、控制算法和命令发送,尤其是关键的浮动基动力学模型构建。 首先,我们从单刚体动力学模型开始,简化机械狗的复杂动态,计算足底反作用力,但此方法在高速运动时并不适用。为解决高速情况下的适应性,浮动基动力学模型引入,它在单刚体基础上优先满足动态响应,如WBC控制器的需要。模型创建包括:浮动基动力学模型参数设置:定义机械狗整体的配置空间和关节自由度,引入6个表示身体浮动基的自由度。
广义惯量和空间惯量:每个连杆和关节电机的广义惯性张量(包括质量、质心位置和旋转惯量)是动力学计算的基础。
连杆位置向量:这些参数用于后续的运动旋量计算。
浮动基动力学模型:以拉格朗日单腿动力学为基础,考虑机械狗整体的运动状态和力矩映射。
动力学方程的构造:包括动力学方程组、约束方程和构型角度约束,以及外力和转矩的关系。
代码中,通过`forwardKinematics()`函数计算关节和连杆的空间变换,为求解质量矩阵、非惯性力矩阵和接触雅可比矩阵做准备。在冗余自由度的系统中,浮动基动力学模型与WBC结合,最终计算出关节的控制参数。 总结,浮动基动力学模型的创建是实现高精度控制的关键步骤,它为后续的动力学方程求解提供了关键参数。理解这些核心概念,将有助于深入理解四足机器人动态控制的奥秘。2024-12-27 17:32
2024-12-27 17:03
2024-12-27 16:27
2024-12-27 16:04
2024-12-27 15:49
2024-12-27 15:48
2024-12-27 15:27
2024-12-27 15:06