找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 127355|回复: 195

EV3颜色分拣器程序优化最优解,分享一个简单的思路

   火... [复制链接]
发表于 2018-9-13 15:59:13 | 显示全部楼层 |阅读模式
本帖最后由 piaoxue 于 2018-10-19 10:20 编辑

基于吧友@qswxsii原贴EV3颜色分拣器和吧友@陈普照的程序改进思路颜色分拣器 程序优化 简单易懂
实际应用时发现有一个问题,即将要去的颜色和当前颜色如果是最后一个颜色和首个颜色的话,即使他们只是相差一个单位,但马达却转了270度,然而这并不是最优解。

马达转270度其实和马达转-90度最终结果是一样的,所以我又再优化了一下。

以下是思路:

按照陈普照吧友的思路,其实是将颜色用数字替代,然后设置当前颜色和即将要去的颜色两个变量,取他们的差值,乘于一个系数(这里因为有4个颜色平均分布,一个颜色到另一个颜色需要马达旋转360度的四分之一,也就是90度,所以系数是90),将结果导入马达,达到控制马达旋转到想要的颜色框的目的。
比如我将红、绿、蓝、黄,将他们分别用数字0、1、2、3来替代。
那这个程序是如何执行的呢?
首先要需要两个个公式:即将要去的颜色-当前颜色=两个颜色的差值,差值X一个系数=马达旋转的角度
举例:当前颜色是红色,数字是0,下一个色块是蓝色,数字是2,那么将2-0,得2,再乘于90度,得出马达需要旋转180度到蓝色的方框。
         又或者,当前颜色是黄色,数字是3,下一个色块是绿色,数字是1,那么将1-3,得-2,再乘于90度,得到马达需要旋转-180到绿色的方框。
         如果下一个色块和当前颜色相同,那么得出的差值是0,乘于90度还是0,马达将不会转动。

接下来就是重点了,其实终上所述,颜色的差值其实是有限的几种结果,只有-3、-2、-1、0、1、2、3,这7种。

想必大家也发现了,只有当颜色的差值等于-3和3的时候,乘于90度得到的结果分别是-270度,和270度,但实际上,马达旋转-270度、270度和旋转90度、-90度的结果是一模一样的,也就是说,颜色的差值-3其实等于1,而3等于-1。
而我在上面程序的基础上,在差值乘于系数之前,做了一个比较,当出现-3和3这两个结果时,将-3和3这两个结果,用1和-1替换掉,这样就能实现马达旋转到想要的颜色框时都是最优解,不会再出现明明就在旁边,却旋转了270度的情况。

以下是程序和视频。

之前的链接失效,再发一次
之前的链接失效,再发一次,链接: https://pan.baidu.com/s/1mC6AdJUOXPnemzv8BT8gng 提取码: e52v










如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-9-13 16:57:29 | 显示全部楼层
这个还蛮有劲的,有步骤图吗?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-13 17:16:31 | 显示全部楼层
看看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-13 18:14:32 | 显示全部楼层
KANKAN1
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-13 19:30:29 | 显示全部楼层
66666
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-13 20:42:42 | 显示全部楼层
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-13 20:51:48 | 显示全部楼层
谢谢分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-14 09:35:34 | 显示全部楼层
学习
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-14 10:00:55 | 显示全部楼层
看看
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-14 10:03:08 | 显示全部楼层
想学一下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-14 10:16:49 | 显示全部楼层
ddd
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-14 10:33:48 | 显示全部楼层
学习中
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-15 09:18:23 | 显示全部楼层
陈普照前来学习,做一个比较,更优化
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-16 11:09:31 | 显示全部楼层
hhhhhhh
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-16 19:53:44 | 显示全部楼层
求分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-11-23 07:56 , Processed in 0.568393 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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