2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

令人头疼的Javascript隐式&强制转换

hellocoder2029

JavaScript

程序员买啥游戏机,自己动手做一个体感小游戏

华为云开发者联盟

人工智能 华为云 企业号十月 PK 榜 体感小游戏

JavaScript刷LeetCode拿offer-并查集

Geek_07a724

JavaScript LeetCode

持续领跑,天翼云市场份额再攀升

天翼云开发者社区

SAP UI5 BarcodeScannerButton 的初始化逻辑 - feature 检测,Cordova API 检测等逻辑

汪子熙

前端开发 Fiori SAP UI5 ui5 11月月更

转转图书对基于Drools引擎的DMN实践

转转技术团队

drools 规则引擎使用 规则引擎 转转 java 编程

浅谈系统稳定性与高可用保障的几种思路

得物技术

高可用 架构设计 稳定性 稳定性保障 10月月更

数字先锋| 打造城市“一朵云”,天翼云推动芜湖新型智慧城市建设

天翼云开发者社区

这是你没见过的MindSpore 2.0.0 for Windows GPU版

华为云开发者联盟

人工智能 华为云 企业号十月 PK 榜

小程序如何开通流量主

源字节1号

微信小程序 软件开发 小程序开发

从历史讲起,JavaScript 基因里写着函数式编程

掘金安东尼

前端 11月月更

数据标准化红宝书权威发布!一文速读核心内容~~

博文视点Broadview

赛迪网|专注财务全流程数字化,元年科技PaaS平台再上新台阶

元年技术洞察

方舟

程序员的浪漫(代码猜诗词)

叶秋学长

程序员 11月月更 诗词 专属浪漫

亮相IDC年度盛典,天翼云以科技创新谱写数字化转型新乐章

天翼云开发者社区

三项第一!天翼云通过DevSecOps能力成熟度评估认证

天翼云开发者社区

计算机网络:数据报与虚电路

timerring

计算机网络 11月月更 数据报 虚电路

JavaScript刷LeetCode拿offer-分治

Geek_07a724

JavaScript LeetCode

前端懒加载和预加载

hellocoder2029

JavaScript

软件测试面试真题 | 经典SQL查询

测试人

数据库 软件测试 面试题 sql 测试开发

安全可信丨两个项目新入选可信边缘计算推进计划!

天翼云开发者社区

在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升

汀丶人工智能

nlp 文本分类 11月月更 ernie

文盘Rust -- 把程序作为守护进程启动

京东科技开发者

rust 后端 进程 守护进程 rust语言

快出数量级的性能是怎样炼成的 审核中

jiangxl

如何使用清源CleanSource SCA建立软件物料清单(SBOM)

安势信息

SCA 软件物料清单 SBOM 清源CleanSource SCA

乐高式扩展:在Seal软件供应链防火墙中轻松集成代码规范工具

SEAL安全

开源 DevOps 云原生 DevSecOps 软件供应链安全

企业数字化转型思考

dreamer

软件 数字化转型 信息化 制造业 智能化

【LeetCode】被围绕的区域Java题解

Albert

算法 LeetCode 11月月更

OKR之剑·实战篇01:我们的OKR制定落地

vivo互联网技术

团队管理 OKR 目标管理

一文全面了解火山语音无监督预训练技术的落地实践

科技热闻

JavaScript刷LeetCode拿offer-贪心算法

Geek_07a724

JavaScript LeetCode

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