赵卉菁,方永堃,梅继林,徐东昊,曾齐齐
(北京大学信息科学技术学院,北京100871)
摘要:结合北京大学学生参加筑波机器人挑战赛的经历,介绍专业建设与实践教学的经验,提出学生参加比赛可以为进一步开展机器人研究打下基础,通过鼓励学生参加科研前沿的赛事活动,能够在比赛中促进机器人科研建设与实践教学的开展。
教育期刊网 http://www.jyqkw.com
关键词 :机器人;实践教学;挑战赛
第一作者简介:赵卉菁,女,研究员,研究方向为智能感知技术、传感器技术,zhaohj@cis.pku.edu.cn。
1 背景
机器人研究与教学具有很强的系统性、技术性和平台依赖性。学生不仅要对关键技术点进行分析研究,也要对整个系统有较好的了解,从而理清机器人系统对该关键技术点的输入条件及目标需求。学生不仅需要通过课堂、课本获得相关知识,还要通过实践对知识进行吸收理解,从而解决现有前沿算法或系统的问题。
深入开展机器人研究需要一定的知识与经验积累,这一点对于刚刚步入科研的学生来讲是一个难关。学生往往对机器人研究有很高热情,然而缺乏足够的知识与经验积累。为此,课题组带领低年级研究生连续参加了2013年及2014年日本筑波机器人挑战赛,极大地鼓舞了学生的研究热情。
2 筑波机器人挑战赛介绍
筑波机器人挑战赛( Tsukuba Challenge)是由筑波挑战赛执行委员会和日本茨城县筑波市主办,日本科学技术振兴机构( JST)、筑波大学等单位共同协办的机器人比赛,比赛的主要内容是让机器人在筑波市内的步行街道等真实环境中自动行驶并完成特定任务。筑波机器人挑战赛于2007年正式创办,2007-2012年为第一阶段,其主要目的是实现机器人在复杂真实世界中的自主性,包括在室内、室外、临时贩卖车、GPS受信状态良好/遮挡、乘坐电梯、出入自动门、爬坡等情况下的表现。
在第一阶段结束时,日本参赛团队的整体水平已非常高,有5个机器人在规定时间内成功地完成了上述所有挑战。2013年起筑波机器人挑战赛进入第二阶段,其主要目的是让机器人在实现自主性的同时提高其服务性,比如寻找特定的人。2013-2014年的比赛中赛道直线距离约2km,范围包括公园、住宅区、车站、广场等,并在整个赛场中设置3个探索区,机器人需要在探索区寻找穿有特定衣服的5人。每年的比赛从7月开始至11月结束,大约包括10次公开实验和1次正式比赛。由于赛场直接设置于城市公共区域,因此不允许任何团队对赛场环境进行修改,比如布设标志物等,也不允许任何团队在公开实验及正式比赛以外的时间在赛场中实验。
北京大学组成了PKU-POSS团队参加2013-2014年筑波机器人挑战赛。我们的目的是借助参加比赛的过程使学生能够对机器人系统及其关键技术有一个全面且较为深入的理解,同时近距离了解世界前沿水平。为了使更多学生得到培养,两届比赛的参赛团队均由新人构成,参赛时的情况见图1,每年均要通过频繁的讨论、共同研发、实验等创建各具特色的系统与算法。在两届比赛中,PKU-POSS是所有参赛队伍(2014年报名48队,共54个机器人;实际参赛44队,共50个机器人)中唯一一支来自日本以外的队伍。
由于经费等限制,PKU-POSS仅参加了部分公开实验。比如2014年参加了8月2日、11月10日、11月14日、11月15日的公开实验及11月16日的正式比赛。2014年的正式比赛中,PKU-POSS的机器人在行驶到一半路程时遇到路障无法前行,因而被迫终止比赛。虽然成绩有喜有忧,然而通过比赛,学生对机器人有了更为深入的理解。通过准备比赛、经历比赛、与其他参赛团队的学生在同一个赛场竞技交流、在完全陌生的环境遇到问题解决问题的经历,学生收获良多,这些都是课本或教室中学不到的。
3 参赛机器人的系统与算法研发
2014年筑波机器人挑战的基本目标是机器人从起点到终点的自主行走,同时在其中的探索区域中找到特定的目标人物。为了实现该目标,北京大学团队组装了机器人,配备了GPS、惯性传感器、车辆编码器、激光雷达、摄像头,并利用这些传感器的数据构建了软件系统,包括定位、目标检测、可通行区域检测、规划控制等处理模块。队长负责整体系统构建与视觉处理,其他队员分别承担1~2个算法模块的研发。
我们在定位模块中采集并融合了从多个传感器获得的数据,比如GPS采集到的位置数据、LIDAR采集到的距离数据,还有编码器/惯性导航单元获得的速度/朝向数据。我们使用一个2D SLAM(同时定位与地图创建)算法来计算机器人的位置,通过将在线采集的数据匹配到离线占有栅格地图中,计算出当前匹配的误差;同时估计了GPS的定位误差还有编码器/惯性导航单元计算的累计误差以及他们的定位结果;最后把这些融合到同一个模型中,获得一个最终的定位结果以及相应的定位误差。
在检测特定的目标任务中,我们使用了双目摄像头、电机和水平激光的数据。电机帮助摄像头获得一个更加宽广的视角,使机器人更容易寻找到目标。激光数据是为了提高检测目标的位置精度,我们可以通过双目摄像头来计算场景的三维信息,之后就可以从中获取一些ROI,然后提取HOG特征,使用SVM进行训练[2-3]。这些步骤之后,我们就可以在图像中获得一些候选的目标任务,之后使用颜色信息和三维信息就能去掉一些误检。最后,使用水平激光来计算目标人物的精确位置。
在可通行区域检测方面,我们最初的设想是在电机的帮助下将二维激光旋转生成三维点云,单纯基于三维点云的高度等特征来计算局部的可通行区域,使用二维栅格地图来表示。但是这样得到的三维点云扫描线过于稀疏,在我们需要的尺度上结果并不理想。考虑到旋转激光的扫描线数据在地面和非地面交界处会有突变,我们尝试的另一个策略是以水平激光得到的可通行区域为主,旋转激光的扫描线作为辅助。具体的操作使用文献[4]中的方法,提取可靠的路面上的直线的部分,并将其他点作为不可通行的点,在水平激光生成的可通行区域的基础上删除。在实际的实验中,由于未知的bug,增加旋转激光返回后的数据有问题,经常会造成骤停的现象。最终,我们选择了使用水平激光得到可通行区域,并提前根据采集得到的实际数据将水平激光高度所无法检测到的障碍物标注在了地图中,放弃使用旋转激光检测三维信息。这样的方法在定位结果正确的情况下可以规避低矮的路沿、公园长椅等水平激光无法扫到或无法完全扫到的障碍物,但这个方法严重依赖于定位的精确性。
导航规划模块包括两部分:全局的规划和局部避障规划。在全局规划中,机器人会沿着预先离线设定的一系列路点行驶。假如检测到障碍物的话,我们会动态地添加一个新的特殊路点,这样机器人就会往这个路点行驶,到达后会停止一段时间,然后倒车继续探索下一个路点。假如障碍物已经很近,把所有可能的无碰撞轨迹都遮挡住了,那么机器人会停车一段时间,之后倒车重新规划一条新的可通行的轨迹。参赛机器人系统设计与部分软件模块处理结果见图2。
4 结语
在这次比赛中,学生从备赛的过程中了解到自己的不足,也在观摩其他队伍的表现、与其他队伍成员的交流中明确了进步的空间与方向,同时也提升了自己的沟通能力。
通过这次比赛,我们深切地意识到做出一个实物和在模拟数据上研究算法是有本质的差别,前者需要大量的实验验证。这一次出现可通行区域部分没有使用旋转激光的结果,致使机器人被低矮的凸障碍影响而使比赛失败的问题,就是由于对结果估计过于乐观、进度控制不当、未安排足够时间调试。另外,路径规划时策略过于激进,没有考虑到车体动力学模型导致有的轨迹可能无法执行。
参加比赛的一些队伍所设计的机器人是有明确实用意义的,比如轮椅、代步车等,这也给我们带来了一些思考,为我们今后开展更为深入的机器人研究提供了重要参考。在2013-2014日本筑波机器人挑战赛的参赛过程中,我们学习到日本高等院校研究所在机器人科研建设与实践教学中的成功经验,他们举办具有前沿性科研水平的机器人比赛实质上是构建了一个公共科研平台。带领学生参与机器人比赛既能够鼓励学生的研究热情,又能够面向真实应用开展实践,使学生对机器人系统及关键技术有更深更具体的理解。
教育期刊网 http://www.jyqkw.com
参考文献
[1] Zhao H, Chi B M, Shibasaki R. SLAM in a dynamic large outdoor environment using a laser scanner[C]//Robotics and Automation(ICRA). Washington D C: IEEE, 2008: 1455-1462.
[2] Felzenszwalb P, Girshick R,McAllester D. Object Detection with discriminatively trained part based models[J]. Pattern Analysis and Machine Intelligence, 2010, 32(9): 1627-1645.
[3] Geiger A, Roser M, Urtasun R. Efficient large-scale stereo matching[EB/OL].[2015-07-30]. http://www.researchgate.net/ publication/2 20745 0 8 1_E fficient_Large-Scale_Stereo_Matching.
[4] Shin Y, Jung C, Chung W. Drivable road region detection using a single laser range finder for outdoor patrol robots[EB/OL]. [2015-07-30]. http://ieeexplore.ieee.org/xpl/articleDetails.j sp?reload=true&arnumbeF5 548080.
(编辑:孙怡铭 )