APP下载

智能机器人课程中的仿真实验教学

2011-12-31邢关

计算机教育 2011年15期

  摘要:智能机器人课程是智能科学与技术这一本科专业的核心专业课之一。文章从开展机器人仿真实验教学的角度出发,探讨如何利用仿真实验来帮助学生加深对智能机器人运动机制、控制系统结构以及对传感、控制与智能决策方法的理解,提高其创新能力。这在本科生早期快速理解智能机器人基本原理方面,起到卓有成效的推动作用。
  关键词:智能机器人;实验教学;仿真实验
  
  智能科学技术的学科内容可以划分为智能科学、智能技术、智能工程3个层次[1]。智能机器人是贯穿这3个层次的一种典型智能系统,是智能科学与技术专业学习与设计的重要对象。我校智能科学与技术专业将智能机器人设为重要的专业课之一,融合了该专业教学过程中的多门专业基础课的知识。对该课程知识的理解与掌握必须实验教学的支撑,这是由于机器人本身是一种复杂的机电系统,而“智能”则是通过运行于嵌入式控制器或嵌入式处理器上的软件来实现的,只有在实践中才能真正掌握智能机器人的基本原理、信息处理以及控制与决策方法。本文将从开展机器人仿真实验的角度,探索开展智能机器人课程实验教学的新思路与新方法。
  1智能机器人课程简介
  在我校智能科学与技术专业的本科教学培养方案中,智能机器人是该专业高年级学生的一门重要专业课程,设置在第七学期。
  智能机器人主要是指以生产、生活中的实际机械设备为载体,以计算机和嵌入式处理器/控制器为信息处理单元,能够体现一定自主性和智能特征的机器人系统。智能机器人涉及到刚体动力学、反馈控制、传感器与信号处理、执行器与电力电子、计算机接口技术以及智能信息处理和智能控制等多领域知识,是多学科的综合。机器人的种类众多,包括机械臂、移动机器人、类人机器人等不同形态的机器人。由于课程学时有限,面面俱到是不现实的,因此我专业的智能机器人课程以移动机器人作为重点讲授的对象。
  课程以Siegwart和Nourbakhsh所著的《Introduction to Autonomous Mobile Robots》一书的中文版[2]为教材,以蔡自兴教授的《机器人学基础》[3]为主要参考书,讲授内容以自主移动机器人控制系统为框架,包括刚体运动学、传感器与测量、地图与定位、执行器与运动控制、路径规划与导航。其中,刚体运动学部分主要使学生掌握轮式机器人的具有非完整约束的运动学模型;传感器与测量、执行器与运动控制部分分别使学生了解移动机器人的各种传感器(里程计、超声波传感器、激光测距仪和视觉传感器)的测量原理和直流电机的PWM闭环调速机制;而地图与定位部分主要使学生掌握传感器融合的基本原理以及如何解决位姿估计问题;路径规划与导航部分主要使学生掌握局部路径规划(例如,人工势能场方法)以及全局路径规划(包括轨迹生成与跟踪控制)两种不同的导航方式。
  课程的最终目的是让学生理解移动机器人的智能是如何体现的,并且让学生掌握移动机器人的系统集成技术,使其具备设计定位与导航算法并编程实现的能力。
  2仿真实验教学的必要性
  由于智能机器人作为一种复杂的机电系统,集成了测量、控制、计算和通信等技术,因而智能机器人课程具有多学科交叉的特征,这对学生的综合能力提出挑战,为学生真正理解智能机器人的工作原理带来困难。学生必须通过实验,亲自动手组建移动机器人并为其编程,才能将课堂教学传授的理论知识融会贯通,并做出一定程度上的创新性工作。即创新教育必须建立在动手实践的基础上。
  工欲善其事,必先利其器。仿真实验教学在智能机器人课程实验教学中是关键的一环。虽然无法替代在真实机器人上的实验,但却是必要的。这是因为:智能机器人控制系统的复杂性,决定了直接在真实机器人上设计、实现一个可靠的控制系统软件不是简单易行的工作,而仿真实验能够为学生学习机器人的控制算法设计节省时间。
  运行一次实验所需成本较高,而且要担负硬件随时可能损坏的风险。仿真实验能够减小设计算法初期的软件不成熟所带来的硬件损坏的几率。
  移动机器人具有活动空间大的特点,改变实验场地较困难,而这在实际操作中是比较困难而且耗费精力的事情。通过仿真实验能够灵活改变智能机器人的工作空间。
  总之,教师可通过仿真实验教学,形象地向学生展示移动机器人的运动机制、测量与控制原理;学生可通过仿真实验教学,加深对理论知识的理解。
  3智能机器人仿真实验的工具选择
  好的仿真工具不仅能够降低实验成本,而且能大大提高实验效率,灵活的配置能够自定义不同的移动机器人和工作场景,既能够使学生熟悉多种不同的移动机器人的运动学,又能够将学生的精力主要集中在控制策略的学习和算法实现上。这对于本科阶段初次接触机器人的学生而言,更利于其快速掌握智能机器人的相关知识。
  目前,存在多种移动机器人仿真工具,常用的例如:Webots[4]、Microsoft Robotics Studio[5]和Player/ Stage/Gazebo(P/S/G)[6]。前两者主要运行在Windows这一商业化的操作系统中,而P/S/G运行于开源的Linux操作系统上。在高校中,仿真实验教学所用的移动机器人仿真工具应具有源码开放、灵活易用的特征,因此选择Player/Stage/Gazebo软件。
  Player/Stage/Gazebo软件由美国南加州理工大学交互实验室发起,后作为开源项目转至Sourceforge上。其中,Stage是一个2D的多机器人仿真器,提供了超声、激光等多种传感器模型;Gazebo是一个3D的多机器人仿真器,能够仿真大量机器人、传感器和物体;Player是机器人设备接口,是连接控制器与被控设备(传感器、执行器)的通信中间件。用户编写的控制程序可在本地或异地通过Player获得传感器数据以及发送驱动机器人运动的控制量。Player既能够与仿真机器人连接,也能够与真实机器人连接,具有极大的灵活性。
  该软件不仅在国外很多高校的机器人课程中作为教学用的仿真工具,也是国际上移动机器人研究领域中使用非常广泛的工具之一。选用该工具,除了可方便学生在个人电脑上完成实验,更使学生在本科学习阶段或以后从事移动机器人研究工作时与国际接轨。
  4开展智能机器人仿真实验教学的方式与内容
  4.1仿真实验教学的方式
  1) 课堂演示提高学生兴趣。
  智能机器人所涉及的运动学、滤波与控制方法较为抽象,对于工科院校的学生而言略有难度。如果只是机械的推导公式,很容易打击学生的自信心。在课堂上,通过仿真实验的演示,现场向学生展示如何将理论化的公式转化为程序代码的形式,进而控制模拟机器人的运动,完成设定的任务。让单调的数学语言形象化,从而让学生体会到理论的真实含义,提高学习兴趣。
  2) 仿真实验即为作业。
  智能机器人课程被定位是一门实用性工程技术类课程,每一项关键知识点都要通过以课后作业的方式让学生练习。我们突破传统的计算题式作业的方式,通过安排课后仿真实验作业,让学生亲自动手在个人电脑上完成移动机器人的组建、定位与导航算法的设计与编程。留给学生更大的自由度去完成一个类似于项目的作业,从而激发学生的主观能动性。
  3) 以学生竞赛的方式开展实践课。
  在课堂教学结束后,开展综合性的实践课,借助仿真工具,设定一个有规则、有目标的机器人竞赛场景。由学生组成团队,全面利用已学过的机器人组成原理、测量与控制算法,设计移动机器人的控制系统,分组竞赛。以竞赛的机制,鼓励学生提出创新的想法和思路,并锻炼其将新想法与新思路付诸实践的能力,从而提高学生分析问题与解决问题的综合素质。
  
  4.2仿真实验教学的内容设计
  Player/Stage/Gazebo仿真软件具有很高的灵活性。在机器人仿真器中不仅能够仿真各种形态的机器人,而且能够自由建立机器人的工作环境(二维的或三维的),也能够仿真各种传感器,例如在Stage中能够仿真超声波传感器与激光测距仪,在Gazebo中能够仿真视觉传感器。学生借助player中的接口函数,在Linux系统中使用C/C++语言编程,便能够定制自己的移动机器人控制系统,学习、验证各种智能方法。目前,智能机器人课程的仿真实验主要包括Player/ Stage/Gazebo的安装与使用方法、移动机器人的虚拟构建及工作空间设计、智能机器人控制系统基本结构的学习、基于里程计的移动机器人定位、基于超声波传感器的环境测量、VFH导航方法设计、基于人工势能场的导航方法设计、智能车的走迷宫竞赛(开放式的竞赛题目)。
  5结语
  智能机器人课程是一门理论与实践并重的课程,涉及到多个学科知识的交叉。仿真实验教学是真实机器人实验的有益补充,特别适合于本科生在初学机器人基本理论时进行原理性的控制系统设计与算法验证。它通过多种形式的仿真实验教学,启迪学生思想,激发主动的创新性思维,培养学生具有独立思考、乐于创新的真素质。智能机器人课程仿真实验教学的探索,丰富了这一课程的教学手段。在未来,通过对仿真工具的改造,可实现仿真实验与真实物理实验的无缝对接。
  
  参考文献:
  [1]卢桂章. 无处不在的智能技术[J]. 计算