【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

🏆(不要错过!)【CI/CD技术专题】「Jenkins实战系列」(4)总结归纳Jenkins的安装使用和配置流程介绍

洛神灬殇

maven jenkins git 学习 9月日更

序列化与反序列化之Protostuff(一)

程序员架构进阶

架构 protobuf 9月日更 序列化与反序列化 protostuff

什么是数据驱动

奔向架构师

数据治理 9月日更

linux之read命令

入门小站

工具

架构训练营模块三作业

TIEDPAG

架构训练营 模块三

GitHub上120K Stars!被誉为国内第一的Java多线程PDF到底有什么魅力?

Java GitHub 程序员 面试 计算机

国内独家首发版本!龙蜥操作系统(Anolis OS) 8.4 正式发行!

OpenAnolis小助手

Linux centos 开源 开源社区

架构实战营 外包学生管理系统的架构文档

💤 ZZzz💤

架构实战营

Vue进阶(幺幺叁):element ui 表单验证 this.$refs[formName].validate()问题解决

No Silver Bullet

Vue 9月日更

【Flutter 专题】45 图解矩阵变换 Transform 类 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

玩转TypeScript工具类型(中)

有道技术团队

typescript 大前端 网易有道

在线JSON转typescript工具

入门小站

工具

深入了解现代web浏览器(第四部分)

GKNick

Nocode 进阶 | 迎接 Amazon Honeycode,敲开 NoCode 开发大门(上)

亚马逊云科技 (Amazon Web Services)

人工智能 大前端

18.理智分析--人类离威胁还相当遥远

数据与智能

人工智能

面试官让手写队列,差点挂了

bigsai

固定QPS压测初试

FunTester

性能测试 测试框架 压力测试 QPS FunTester

国足历届世界杯对战记录整理

6979阿强

图算法 GraphScope 2022年卡塔尔世界杯 中国国足

Java字节码技术学习笔记

风翱

Java 9月日更

NoSQL-MongoDB

hanaper

设定Docker容器日志的大小和轮询规则

耳东@Erdong

Docker log 9月日更

谈 C++17 里的 Observer 模式

hedzr

c++ 设计模式 Design Patterns c++17 observer pattern

【LeetCode】从根到叶的二进制数之和Java题解

Albert

算法 LeetCode 9月日更

GitHub上下载量突破100000+阿里巴巴的这份开源项目如此牛逼

Java 编程 架构 面试 计算机

如何提高开会效率?

石云升

项目管理 管理 引航计划 内容合集 9月日更

人工智能计算中心,助力数字经济发展的算力“虫洞”

脑极体

学生管理系统架构设计

一叶知秋

#架构实战营

10行代码集2000张美女图,Python爬虫120例,再上征途

梦想橡皮擦

9月日更

跨语言编程的探索 | 龙蜥技术

OpenAnolis小助手

Java c++ 开源社区

计算机网络学习笔记 概述

Regan Yue

计算机网络 9月日更 计网

Go 编码习惯

baiyutang

Go 语言 9月日更

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