项目3 使用AI进行机器人运动规划
站点: | 科创教育数字化教学平台 |
课程: | 人工智能教学指南与实操(中学) |
图书: | 项目3 使用AI进行机器人运动规划 |
打印: | 访客用户 |
日期: | 2025年05月4日 星期日 00:32 |
1. 项目概述
项目概述
本项目旨在帮助学生区分人工智能驱动的机器人和简单的自动化,让学生接触到人工智能驱动的机器人所特有的功能和能力。学生将通过讨论、研究和模拟来探索这些想法,然后应用他们的新知识来考虑现实世界的问题,并开发一个小规模的AI机器人解决方案的模拟。
主题:计算机科学和机器人课程。
目标年级: 8 - 12年级
估计时长:8-12小时
条件:基本编程技能
项目目标
- 区分有人工智能能力和没有人工智能能力的机器人。
- 解释人工智能驱动的机器人如何利用感知和推理进行运动规划。
- 审查与人工智能和机器人运动规划有关的基本道德考虑。
词汇
人工智能 运动规划算法
AI代理 神经网络
人工智能机器人 机器人
自主的 传感器
合乎道德的 传感器融合
机器学习 序贯决策
标准
ISTE学生标准
1.授权学习者
d.学生理解技术操作的基本概念,展示选择、使用和解决当前技术问题的能力,并能够转移知识探索新兴技术。
4 .创新设计师
a .学生知道并使用经过深思熟虑的设计过程来产生想法、检验理论、创造创新的物品或解决真实的问题。
c .学生开发、测试和提炼原型,作为循环设计过程的一部分。
5 .计算思想家
d .学生理解自动化是如何工作的,并使用算法思维开发一系列步骤来创建和测试自动化解决方案。
ISTE计算思维能力
1 .计算思维
e.认识到计算和社会如何相互作用,为个人和组织创造机会、不平等、责任和威胁。
2 .股权领袖
b.构建并实施与文化相关的学习活动,以解决不同伦理、社会和文化视角下的计算问题,突出不同角色模型和团队的计算成果。
4 .创意&设计
c.引导学生认识到在开发具有广泛可访问性和可用性的计算工件时,多角度和以人为本的设计的重要性。
AI4K12在AI的五大想法
1 .感知
计算机使用传感器感知世界。
2 .表示和推理
代理维护世界的表示,并将它们用于推理。
3 .学习
计算机可以从数据中学习。
4 .自然互动
智能代理需要多种知识与人类进行自然的交互。
5 .社会影响
人工智能可以以积极和消极的方式影响社会。
CSTA(计算机支持的技术支援) K-12计算机科学标准
2-CS-02:设计结合硬件和软件组件来收集和交换数据的项目。
2-IC-2:比较与影响人们日常活动和职业选择的计算技术相关的权衡。
3A-AP-13:利用学生的先验知识和个人兴趣,创建使用算法解决计算问题的原型。
3A-IC-2:评估计算影响个人、伦理、社会、经济和文化实践的方式。
3B-AP-08:描述人工智能如何驱动许多软件和物理系统。
3B-AP-09:实现一个人工智能算法来对人类对手玩游戏或者解决问题。
2. 项目准备
准备
材料准备
- 一个或多个人工智能驱动的机器人,如Cozmo、Zumi、Google Cloud Vision API的GoPiGo、AutoAuto或Little Sophia。
- 计算机或平板电脑与互联网连接,可在线访问工具和资源。
- 工具:CarLab
为受教育者提供资源支持
先进准备
- 了解您将与您的班级一起使用的人工智能机器人的传感器和运动规划功能。
- 使用CarLab模拟进行实验,并回顾活动3中的步骤5 - 9
3. 活动一:人工智能机器人的特征
活动一:人工智能机器人的特征
在此活动中,学生将激活先前的知识,因为他们考虑不同类型的机器人,并确定区分人工智能机器人的特征。
1 .要求学生列出自己使用过的或在新闻或流行媒体上看到过的机器人。如果他们提到的一些机器人是虚构的,就让他们把它们贴上这样的标签。
2 .告诉学生,有些机器人有人工智能,而另一些机器人没有。给他们下面的标准来评估他们列表中的每个机器人。如果学生需要帮助,让他们知道,如果机器人确实具备人工智能能力,你可能能够分辨,因为它可以做一些事情,比如:识别特定的物体或人脸,自己在物体周围导航,分类或区分物体,用人类语言理解或说话,识别或表达情感,或者在遇到意想不到的事情时即兴发挥。在这些方式中,AI做出的自主决策比一个任务的简单自动化(按照规定的步骤顺序执行)更先进,而非AI机器人经常被用来执行。
- 标准1:AI机器人必须能够感知周围的世界。
- 标准2:AI机器人必须能够分析和组织其感知的数据。
- 标准3:AI机器人必须能够根据其感知的数据进行推理和自主决策。
4. 活动二:传感器——机器人如何感知和理解
活动二:传感器——机器人如何感知和理解
传感器允许人工智能驱动的机器人感知自然世界。在这项活动中,学生将研究机器人系统中常用的传感器。然后他们将检查该班的人工智能机器人,以识别其传感器和能力。
1 .一个AI驱动的机器人利用传感器感知周围的世界。分发一个图形组织者或让每个学生创建一个表来支持他们对机器人传感器的研究。图形组织者应该包括三个主题:传感器的名称、传感器感知到的数据,以及一个AI驱动的机器人可能如何使用这些数据。使用拼图教学策略,为每个个体或小群体分配一个或多个独特的机器人传感器,如激光雷达、接触或触摸传感器或气压计。让学生研究他们指定的传感器并将他们的发现记录在他们的桌子上。例如,超声波传感器利用反射的高频声波来测量距离目标的距离。这个传感器的数据可以被一个由人工智能驱动的机器人用来确定一个物体在它前面经过,以及物体离它有多远。一旦学生完成研究,让他们向全班汇报调查结果。他们还应该把从其他学生的陈述中获得的信息添加到自己的表格中。活动结束后,所有学生都将了解所研究的每个传感器的信息。
2 .接下来,让学生完成一个机器人寻宝任务,检查他们在课堂上使用的人工智能机器人平台的硬件、软件和文档,并识别可用的传感器。针对每一个传感器,让学生识别传感器的名称、传感器采集的数据,以及这些数据是如何被机器人表示出来供用户查看的。例如,"机器人车祖密"的桌子可能是这样的:
Sensor | Data | Data Representation For the User |
Pi Camera | Visual data. The computer processes it as pixels but displays it in the form of images and video. | Saved on the computer (Raspberry Pi Zero board) as a .jpg file and can be opened in any image file application. |
Gyroscope | Rotational motion (how much it is turning) as numeric angles for the x, y, and z axis. | Use update_angles() function to get angles for x, y, and z axis. Angle values range from 1 to 360. |
Accelerometer | Acceleration values for each axis to find Zumi’s orientation with respect to the strongest force being applied to Zumi (gravity). | Use get_orientation() function to get orientation state value: –1 = unknown 0 = probably falling or moving between states |
1 = camera straight up | ||
2 = camera facing down | ||
3 = on right side | ||
4 = on left side | ||
5 = wheels on floor | ||
6 = wheels facing up (upside down) | ||
7 = accelerating faster than 1g | ||
6 IR Sensors | Distance values to a target using reflecting infrared light waves. Sensors are in the front right, bottom right, back right, bottom left, back left, and front left. | Use get_IR_data() function to get one of the 6 sensor values which range from a value between 0 and 255. |
传感器 | 数据 | 数据代表用户 |
Pi摄像头 | 可视化数据。计算机将其作为像素处理,但以图像和视频的形式显示。 | 保存在计算机上( 树莓 Pi零板 )作为. jpg文件,可以在任何图像文件应用程序中打开。 |
加速度计 | 每个轴的加速度值,以找到Zumi相对于施加在Zumi (重力)上的最强力的方向。 | 利用get _ Direction ( )函数得到朝向状态值: -1 =未知 0 =很可能掉落或在状态间移动 1 =摄像机直上 2 =摄像机朝下 3 =右侧 4 =左侧 5 =地板上车轮 6 =车轮朝上(朝下) 7 =加速比1g快 |
6 Ir传感器 | 使用反射红外光波到目标的距离值。传感器位于右前方、右下方、右后方、左下方、左后方和左前方。 | 使用get _ IR _ data ( )函数获取6个传感器值中的一个值,该值范围从0到255之间。 |
3 .当学生完成这些活动时,他们可能会注意到有不同类型的传感器完成相同的任务,例如检测机器人到物体的距离。问问学生为什么认为有不同类型的传感器用于完成相同的任务。可能的答案是:许多不同的传感器被用来收集相同的数据,以创建一个冗余系统并提高精度。当数据从多个来源采集时,更加可靠。不要假设超声波传感器是读取一个精确的距离,可以将该值与红外( IR )传感器进行比较,以保证其准确性。改变条件(如天气)也会影响传感器的某些值。测量冗余度越大,系统越可靠。有些传感器也对数据进行了不同的测量。激光雷达和摄像机都可以探测物体。激光雷达可以看到某物离它有多远,它的一般形状,但不能看到像颜色等更精细的细节和其他二维细节。摄像机可以看到物体的一般形状和所有更细的细节( 颜色 ,书写等 ),但不知道物体的距离有多远。像自动驾驶汽车这样的机器人系统将这两种传感器结合起来,为目标检测创造了更好的系统。人工智能将多个传感器的感知融合为一个模型的能力称为传感器融合。
4 .最后,让学生选择机器人的传感器之一,并描述一种方法,感知的数据可以用来完成与人工智能的任务。可能的答案:人工智能可以与相机的图像数据一起用来检测物体,并确定这些物体之间的差异;例如,它可以区分行人、骑自行车者和道路上的其他汽车。
5. 活动3:自动驾驶汽车仿真-运动规划和避障
活动3:自动驾驶汽车仿真-运动规划和避障
在此活动中,学生将与一个AI驱动的自动驾驶汽车模拟器进行交互,了解一个AI是如何表示和原因它感知到的信息。
1 .自动驾驶汽车是人工智能机器人的一个例子。理想情况下,自动驾驶汽车能够感知周围的世界,在很少或没有人力投入的情况下安全导航道路。
2 .项目一或两个视频展示了巡航自主驾驶汽车在涉及应急车辆、自行车和行人的困难场景中的摄像机视图和AI表示:"在旧金山观看巡航自主驾驶汽车在应急车辆周围的操纵"和"在旧金山观看巡航自主驾驶汽车在自行车和滑行者周围的安全操纵"。询问学生对视频中的传感器、感知和导航有何观察。向学生指出,自动驾驶汽车仅靠传感器感知是不够的;它必须能够解释和代表这种感知,以及理性,来决定如何对它所感知的事物采取行动。告诉学生,在这个活动中,他们将学习更多关于人工智能的表示和推理。
3 .运行并投射Car Lab自动驾驶汽车模拟器,供学生观看。解释以下内容:
- CarLab是一个模拟器,允许用户训练自动驾驶汽车的神经网络,通过避开墙壁和其他车辆安全地导航轨道。在模拟器中,自动驾驶汽车- -所谓的网络车- -代表了一辆跑车。有几个较小的汽车同时行驶在轨道上,用户无法控制或编程。
- 要让人工智能利用其感知的信息做出决策,它需要收集数据、表示数据以及对下一步最佳行动的理由。自动驾驶汽车通过传感器收集各种数据,并通过几种控制决策各个方面的算法处理数据。在这个活动中,学生将考虑汽车运动规划算法所需的感知、表示和推理。运动规划算法是机器人技术中支持从一个点到另一个点的运动和导航的序贯决策的一种形式。在运动规划中,机器人为了安全导航或执行其他任务,需要对移动什么和去哪里做一系列的小决策。
4 .问学生:汽车的运动规划算法需要感知、表示和推理什么数据?哪种类型的传感器会采集这些数据?
- 可能的答案是:汽车的运动规划算法会接收摄像机、激光雷达以及其他传感器关于车道和其他汽车所在地的输入。然后,它将使用传感器融合来合并这些输入数据,这些数据被表示为显示车辆周围自由空间的占用网格。
5 .引导学生打开CarLab自动驾驶汽车模拟器。引导学生通过以下步骤创建自己的仿真器副本。
- 点击repl . it编程环境顶部的‘Fork’按钮创建副本.
- 点击repl . it编程环境顶部的‘Run’按钮运行程序.
- 右击‘Car View’窗口的标题栏,选择‘Layer’然后选择‘Top,’,如图2所示.

图2 .在CarLab模拟器中设置CarView窗口
- 右击‘GridWorld’窗口的标题栏,选择‘Maximize,’,如图3所示.

图3 .在CarLab模拟器中最大化GridWorld窗口
- 适当启动时,模拟器应与图4相似。如果学生在上面的任何步骤中在任何时候出错,他们可以重新加载链接并重新开始。
图4 . Car Lab模拟器视窗视图
6 .帮助学生在前面讨论中提供的答案和CarLab模拟之间建立联系。向学生解释模拟器中的自动驾驶汽车如何表示其感知的数据:
- 网络汽车的感知数据在此模拟器中表示为汽车视图占用网格。网格将汽车的位置显示为灰色单元格。其他单元格描绘了汽车对每条边上车道的感知,以及它自己的前方和后方车道。未被占用的细胞用白色表示;占据的细胞用红色表示;并且汽车视野之外的单元格用黑色表示。实例如图5所示。
图5 . CarLab模拟器中的Car View占用网格
- 引导学生单击“运行”按钮下方的轨道(在GridWorld窗口内),查看网络车行驶时占用网格的变化。然后,让学生点击" Step "按钮,查看当网车导航轨迹时,占用网格是如何逐步变化的。在每一步中,帮助学生描述占用网格所描述的内容,并识别墙壁或汽车是否在每个占用单元中。
7 .告诉学生下一步他们将对构成网络汽车运动规划算法的神经网络进行测试和训练。
- 网络车的运动规划算法使用机器学习来确定在各种情况下如何移动和避开障碍物。三个神经网络对提供的训练数据进行分析,以识别模式,并创建一个机器学习模型,它可以用来确定何时前进、何时转向、何时换道。如果学生需要更多关于机器学习如何工作的背景信息,支持资源可以在附录A:解包人工智能中找到。(附录A在此文章最后)
- 将学生引导到左侧文件面板中的NetworkCarTrainer.java文件。Network Car Trainer是本次活动中他们唯一要编辑的文件。CarLab用于支持网络车运动规划算法的三个神经网络在程序中显示为转向网络、前进网络和换道网络。在上一步中,学生可能已经注意到网约车只是在一个很小的圆圈内行驶。这是因为,虽然所有的网络都提供了一些启动数据,但只有前方网络- -它告诉汽车在安全行驶时- -已经提供了足够的训练数据,以成功地导航轨道。在这项活动中,学生向转弯网络和车道变化网络提供额外的训练数据,以便网车更成功地导航。
- CarLab中的神经网络使用由三维阵列组成的训练数据。学生在内部两个数组中编辑数据。每一对内阵列都是代表特定场景的单个训练样本。例如,在ForwardData中,第一个数组表示直接在车前的三个单元格。0表示单元格未被占用;a1表示细胞被占据。第二个数组表示网络的目标输出,汽车是否应该前进。A0表示汽车应该向前行驶;a1表示不应该。例如,在小型车位于前面三个单元格的场景中,网络车应该向前移动( { { 0,0,1 } , { 0 } } ),但在小型车位于后两个单元格中的任意一个单元格的两个场景中,网络车被告知不要向前移动( { { 1,0,0 } , { 1 } }和 { { 0,1,1 } , { 1 } } )。神经网络从这个训练集中学习到,网络车只有在它和前面的汽车之间有两个打开的单元格时才安全前进。
8 .训练转向网络:为训练转向网络,学生输入表示占用网格的TurnData以及汽车是否应该转向. ·在编辑两个内部数组时,TurnData中的第一个数组表示占用网格中的位置。每个训练样本的索引依次从车的左侧、车前、车的右侧,如图6所示。A1表示单元被占用;a0表示细胞未被占据。例如,图6所描绘的场景将用数组{ 1,1,1,0,0,1,0,0,0 }表示。表示网络目标输出的第二个数组,即网络车是否应该转向,用a0表示应该转向,用a1表示不应该转向。考虑到图6中的场景,汽车不应该转向;因此,第二个数组应该读{ 1 }。这个训练场景的全三维数组将为{ { 1,1,1,0,0,1,0,0,0 },{ 1 }。
图6 .在CarLab模拟器中编辑TurnData数组
- 如果学生在没有机器学习的情况下编程汽车,他们需要提供汽车可能遇到的所有512 (即29 )种可能的场景以及它应该做什么运动。借助机器学习,学生可以使用代表各种可能场景的约20至25段训练数据训练网约车,以了解何时转向。
- 将学生引导至NetworkCarTrainer.java文件,在该文件中他们可以查看TurnData数据集。目前,网络车在7 - 9行的三个数据点上接受训练。该代码包括另外17个可用于训练数据的数据点,但目前在第10 ~ 27行注释出来。
- 让学生通过删除每个注释行开头的两个反斜杠( / / )向转向网络添加训练数据。他们可以选择使用所提供的一些数据、所提供的所有数据,甚至添加他们自己的额外数据。每次学生更改训练数据时,他们将需要重新运行整个程序,以查看网络汽车驱动方式的变化。学生可以按照与活动开始时类似的流程进行操作:点击编程环境顶部的" Run "按钮,右键点击" Car View "窗口的标题栏,选择" Layer "后选择" Top ",右键点击" Grid World "窗口的标题栏,选择" Maximize "。然后,他们可以点击轨道下面的"运行"按钮( Grid World窗口内部 )来启动自我驾驶的汽车模拟。学生们应该做出改变,直到网络车只有在安全的时候才能转弯。网络汽车可能还会崩溃,因为它需要改变车道,但他们将在下一步解决这个问题。
- 当学生调整训练数据时,让他们观察变化,然后作为课堂讨论额外的训练数据如何改变汽车的驾驶方式。
9 .车道变换网络的训练:接下来对学生进行车道变换网络的训练。这个自动驾驶汽车模拟器是编程的,这样当网络车在任何小区行驶时,如果网络车被告知不要转弯,也不要往前行驶,则会检查是否需要向左或向右换车道。
- 在现实世界中,自动驾驶汽车不仅必须决定行驶方向,还必须决定如何避免障碍。让学生在他们的轨道上增加3 - 5个岩石障碍。要添加岩石,学生点击轨道并选择info.gridworld.actor。岩( )。网约车必须能够应对这些情况,而不会崩溃或驾驶循环。让学生测试他们的汽车,看看它如何成功地在轨道上加上障碍物。
- 网约车需要学会适当改变车道以成功避开车辆和其他障碍物。让学生检查轨道和占用网格。问:在占用网格中的单元格中,网络车需要感知和推理哪些单元格的数据,以便知道它是否应该改变左边的车道?向右?让学生用具体的场景来解释他们的反应,使用这些数据的墙壁和汽车的位置。
- 说明这个特定的换道网络通过评估三个单元格到那边的状态,感知它们是否被占用,并决定是否安全地移动到那边,从而决定网络车是否可以安全地换到左或右车道。例如,为了决定是否向左换道,网络小车会直接向左分析小区的状态,将小区移入( 对角线向左前方 ),并将小区移入前的小区,判断这些小区是否被占用。这些细胞由图6中的指标0、1、2表示。由于网络不区分墙壁、岩石或小汽车,训练数据中提出的场景必须考虑到任何静止或移动物体占用的空间。然后,车道更改网络在做出向右更改车道的决策时反映了这个过程。
- 让学生利用三维数组格式{ { x,x,x },{ x }为车道变换网络创建自己的训练车道ChangeData。第一个内阵列的索引表示网络正在分析的边上三个小区的占有率。A1表示单元被占用;a0表示细胞未被占据。表示网络目标输出的第二个内部数组,即网络小车是否应该换道,用0表示应该换道,用1表示不应该换道。有23种或8种可能的占用组合。已经提供了一个训练数据:{ { 0,0,0 },{ 0 } },其中规定,如果该边的所有单元格都未被占用,那么更改车道是安全的。学生应该进入不超过5个额外的训练场景,试图让网车成功决定何时换道。
- 每次学生更改训练数据时,他们将需要重新运行整个程序,以查看网约车驱动方式的变化。学生可以通过类似于他们在活动开始时使用的一个过程来做到这一点:单击编程环境顶部的" Run "按钮,右键单击" Car View "窗口的标题栏并选择" Layer "然后选择" Top ",右键单击" Grid World "窗口的标题栏并选择" Maximize "。然后,他们可以点击轨道下面的"运行"按钮( Grid World窗口内部 )来启动自我驾驶的汽车模拟。学生应该做出改变,直到网络车只有在能够安全地改变车道。让学生用障碍物等小型车测试自己的网络车,并迭代改进训练数据,使其尽可能顺利地行驶。
10 .让学生测试对方的运动规划算法,在课程中添加新的岩石障碍,并观察网络车如何能够在轨道上航行。让学生提供关于什么做了什么没做得好的同伴反馈,然后根据需要迭代他们的数据来改进模型。
11 .以类讨论结束此活动。
- 此模拟将安全驾驶定义为绕道行驶时不发生碰撞。汽车需要多少数据才能安全地导航轨道?数据太少的影响可能是什么?数据过多可能会带来什么影响?安全驾驶的其他标准是什么?运动规划算法需要说明哪些才能被认为是成功的?
- 如何利用机器学习进行运动规划来改善自动驾驶汽车的导航?
- 根据你在这项活动中的经验,在开发各种人工智能驱动的机器人时,可能会出现感知和运动规划方面的问题?
附录A:开箱 人工智能
本节提供了 AI 动手实践项目中引用的基本 AI 概念的基本解释。课堂系列指南,以及支持教学的资源。
什么是人工智能?
根据首次创造该术语的约翰麦卡锡的说法,“人工智能是科学和工程制造智能机器,尤其是智能计算机程序”(McCarthy,2007 年)。一种技术驱动通过人工智能能够使用传感器有意义地感知周围的世界,分析和组织它感知到的数据,并自主使用这些数据进行预测和决策。人工智能技术有时被归类为狭义人工智能和通用人工智能。狭义的人工智能对一项专门的任务做出决定,有时甚至基于特定的预编程动作数据集。打败人类的深蓝国际象棋程序1996 年的世界冠军、苹果的 Siri 和自动驾驶汽车都是狭义 AI 的例子。相比之下,通用人工智能可以假设学习并适应执行任何任务并解决人类可以解决的任何问题。通用人工智能不目前存在,但在小说中有很多例子,例如“WallE”和“Big Hero 6”中的Baymax。
了解更多
什么是人工智能,存在哪些类型的人工智能,以及如何识别周围世界中的人工智能。
6. 活动四:围绕AI运动规划的伦理在这个活动中,学生将考虑围绕允许机器人自主决策的伦理问题。
活动四:围绕AI运动规划的伦理在这个活动中,学生将考虑围绕允许机器人自主决策的伦理问题。
注意:该活动要求学生在遇到生命危险情景时考虑对自驾车行为的艰难决策。如果你认为这个题目可能让你班的学生心烦意乱,你可能想跳过《道德机器》模拟或《围绕AI运动规划活动的伦理学》。
1 .为介绍话题,投射视频《自驾车的伦理困境——帕特里克·林》。然后作为一个班级来讨论下面的问题。
- 在所描述的情境中,你是否会通过击中摩托车把自己的安全置于其他人的安全之上?你会不会通过不旋转来减少对他人的危险,即使你会击中大物体并可能死亡?既然司机受伤的可能性较小,你会不会通过击中SUV来取中场?
- 相对于你会做什么,自驾车应该做什么?考虑一下你是摩托车手还是越野车司机。
- "反应" ( 人类驾驶员的分秒反应 )和"蓄意决定" ( 无人驾驶汽车的计算响应 )之间有什么区别?
- 在紧急情况下规划一辆汽车以某种方式反应,可被视为预谋杀人。你认为这是一个有效的论据吗?为什么,为什么不?
2 .引导学生想象他们被雇佣来帮助规划新的自动驾驶汽车的导航规则。问问他们可以考虑给汽车什么规则。然后将它们引入到活动《道德机器》中,这是公众参与和讨论人类视角对机器制造的道德决策的平台。当学生点击红色的‘开始判断’按钮时,将被赋予13个随机选择的情景进行评价和反应。在完成所有13个场景后,学生可以回顾他们的结果以及他们的反应如何与其他参与了模拟的人相比。作为一个班级讨论下列活动。
- 道德机器模拟是工程师培训人工智能机器人做出决策的一种方式-- --通过众包公众的决策并让人工智能相应行动。你认为那种决策方法的利弊是什么?如果人们以比其他人更多地对某些群体产生负面影响的方式做出反应,会发生什么?训练人工智能做出这些艰难决策的其他方法可能是什么?
- 如何让你感觉到人工智能可能正在做出这些决定,而不是人类?如果你发现拥有人工智能做出这些决策会带来更安全的道路和工作场所环境,那么这会改变你的看法?
7. 活动五:编程一个AI供电的机器人
活动五:编程一个AI供电的机器人
在这种高潮表现中,学生将成对或小团体工作,采用迭代设计过程,定义一个可以用AI驱动的机器人解决的问题。他们将开发一个小型的模拟解决方案与类机器人。
1 .告诉学生,他们将成对或小团体地工作,开发一个人工智能驱动的机器人解决方案来解决现实世界的问题。
2 .引导学生头脑风暴、研究、定义一个可能用AI驱动的机器人解决的问题。例如,养羊户可能想要替代使用羊狗放牧羊群,或者学生可能想要一种自动化的方式在上课时重新灌满自己的水瓶。理想情况下,学生应该在自己的家、学校或社区中识别出一个问题。
3 .让学生开发一种使用传感器进行感知的解决方案,并涉及一种用于导航的运动规划算法。例如,机器人羊狗可能会收集流浪羊群,或者机器人服务器可能会注意到您的水瓶是空的,并静静地重新装满它。
4 .利用类AI驱动的机器人,学生将开发一个小规模的仿真作为解决方案的原型,然后对其解决方案进行测试和迭代。作为原型的一部分,他们应该能够描述人工智能在解决方案中扮演什么角色。例如,如果您的学生使用的是Cozmo机器人:
- 一个机器人羊狗可以收集代表羊的块,并将它们全部带到代表羊笔的一个位置。人工智能将进行视觉识别,以识别特定区块是否是羊群,并进行运动规划,以绕过地图导航并避开障碍物。
- 机器人服务器可能会感知到一个代表水瓶的块在特定的一边被打开以传达它是空的,检索块,把它带到一个加注站,在那里执行一个运动,并返回块到它来自的地方。AI将执行视觉识别来识别满瓶和空瓶,以及运动规划来记忆瓶子的原始位置,导航到和从加油站,并避开障碍物。
5 .让学生展示他们的最终模拟,解释AI的问题、解决方案和角色。如果可能,邀请可能受到这些问题和解决方案影响的社区利益相关者观看演讲并提供反馈。
8. 活动六:反思
活动六:反思
在这个活动中,学生应该讨论以下问题来反思他们的学习,并考虑人工智能对机器人的社会影响:
- 你认为人工智能驱动的机器人在你的模拟中完成任务的影响,而不是人类(或狗)完成任务的影响
- 你的项目( 需要感知的信息或需要执行的任务 )中哪些部分是人工智能驱动的机器人容易完成的哪些部分是困难的?
- 如果使用人工智能驱动的机器人来解决您确定的问题或完成您模拟的任务,可能会出现哪些伦理困境?
9. 延伸
延伸
以下是三种方法来扩大学生对人工智能在机器人中的应用的探索:
- 如果这个项目激发了学生对人工智能驱动机器人能力的兴趣,让他们研究公司和组织目前在该技术上做什么。像《19家公司如何利用人工智能制造智能机器人》这样的文章将是一个很好的起点。要继续以已经学到的东西为基础,学生应该提出这样的研究问题:项目或技术的目的是什么?他在干什么?什么样的传感器参与了人工智能的感知?人工智能表现的是何种推理类型?人工智能项目或技术的伦理意蕴和社会影响是什么?
- 学生可以通过参加世界青年人工智能竞赛,将自己识别和解决人工智能机器人问题的能力提升到下一个层次;
- 还可以通过《课堂人工智能项目手册:中学教师指南》中发现的“人工智能规律”项目,延伸学生对使用人工智能机器人的伦理和社会影响的思考。