18| 1
|
[项目] 【Arduino 动手做】SCARA 机器人:学习正向和逆向运动学 |
SCARA 机器人是工业界非常流行的机器。该名称代表 Selective Compliant Assembly Robot Arm 或 Selective Compliant Articulated Robot Arm。它基本上是一个三自由度机器人,是 XY 平面中的前两个位移旋转位移,最后一个运动由手臂末端 Z 轴上的滑块执行。两个自由度旨在提供更高精度;尽管如此,由于可供我们使用的伺服系统的质量,由于它有两个自由度,构建的手臂并没有像人们预期的那样具有那么多的机动性。电子部分易于理解。不过,构建起来很困难。由于手臂需要三个执行器,因此我们有三个通道。我们决定使用 Processing,而不是使用常见的 Arduino 接口进行编程,这是一个与 Arduino 非常相似的软件。 用品 物料清单: 为了构建原型,使用了几种材料,在下面的列表中提到了所有这些材料: 3 伺服电机 MG 996R 1 个 Arduino Uno MDF(3 mm 厚) GT2 型同步带(6 mm 间距) 环氧的 螺母和螺栓 3 轴承 第 1 步:原型 第一步是在 CAD 软件中制作模型,在这种情况下,Solid works 是一个非常好的软件,其他选项可以是 Fusion 360 或您喜欢的其他 CAD 软件。步骤 1 中附加的图片是第一个原型,由于我们必须修改的各种错误,我们最终在视频和介绍中得到了模型展示。 为了制作原型,使用了激光切割,我没有任何制造过程的视频,但我有我使用的文件。这个项目必须重要的部分是接口的编码,这样您就可以制作自己的模型并将我们的代码用于您自己的 SCARA 机器人 第 2 步:电机连接 电子设备就像烹饪麦片一样简单。只需按照图片上显示的方式连接所有内容(在主代码中,发送到舵机的信号来自引脚(11、10 和 11)) 第 3 步:取消前向并反转运动学 正向运动学 代码对轨迹的工作方式如下:选择此模式后,必须选择要绘制的形状。您可以在 Line (直线)、Triangle(三角形)、Square (方形) 和 Ellipse (椭圆) 之间进行选择。根据选择,一个变量被改变,然后用作序列中稍后编程的 select 类型的 'case' 参数。由于处理的灵活性,我们可以使用 Windows 和其他作系统已知的命令与界面进行交互,这允许将光标(鼠标)的位置分配给程序中的变量,该变量通过与 Arduino 的连接命令伺服电机以什么顺序驱动什么角度。 可以在伪代码中简化绘制算法: 将值分配给 x1,y1 将值分配给 x2,y2 计算 x1 和 x2 之间的差 计算 y1 和 y2 之间的差 计算向下将通过的点(三角形、正方形、圆) (这两个点使用几何图形) 如果 (botondibujar == true) 在记录的情况下完成序列, 发送到伺服电机的变量保存在 60 个单元的数组中,通过按下“记录”按钮,我们可以保存以任何模式(手动、前进、反向、轨迹)获得的数据,然后在您按下启动按钮时复制变量。 逆向运动学 逆向运动学问题包括为机器人找到必要的输入,以到达其工作区上的某个点。给定该机制,所需位置的可能解数可能是一个无限数。我们构建的机器人是一个具有两个自由度的串行机构。经过几何分析,已经为这种特定机制找到了两个解决方案。图 13.逆向运动学示例其中:θ1 和 θ2 是两个 DoF 串行机构机器人的输入角度,X1 和 X2 是最终手臂中工具平面中的位置。从上图可以看出: 它也存在 elbow UP 配置,但对于编写的程序,它只使用了 elbow DOWN 配置。找到输入角度后,该信息将在直接运动学程序上运行,并且由于伺服系统和皮带的原因,以小于一厘米的误差到达所需位置。 第 4 步:手动、轨迹和学习模式 手动 对于这种模式,你只需要在界面中移动 mause,机器人就会跟随界面的指针,你可以在编程中编程,这是一个很棒的平台 轨迹 对于此模型,我们使用逆运动学的资源,并由客户端请求图形,该图形是: 直线 方阵 三角形 圆 图形可以在界面上绘制所需的形状。轨迹使用逆模式来计算每个图形的线条的每个点,因此当您在绘制作为界面输入的图形后单击播放时,可以轻松跟踪图形 学习模式 学习模式考虑了所有其他模式,即手动、前进、反向和轨迹,因此您可以在界面中进行任何您想要的移动,然后替换为与以前相同的移动,但速度较慢,因为它会重现并尝试更准确地完成它。 ![]() ![]() ![]() ![]() ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed