写点什么

Kinect for Windows 培训营:自平衡机器人项目作者访谈

  • 2013-03-31
  • 本文字数:1417 字

    阅读完需:约 5 分钟

在微软的 Kinect for Windows 全国培训营上,除了能了解到 Kinect 关键技术及交互设计特性,还能看到一些互动项目的展示,其中比较引人注目的是一个 Kinect 控制的机器人,它能根据控制者的身体动作通过光发射模块遥控控制机器人的运行,InfoQ 和作者黄涌进行了简单交流。

InfoQ: 请首先做下自我介绍并向大家介绍下机器人项目的背景??

黄涌:我叫黄涌,目前就读于中国科学院半导体研究所,是中国电机工程学会会员。在微软开展的“码”上 Kinect——Kinect for Windows 全国巡回培训及挑战赛活动中担任技术支持一职,主要负责向开发人员介绍 Kinect 开发基础知识以及全球同步发布的 SDK V1.7 中的最新技术——Kinect Interactions、Kinect Fusion 等,帮助解决开发人员在应用开发中所面临的问题,并提供相关的解决方案。

我的这个项目研究基于景深图像的人体骨骼跟踪算法,并使用微软 Kincet for Windows sensor 和 Kinect for Windows SDK V1.6 组件实现了这一算法。由 Kinect 摄像头负责采样景深及 RGB 摄像头数据,通过 USB2.0 传送给 PC 机,PC 机通过深度图像局域梯度特征跟踪人体骨骼节点,根据骨骼节点信息,比对人体姿态库,将体感信息转换为控制命令,给光发射模块。光发射模块调制光信息,光接收模块接收后将光信号转换为电信号,然后通过 UART 与下位机建立连接,完成数据传递。下位机上 MCU 解析命令,控制两轮自平衡机器人完成相应的技术动作。整体结构流程图如下:

InfoQ: 为什么会想到用 Kinect for Windows 做开发?

黄涌:原来参加过智能汽车竞赛,我是摄像头组的,所以对机器视觉非常感兴趣,同时自己也想弄个测距的项目,Kinect 正好恰和研究之意,所以就用它来开发了,没想到一开发起来,觉得真的非常强大。

InfoQ:简单谈下这个项目的设计思路?

黄涌: 上位机软件设计是本次设计思路的核心,本次设计使用 Visual Studio 2010 编译环境、Kinect for Windows SDK V1.6 组件,所有程序代码使用 C#语言编写。主要包括三个部分:
(1)深度图像局域梯度特征的人体骨骼跟踪算法,主要完成根据 Kinect 传送到 PC 机的深度图像,计算出每帧图片的骨骼节点空间坐标,完成对人体骨骼节点的跟踪;
(2)骨骼信息识别,由骨骼节点信息与人体姿态库比对,产生相应的控制命令;
(3)PC 与下位机通信,完成通信功能。
程序执行流程如下:

光通信的硬件设计与信息调制,采用 LED 可见光传输技术发出高速明暗闪烁的讯号,以无线方式来传输数据。通过对频率的调制,发出特定的编码信号,接收方利用光电敏感器件接收调制光,解调后还原成数据信号,然后将命令传输给机器人。上位机与单片机之间以帧为单位完成数据通信,控制命令的帧格式 0X0A+ 控制命令 (8 位)+0X05。

InfoQ:你觉得这个项目创新在哪些方面?

黄涌:主要在这几个方面:

  1. 控制上,应用 3D 摄像头识别人体骨骼,将身体动作与机器人运行状态联系起来让人机交互更加自然,增强人体行为真实感觉,而且可以便于不同人群使用。
  2. 简化人机交互方式,使用更加自然的交互方式,具有替代传统遥控、鼠标、键盘等传统人机交互工具的功能。
  3. 通信上,采用可见光通信方式,节约能源,无电磁辐射,不需要采用另外的传输介质,可应用于多种场合。

InfoQ:下一步有哪些后续开发计划?是否会将设计方案开源?

黄涌:下一步想做 Kinect 控制的类人机器人,能够实时模仿人类动作;其二引入可见光通信,搭配照明平台;其三,设计由 Kinect 控制的多玩家赛车对抗游戏。设计方案会适时开源的,大家多交流才会更好的进步嘛。

2013-03-31 23:591880
用户头像

发布了 89 篇内容, 共 35.5 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

MySQL要分表分库怎么进行数据切分?

李尚智

Java MySQL

filwallet 需求文档-产品训练营大作业

流浪猫

filwallet

产品经理大作业

赵志广

产品经理训练营

融云的聊天页面在 iOS14 出现崩溃的解决办法

融云 RongCloud

大作业 1

简简单单

集成融云 IMLib 时,如何实现一套类似于 IMKit 的用户信息管理机制

融云 RongCloud

产品训练营--大作业

曦语

产品训练营

NAC公链公链未来前景如何?为应用而生的Nirvana NA公链

区块链第一资讯

区块链 公链 挖矿

桶排序,计数排序,基数排序

一个大红包

3月日更

牛逼了!这是什么神仙面试宝典?半月看完25大专题,居然斩获阿里P7offer

Java 程序员 架构 面试

大作业2

简简单单

LeetCode题解:221. 最大正方形,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

为融云聊天页面的输入框添加 Placeholder

融云 RongCloud

飞桨框架2.0正式版重磅发布,一次端到端的“基础设施”革新

百度大脑

AI 分布式 框架 #百度#

使用融云 IM 点击最近聊天记录时跳转到 @ 自己的消息

融云 RongCloud

使用融云 SDK 避坑指南之 iOS13 推送失败

融云 RongCloud

Hystrix技术专题-基础配置说明

码界西柚

Hystrix

30 分钟集成融云 IM 即时通讯

融云 RongCloud

融云聊天页面长按消息后“翻译”功能的实现方法

融云 RongCloud

浅谈自动化测试

行者AI

自动化测试

还在计划转Go么,聊聊程序员的成长

架构精进之路

3月日更 Go 语言

如何设置融云用户信息

融云 RongCloud

融云 IM SDK 如何插入消息

融云 RongCloud

应对“角色爆炸”,PBAC 真香!

龙归科技

权限控制 管理系统 权限管理

2021年人工智能产业发展趋势

百度开发者中心

趋势

实时计算应用及技术选型

五分钟学大数据

大数据 flink 28天写作 3月日更

Java-技术专题-挖掘陷阱系列(1-10)

码界西柚

Java

MMMDeFi智能合约(MDF互助)系统开发方案

薇電13242772558

智能合约 数字货币

如何隐藏融云输入框语音按钮

融云 RongCloud

Kinect for Windows培训营:自平衡机器人项目作者访谈_语言 & 开发_水羽哲_InfoQ精选文章