注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

新乡乐智机器人培训中心

把世界最好的教育带给孩子

 
 
 

日志

 
 
关于我

新乡乐智机器人俱乐部 把世界最好的教育带给孩子

文章分类
网易考拉推荐

乐高机器人单光感巡线教程2  

2012-11-30 09:54:22|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

高级巡线教程

模糊线以下NXT机器人

   在乐高的Mindstorms NXT软件的教程演示了如何编程一个机器人,如下线使用布尔逻辑。在下文中,基于模糊逻辑,一种改进的版本,。虽然有点复杂,程序仍然在使用NXT-G代码。

 

 

乐高机器人单光感巡线教程2 - 新乡市乐智机器人 - 新乡乐智机器人培训中心

 

http://t.cn/zjtlqg6  

原来的“布尔逻辑”版本的乐高

由乐高玩具的原始版本使用的反射光来区分黑色(线)和白色(楼)。当光传感器是在黑线,左电机被激活,使机器人右转。白色的表面上,当传感器被激活,并且右马达左转机器人。在这种方式中,机器人如下行。 - 或者是正确的,它沿用了黑色和白色之间的边界。这种方法是非常简单而有效的。然而,随着机器人只distingushes黑与白之间,产生的运动看起来好像是喝醉。

模糊逻辑的变种

新版本背后的想法是,不仅要区分黑色和白色,但要考虑不同程度的灰色。如果传感器是准确的边界上,它会看到的颜色,黑色和白色之间。传感器得到的越多,就行了,黑的颜色。另一方面,更多的传感器得到的白色表面上,所感知的颜色越白。这就是所谓模糊逻辑,因为我们不考虑绝对状态(布尔逻辑,这里的“黑与白”),但不同程度的那些国家(较白,黑暗)。

现在,我们不仅限于再打开左,右,但可以把更多的权利(黑颜色)或左(较白的颜色)。以这种方式,如果完全的颜色边界上,机器人运行直行。为了实现这一目标,在左和右马达控制,根据下面的图:

 

乐高机器人单光感巡线教程2 - 新乡市乐智机器人 - 新乡乐智机器人培训中心

NXT-G代码的实现

实施NXT-G的代码,如下所示:

乐高机器人单光感巡线教程2 - 新乡市乐智机器人 - 新乡乐智机器人培训中心

该计划包括三环路,运行在相同的时间。第一回路中读出当前的反射光的值,并把它存储在称为“第1”的变量。第二次和第三次的循环控制左和右马达。

反射光传感器给出了0和100之间的一个数值。黑色表面的典型值大约是20和一个白色的表面大约60的东西。这些值取决于上的环境的适当的条件下,从该表面的距离的传感器。电机功率是0和100之间的一个数值。

以产生所述电机的命令在架构中,必须做以下计算:

· A_Power =(Sensor_Value Black_Value)* Speed_Factor

· B_Power =(White_Value Sensor_Value)* Speed_Factor

对于Black_Value = 20,White_Value = 60,的一个Speed??_Factor 2.5的,我们可以得到下面的结果:

Sensor_Value

A_Power

B_Power

20

0

100

30

25

75

40

50

50

50

75

25

60

100

0

微调

如果您编辑您的NXT上述方案,并没有按预期运行的机器人,检查以下内容:

1 确保你有一个机器人连接到端口A和B的两个驱动电机

2 你的光传感器应该是大约1cm左右的表面之上。

3 以读出的机器人看到什么为黑色,在减法块与它的第二个循环中的值替换。

4 取读数的机器人看到什么为白色和在减法块与它的第三个循环的值替换。

5 开始一个乘法因子1(第2次和第3次循环),它慢慢地增加。


  评论这张
 
阅读(1153)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017