用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
yefanqiu的公告
本博客原创文章,作者保留一切权利,需经作者同意后方可转载,转载时请注明[叶帆工作室]及文章链接。
文章分类
【叶帆软件】
[01]VB源码之友(V2.1.548)
[02]API浏览器.net(V5.0)
[03]叶帆成语词典(V2.0.8)
[04]叶帆密码库(V1.2.8)
【叶帆资源】
DAO 2.0引擎
叶帆快速通道
Windows Embedded 专题
中文MSDN
叶帆工作室(博客园)
叶帆工作室(嵌入式)
叶帆工作室(工控)
微软中文技术论坛
瑞康社区论坛
叶帆友情链接
张欣
枕善居
莫依
葛涵涛
郑建
陈辉
马宁
马骐
魏涛序
黎波
存档

原创  .Net Micro Framework研究—用MF控制机器人 收藏

 

机器人研究一直是我很早以前的梦想,没有想到在深入研究.Net Micro Framework同时能和机器人搭上了联系。
美国iRobot作为一家大型的机器人军工机械厂,其家用机器人吸尘器(电不足时能自动充电的机器人)已经让iRobot公司名满天下。我们研究的机器人就是iRobot公司推出了的新作——一个可以自己编程的机器人移动平台iRobot Create。
由于最近才从微软拿到这个机器人,所以我们第一步就是先要了解这个机器人,然后MF才能作为它的大脑控制该机器人。
让我们先一睹iRobot Create的“芳容”。
iRobot Create 和充电基座(Home Base)
iRobot Create 和BAM蓝牙模块
 
iRobot Create有六类共31条控制命令,即能控制机器人行走、旋转、播放音乐,也能获知32个内置传感器信息(轮是否抬起、是否是悬崖、前方是否有墙、左右碰撞检测等等)。通过串口和iRobot Create进行通信(默认波特率57600).
  //27号信息包
            public UInt16 WallSignal;                //墙反射的无线信号强度 0 - 4095 高字节在前
            //28号信息包
            public UInt16 CliffLeftSignal;           //左悬崖信号强度
            //29号信息包
            public UInt16 CliffFrontLeftSignal;      //左前悬崖信号强度
            //30号信息包
            public UInt16 CliffFrontRightSignal;     //右前悬崖信号强度
            //31号信息包
            public UInt16 CliffRightSignal;          //右悬崖信号强度
            //32号信息包
            public bool BpsChange;                   //波特率发生改变
            public bool DI_3;                        //DI输入
            public bool DI_2;
            public bool DI_1;
            public bool DI_0;
            //33号信息包
            public UInt16 AI;                        //模拟入 0 -1023(5V)   高字节在前
            //34号信息包
            public bool HomeBase;                    //是否到家
  public bool InternalCharger;             //是否充电
随便拿出一段代码,你就会发现iRobot Create可获取大量有效的传感器信息(这样的信息包有四十多个)。
为了便于研究iRobot Create,我先用C#编写一个Windows程序(该程序通信控制部分和MF程序没有太大的区别,仅串口操作有细微差别),通过蓝牙模块(串口)和机器人进行通信(也可以用串口线连接,但是这样控制起来不方便)。
在调试过程中发现蓝牙模块的通信性能和串口线相比,有一定区别,那就是延时较大(一般串口线直连15ms延迟就能保证通信收发成功,蓝牙通信一般需要50ms之上延迟,才能保证通信成功)。控制界面如下。
 
机器人控制本身就是一个很大的课题,所以我们这里也无法一次说个完整和明白,今后我会陆陆续续发些相关文章的。我们今天先说说iRobot Create该充电时是如何找到“家”的(我想大家一定对这个感兴趣)。
iRobot Create毕竟是一个简单的机器人,所以千万不要和它捉迷藏,Homebase一定要放在室内开阔地带(iRobot Create是通过红外信号发现Homebase的所以中间最好不要有遮挡物,否则iRobot Create有可能要找一阵子)。
Homebase有两个红外发射管,可充当位置标记(一个为Green Buoy,一个为Red Buoy)。在iRobot Create头上有一个全方位红外接收头,可以接收到Homebase发出的红外信息。
可收到的红外指令如下:

      iRobot Create就是根据以上信息,不断地调整自己的方位,找到回家的路。 

发表于 @ 2008年01月15日 22:59:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:北京MVP Gathering简记(08-1-13) | 新一篇:用模拟器加载基于ARM平台的WinCE6.0 内核(NK.bin)

  • 发表评论
  • 评论内容:
  •  
Copyright © yefanqiu
Powered by CSDN Blog