大家好,又见面了,我是你们的朋友全栈君。
腿部校准和步态效果调试
- 1 前言
- 2 腿部调中(0位校准)
- 3 步态效果调试
-
- 3.1 重心标定
- 3.2 自动重心补偿量调节
- 4 结束
1 前言
承接上次的教程,本次文章,将教你怎么对 Py-apple Dynamics 6.5 及 6.5 以后版本的软件进行腿部校准(调中)和步态效果调试。
Py-apple Dynamics 开源四足控制软件 Github
调中顾名思义为“机器狗腿部中位调整“,既对机器人的腿部进行标定,使他的机械0位和软件0位重合,以实现机械的运动效果和软件对应。
从 Py-apple Dynamics 6.5 开始,调中的方法出现了很大的改变。由原来的大腿与身体平行,小腿与大腿垂直的调中方式改为了大腿与身体垂直,小腿也与大腿垂直的调中方式。 区别见下图
之所以进行这样的改动,是因为 Py-apple Dynamics 6.5 后会逐步引入狗子爬楼梯的功能,爬楼梯时需要对重心进行补偿。因此,需要在狗子的前后方向 (步态的x方向) 引入更多的运动空间,而舵机的运动范围只有180°,按照原来的调中方法会使得结构牺牲掉90°的运动范围,遂做了修改、更新。
修改后的调中方式和原教程视频(见下方)类似,只是在机械安装时需要注意将大腿旋转90度再安装机械;下面带大家一步步看看怎么进行调中,并且介绍一些调中需要认识到的理论原理。(这里以菠萝狗官方机械结构为例,当然你也可以用 Py-apple Dynamics 软件,搭配你自己的机械结构)
【教程】灯哥0基础DIY四足机器人指南(新版)–全集更新中!!(2021.4.5)
2 腿部调中(0位校准)
要进行腿部调中,首先,腿必须保证没有装在身体上面(第一次标定前不要提前安装腿到身体上,也不要安装小腿舵机的舵片,标定时再安装,否则有可能卡住结构导致舵机烧毁!!)
然后给控制板上电(控制板此时应该接好舵机和电池),这个上电意味着你要打开控制板的电源,用电池供电,而不是用USB,用USB的电流不足以支持舵机转动!!,用USB供电在这个阶段控制器可能会出现反复重启的问题,这是由于电流被舵机分走了,导致控制芯片电流不够,因此重启。
完成上电后,根据 上节课 的教程,连接 WIFI 进入192.168.4.1,点击“标定与设置”进入设置界面。(设置界面可能由于软件版本不同稍有不同,但大同小异,方法都是一样的)
接下来,点击“开始标定”,此时舵机会转一个特定的角度,使得舵机自动转到默认软件0位。然后,按照下图中的方向将腿安装在上面,拧紧大腿螺丝和小腿舵片。
可是,安装过程中,你会发现,由于舵机出轴齿轮分度太大,很难完全将机械结构安装得完全90度垂直,因此,我们需要微调!即在机械结构安装后偏差不大的情况下,微调结构使结构达到精确的90度。
针对每条腿,都要进行微调。微调的方法很简单,通过点击控制台界面的腿号,并且用下面圆盘按钮的“大腿 /-”,“小腿 /-”,即可调整至大腿和身体呈精确的90度,小腿和大腿呈精确的90度的位置。
其中,腿号当前状态指示显示目前腿的位置,状态,和软件0位标定角度。绿色代表当前腿部正在被进行调节,具体腿号与实物的对应图如下所示,注意6.5以上软件才有这个指示框,6.5及以下版本的软件是没有的,但是操作方法一样,只是少了指示。
调节过程中,若是有标定线的机械结构,可以简单的直接操控软件对准标定线即可;若是没有标定线的机械结构,可以通过三角尺测量测量并用软件微调机械结构直到达到精确的90度。
完成调节后,接下来就可以对步态效果进行调试。
3 步态效果调试
3.1 重心标定
对步态效果进行调试是保证狗运行效果以及二次开发过程中非常重要的一步,在 Py-apple Dynamics 正式使用或运行二次开发的程序前,都必须先调整好步态的效果,不好的步态效果会影响二次开发的效果和程序运行的精确性。
Py-apple Dynamics 的步态效果逻辑很简单,完成机械软件0位对应(调中)后,调节机器狗的重心投影使其落在四条腿的中间,使其符合软件定义的理想状态模型(软件默认认为狗的重心投影在四条腿连成的平行四边形中间位置)即能够获得比较好的步态效果。
调节重心可以通过操控主界面的“后前平移“滑动条实现。
具体的调节方法是:
- 首先调节前后平移到18左右(6.5以上可以直接在控制台看见前后平移量。6.5的话要连接Upycraft,在Upycraft控制台中看Yst参数,可以看到这个前后平移量)。18大概是菠萝机械结构的重心标定值,但是每只狗都有微小差别,所以还需要精调。
- 接着我们开始精调,首先,点击踏步,观察机器狗的运动趋势,如果机身在踏步的时候往后抖或者后倾,说明重心太靠后,意味着重心还需要往前调整,继续加大前后平移量(19,20,21…这样加下去);如果机身在踏步的时候往前抖或者前倾,说明重心太靠前,意味着重心还需要往后调整,继续减小前后平移量(18,17,16…这样减下去),每次步进值可以是2或者1,最后根据踏步效果,完成踏步效果调试。理想的踏步效果应该如以下视频所示(参考视频中狗在桌面上踏步的部分,楼梯上面踏步的平稳要打开陀螺仪并设置,那个后面再给大家在文章中介绍使用方法),机身不抖很平稳,几乎没有任何的前倾,后倾现象。
【教程】灯哥0基础DIY四足机器人指南(新版)–全集更新中!!(2021.4.5)
接着,你要做的就是点击主界面上的“保存为默认重心位置“保存已经调好的前后平移参数,从此之后,就不要随便动前后平移滑条了!!否则会导致软件重心和实际重心对应不上的问题!
完成上一步后,记录下你的前后平移重心值(比如调节后是21),在参数设置界面中,将21填入“Y方向重心偏移量“这个框,使walk步态时的软件重心等同于trot步态的软件重心(当前软件下walk步态和trot步态的软件重心是需要分开设置的)
完成这一步后,6.5以上的软件就可以试试推前后摇杆,看看行走的效果怎么样。如果你是6.5,可以通过点击踏步,然后再油门 ,油门-,测试前后行走效果。
3.2 自动重心补偿量调节
一般默认情况下,调整好踏步的效果,前后行走的效果就会自动也是好的。但是,有时候也会出现踏步效果好,前后行走效果不好(依然前倾和后倾)的情况,这时我们可以通过调节“标定与设置“>” TROT重心调整P”,即如下三个值做进一步的调节。
在行走的过程中,Py-apple Dynamics 会自动根据你给定的期望油门/摇杆的推杆量,微调重心值,使其在行走过程中重心能够一直保持在支撑腿形成的支撑矩形内(一般重心投影保持在足支撑矩形内,就可以维持狗子运行的时候的平稳,这也是狗子运行是否平稳的判据之一),若自动调节的量使得重心投影超出支撑矩形,就会出现标定好基本的重心前后平移后,踏步效果好,但是行走效果差的问题。解决的方法也很简单,就是微调上图的这几个值,因为上面的这几个值,就是狗子在 TROT 步态下行走时,对重心投影位置的自动补偿量P环,这几个值直接影响微调重心的量。 调节策略如下:
- 如果机器人在推摇杆或油门 ,前进时往前倾斜,往前抖动,可以调大 “TROT前进重心调整P ”;如果机器人在推摇杆或油门 ,前进时往后倾斜,往后抖动,可以调小,甚至调负“TROT前进重心调整P ”。
- 如果机器人在拉摇杆或油门-,后退时往后倾斜,往后抖动,可以调大 “TROT后退重心调整P ”, 如果机器人在拉摇杆或油门-,后退时往前倾斜,往前抖动,可以调小,甚至调负“TROT后退重心调整P ”。
- 如果机器人在左右摇摇杆转向时往前倾斜,往前抖动,可以调大 “TROT转向重心调整P ”, 如果机器人在左右摇摇杆转向时往后倾斜,往后抖动,可以调小,甚至调负“TROT转向重心调整P ”。
这就是调节方法,最后再提醒一下,一般这三个参数是不用调的,只有当步态效果在完成了原始的前后平移重心标定,踏步效果也很好,但是行走效果不好时才需要调这个!!!如果一开始踏步效果都不好,那问题就出在前后平移重心标定没调好!在这种情况下,调节这三个值就是地基没打好就起高楼,是没用的。
这就是Py-apple Dynamics 调中、步态效果调节的方法和其中遇到问题的解决。
4 结束
预祝大家最后都能调出好的步态效果,下篇文章我会讲解下Py-apple Dynamics的二次开发方法。使得大家可以在这套软件的基础上二次开发,实现更多有趣的功能。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135805.html原文链接:https://javaforall.cn