实现用手机控制机器人

所有的智能平台,就差手机这块还没开垦了!今天终于完成了,用支持JAVA游戏的手机来控制机器人!J2ME的执行效率和实现效果比我想象的要强得多!实时贝塞尔的三维图都能完成

运作方式是:手机GPRS上网与我写的专门配合手机的服务器实时交换信息,采用推送方式。目前完成了绝大部分在PC上可以实现的功能:运动控制,数据实时回传,条形图现实,三维图现实,采用率调整,插值,滤波,保存数据等,还没法实现的是报表的填写界面(用JAVA写UI确实太累了!),还有一个就是语音控制(这个估计还很遥远,因为我没有支持JAVA游戏的手机来实测,模拟器里似乎不行)。
下面是几张截图:

Details »

通过摄像头捕捉手势控制机器人试验成功

试验的目的是尝试让计算机通过摄像头识别人的动作,并翻译成机器人能识别的命令,来控制机器人。开发平台选的是JAVA,因为可以运行在各平台,并且适用于B/S架构。

现在已经可以控制机器人的八个方向运动和停止,程序开始后,将摄像头图像绘出,用户在图形中电击要跟踪的物品,比如以一堵白色的墙为背景,拿一根带蓝色的笔帽的水笔在图像中,然后点击那个笔帽的位置,程序就会开始跟踪笔帽,并画出运动轨迹。视频被分割为9块,周围的8个分别对应8各方向,中间的对应停止命令,笔帽移动到哪块区域,程序就发送相应的命令给机器人。
还有第二种控制方式,就是让机器人按照笔移动的轨迹运动,但由于没有设置编码轮等精确检测机器人移动距离的部件,再加上我的机器人移动比不上手的速度,这种方式只能在手很慢移动时才能看出一点效果。

但是用JAVA开发的视频程序,似乎都要安装QT for JAVA或一个第三方摄像头驱动才能运行,分发到最终用户比较麻烦,可能是我了解JAVA不深,还没什么解决方法。

不管怎说,还是觉得很高兴,现在,通过语音,身体动作都能控制我的机器人了
Update 2006.05.04 :后来研究了一下游戏手柄的USB驱动,现在也可以用手柄控制了,感觉挺爽!!

Screen004

PPC通过蓝牙控制机器人程序开发完成

这两天,我的DELL X50v整天插着电源,开着蓝牙,就当是烤机老化吧,没有办法,由于牵涉到蓝牙接口,没法在模拟器上试验。整个开发过程,最烦恼的就是PPC的屏幕空间很有限,要精打细算控件的摆放,但还是不够用,最后把按钮都改成一个个小方块,只用一个字母表示,这个程序只能我自己用了。
功能方面几乎实现了所有PC端程序能实现的所有功能(除了语音控制,这个开发周期比较长语音控制也初步完成了,识别率大概有80%,还有待改进),滚屏,实时三维图显示,报警,对机器人的各种控制,保存文件等都没有漏掉。
本来是用VB.net开发的,后来觉得运行速度慢,就用EVC开发,速度快了近一倍,看来.net在工控上的应用,效率很成问题。

下面是几张截图:

实时三维图模式:

Details »

发布机器人-Eye 的Flash控制台

经过一些测试,又把自己的服务器搭起来了,照样是:http://last.kmip.net。但这次不能像以前那样经常开机了,因为这次是搭在我的笔记本上。

Flash的机器人控制台的页面就是:http://last.kmip.net,想要试一试的朋友可以先访问看看,如果不行就是我没开机,或者可以在这里留言,约个时间,这里是界面截图,也可以先看看下面的视频,有控制台操作和机器人运动的录像,这里是我为这个远程机器人系统发表在Make Magazine上准备的视频,关于这个杂志,国内用户可能不容易拿到纸质的杂志,我都是通过网络访问的,这次那个编辑说要寄几本样刊过来给我,太幸福了!

如果需要高品质一点的视频(swf格式),可以在这里下载(20M速度比较慢)

It’s a net control robot , you can control it , see it , receive the date from it in the browser(with flash player). But the server is just my PC , so I can’t open it all the day. And I make a video of it , you can see it above. If you want to try , you can leave a time(the time here is UTC+8)as a reply here , then at that time we arranged , if I open my server , you can try to control my robot.

eye_flash

Flash的机器人信号采集、控制界面完成

基于Flash的机器人信号采集、控制界面基本完成,本地应用程序有的功能它基本上都有,包括3D数据实时显示,插值,滤波,保存什么的,Flash Player的性能比我预想的要强。这次也赶了一回B/S的潮流,混用WIFI、蓝牙、以太网等各种网络,这几天又在架自己的服务器,等完善一些就可以放上来大家一起玩。

避障系统

完善机器人避障系统

采用不一样的算法和硬件,已经可以比较顺利地完成避障,至少可以顺利从我家大厅走进我的书房了,增加了优先级控制,应以通过蓝牙强行控制其撞墙。有了避障系统,过几天就可以发布网上客户端,可以通过网页控制了,带摄像头。


更多图片

蓝牙加直流电机控制的附板何和主控板

机器人升级蓝牙控制成功

折腾了两天,终于把机器人的红外遥控接口升级为蓝牙,感觉爽极了!采用115200的波特率可以在空旷的40M范围内零误码,9600的波特率可以到60M,现在可以在我家里(8楼)遥控在小区平台上的机器人了,而且信号识别很好,不像红外那样容易被“误解”。115200的波特率的波特率可以很好地完成图像的回传,各种数据的采集等,接下来就大有搞头了

这是蓝牙加直流电机控制的附板何和主控板:

组装整体图:

Details »

my robot2

第一只机器人

经过断断续续四天的构想和制作,我的第一个机器人终于初步有了框架:下面是照片,更多照片点那张图,在Flickr里看。

现在有两种运行状态:

一种是用我的DELL X50v通过红外遥控,直接控制,这是高优先级的,不管机器人现在在做什么,接到红外信号立刻照做,可以控制四类九种运动:

  • 前进,后退
  • 原地差分方式左转,右转
  • 小半径左前转,右前转,左后转,右后转
  • 停止
  • 之所以用红外,其实有大一部分原因是因为我的DELL X50v买来后,写了个串口程序测试成功后就一直闲置,很是让我难受,就拿它来当遥控器了。红外只是一种中间过渡方案,有很多不便,接下来会改成蓝牙或高频小功率无线遥控。
    Details »