查看: 6877|回复: 3

pcDuino版带深度摄像头的WIFI小车

  [复制链接]
  • TA的每日心情
    郁闷
    2013-6-3 09:22
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-9-2 09:21:41 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 pcduino 于 2013-9-2 09:21 编辑

    WIFI小车在网上火了很长时间,现在仍然很多机器人爱好者跃跃欲试。若想让WIFI小车做点智能的事情,高性能运算器和与自己应用对应的传感器必不可少。作者利用暑假时间,制作了一款简易的带深度摄像头的WIFI小车,完成了语音手势交互,行人跟踪,避障等功能。

    历程:7.17项目正式开始,搜集信息考察方案;7.27确定方案;7.29~8.3在家度过了最轻松舒服的5天;8.7底盘到达,开始制作小车;8.20完成笔记本+虚拟机版本的应用;8.28将虚拟机中的Ubuntu运行部分移植至pcDuino,完成pcDuino版本应用。这里介绍pcDuino版带深度摄像头WIFI小车的大致架构。
    先看视频:


    pcDuino版带深度摄像头WIFI小车框架图


    1. 硬件构成
    基本的机器人组成部件:传感器,控制系统(笔记本+pcDuino),底盘,支架。

    1.1. 传感器
    图像处理,计算机视觉发展了很多年,从受计算机计算能力的限制,到受普通RGB图像自身包含信息量的限制,人们想从简单的少量RGB图像中获取更多环境信息变得越来越困难。而后兴起的双目视觉,直觉上模仿人眼的立体视觉原理,就能从两幅(或者多幅)图片中获取景深信息;但双目立体视觉对设备的要求高,处理过程麻烦,开销大等特点不容忽视。近几年火热的深度感知技术(技术研究已有好些年),能够利用其它发射式传感器,通过简单的处理得到深度信息,例如Kinect,使用激光光源,透过红外滤光片发射出红外光栅,再由红外摄像头获取到光栅分布,计算出前面景物的深度信息。深度摄像头的发展,以Kinect的全球热卖为标志,迅速吸引全球开发者和视觉研究者的目光。与其通过多幅RGB图计算出深度信息,不如直接使用深度摄像头获取深度信息方便直接。在深度信息的基础上发展的各种感知应用日趋成熟,在人机交互上,各大厂商都看见了它的潜力,大力发展深度摄像头。未来深度摄像头将成为PC机,笔记本,甚至是手机等移动终端的标配摄像头。

    深度摄像头:本应用中最重要的环境感知信息就是深度信息,使用的是Intel出品的深度摄像头(原理有别于Kinect)。由于官方只有Windows系统的驱动,因此不得不背负笔记本来使用该摄像头。

    语音输入输出设备:为了降低噪音(底盘运行,语音合成的输出)干扰,使用蓝牙耳机作为语音命令的输入设备。既然不得不使用笔记本,直接使用笔记本外音作为语音输出设备。

    其他传感器:3个超声波传感器,和一个IMU模块,直接挂载于pcDuino,即使用miniPC代替了传统的单片机。pcDuino可以使用Arduino风格的编码方式,对Arduino中的传感器驱动稍作修改,在自己的应用中获取传感器信息。(实际上上述两种传感器信息本应用中并未用到,但今后的第二阶段开发中会需要。)

    1.2. 控制系统
    笔记本挂载深度摄像头,用于获取RGBD信息,和作为语音输入输出设备。
    pcDuino挂载其他传感器,用于获取传感器信息;连接底盘,用于向底盘发送控制信号。

    1.3. 底盘
    本人使用的是irobot扫地机器人底盘,ttl串口通信发布控制信号。国外很多人使用irobot扫地机器人底盘制作自己的机器人:一是irobot开放了通信接口,很容易对底盘进行操作;二是便宜,容易购买;三是具备一些基本的传感器,比如利用行程开关实现的碰撞检测,悬挂检测。当然它也有一些缺点:一是irobot开发版create底盘国内用户不宜购买(Roomba与其相通,但是价格较贵);二是载重不大,载重重心设计有问题,架高会导致上盘不稳;三是底盘声称只能使用1.5v*12节AA电池或者irobot出品的可充电池组,其实可以自己购置14.4V镍氢可充电池组,续航差,充电麻烦。

    底盘主要看的是机械性能以及是否具备编码盘等闭环控制需要的部件,只需要编写对应底盘的驱动即可隔离不同底盘的差异性,在上层开发人员看来都一样。irobot底盘由于国外有很多人使用,在ros里有对应的驱动,刚好身边有资源,图方便使用了这款底盘。国内的小车底盘很多,如果不需要承重,可以使用廉价的小型底盘自己编写驱动;如果需要负载笔记本等,则需要中大型底盘,如boomerang底盘(http://roschina.taobao.com/)有人利用这款底盘做过SLAM应用。

    1.4. 支架
    支架使用的是20*20铝合金型材和2mm铝板,使用铝质材料的原因,一是价格便宜,方便购买,二是与通常的尼龙,亚克力(有机玻璃)材料相比,在硬度相同的情况下可以很轻薄。

    2. 软件构成
    应用的软件框架依照ros框架进行设计。笔记本Windows端运行win_ros,结合Intel SDK和win_ros编写代码,实现语音识别,语音合成,RGBD图像获取,手势识别的功能。pcDuino Lubuntu端运行ros for Ubuntu ARM,接收来之Windows端的语音命令,手势命令,RGBD信息,发送语音合成源字符串。Lubuntu端利用深度信息实现了行人跟踪,避障功能;同时运行“命令中心”以便实现总体控制;“控制中心”则负责控制底盘运动,实现缓冲调速等功能;“传感器驱动”部分则负责将传感器信息融合到ros系统里。

    3. 结尾
    所有源码,制作信息等,我以后会慢慢公布。现在个人时间紧迫,来不及整理。
    在没有动手制作之前,一切都是谜,亲自动手做之后,才能遇到意料之外的困难,解决难点也是一种乐趣。应该感激我们所处的信息化好时代,感激那些具有开源精神的组织和个人,使我们可以从网络上方便的获取我们需要的信息,帮助我们解决难题。任何一个作品出世,都离不开群体的智慧!此外,非常感谢PanPan和父母的全力支持资助,感谢Exbot各成员提供的很多有价值信息,讨论方案,建议等;感谢“CSK”,“鲁大师”,“毛”等群内人员参与讨论,感谢支持和对此项目感兴趣的人。我能坚持完成它,离不开大家的支持!

    本文来源于ExBot易科机器人小组  , 原文地址: http://blog.exbot.net/archives/750
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-9-2 09:44:45 | 显示全部楼层
    啊。。。。。。。。。。。。沙发我的。。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-3-20 21:41
  • 签到天数: 728 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-9-2 16:24:08 | 显示全部楼层
    好东西,版主组织配件,静候源码。学习提高。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-12-12 12:07:38 | 显示全部楼层
    支持一下!!呵呵
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 13:49 , Processed in 0.156235 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.