还是在2010年底的时候,西安交通大学机器人队备战2011年亚太机器人队大赛国内选拔赛,赛题中有机器人需要点亮摆放在模拟河面上的一盏河灯,称为“登顶”。在那年的比赛中,作为当时的队员,我们设计了一套基于摄像头和激光雷达的三维跟踪平台,可以跟踪荷灯的位置进行登顶。在2011年7月的北京赛场上,这套平台没有能够发挥应有的作用,西交机器人队折戟北京赛场。 学生机器人制作代表着大学生课外科技制作的最高水平,为参加比赛而设计的机器人永远只能停留在比赛的赛场,于是这套系统随着我们从队里的退役而束之高阁,成为尘封的过去。 其实,真正限制机器人进入实际应用场景的原因在于缺少非常好的感知系统,通过摄像头做机器人视觉开发难度在于不能有效得到外围三维信息。然而,随着Kinect的发布,一款崭新的RGBD三维传感器走进了我们的视野。我们于2011年11月正式成立RoboStar团队,希望利用已有的平台,借助于微软最新的Kinect,实现具有家庭用途的机器人。 在2011年11月至12月底的那段两个月的岁月里,我们首先开发Kinect,并在宿舍完成了视觉部分的程序,12月中旬开始设计并制作机器人,然后完成了避障功能的调试。 2012年3月,当得知选入最终决赛后,我们重新设计了方案,在前期的接触里,我们感受到Kinect不仅仅是一个非常好的视觉传感器,更为重要的是,它是一种能够带来人机交互革命的媒介。Kinect for Windows
SDK的发布,带来的不仅仅是骨架提取,同时诸如声音定位,语音识别等功能更加增强了其人机交互的能力。之后,我们在原有避障功能的基础上,增强了机器人人机交互的能力,实现了用人体演示的方案,定义姿态控制声音定位、自主避障以及人体跟踪不同模式之间的切换,从而展现了我们项目机器人具有非常好的人机交互体验性。 当4月7日视频素材采集完毕之时,我们终于长舒了一口气。这一个月的努力,为的是北京赛场上能够带来一个完美的演示,为的是更好的宣传我们的创意。4月16日下午在微软的demo演示当中,许多亚洲研究院的研究员亲临感受我们的机器人,他们提出了非常多的宝贵建议。 对于我们来说,最深刻的体会就是“There’s always a
bug”。因为硬件系统在实际中才能测试出程序中潜在的bug,所以在来北京参赛之前,我们对作品进行了很长时间的测试,解决了一些bug。就在上火车的两天前,我们还解决了避障模式下的一个bug,在那之后机器人一直都运行的很好,所以我们对于机器人的稳定性还是很有信心的。 直到16号早上演示完作品我们都认为机器人是没有问题的,而就在下午的demo演示中,经过研究院的研究员们热心的测试,机器人在一些情况下反常的表现才引起了我们的注意,对曾经被我们认为非常稳定的系统产生了怀疑。这里有些像是windows平台上程序的bug,有些可能是硬件系统中的bug,而其中一个我到现在还不知道是哪里的问题,看来我们回去以后有的研究了。 通过这一点使我从产品的角度重新认识了微软,他们的产品被全世界人使用,还能拥有卓越的稳定性,这实在是太不容易了,研究员与工程师们在背后的工作功不可没。作为一直在高校中的我们,多年以来都认为理论与核心技术才是最重要的,科研中对实际工作不是很重视,经常用计算机仿真的结论来验证一些方案的可行性。而现在我们明白,只有把一切细节都做好,一个产品才能获得成功,我们永远都不能轻易认为自己的作品是没有问题的。这正是:纸上得来终觉浅,绝知此事要躬行。