写点什么

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:591483
用户头像

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

关注

评论

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

长安链tls基础研究

长安链

机器学习|BP(Back Propagation)神经网络

AXYZdong

机器学习 7月月更

一次业务问题对ES的cardinality原理探究

Chares

Java elasticsearch 后端开发 问题排查 问题分析

基于多数据源零代码同时生成多个数据库CRUD增删改查RESTful API接口——MySql,PostgreSql,Oracle,Microsoft SQL Server多数据源

crudapi

Java 数据库 Spring Boot crudapi 多数据源

开发者必看 | DevWeekly 第1期:什么是时间复杂度?

Jackpop

为什么 Nodejs 这么快?

devpoint

nodejs V8 视频流 7月月更

Envoy生命周期管理

阿泽🧸

envoy 7月月更

面试微服务

Damon

7月月更

面试官:工作两年了,这么简单的算法题你都不会?

掘金安东尼

程序员 面试 算法 前端 7月月更

HMS Core图形图像技术展现最新功能和应用场景,加速构建数智生活

最新动态

数据库的主从分离

ES_her0

7月月更

带领全网朋友,完成粉笔登录加密分析,再次换种玩法

梦想橡皮擦

Python 爬虫 7月月更

如何优雅地使用 Git?

Jackpop

Markdown 基本语法格式

攻城狮杰森

markdown 7月月更

putchar()

謓泽

7月月更

MySQL 5.7.37数据库下载安装教程(Windows无需安装版)

未见花闻

7月月更

Python 有哪些好玩的语法糖?

Jackpop

不要在白嫖Github了!

Jackpop

新星计划Day9【数据结构与算法】 递归

京与旧铺

7月月更

Python中除了lambda函数能实现一句话程序,还有什么方式能够实现呢?

迷彩

Lambda Function 7月月更 推导式

JVM-SANDBOX导致目标服务JVM Metaspace OOM的调查始末

柠檬汁Code(binbin0325)

互联网 字节码增强 故障排查

应用的无状态设计

穿过生命散发芬芳

7月月更 应用无状态

ES6之箭头函数

bo

前端 ES6 箭头函数 7月月更

MySQL到底是如何执行SQL语句的

技术小生

MySQL 7月月更

为什么加工数据指标

奔向架构师

数据仓库 7月月更

基于crudapi后端Java SDK二次开发之API认证和鉴权(二)

crudapi

API Cookie JWT crud basic auth

如何高效系统学习 MySQL?

Jackpop

jQuery 操作元素

Jason199

jquery js 7月月更

Bigdata 作业 第14&15周

Pyel

值得收藏的ArkUI框架三方组件【系列1】

坚果

HarmonyOS Open Harmony 7月月更

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(A-C)

KEY.L

7月月更

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