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

启睿教育——张铭炜

启睿机器人科技活动中心——知之者不如好之者,好之者不如乐之者

 
 
 

日志

 
 

NXT2.0编程--移动模块  

2010-07-22 08:28:02|  分类: NXT编程指导 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

使用此模块可以设定机器人沿直线前进或后退或沿曲线转弯。 可使用“持续时间”属性定义机器人行进的距离。

NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

  1. 模块右上角的字母表示将控制的 NXT 端口。
  2. 该图标显示机器人将移动的方向。
  3. 该图标显示功率级别。 机器人速度可能受其他条件影响,例如其移动的表面或是爬坡或下坡。
  4. 该图标显示了已将“持续时间”属性设置为无限制、度数、圈数或秒。
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

  1. 该图标显示“方向”属性设置为“停止”。 该设置将停止全部电机。

配置移动模块

NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

  1. 选择需要控制的电机。 如果选择控制两个电机(例如: B 和 C),电机将同步,将以相同的功率前转或后转。 如果选择三个电机,电机 B 和 C 将同步。
  2. 选择是否电机将会前转、后转或停止。 选择“停止”也将复位电机。 (也请参见“复位电机模块”文件。)
  3. 如果使用两个电机驱动机器人(两侧各一个),“转向”滑块将显示所选的端口字母,分别指示两侧。 移动滑块可设置机器人移动的完全路径。 滑块完全移动至一侧,则机器人将在原地旋转。
  4. 可使用该滑块和可编辑输入框设置功率级别 [0-100%]。
  5. 使用“持续时间”下拉菜单设置电机运行无限制时间,或设定的秒数、圈数 [默认] 或度数。 通过选择“时间”、“圈数”或“度数”,可以控制机器人移动的距离。 (请参见如下提示。)
  6. 选择电机在完成其动作之后是否是制动停止或惯性滑行停止。 如果希望机器人在一个精确位置停止,将电机设置为制动。 设置电机为制动将防止机器人在斜坡上向后轻微滑动,但是该设置将很快地消耗电池,因为电机保持机器人原位不动也将做功。
  7. 反馈框将计数电机转动的度数或整圈数。 按复位按钮将值归零。 (要接收反馈,确保电机连接至所选的端口,且已与 NXT 建立了该通信。)

提示: 如何命令机器人移动特定的距离?

可查看反馈框 (7) 进行设置。

对于车轮或履带机器人:

首先按反馈框的复位按钮。 保持 USB 线缆连接或蓝牙连接,将机器人放置于起点,然后用手推动其向前移动。 您将发现反馈框将计数电机转动的圈数或度数。 (要想此设置生效,“持续时间”属性必须设置为“圈数”或“度数”。) 在所需的终点上,停止移动机器人,然后记下显示的圈数或度数。 如果将此值键入“持续时间”属性的输入框,并下载然后运行程序,则机器人将移动所设定的距离。

对于带腿的机器人:

需要反复进行实验,选择设定的圈数或度数并检查与目标目的地的差距。 确保在开始前按复位按钮。

持续时间的其它用途

当编程诸如抓取机工具时,最好在“持续时间”属性中设置时间。 这将省去测量工具运行的精确度数,帮助完成编程。

注: 设置电机持续时间为任何值,而非“无限制”将使程序等待,直至机器人完成设定的持续时间;此时程序方可继续。

电机方向对机器人方向

当设置“移动”模块或“电机”模块时,将指定电机旋转的方向。 这可能与机器人实际移动的方向不同。 这取决于如何设置机器人,设置电机向前运行可能导致机器人向后移动。 以下图像显示了电机默认的旋转方向,方向向前。

NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

配置移动模块的数据中心

可以通过将数据线(从其它模块的数据中心)连接至“移动”模块的数据中心动态地控制“移动”模块。

在模块数据中心放置于工作区域之后,单击模块左下角的选项卡可打开模块数据中心。

NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

承载至模块的输入信息的数据线连接至数据中心左侧的接头。 承载输出信息的数据线连接至右侧的接头。

NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部

 

[A] 输入接头
[B] 输出接头
[C] 数字数据线(黄色)
[D] 逻辑数据线(绿色)
[E] 文本数据线(橙色)
[F] 故障数据线(灰色)

从输入接头将数据传输至输出接头

如果输入接头有对应的输出接头(参见上面的 A),输入数据将从输入接头传输至输出接头,而不会被更改。 在这种情况下,如果输入接头连接至输入数据线,仅可使用输出接头;连接输出数据线至此类输出接头而不连接输入数据线将导致输出数据线“故障”(并显示为灰色)。

承载特定类型数据的数据线

每条数据线在模块之间承载特定类型的数据。 例如,如果数据线与模块数据中心的逻辑接头连接,则它仅可连接至另一模块数据中心的逻辑接头。 下表显示了每个接头可接受或发送的数据类型。

数据线颜色

数据线通过特定的颜色识别: 承载数字数据的数据线为黄色,承载逻辑数据的数据线为绿色,承载文本数据的数据线为橙色。

“故障”数据线

如果将数据线连接至数据类型错误的接头,则数据线将会出现“故障”(并显示为灰色)。 如果数据线故障则无法下载程序。

如果单击“故障”数据线,便可在工作区域右下角的帮助小窗口中查看“故障”原因。

数据必须位于接头的可能范围内

如果输入数据线所传输的值超出其所连接接头的可能范围,模块将忽略该值或将该值改为范围内。 对于仅允许较少输入值的接头(例如: 仅 0、1 或 2),接头将忽略传入值超出范围的输入。

对于可接受较大输入范围的接头(例如: 0 - 100),接头将强制性将任何超出范围的输入改为范围内。 例如,如果“移动”模块的“电源”接头收到输入值 150,模块会将输入值更改为 100(即,位于“电源”接头范围的数字)。

此表显示了“移动”模块数据中心上接头的不同特性:

  接头 数据类型 可能范围 值的含义 忽略此“接头”的条件...
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
左电机 数字 1 - 3 1 = A、2 = B、3 = C  
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
右电机 数字 1 - 3 1 = A、2 = B、3 = C  
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
其他电机 数字 1 - 3 1 = A、2 = B、3 = C  
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
转向 逻辑 真/伪 真 = 向前,伪 = 向后  
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
转向 数字 -100 - 100 < 0 = 电机向左转向,
> 0 = 电机向右转向
 
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
功率 数字 0 - 100    
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
持续时间 数字 0 - 2147483647 取决于持续时间类型:
度数/圈数 = 度数,
秒数 = 秒数
持续时间类型 = 无限制
 
 
NXT2.0编程--移动模块 -   铭炜 - 机器人狂欢俱乐部
 
下一动作 逻辑 真/伪 真 = 制动,伪 = 惯性滑行 持续时间类型 = 无限制。 转向不等于零(这可能是暂时情况。不能忽略此问题的待处理固件修复。)
  评论这张
 
阅读(744)| 评论(3)
推荐 转载

历史上的今天

评论

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

页脚

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