Kittenbot 小喵科技——专注图形化编程教育

快捷导航
查看: 3243|回复: 2

[喵otto] Robotbit版的OTTO(3)-舵机安装与程序调试

[复制链接]

13

主题

22

帖子

119

积分

热心会员

Rank: 2

积分
119
发表于 2018-1-26 18:13:02 | 显示全部楼层 |阅读模式
首先是测试完的精彩视频
  

     
       我们在开机程序规定了数组,这样我们根据每个数组规定对应的舵机的排列顺序。下面的图就是从正面,及有Micro:bit显示的面看过去的一舵机排布顺序,首先就要将舵机的接线连接到Robot:bit的舵机排针上,排针旁边都有舵机的标号,按照下图的顺序将舵机和主控板连接到一起,并且需要一一对应,这样才能保证调试的顺利进行。
舵机排布.png
注意:舵机初始化安装时最好都是归位到90°进行安装。接下来会更新安装技巧和说明,点击搜索订阅关注转发Kittenbot官方微信海量教程任你学习。
通过前面开机状态的设置,为主程序的运行提供了至关总要的保障,下面我们就分析一下主程序,赶紧搬好板凳。

主程序逻辑图.jpg
主程序逻辑流程图(单个舵机)
有了开机的程序,为主程序的循环调用数组提供了重要保证,上面的流程图是单个舵机循环调用数组的控制逻辑,因为八个舵机是并行的控制的,所以能够同时进行控制,这里就是单个舵机的控制逻辑,看懂了这个,其他七个舵机都是一个效果。
大家下载了程序会看到,这是两个Micro:bit间的通讯程序,两个板子在同一个通讯频道,主程序中调用前进后后退的逻辑是一样的,就是换了个数组在当中取出数字进行计算。
直接讲解一下主程序控制逻辑:
       最外围的箭头方向是控制主循环运行次数的大循环,用字母i来表示,启始位为0,主程序规定了主循环的循环次数是五次,字母i用作计数,每次执行完一次主循环,就会自增1然后当计数计到小于5时,及参与计数的数字有0,1,2,3,4这五个数这样经过判断,主循环就会循环5次,这就是外面大循环的逻辑。
       下面设置主循环的标志位,这里设置外循环次数n,内循环次数m,启始位都为0,抽调数组时数字不能出现歧义,再命名一个变量C,根据对应的角度函数公式可以看出,每一时刻的角度和其数组里对应位置的数组存在函数关系,这里的函数关系就是angle(C)=F(n)+[F(c)-F(n)]X(m+1)/9,不要问这函数怎么来的应该是个经验公式。将数组命名为F组那么第n个第c个对应的只就是F(n),程序会将开机时对应的数组提取出来代入公式计算,执行完过后内循环和主循环计数位会自增1,并重新赋值与同名计数变量,及将m+1的值重新给m代入新的循环计算。计算完了的结果直接传给舵机引脚。计算完就与循环次数相比较再决定是否再次执行循环,最后是大循环次数自增,原理和内循环次数计数方法类似。大家也可以深入学习一下循环语句,这真的是提升控制逻辑的快速路径。
       最后设置舵机复位,舵机复位和你初始安装的角度有关,在示例程序中的数值是由于安装时的舵机偏移误差所致,建议大家在安装时,都将舵机归为到90度这样或许可以不需要舵机复位。这样一个流程下来,单个舵机的动作伴随着数组的交替有条不紊的运行了下来,前面说到程序是并行的,所以其余舵机也是按照这样的顺序执行完一遍操作。
主程序因为写的是Micro:bit与Micro:bit间的2.4G无线通讯功能,所以里面加了判断的积木块,大家也应该都看得懂程序实现的功能。下面是程序的一些截图,供大家参考。
1.png
片段1
3.png
片段2
4.png
片段3



程序调试部分
       舵机的动作就和数组有关,动作幅度的大小受到数组的控制,这需要经常的调试与总结,这两天的调试我总结了一个简单的规律马上就和大家分享一下,在接下来的教程中会有更加详细准确的调试方法,这还需要一点时间去总结,请各位亲们耐心等待一下。
基本规律和调试基本方法:
1.主关节舵机包括S1S3S5S7的数组排列形式类似,副关节及类似人的小臂和小腿就是舵机排布图中的S2S4S6S8排布类似。
2.首先看主关节数组,除去每个数组后面归位用的180°,前面九个数字是一个关于5号位数字对称的数组,大家可以想象一下活动一个关节向前再向后就会有个中间位置,这个中间位置就是五号位的数字,大家如果要改运动的幅度就在这几个数字里调整,更具我调试的经验所有的取值都在给定的值附近,不要偏差太大,相邻两个数之间的绝对值相差越大,动的幅度也就越大。
3.再看副关节数组,五号位的数字,一号位的数字,九号位数字都是90°然后按照一定振幅摆动,这里调整参数时同样是相邻两个数组绝对值相差越大摆动的幅度就越大。
       大家可以调整时候多多尝试,如果有什么好的调试方法也可以在技术交流群里分享经验。
       到这里经过多次的调试与测试才得到了一个理想的结果,探索的道路上需要经历各种各样的测试这需要耐心。
       到这里就把Micro:bit版OTTO机器人的程序梳理了一遍,可能有点深入了,遇到问题可以通过自己反复的测试与摸索找到解决的方案,相信大家在看了我的教程之后一定会在多关节机器人程序的编写上大有启发,这个算的上是OTTO机器人的开篇程序,程序有不好的地方欢迎大家指正,并在技术交流群中讨论,接下来会更新关于机器人的组装和注意事项的一些说明,敬请期待哦!最后欢迎订阅关注转发分享Kittenbot官方微信,海量教程资源任你玩耍!

回复

使用道具 举报

2

主题

16

帖子

127

积分

热心会员

Rank: 2

积分
127
发表于 2018-2-3 11:03:13 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

6

帖子

22

积分

新手小白

Rank: 1

积分
22
发表于 2018-2-8 09:50:34 | 显示全部楼层
需要耐心花时间看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

全力为Stem教育行业提供新技术、新方案和新产品。

 

地址:广东省深圳市华丰互联网+创意园 419~420

© 2019 Kittenbot Inc. 深圳市小喵科技有限公司 ( 粤ICP备16110073号 )

GMT+8, 2019-12-15 15:38 , Processed in 0.034427 second(s), 37 queries , Gzip On.
Powered by Discuz! X3.2

快速回复 返回顶部 返回列表