NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

基于STM32的物联网节点设计与实现-传感器数据采集与无线通信

申公豹

嵌入式

实时任务调度与通信协议在嵌入式开发中的应用

申公豹

嵌入式

嵌入式开发-微控制器 vs. 微处理器:如何选择适合你项目的解决方案

申公豹

嵌入式

嵌入式图像处理:算法、应用与性能优化

申公豹

嵌入式

嵌入式音频处理技术:从音频流媒体到声音识别

申公豹

嵌入式

Seaborn 数据可视化全攻略:从基础到高级实战

申公豹

Python

用纯 Python 打造的轻量级 Excel 到 Markdown 转换工具

申公豹

Python

手把手教你Python圣诞主题绘图

申公豹

Python

cmake | AI工程化部署

AIWeker

c AI AI工程化部署

CnosDB如何确保多步操作的最终一致性?

CnosDB

开源 时序数据库 CnosDB

个人技术成长方面的心得体会:边缘计算之旅

农夫三拳

深入探索嵌入式系统开发:从LED控制到物联网集成

申公豹

嵌入式

KubeWharf适合场景 开源赛道 3:深入云原生

Echo_Wish

云原生 年度总结 2023 KubeWharf 技术总结

嵌入式系统中的低功耗定时器应用与优化实战

申公豹

嵌入式

CnosDB:深入了解时序数据处理函数

CnosDB

开源 时序数据库 CnosDB

2023 年度总结—总结我今年的AI之路-多项目实战经验谈AI发展前景

申公豹

#技术人的2023总结

在Python中实现条形图动态追赶动画效果

申公豹

Python

掌握进阶:高级功能、图表定制与地理数据绘制

申公豹

Python

低功耗设计策略:延长嵌入式设备的电池寿命代码实战

申公豹

嵌入式

物联网中的嵌入式系统安全代码实战与运用

申公豹

嵌入式

实时操作系统(RTOS)在嵌入式开发中的作用与优势实战

申公豹

嵌入式

深入学习Python与Vscode环境的安装与配置

申公豹

Python

Python图像处理:批量添加水印的优雅实现与进阶技巧

申公豹

Python

多表格文件单元格平均值计算实例解析

申公豹

Python

构建高效、安全的在线考试系统:基于Spring Boot和Vue的前后端分离之道

申公豹

嵌入式系统入门实战:探索基本概念和应用领域

申公豹

嵌入式

深入理解嵌入式系统中的GPIO控制与应用

申公豹

嵌入式

Python从基础到进阶字符串验证

申公豹

Python

Python文件操作指南:读写、异常处理与上下文管理器详解

申公豹

Python

简洁灵活:Python中基于字段的不使用元类的ORM实现

申公豹

Python

基于Vue.js和Spring Boot的口罩自助售卖系统:设计、实现与技术深度解析

申公豹

开发

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