【菠萝狗四足机器人】二次开发教程–第三章 【腿部校准和步态效果调试】

【菠萝狗四足机器人】二次开发教程–第三章 【腿部校准和步态效果调试】腿部校准和步态效果调试1前言2腿部调中(0位校准)3步态效果调试3.1重心标定3.2自动重心补偿量调节4结束1前言承接上次的教程,本次文章,将教你怎么对Py-appleDynamics6.5及6.5以后版本的软件进行腿部校准(调中)和步态效果调试。Py-appleDynamics开源四足控制软件Github调中顾名思义为“机器狗腿部中位调整“,既对机器人的腿部进行标定,使他的机械0位和软件0位重合,以实现机械的运动效果和软件对应。从Py-appleDynamic

大家好,又见面了,我是你们的朋友全栈君。

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位对应(调中)后,调节机器狗的重心投影使其落在四条腿的中间,使其符合软件定义的理想状态模型(软件默认认为狗的重心投影在四条腿连成的平行四边形中间位置)即能够获得比较好的步态效果。
在这里插入图片描述
在这里插入图片描述
调节重心可以通过操控主界面的“后前平移“滑动条实现。

具体的调节方法是:

  1. 首先调节前后平移到18左右(6.5以上可以直接在控制台看见前后平移量。6.5的话要连接Upycraft,在Upycraft控制台中看Yst参数,可以看到这个前后平移量)。18大概是菠萝机械结构的重心标定值,但是每只狗都有微小差别,所以还需要精调。

  2. 接着我们开始精调,首先,点击踏步,观察机器狗的运动趋势,如果机身在踏步的时候往后抖或者后倾,说明重心太靠后,意味着重心还需要往前调整,继续加大前后平移量(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环,这几个值直接影响微调重心的量。
调节策略如下:

  1. 如果机器人在推摇杆或油门+,前进时往前倾斜,往前抖动,可以调大 “TROT前进重心调整P ”;如果机器人在推摇杆或油门+,前进时往后倾斜,往后抖动,可以调小,甚至调负“TROT前进重心调整P ”。
  2. 如果机器人在拉摇杆或油门-,后退时往后倾斜,往后抖动,可以调大 “TROT后退重心调整P ”, 如果机器人在拉摇杆或油门-,后退时往前倾斜,往前抖动,可以调小,甚至调负“TROT后退重心调整P ”。
  3. 如果机器人在左右摇摇杆转向时往前倾斜,往前抖动,可以调大 “TROT转向重心调整P ”, 如果机器人在左右摇摇杆转向时往后倾斜,往后抖动,可以调小,甚至调负“TROT转向重心调整P ”。

这就是调节方法,最后再提醒一下,一般这三个参数是不用调的,只有当步态效果在完成了原始的前后平移重心标定,踏步效果也很好,但是行走效果不好时才需要调这个!!!如果一开始踏步效果都不好,那问题就出在前后平移重心标定没调好!在这种情况下,调节这三个值就是地基没打好就起高楼,是没用的。

在这里插入图片描述
这就是Py-apple Dynamics 调中、步态效果调节的方法和其中遇到问题的解决。

4 结束

预祝大家最后都能调出好的步态效果,下篇文章我会讲解下Py-apple Dynamics的二次开发方法。使得大家可以在这套软件的基础上二次开发,实现更多有趣的功能。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135805.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 安装计算机的显卡出现问题,电脑显卡驱动安装失败如何解决「建议收藏」

    安装计算机的显卡出现问题,电脑显卡驱动安装失败如何解决「建议收藏」部分的网友们是电脑重装新的系统后出现的,也有部分的网友们是用系统自带的显卡更新的功能程序导致的,要如何解决显卡驱动安装失败的问题呢?一般寻找原因所在,一般是驱动数字签名的问题引起的,或者是显卡驱动的型号下载的不对。下面小编整理了对此问题的解答。一起来看看显卡驱动安装失败的解决方法吧!法一;驱动数字签名导致的;(1)win+R快捷键打开运行窗口,输入gpedit.msc后点击确定。(2)打开组策略编…

    2022年6月5日
  • Java的final关键字详解建议收藏

    Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使

    2021年12月20日
  • touchpoint_pointpillars

    touchpoint_pointpillars理想如果不向现实做一点点屈服,那么理想也将归于尘土。锚点的简介在SpriteKit的游戏开发当中经常会使用到AnchorPoint这一属性,锚点的使用一般是配合着position属性使用的,锚点是在自身View上找,这个点一一映射的有一个父view的坐标(使用position来表示),可以通过这两个值来计算子视图的位置信息.也就是说position用来设置CALayer在父层中的位置,而anchorPoint决定着CALayer身上的哪个点会在position属性所指的位置.coco.

    2022年10月8日
  • 大疆网上测评题库_大疆在线测评 – 逻辑题「建议收藏」

    大疆网上测评题库_大疆在线测评 – 逻辑题「建议收藏」收到大疆测评的邮件,在知乎百度搜了一圈也没搜到题目,只好直接去测评了。我的测评是90道题,其中逻辑题挺烧脑,出现了6道逻辑题,幸好之前看过逻辑学三段论,都能答对。2-7是我测评中出现的题,一模一样,今后是否一样就不能确保了,仅供参考。1.所有的老虎会动;一些动物是老虎;因此,一些动物会动。参考解:True2.所有的宗教狂热分子都偏执;所有偏执的人都是种族主义者;因此,所有的种族主义者都是宗教狂…

    2022年6月29日
  • 关于学习的名言_classnotdeffounderror

    关于学习的名言_classnotdeffounderror 现在java编程中经常碰到ClassCastException错误,ClassCastException是JVM在检测到两个类型间的转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。本模式试图为您提供了解和排除ClassCastException错误最常见成因的一些基本要素。为什么发生此问题?在执行几乎任何子系统(Web容器、EJB、JCA、群集等)的应用程序代码或…

    2022年9月10日
  • java常用的io流_io流java

    java常用的io流_io流javaIO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流以后有时间在整理。1.基本概念IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。2.IO流的分类图示:(主要IO流)3.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有

    2022年10月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号