青少年编程能力等级_第3部分:机器人编程-2021.1.10 .pdf
ICS 03.180 A 18 团 体 标 准 T/CERACU/AFCEC 100.3—2020 青少年编程能力等级 第 3 部分:机器人编程 Programming Ability for Adolescents Part 3: Juvenile robot programming 2020-12-28 发布 2021-01-01 实施 全国高等学校计算机教育研究会口口口口 发 布 全国高等院校计算机基础教育研究会口口口口 T/CERACU/AFCEC 100.3—2020 目 前 次 言 ................................................................................ II 1 范围 ................................................................................. 1 2 规范性引用文件 ....................................................................... 1 3 术语和定义 ........................................................................... 1 4 机器人编程能力等级概述 ............................................................... 4 5 一级核心知识点及能力要求 ............................................................. 5 5.1 综合能力及适应性要求 ............................................................... 5 5.2 核心知识点能力要求 ................................................................. 5 5.3 标准符合性规定 ..................................................................... 6 5.4 能力测试形式与环境要求 ............................................................. 6 6 二级核心知识点及能力要求 ............................................................. 7 6.1 综合能力及适应性要求 ............................................................... 7 6.2 核心知识点能力要求 ................................................................. 7 6.3 标准符合性规定 ..................................................................... 9 6.4 能力测试形式与环境要求 ............................................................. 9 7 三级核心知识点及能力要求 ............................................................ 10 7.1 综合能力及适应性要求 .............................................................. 10 7.2 核心知识点能力要求 ................................................................ 10 7.3 标准符合性规定 .................................................................... 12 7.4 能力测试形式与环境要求 ............................................................ 13 8 四级核心知识点及能力要求 ............................................................ 13 8.1 综合能力及适应性要求 .............................................................. 13 8.2 核心知识点能力要求 ................................................................ 13 8.3 标准符合性规定 .................................................................... 15 8.4 能力测试形式与环境要求 ............................................................ 16 附录 A(资料性附录)测试试题样例 ...................................................... 17 A.1 一级测试样例 ...................................................................... 17 A.2 二级测试样例 ...................................................................... 17 A.3 三级测试样例 ...................................................................... 17 A.4 四级测试样例 ...................................................................... 17 I T/CERACU/AFCEC 100.3—2020 前 言 本文件中的“T/CERACU/AFCEC 100”与“T/CERACU/AFCEC/SIA/CNYPA 100”是同一标准系列编号,该 系列标准第 1、2 部分由 4 个团体联合发布,第 3、4 部分由 2 个团体联合发布。故在第 1、2 部分使用标 准编号“T/CERACU/AFCEC/SIA/CNYPA 100” ,在第 3、4 部分使用标准编号“T/CERACU/AFCEC 100” 《青少年编程能力等级》分为四部分: ——第 1 部分:图形化编程; ——第 2 部分:Python 编程; ——第 3 部分:机器人编程; ——第 4 部分:C/C+语言编程。 本文件为第 3 部分。 本文件按照 GB/T 1.1-2020 给出的规则起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由全国高等学校计算机教育研究会提出并归口。 本文件起草单位:清华大学、上海畅学教育科技有限公司、南京大学、华东师范大学、南京理工大学、 晓庄师范学院、韩端科技(深圳)有限公司、深圳点猫科技有限公司、华南师范大学、韩山师范学院、湖 北第二师范学院、黄山学院。 本文件主要起草人:陈永强、郑莉、佟钢、李盛辉、金莹、郑骏、俞洁、李千目、倪震、钟志刚、陈 禹夙、伍大智、胡杰、陈明明、李天驰、孙悦、李泽、蒋亚杰、夏立、刘充、李腾、杨鹏、范裕怀、王洪 江、郑耿忠、傅胤荣、陈宇、钱庆文。 本文件的发布团体共同约定如下知识产权规定: 1.本文件的知识产权(不含标准内容涉及的专利和软件著作权)归所有联合发布团体共同所有,任何 机构(无论是否为起草单位和发布团体)和个人(无论是否为起草人)不得在未授权的情况下处置知识产 权。任何机构和个人使用本文件名称时必须同时注明标准封面上的全部标准代号并说明发布机构,说明发 布机构时必须列出全部联合发布团体,列出顺序与封面顺序一致(可注明排名不分先后) 。本文件的全部 或部分内容如被国家标准、行业标准使用,该内容的起草人应被列入国家标准、行业标准起草人。本文件 由联合发布团体共同授权专业出版机构独家出版。 2.本文件由联合发布团体的成员约定采用,同时供社会自愿采用。 II T/CERACU/AFCEC 100.3—2020 3.任何采用本文件的产品和服务,应通过全国高等学校计算机教育研究会主持的标准符合性认证,或 者通过所有联合发布团体共同授权的认证机构的标准符合性认证,取得符合本文件的认证证书后方可在产 品和服务的包装标识、宣传和广告材料、协议合同等法律文件、及其他相关场合声明该产品和服务执行本 文件。标准符合性认证证书是对产品和服务授权使用本文件的唯一形式,产品认证的版本、服务认证的有 效期必须与执行标准的声明和标识一致。 4.任何企业和机构声明执行本文件但未指明具体服务和产品时,该企业和机构至少应该有一项服务和 产品取得标准符合性认证证书,且认证的产品版本和认证的服务处于认证有效期内。 5.其他团体标准、企业标准采用本文件时应作为“规范性引用文件”明确列出,并在标准内容中明确 引用具体章条。未经明确引用使用本文件内容视为侵权。 6.在学术研究、公开发表的文章和著作中使用本文件内容,应按照规范合法的方式引用,并将封面上 的标准名称和完整编号列入参考文献。 III T/CERACU/AFCEC 100.3—2020 青少年编程能力等级 第 3 部分:机器人编程 1 范围 《青少年编程能力等级》规定了青少年编程能力的等级划分及其相关能力要求。 本文件为《青少年编程能力等级》的第 3 部分,给出了青少年机器人编程能力的等级及其相关能力要 求。 本文件适用于青少年机器人编程能力教学、培训及考核。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款,其最新版本(包括所有的修 改单)适用于本文件。 GB/T 29802 信息技术学习、教育和培训 测试试题信息模型。 3 术语和定义 下列术语和定义适用于本文件。 3.1 机器人 robot 可自动执行工作的可编程的机器装置。 3.2 机器人操作系统 robot operating system 用于编写机器人软件程序的一种具有高度灵活性的软件架构。 注:机器人操作系统包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为 这一过程的难度与复杂度。 3.3 机器人编程 robot programming 为使机器人完成某种任务而设置的动作顺序描述。机器人运动和作业的指令都是由程序进行控制,常 见的编程方法有两种,示教编程方法和离线编程方法。 3.4 图形化编程平台 visual programming platform 面向青少年学习程序设计的编写程序软件平台。无需编写文本代码,只需要通过鼠标将具有特定功能 的代码积木按照规则拼装起来就可以实现编程。 3.5 指令模块 instruction block 图形化编程平台中预定义的基本程序块或控件。在常见的图形化编程平台通常被称为“积木”。 3.6 活动 activity 1 T/CERACU/AFCEC 100.3—2020 机器人编程软件操作对象,用以创建新的组件、服务、函数或者其他代码模块,只要简单的将一个活 动拖至流程图中,打开它就可以组成一个新的组件。 3.7 服务 service 机器人编程软件操作对象,一个具有标准接口、可以脱离当前程序化环的活动,用以创建新的组件、 服务、函数或者其他代码模块。 3.8 变量 variable 在程序的执行过程中,其值可以变化的量。 3.9 计算 compute 用来计算数学公式,也可用来从其他组件或者文本框中提取数据。 3.10 数据 data 在计算机科学中指所有能输入到计算机并被计算机程序处理的符号的介质的总称,具有一定意义的数 字、字母、符号和模拟量等的通称。 3.11 程序 program 实现对应功能的工作流(流程图),可以在计算机上运行。 3.12 工作流 workflow 用于构建、管理和支持业务(应用)流程,它提供了一种用于人机工作分离的新模式。 3.13 仿真 simulation 为机器人模型实现现实世界中的物理仿真。 3.14 事件驱动编程 event-driven programming 一种编程模型。它的程序流程是由事件(通知)来决定的, 比如用户动作(鼠标点击和键盘按键按 下) ,传感器输入/输出或者其他线程传来的消息。 3.15 有限状态机 finite state machine,FSM 也称状态图或者状态迁移图,是由有限数量的状态、状态间的迁移和动作组合成的一种行为模型。 3.16 2 T/CERACU/AFCEC 100.3—2020 了解 understand 对知识、概念或操作有基本的认知,能够记忆和复述所学的知识,能够区分不同概念之间的差别或者 复现相关的操作。 3.17 掌握 master 能够理解事物背后的机制和原理,能够把所学的知识和技能正确地迁移到类似的场景中,以解决类似 的问题。 3.18 综合应用 comprehensive application 能够根据不同的场景和问题进行综合分析,并灵活运用所学的知识和技能创造性地解决问题。 3.19 控制算法 the control algorithm 是在机电一体化中,在进行任何一个具体控制系统的分析、综合或设计时,首先应建立该系统的数学 模型,确定其控制算法。 3.20 PID 算法 proportion integral differential 在过程控制中,按偏差的比例(P) 、积分(I)和微分(D)进行控制的 PID 控制器(亦称 PID 调节器) 是应用最为广泛的一种自动控制器。 3.21 图像处理 image processing 用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。 3.22 传感器 transducer/sensor 是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他 所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。 3.23 命令语句 command language 指机器人操作系统使用的一种语言。 3.24 节点 node 在电信网络中,一个节点是一个连接点,表示一个再分发点(redistribution point)或一个通信端 点(一些终端设备) 。 3.25 类 Linux 操作系统 3 T/CERACU/AFCEC 100.3—2020 指以 Linux 内核为基础的,GNU/Linux 操作系统。 示例:red hat Linux、Debian、Ubuntu 均为类 Linux 操作系统。 4 机器人编程能力等级概述 本文件将基于机器人编程能力划分为四个等级。每级分别规定相应的总体要求及对核心知识点的掌握 程度和对知识点的能力要求。本文件第 5、6、7、8 章规定的要求均为机器人编程平台的编程能力要求, 不适用于不借助平台仅使用程序设计语言编程的情况。 依据本文件进行的编程能力等级测试和认证,一级、二级、三级使用图形化编程平台,四级使用 C、 C++或 Python 语言进行编程。应符合相应等级的总体要求及对核心知识点的掌握程度和对知识点的能力 要求。 本文件不限定机器人操作系统版本,如 Ubuntu,Debian 等各种版本,以及运行在这些操作系统上的 开源 ROS 机器人操作系统。应用案例作为示例和资料性附录给出。由于这些系统是开源的,并且零件是可 以自由购买的,所以满足这些需求的成品或者半成品,甚至是自己组装的,都可以。举例如下: 技术参数: ——嵌入式控制器:OpenCR(32-bit ARM® Cortex®–M7) ; ——SBC:Raspberry pi 3; ——舵机:Dynamixel 舵机 XM430-W210-T; ——电池续航时间:≥2 小时,充电时间约 2 小时 30 分; ——最大平移速度:0.26m/s; ——最大旋转速度:1.82rad/s (104.27deg/s); 青少年编程能力等级共包括四个级别,具体描述如表 1 所示。 表 1 青少年编程编程能力等级划分 机器人编程等级 能力要求 能力要求说明 了解机器人运动结构;了解机器人操作系统的基本知识;能在图形化 一级 掌握基本的机器人编程知识和能力,机器人编程平台中,学会编程对舵机、电机等机器人常用运动机构进 具备对常用运动机构开环控制能力 行开环控制。 了解 PID 控制算法,学会根据实际需要对 P、I、D 三个参数进行设置; 具备通过传感器反馈进行闭环控制的思维能力,会使用一些机器人操 二级 具备通过传感器反馈对机器人闭环 作系统框架的现成功能包(库);能够根据陀螺仪、角度传感器和编码 控制能力 器等传感器件反馈信号,掌握在图形化机器人编程平台中,对对舵机、 电机等机器人常用运动机构进行闭环控制。 三级 具备机器人系统集成编程和应用能 力 在机器人操作系统平台中,了解图像处理技术;能根据实际问题,具 备机器人集成应用和对实际问题的分析和解决能力。能编写程序利用 视觉信息控制机器人。 通过掌握的方案,能够选择出最佳方案应对实际问题;能够在机器人 四级 具备机器人编程综合设计与创新能 编程、调试中融合多种传感器和算法解决实际问题;了解机器人操作 力 系统下编程,能够脱离图形化编程使用对机器人进行编程。能编写程 序通过视觉信息等多传感器信息进行融合,控制机器人; 4 T/CERACU/AFCEC 100.3—2020 5 一级核心知识点及能力要求 5.1 综合能力及适应性要求 了解机器人运动结构、了解机器人操作系统的基本知识,在图形化机器人编程平台中,掌握通过编程 对舵机、电机等机器人常用运动机构进行开环控制。具体要求见下: a) 要求能够能够了解机器人的种类,机器人的组成部分,舵机电机的种类、工作方式,需要了解机 器人操作系统相关知识,以及具备简单的逻辑思维能力。 b) 要求了解机器人操作系统最基本的命令。 c) 要求了解机器人操作系统操作系统,并能对比其与 Windows 系统的差别。 d) 动手能力要求:能运用简单的器件搭建可运动的机器人。 e) 编程能力要求:能够阅读工作流流程图,理解工作流运行逻辑,并能预测工作运行结果,能够使 用基本调试(debug)方法对程序进行调试,规范变量、消息命名的能力。能运用图形化编程利用机器人 操作系统平台实现舵机或电机的运动。 f) 操作能力要求:熟练掌握图形化编程工具的基本功能,能够创建工程,编写代码,编译代码。能 够输入运行机器人操作系统命令。 g) 应用能力要求:能够使用图形化编程环境编写简单程序,实现简单功能,例如控制机器人直行或 转向等。 5.2 核心知识点能力要求 青少年编程能力等级机器人编程一级包括 15 个核心知识点,具体说明如表 2 所示。 表 2 机器人编程一级核心知识点及能力要求 编号 名称 1 机器人软硬件系统 1.1 机器人分类 能力要求 了解人形机器人、轮式机器人、空中机器人、水中机器人 等。 了解并能够表述不同类型机器人的执行部分,了解舵机与 1.2 机器人硬件组成 电机的区别,并了解舵机与电机的种类及工作方式。掌握运用简 单的器件舵机/电机,搭建可以运动的简易机器人。 1.3 机器人软件系统 掌握机器人操作系统操作系统基本文件操作:能够打开、 关闭文件,会使用浏览器。 了解机器人的运动方式:基本的轮式运动底盘、万向轮底 1.4 机器人运动方式 盘等,履带运动方式,以及四旋翼飞行。了解这些运动方式的优 缺点以及各自的应用场景。 了解机器人与编程平台常见的几种连接方法,并熟练掌握 1.5 机器人与编程平台通信方式 2 编程及算法 2.1 图形化编程平台的使用 2.2 机器人编程机制 了解机器人控制程序中通讯的概念。 2.3 控制结构 掌握通过顺序结构/循环结构的程序控制机器人运动。 2.4 程序开发 其中一种连接方法。 了解图形化编程的概念,以及掌握图形化编程平台基本功 能的使用方法。 1、掌握调试控制程序的观察法。 2、能够运用图形化编程环境,在机器人操作系统平台上驱 5 T/CERACU/AFCEC 100.3—2020 动电机、舵机,让机器人能够运动。 3 数据分析及反馈 3.1 数据采集 3.2 控制信号输出 4 其他 4.1 成本与效益 4.2 合作 按照分工角色,实现团队合作完成机器人项目。 4.3 安全性 具备基本的安全意识。 5 机器人发展对社会的影响 5.1 文化 掌握通过人工参数输入来采集数据。了解参数/角度/随机 数的概念,掌握相关参数/角度/随机数的取值范围。 掌握将人工输入的参数变成控制信号输出到运动控制系统 中。 了解解决机器人编程问题的基本流程,能够选择出合适的 解决方案。 熟悉机器人发展的历史,并能列举生活中简单的使用机器 人的案例。 5.3 标准符合性规定 5.3.1 标准符合性总体要求 课程、教材、实验与能力测试应符合本文件第 5 章的要求,本文件以下内容涉及到的“一级”均指本 文件第 5 章规定的“一级” 。 5.3.2 课程与教材的标准符合性 课程与教材的总体教学目标不低于一级的综合能力要求,课程与教材的内容涵盖一级的核心知识点不 低于各知识点能力要求,则认为该课程或教材符合一级标准。 5.3.3 测试标准符合性 青少年机器人编程能力等级一级测试包含了对一级综合能力的测试不低于综合能力要求,测试题均匀 覆盖了一级核心知识点并且难度不低于各知识点的能力要求。 5.4 能力测试形式与环境要求 5.4.1 能力测试形式 测试形式为笔试、实操相结合的形式得到综合成绩,通过建立标准化的笔试和实操试题库,笔试部分 通过机考方式自动阅卷,实操部分由现场考评员根据知识得分点进行打分,综合成绩由笔试×65%+实操× 35%构成。 5.4.2 环境要求 ——图形化软件编程环境:Scratch、Blockly; ——机器人硬件:控制器为例如 STM32 系列等单片机。 6 T/CERACU/AFCEC 100.3—2020 6 二级核心知识点及能力要求 6.1 综合能力及适应性要求 在一级的能力要求基础上,了解 PID 控制算法,学会根据实际需要对 P、I、D 三个参数进行设置;具 备通过传感器反馈进行闭环控制的思维能力,会使用一些机器人操作系统框架的现成功能包;能够根据陀 螺仪、角度传感器和编码器等传感器件反馈信号,掌握在图形化机器人编程平台中,对舵机、电机等机器 人常用运动机构进行闭环控制。具体要求见下: a) 机器人操作系统知识储备要求:要求了解机器人操作系统中包的概念,以及机器人操作系统工程 的构成。 b) 要求能够了解机器人控制算法,能够实现简单的 PID 控制。 c) 编程能力要求:要求能够运用图形化编程环境在机器人操作系统平台下实现 PID 算法,并用其对 电机、舵机进行有目的的控制。能够使用运行更多的机器人操作系统的功能包。 d) 操作能力要求:熟悉机器人的构造,能够熟练操作机器人开关,以及功能按键,会使用键盘鼠标 操作机器人操作系统功能包。 e) 调试能力要求:要求能够调试自己控制代码中的参数,使得控制结果接近自己的需求。 f) 数学能力要求:了解正负数的基本概念,学会正负数的加减法。 g) 应用能力要求:掌握利用 PID 算法控制机器人运动和利用传感器接收数据闭环控制机器人运动。 h) 创新能力要求:运用机器人实现应用场景的功能。 6.2 核心知识点能力要求 青少年编程能力机器人编程一级包括 16 个核心知识点,具体说明如表 3 所示。 表 3 机器人编程二级核心知识点及能力要求 编号 名称 1 机器人软硬件系统 能力要求 传感部分:能识记和表述出不同类型机器人的传感 1.1 机器人硬件组成 部分,了解陀螺仪、角度传感器和编码器等常用传感器的 工作原理、功能和特点。 1.2 机器人软件系统 2 编程及算法 掌握机器人操作系统操作系统文件操作:能够删除、 修改、保存文件内容。 了解机器人控制程序中消息的概念,掌握从话题到 2.1 机器人编程机制 软件系统的消息通信机制。 7 T/CERACU/AFCEC 100.3—2020 2.2 变量 了解变量及常用的数据类型 掌握通过事件驱动/条件判断程序来控制机器人运 2.3 控制结构 动。 掌握函数的自定义与调用方法,能够根据需求自定 义函数,以完成相应的功能。 2.4 模块化 1、了解 PID 控制算法的用途,以及算法的适用范围; 2、坐标系算法:掌握平面直角坐标系的使用,能够 进行坐标计算,使用坐标进行定位。 2.5 算法 运用图形化编程环境,通过调整 P、I、D 参数值进 行闭环控制机器人运动。 8 2.6 程序开发 3 数据分析及反馈 3.1 数据的采集 3.2 数据的分析 3.3 控制信号输出 4 其他 掌握获取陀螺仪、角度传感器和编码器等传感器件 反馈信号。通过硬件获取声、光等信号。 掌握通过获取的传感器数据,进行计算分析。 掌握将传感器信号计算结果变成控制信号输出到运 动控制系统中。 T/CERACU/AFCEC 100.3—2020 具备根据实际应用场景,制定计划并实现的能力; 4.1 成本与效益 掌握多种不同运动方案的机器人搭建,实现同一功能,并 比较各方案的差异和优缺点。 4.2 合作 4.3 质量与安全 5 机器人科学发展 具备设计简单小组结构的分工,并参与各角色完成 项目。 能够对机器人的运行设计安全保护程序。 1、了解机器人发展对人类社会既有正面推进作用, 5.1 文化 也有消极影响。 2、了解机器人在人类社会中的用途。 3、了解机器人与人类传统文化的相互影响。 5.2 道德与法治 具备正确的价值观、职业素养和职业操守,能正确 应用机器人技术解决社会问题。 6.3 标准符合性规定 6.3.1 标准符合性总体要求 课程、教材、实验与能力测试应符合本文件第 6 章的要求,本文件以下内容涉及到的“二级”均指本 文件第 6 章规定的“二级” 。 6.3.2 课程与教材的标准符合性 课程与教材的总体教学目标不低于二级的综合能力要求,课程与教材的内容涵盖二级的核心知识点不 低于各知识点能力要求,则认为该课程或教材符合二级标准。 6.3.3 测试标准符合性 青少年机器人编程能力等级二级测试包含了对二级综合能力的测试不低于综合能力要求,测试题均匀 覆盖了二级核心知识点并且难度不低于各知识点的能力要求。 6.4 能力测试形式与环境要求 9 T/CERACU/AFCEC 100.3—2020 6.4.1 能力测试形式 测试形式为笔试、实操相结合的形式得到综合成绩,通过建立标准化的笔试和实操试题库,笔试部分 通过机考方式自动阅卷,实操部分由现场考评员根据知识得分点进行打分,综合成绩由笔试×50%+实操× 50%构成。 6.4.2 环境要求 ——图形化软件编程环境:Scratch、Blockly; ——机器人硬件:控制器为例如 STM32 系列等单片机;机器人为底盘带有电机、舵机、陀螺仪或角度 传感器的轮式机器人。 7 三级核心知识点及能力要求 7.1 综合能力及适应性要求 在二级的能力要求基础上,在机器人操作系统平台中,了解图像处理技术;能编写程序通过图像信息 和传感器信息控制机器人;能根据实际问题,具备机器人系统集成应用和问题解决能力。具体要求见下: a) 知识储备要求:要求掌握控制算法的使用,以及熟练掌握图形化编程的工具。 b) 编程方式要求: 要求不仅熟练掌握图像化编程语言,而且了解代码式编程方式 (例如 C、 C++或 python 等开发语言)。 c) 编程能力要求:要求熟练掌握图形化编程语言,能熟练使用机器人操作系统环境,能用图形化编 程语言在机器人操作系统环境下开发机器人,并且能够使用简单的 C 语言(或其他语言)编写代码。 d) 数学能力要求:了解分数的概念,以及比例控制的算法实现原理,了解误差的概念。 e) 传感器要求:要求了解,并学会使用不同的传感器,如测距、测速、摄像头等传感器。 f) 机器视觉处理能力:要求了解,并学会使用简单的图像处理,包括识别简单物品,巡线,分辨颜 色。 g) 知识综合能力:要求能够把传感器的使用,以及底盘控制融合起来,使机器人具有一定的功能性, 比如更灵活的转向、视觉信号获取与处理、路径规划等。 7.2 核心知识点能力要求 青少年编程能力机器人编程三级包括 14 个核心知识点,具体说明如表 4 所示。 表 4 机器人编程三级核心知识点及能力要求 编号 1 10 名称 机器人软硬件系统 能力要求 T/CERACU/AFCEC 100.3—2020 1、传感部分:掌握摄像头、雷达等传感器的工作原理和特 点,能够用传感器实现测距、测速、测角度和视觉传感等功能。 1.1 机器人硬件组成 2、运动部分:至少掌握一种复杂转向系统的工作原理,如 麦克纳姆轮。 3、硬件集成:能够把各传感器的使用,以及底盘控制融合 起来,使机器人具有一定功能性。 至少掌握一种主流机器人操作系统的使用,能够使用基本 1.2 机器人软件系统 1.3 机器人运动方式 2 编程及算法 2.1 机器人编程机制 2.2 变量 掌握堆栈、队列和哈希表型数据,能够自定义数据类型。 2.3 控制结构 掌握通过多线程、多进程编程方式,提高机器人系统速度。 2.4 模块化 能够调用第三方机器人操作系统的功能包。 操作指令,包含启动、停止、查询等。 理解复杂转向系统和简单转向系统的优缺点。 了解机器人控制程序中服务概念,掌握利用服务让节点发 送请求并接受响应。 11 T/CERACU/AFCEC 100.3—2020 1、了解机器人 SLAM 算法。 2、至少掌握一种机器视觉处理算法,包括识别简单物品、 巡线和分辨颜色。 2.5 算法 3、了解误差的概念和比例控制算法的实现原理,以优化机 器人控制程序设计。 4、坐标系:能够通过图像处理技术提取黑线上点的坐标, 对机器人位置进行控制。 1、掌握流程图的概念,能够绘制流程图分析和设计程序。 2.6 程序开发 2、初步掌握一门代码式语言编写简单控制程序。 3、对机器人控制系统进行调试、故障分析和检修,学会判 断机器人故障出处。 3 数据采集及反馈 3.1 数据的采集 能够获取摄像头等传感器反馈的数据。 3.2 数据的分析 能够进行视觉图像处理。 4 其他 4.1 协同 5 机器人发展的影响 5.1 文化 5.2 道德与法治 能够将分析过程与结果、解决方案和成果交流分享给合作 伙伴。 理解机器人的发展和更新是由人类需求驱动的,对不同群 体的影响会不同。 掌握包括发明专利等在内的知识产权的相关知识,树立正 确的知识产权意识。 7.3 标准符合性规定 7.3.1 标准符合性总体要求 课程、教材、实验与能力测试应符合本文件第 7 章的要求,本文件以下内容涉及到的“三级”均指本 文件第 7 章规定的“三级” 。 12 T/CERACU/AFCEC 100.3—2020 7.3.2 课程与教材的标准符合性 课程与教材的总体教学目标不低于三级的综合能力要求,课程与教材的内容涵盖三级的核心知识点不 低于各知识点能力要求,则认为该课程或教材符合三级标准。 7.3.3 测试标准符合性 青少年机器人编程能力等级三级测试包含了对三级综合能力的测试不低于综合能力要求,测试题均匀 覆盖了三级核心知识点并且难度不低于各知识点的能力要求。 7.4 能力测试形式与环境要求 7.4.1 能力测试形式 测试形式为笔试、实操相结合的形式得到综合成绩,通过建立标准化的笔试和实操试题库,笔试部分 通过机考方式自动阅卷,实操部分由现场考评员根据知识得分点进行打分,综合成绩由笔试×35%+实操× 65%构成。 7.4.2 环境要求 ——图形化软件编程环境:Scratch、Blockly; ——机器人硬件:控制器为 STM32 系列单片机、树莓派、mini 电脑主机;机器人为底盘带有电机、麦 克纳姆轮、舵机、陀螺仪或角度传感器、激光测距传感器或超声波传感器、摄像头的轮式机器人。 8 四级核心知识点及能力要求 8.1 综合能力及适应性要求 在三级的能力要求基础上,要求了解 Linux 操作系统,能够掌握多种编程语言,能够运用编程实现自 己有创意的想法。学会预演多种不同方案,并选择最合适的方案实现功能。具体要求见下: a) 知识储备要求:要求熟悉代码式编程语言(例如:C、C++或 python)以及图形化编程语言,了解 常用的传感器,并能够使用。 b) 单片机技能要求:要求了解单片机,并能够使用至少一款单片机的基本功能。 c) 机器人操作系统知识储备要求:要求能够在机器人操作系统平台下实现一个较为完善的机器人工 程,并能够运用一些强大的功能包,让机器人具备更丰富的功能。 d) 操作系统知识储备要求:要求了解机器人操作系统操作系统,能够使用机器人操作系统操作系统 的基本功能,会使用命令框输入开关机等一些常用的命令语句。 e) 编程方式要求:能够运用 C 语言实现机器人基本功能,了解 C++中的一些语法。 f) 编程能力要求:要求能够实现图像处理,机器人控制等算法,能够在 Linux 操作系统下写 C 语言 代码。 g) 综合能力要求:要求能够融合所学的各部分知识,设计制作一个完整的功能性机器人。 h) 创新要求:能够应用学会的知识创造出有实用价值并具备一定创新性的机器人。 i) 阅读/查阅能力要求:学会阅读了解自己需要的知识,能够在机器人操作系统官网或论坛中学会检 索所需知识,能够拥有独立解决一定问题的能力。 8.2 核心知识点能力要求 青少年编程能力机器人编程四级包括 15 个核心知识点,具体说明如表所示。 13 T/CERACU/AFCEC 100.3—2020 表 5 机器人编程四级核心知识点及能力要求 编 号 名 1 称 能 力 要 求 机器人软硬件系统 控制部分:了解控制器(例如 STM32 系列单片机)的使用, 1.1 机器人硬件组成 了解常见的单片机型号,不同芯片的性能区别,并且能够使用至少 一款单片机的基本功能。 1.2 机器人软件系统 掌握用 C、C++或 python 等语言在机器人操作系统系统上用 机器人操作系统(例如 ROS)编程,能使用相关的功能包(库) 。 综合运用所学的各部分知识,设计制作一个完整的功能性机 1.3 机器人运动方式 器人;能够在机器人操作系统平台下实现一个较为完善的机器人工 程,并能够运用一些强大的功能包,让机器人具备更丰富的功能。 1.4 机器人与编程平台通信 方式 2 编程及算法 2.1 编程平台的使用 了解并掌握串口通信使用方法,利用串口通信发送数据。 能够使用 Linux 系统(例如 Ubuntu)或机器人操作系统系统 下的使用机器人操作系统(例如 ROS) 1、掌握机器人控制程序中消息异常处理机制。 2.2 机器人编程机制 2、掌握至少一款单片机的输入、输出、中断、定时器等机制, 并能进行相关应用。 2.3 14 模块化 具备复杂工程分解能力,让问题简单化;具备将问题转化成 若干简单的问题,通过子程序或模块实现。 T/CERACU/AFCEC 100.3—2020 2.4 算法 2.5 程序开发 3 数据采集及反馈 3.1 数据的采集 3.2 数据的分析 3.3 控制信号输出 4 其他 4.1 合作 5 机器人发展的影响 5.1 文化 5.2 道德与法治 1、用代码式编程实现机器人 SLAM 算法。 2、掌握粗略的非线性控制,例如分段 PID 控制算法。 能够完成代码的断点调试,排除功能错误。 掌握通过代码式编程读取文件获取数据。 掌握通过逻辑分析,思考处理数据的方法,以及分析通过数 据得到的结果。 能够分析控制信号的输出是否异常,以及异常是由什么参数 导致的。 能够搭建并领导团队完成机器人控制项目,解决复杂问题。 能够站在社会的高度系统性的考虑机器人技术的利弊。如机 器人技术与和平的关系,机器人技术与教育的关系。 理解道德和法律对机器人发展的影响随地区、领域的不同, 可能产生推动或限制。 8.3 标准符合性规定 8.3.1 标准符合性总体要求 课程、教材、实验与能力测试应符合本文件第 8 章的要求,本文件以下内容涉及到的“四级”均指本 文件第 8 章规定的“四级” 。 8.3.2 课程与教材的标准符合性 课程与教材的总体教学目标不低于四级的综合能力要求,课程与教材的内容涵盖四级的核心知识点不 低于各知识点能力要求,则认为该课程或教材符合四级标准。 15 T/CERACU/AFCEC 100.3—2020 8.3.3 测试标准符合性 青少年机器人编程能力等级四级测试包含了对四级综合能力的测试不低于综合能力要求,测试题均匀 覆盖了四级核心知识点并且难度不低于各知识点的能力要求。 8.4 能力测试形式与环境要求 8.4.1 能力测试形式 测试形式为笔试、实操相结合的形式得到综合成绩,通过建立标准化的笔试和实操试题库,笔试部分 通过机考方式自动阅卷,实操部分由现场考评员根据知识得分点进行打分,综合成绩由笔试×20%+实操× 80%构成。 8.4.2 环境要求 ——软件编程环境:Scratch、Blockly、C、C++、Python; ——机器人硬件:控制器为STM32系列单片机、树莓派、mini电脑主机;机器人为底盘带有电机、麦 克纳姆轮、舵机、陀螺仪或角度传感器、激光测距传感器或超声波传感器、摄像头、激光雷达的轮式机器 人。 16 T/CERACU/AFCEC 100.3—2020 附 录 A (资料性附录) 测试试题样例 A.1 一级测试样例 a) 用两个电机分别驱动轮子搭建一辆差速轮式机器人,使用图形化编程调用机器人系统命令使机器 人轮子转动,让机器人能够直行,并且差速转向。 要求:轮式机器人设计需合理,机器人能够实现运动,转向的功能。 b) 用舵机和电机搭配组成一个轮式机器人,用图形化编程调用机器人系统命令使机器人电机和舵机 能够转动,配合实现机器人的直走,转向。 要求:轮式机器人设计需合理,机器人能够实现运动,转向的功能。 c) 用两个舵机制作两个自由度的机械臂,开环控制,用机器人系统命令能够驱动机械臂各个自由度 的旋转。 要求:机械臂能够运动即可。 A.2 二级测试样例 a) 分别搭建一台差速轮式机器人和舵机转向轮式机器人,用简单 P 控制算法,调节舵机的角度,和 差速机器人的差速转向力,让机器人能够按一定的半径转向,并且在运动过程中实时控制机器人运行的速 度。 要求:机器人能够比较稳定地运行,并且能够调节机器人运行的速度,分别以较低的速度和较高的速 度运动,能深刻体会 P 控制过程中造成低频抖动的原因。 b) 在图形化编程中调用机器人系统命令运行 Beginner Tutorials 小乌龟实例程序,并且用键盘控制 小乌龟的运动轨迹。 要求:深刻理解机器人系统节点的概念。 c) 用三个舵机组成一个三自由度的机械臂,利用陀螺仪或角度传感器等实现机械臂的姿态读取,并 利用简单的控制算法控制机械臂的姿态。 要求:机械臂有三个自由度,且姿态可控。 A.3 三级测试样例 a) 用舵机和电机搭配组成轮式机器人,并装载摄像头,利用摄像头读取地面上图片,提取其中的黑 线,让机器人追踪地面黑线,并利用激光测距传感器或超声波实现障碍物的识别,并能够避开前方的障碍。 用 PID 控制舵机和电机,保持机器人稳定寻迹。 要求:能够提取黑线上点的坐标,利用坐标进行机器人位置的控制。能够让机器人在控制下寻黑线绕 圈,避开障碍。能够理解差速转向和舵机转向的区别和各自的优缺点。 b) 用四个麦克纳姆轮组成轮式机器人,实现机器人横向和纵向运动,且能够自转。装载摄像头,利 用颜色通道的数据区分不同色块,识别地面上不同色块的位置,控制机器人运动到指定色块内。 要求:能够利用麦克纳姆轮组成轮式机器人,并实现更灵活的运动方式;利用摄像头读取颜色信息, 识别不同的颜色,控制机器人到指定色块内。 A.4 四级测试样例 17 T/CERACU/AFCEC 100.3—2020 a) 选择一个合理的轮式机器人运动模型,并搭载激光雷达,陀螺仪等传感器,在Linux系统下运用机 器人系统平台中amcl,gmapping等功能包实现机器人对现实环境的地图建立,并在建立的地图中进行路线 规划,导航,避障等功能。并在此基础上利用舵机的配合实现扫地机器人的功能,利用单片机中断定时执 行扫地作业,并对其进行指定闭合路径的循环作业。 要求:需要理解所选车模的优势和特点,并熟练操作Linux系统和使用机器人系统功能包。能够使用 单片机编程,理解io口、中断、定时器等功能。具备创新思维,能够综合所学技能独立开发功能性机器人。 b) 使用机器人系统平台中rviz可视化界面等工具仿真现实环境中的机器人运行状况,并对机器人的 路径进行设定。 要求:在rivz中观测机器人的运行状况,并能观测机器人运行过程中各种数据的变化,以及掌握如何 调试机器人的参数的方法。 18