转载请注明出处:http://blog.csdn.net/lxk7280

                                       Kinect体感控制小车       

Kinect部分:

 购买KInect,这第一步就不多说了。因为Kinect二代出了之后,Kinect一代价格立刻降了不少,这对于初学者绝对是一个福音。几个月之前700多的Kinect一代,现在只需要400多了。有的Kinect交流群里面二手的都已经只卖100块钱了。

买回Kinect,之后就开始学习了。

      一:硬件配置

  1. 一台电脑,当然内存越大越好(推荐2G或者以上),处理器频率(2.66GHz及以上)越高越好。
  2. Windows 7操作系统,以及支持Microsoft DirectX9.0c兼容的显卡
  3. Kinect for Xbox360 Sensor(如果单买的话,自带有USB Power Adapter,如果是和Xbox360套装一起捆绑的话,因为Xbox主机能够直接为Kinect外设提供电源,所以没有电源,可能需要另买USB Power Adapter)

   但是,现在购买的Kinect已经不像几个月以前那样麻烦了,电源不需要专门购买Adapter了。一般都可以直接插在电源上。

PS:以前需要专门购买Adapter是因为,Kinect的供电是外国标准电源,与中国标准的220V,50HZ的民用电源不同,所以需要一个转换电源。

     二:软件配置

1. Visual Studio 2010 Express或者Visual Studio 2010专业版或其他版本

2. .NET Framework 4.0

3. Kinect for Windows SDK,最新版本为1.8版本,下载地址:http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx

三:安装步骤

     断开Kinect与电脑的连接;

    关闭Visual Studio;

    安装SDK;

    安装完成后就可以识别Kinect,这是Kinect上面LED指示灯会变成绿色,就表示成功了;

以上三部分我是按照这个博文做下来的:http://www.cnblogs.com/yangecnu/archive/2012/03/30/KinectSDK_Geting_Started.html,内容非常详细,步骤也很清楚。

     之后按照这位大牛博主翻译的文章好好看几篇,跟着练习几篇之后,就可以开始进行我们的Kinect部分的处理了。

    Time Goes By,After Some Days , I Decide To Start To Write My Program.

每次写这种程序,最好之前好好分析一下要用到哪些控件、哪些库,然后由简单入深一个一个学习完之后开始做。就我个人来说,我做东西不怎么喜欢系统得学习一样东西,比如要用到Visual ,可能有的人会买本Visual的书,一个章节一个章节得看下去,我感觉这样花时间而且记不住。所以用到什么学什么,这样蛮好的。

分析:

一共两大部分,Kinect识别部分和小车移动部分。小车部分基于Arduino,C。Kinect基于Visual,C#。

对于一个一无所知的人,我相信你不会做这个。。所以默认作者是一个入门了的geek。已经知道了解会用C和C#的小白。(这里说的会用,只要你会基本语法就可以了。)

对于我所说的由浅入深。很明显Kinect部分难于Arduino部分,所以体感小车从Arduino部分入手开始制作。

Arduino程序:

Aruidno如图:

即将用到的东西其实很少,六个普通的Digital引脚(用来控制电机驱动)。两个引脚给ENA,ENB(低电平有效,可控)。两个引脚给P0P1 (左轮) , 还有两个给P2P3(右轮),分别控制左轮电机,右轮电机。

电机驱动如图:

下面简单的介绍一个怎么控制:

<span style="white-space:pre">  </span>ENA = 0 ; ENB = 0; P0 = 0; P1 = 1; P2 = 0; P3 = 1;        //前进。ENA = 0 ; ENB = 0; P0 = 1; P1 = 0; P2 = 1; P3 = 0;     //后退。ENA = 0 ; ENB = 0; P0 = 0; P1 = 1; P2 = 0; P3 = 0;       //右转弯。ENA = 0 ; ENB = 0; P0 = 0; P1 = 0; P2 = 0; P3 = 1;      //左转弯。ENA = 0 ; ENB = 0; P0 = 0; P1 = 0; P2 = 0; P3 = 0;      //停止。      

PS : 由于机械臂比较重,所以选用的是坦克履带车。双电机驱动,一个电机控制一边的履带,通过差速转弯。关于差速转弯,可以通过PWM控制,在这里由于我不需要很高精度的控制,我选择的是一边转一边停的方式转弯。如果要精确控制的时候,还是要用到PWM控制的。

坦克履带车如图:

电机控制之外还要用到无线串口模块,通过波特率9600,功率15dbm,电压5V的无线串口,接收PC端发过来的数据。

无线串口如图:

例如程序:

        Serial3.begin(9600);Serial.begin(9600);while(Serial3.avaliable() > 0){str  = Serial3.read();Serial.printnl(str);}

之后对接收到的数据进行简单的Switch Case语句的处理。主要的算法处理在PC端,PC端识别手势骨骼之后,进行算法处理,最后总结归纳出五个字符,分别如下:

<span style="white-space:pre">  </span>L    ---    左拐
<span style="white-space:pre"> </span>R    ---    右拐
<span style="white-space:pre"> </span>S    ---    停止
<span style="white-space:pre"> </span>F    ---    前进
<span style="white-space:pre"> </span>H    ---    后退   (因为后面的体感机械臂中要用到B字符,所以就用H代替B作为后退指令)

接下来,写一下switch伪代码,相信大家都能写完这段程序,就不附源代码了:

        switch(str){case 'L':{左拐;break;}case 'R':{右拐;break;}case 'F':{前进;break;}case 'H':{后退;break;}case 'S':{停止;break;}}

学完这两个部分:体感小车在程序方面,你就已经有能力完成小车了!是不是很快。So,用啥学啥,接下来可以开始干Kinect了。Arduino部分真的很简单,会C语音的人绝对可以天之内搞完。

我写的顺序都是根据我个人学习的顺序,可能在大家看来会比较乱,但是属实的记录了这个过程。望谅解。

这篇教程比较简单,Arduino端没什么难的地方。下一篇将着重介绍PC端的处理。

这段时间做东西而且上课比较累,更新会比较慢    = 。 =

From :  Themeldoy

QQ:       416815882

制作Kinect体感控制小车教程 <一>相关推荐

  1. 制作Kinect体感控制小车教程 lt;一gt;

    转载请注明出处:http://blog.csdn.net/lxk7280                                        Kinect体感控制小车        Kine ...

  2. 基于Kinect体感器控制的机械臂项目记录

    基于Kinect体感器控制的机械臂 项目介绍 上位机代码说明 1.识别部分 1.1GetPosition.cpp 1.2 KinetJiointFilter.cpp 1.3 1.4 SerialPor ...

  3. kinect能接到电脑上用吗_浅谈:在PC上用摄像头体验体感控制

    浅谈:在PC上用摄像头体验体感控制 2016-01-28 13:02:22 7点赞 11收藏 20评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击查看活动详情 ...

  4. Kinect体感机器人(三)—— 空间向量法计算关节角度

    Kinect体感机器人(三)-- 空间向量法计算关节角度 By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 终于写到体感机器人的核心代码了, ...

  5. 解决体感控制模型穿模问题

    使用Kinect进行体感项目开发时发现控制的模型会出现穿模的情况,曾使用Final IK.增加碰撞等方法尝试解决该问题,都不可行. 使用DynamicBone插件可以很好的解决该问题. 使用中出现各部 ...

  6. Kinect体感互动解决方案——体感炫舞互动系统

    儿童乐园.商场人流较少.缺乏活力.死气沉沉? 可能你需要的是Kinect体感炫舞互动游戏. 佩京体感炫舞互动游戏,为儿童乐园.商场注入更多互动活力,您带来从未有过的超级酷炫体验,其精彩纷呈的动态舞台场 ...

  7. (转)Kinect体感机器人—— 空间向量法计算关节角度

    Kinect体感机器人(三)-- 空间向量法计算关节角度 By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 终于写到体感机器人的核心代码了, ...

  8. Kinect体感机器人(二)—— 体感识别

    Kinect体感机器人(二)-- 体感识别 By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 背景知识 体感技术属于NUI(自然人机界面)的 ...

  9. 用多个Kinect体感摄像头实现真正360度运动捕捉系统

    以前我在这里写过博客文章,研究用微软的Kinect体感摄像头做运动捕捉,当时设计了两种方案,一种是用NiTE中间件,在它的基础上改进了一点点,但处理360度转身主要靠插值,说白了就是靠猜测,效果不是很 ...

最新文章

  1. studio2008 无法显示该网页
  2. Java 9 揭秘(19. 平台和JVM日志)
  3. 20145202 《信息安全系统设计基础》第8周学习总结
  4. json怎么读取数据库_如何:使用Json插入数据库并从中读取
  5. 使用Infinispan作为持久性解决方案
  6. http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理,及它的逆向函数...
  7. bzoj1562[NOI2009] 变换序列
  8. 阅读笔记《梦断代码》其二
  9. Android9能用的flash播放器,安卓flash播放器源码支持android9
  10. 信号与系统实验一 信号在MATLAB中的表示
  11. cyusb3014的slavefifo程序的解读
  12. 北京中医药大学计算机应用基础作业1,北京中医药大学远程教育“计算机应用基础”第5次作业.doc...
  13. 当我说转行大数据工程师时,众人笑我太疯癫,直到四个月后......
  14. Tomcat 中 GET方式 请求 中文乱码 出现的原因
  15. 对英国房屋价格建模并预测 ---《量化金融R语言初级教程》
  16. 2021最新chrome浏览器与chromedriver版本对照表
  17. Unity制作RPG游戏——战斗注视LockOn实现方法
  18. 小鹿课堂:5个迹象看透孩子隐藏的“心理疲劳”
  19. python之文本处理
  20. 英特奇android刷机,英特奇E88线刷刷机教程_英特奇E88线刷rom包_系统刷机包

热门文章

  1. BIOS最新常见问题集
  2. 数组查找、赋值、复制、反转及修改,三种常用排序算法
  3. app 支持与itunes之间传输文稿
  4. 吃鸡服务器修改测试服,绝地求生测试服更新内容_绝地求生测试服11月22日更新了什么_52pk单机游戏...
  5. ftp文件服务器跨平台,跨平台FTP服务器端(Wing FTP Server)
  6. 自备ACM模板 —— 其他技巧
  7. 独立站走第三方平台模式
  8. 网络带宽流量与文件大小换算
  9. Syntax error: “then“ unexpected (expecting “done“)
  10. 虚拟服务器cpu算法,一种灵活高效的虚拟CPU调度算法