卡内基梅隆大学机器人研究所课程分享(www.ri.cmu.edu/education/courses/)
机器翻译如下:
目前已经开设和即将开设的机器人课程的完整和准确的时间表,更多大学相关课程,可以通过访问大学课程页面访问进行查询。本页面概述了机器人部门教授的课程。
所有带有“16-”前缀的课程均由机器人部门提供。其他提供机器人学教授课程的部门是计算机科学(CS),电气和计算机工程(ECE),机械工程(MechE),统计学(Stat),心理学(心理学),泰珀商学院(GSIA)和复杂工程系统研究所(ICES)。
在网站上查找已经注册的机器人16-xxx课程的基本流程如下:
16-623 高级计算机视觉应用程序
教授: Simon Lucey
课程描述:
计算机视觉是一种试图从图像和视频中提取信息的学科。地球上几乎每个智能设备都有一个摄像头,人们越来越关注如何开发使用计算机视觉的应用程序来执行不断扩展的事物列表,包括:3D映射,照片/图像搜索,人/物体跟踪,增强现实等。本课程面向熟悉计算机视觉的研究生,并希望了解更多有关智能设备和嵌入式系统中应用最先进的视觉方法的知识。强大的编程背景是必须的(至少对C / C ++有很好的了解),主题将包括使用传统的计算机视觉软件工具(OpenCV,MATLAB工具箱,VLFeat,CAFFE,Torch 7),使用移动视觉库(如GPUImage,Metal和快速数学库,如Armadillo和Eigen)在iOS设备上进行开发。为了保持一致性,所有应用程序开发都将在iOS中进行,并且预计参与该类的所有学生都可以访问运行OS X Mavericks或更高版本的基于Intel的MAC。虽然课程将集中在一个操作系统上,但从这个课程中获得的知识很容易推广到其他移动平台,如Android等。
课程主页
16-642 操作、估计和控制
教授: George A. Kantor
课程描述:
本课程概述了当前允许机器人进行定位并与世界互动的技术。机电系统的运动学和动力学将特别关注它们在机器人手臂上的应用。将讨论机器人控制的一些基本原理,从独立联合PID跟踪到耦合计算扭矩方法。机器人移动的实践和理论将通过各种移动机器人平台进行调查,包括轮式和履带式车辆以及腿式机器人。通过实际演示和实验作业,将提供课堂上一些主题的实践经验。请注意,本课程仅适用于MRSD学生。
预备要求:
16-650 机器人系统工程与管理
教授: 迪米特里奥斯(迪米)Apostolopoulos
课程描述:
实际上我们周围的一切都是一个系统 - 从口袋里的手机到天空中的国际太空系统。系统的复杂性越高,其创建者就越多地将正式流程应用于其在“系统工程”下统称的开发流程中受益。系统工程是一个正式的学科,指导产品从概念和设计到所有生产,营销,服务和处置的方式。在本课程中,我们将研究系统工程的基本要素,因为它们适用于机器人系统的开发。我们将涵盖需求分析,需求获取和形式化,系统架构开发,贸易研究,验证和验证等主题。此外,对于本课程,我们将涵盖项目管理的核心主题,必须与系统工程一起执行,以实现成功的项目和产品。对于项目管理,我们将涵盖工作分解结构,计划,估算和风险管理。我们将在项目管理中研究经典和敏捷方法。学生将在MRSD项目课程I和II中应用本课程的大部分内容,从而使他们有机会将理论付诸实践,进行真实的产品设计活动。请注意,本课程仅适用于MRSD学生。(过去的项目示例:http://mrsd.ri.cmu.edu/project-examples/)对于项目管理,我们将涵盖工作分解结构,计划,估算和风险管理。我们将在项目管理中研究经典和敏捷方法。学生将在MRSD项目课程I和II中应用本课程的大部分内容,从而使他们有机会将理论付诸实践,进行真实的产品设计活动。请注意,本课程仅适用于MRSD学生。(过去的项目示例:http://mrsd.ri.cmu.edu/project-examples/)对于项目管理,我们将涵盖工作分解结构,计划,估算和风险管理。我们将在项目管理中研究经典和敏捷方法。学生将在MRSD项目课程I和II中应用本课程的大部分内容,从而使他们有机会将理论付诸实践,进行真实的产品设计活动。请注意,本课程仅适用于MRSD学生。(过去的项目示例:http://mrsd.ri.cmu.edu/project-examples/)请注意,本课程仅适用于MRSD学生。(过去的项目示例:http://mrsd.ri.cmu.edu/project-examples/)请注意,本课程仅适用于MRSD学生。(过去的项目示例:http://mrsd.ri.cmu.edu/project-examples/)
课程主页
16-662 机器人自治
教授: Oliver Kroemer
课程描述:
机器人自主性深入研究了开发完全自治系统所需的感知,操纵,导航,规划和学习之间的相互作用。我们将专注于家庭,零售和医疗保健等应用领域,并确定共同的主题和关键瓶颈。我们将讨论最先进的算法,它们的计算和硬件要求以及它们的局限性。为了使您能够创建端到端系统,您将学习如何解决操作任务中的混乱和不确定性,在现实场景中开发强大的对象识别算法,在高维空间中规划机器人轨迹,构建高性能行为引擎级别任务,并学习应用和连接这些任务以创建自动机器人系统。
预备要求:
16-711 运动学,动态系统和控制
教授: Hartmut Geyer和Chris Atkeson
课程描述:
运动学,动态系统和控制是机器人技术的研究生水平入门。该课程涵盖了分析,建模和控制在物理世界中移动并操纵它的机器人机制的基本概念和方法。主要内容包括应用于刚体链的运动学,动力学和控制的运动学,动力学和控制的基础知识。其他主题包括状态估计和动态参数识别。
课程主页
16-720 计算机视觉
教授: Kris M. Kitani,Srinivasa G. Narasimhan,Simon Lucey,Deva Kannan Ramanan,Yaser Ajmal Sheikh,Abhinav Gupta和Martial Hebert
课程描述:
本课程介绍计算机视觉中使用的基本技术,即分析视觉图像中的模式,以重建和理解生成它们的对象和场景。涵盖的主题包括图像形成和表示,相机几何和校准,计算成像,多视图几何,立体,图像的3D重建,运动分析,基于物理的视觉,图像分割和对象识别。该材料基于研究生水平的文本,并酌情增加研究论文。评估基于家庭作业和最终项目。家庭作业涉及大量的Matlab编程练习。
课程主页
图书:
16-722 传感器和传感器
教授: Cameron Riviere和Mel Siegel
课程描述:
定量感知(传感)的原理和实践由实现它们的设备和算法(传感器)说明。学会批判性地检查机器人应用的传感要求,指定所需的传感器特性,分析这些规范是否可以原则上实现,比较原则上可以实现的内容与实际可以购买或构建的内容,以了解解决这些差异的工程因素,以及设计能够接近实现可用传感器实际能力的传感,数字化和计算系统。评分将基于家庭作业,课堂参与和期末考试。三到四个家庭作业将是一个动手实践的“带回家实验室”,用Arduino套件完成,学生将购买该套件代替购买教科书。顶级课程模块将涵盖(1)传感器,信号和测量科学,(2)噪声的起源,性质和改善,(3)端到端传感系统,(4)摄像机和其他成像传感器和系统,(5)距离感应和成像,(6)导航传感器和系统,(7)班级感兴趣的其他主题(如时间允许)。
课程主页
16-725 医学图像分析
教授: John Galeotti
课程描述:
学生将获得2D,3D和4D生物医学图像分析的理论和实践技能,包括与一般图像分析相关的技能。将探索计算医学图像分析的基础,导致目前的研究将几何和统计应用于分割,配准,可视化和图像理解。附加和相关的主题包括去噪/恢复,形态,水平集和形状/特征分析。学生将使用最新版本的国家医学图书馆洞察工具包(ITK)和SimpleITK开发实践经验,SimpleITK是由卡内基梅隆大学和匹兹堡大学等机构联盟开发的流行开源软件库。除了图像分析,该课程将包括与放射科医师和病理学家的互动。***讲座在CMU,学生将访问UPMC的临床医生。部分或全部课堂讲座也可以录像用于公开发布,但学生可以要求将其排除在分发视频之外。16-725是一个研究生班,16-425是一个交叉上市的本科部分。16-425大大减少了对最终项目和大型家庭作业的要求,也不需要影响临床医生。和16-425是一个交叉上市的本科部分。16-425大大减少了对最终项目和大型家庭作业的要求,也不需要影响临床医生。和16-425是一个交叉上市的本科部分。16-425大大减少了对最终项目和大型家庭作业的要求,也不需要影响临床医生。
课程主页
预备要求:
16-741 操纵力学
教授: Matthew T. Mason
课程描述:
机器人操纵器与任务交互的运动学,静力学和动力学,侧重于运动约束,重力和摩擦力的智能使用。基于力学的自动规划。从制造和其他领域提取的应用示例。
课程主页
16-745 动态优化
教授: 克里斯阿特克森
课程描述:
本课程将介绍优化(尤其是最佳控制)在设计行为中的应用。我们将探索表示策略的方法,包括手工设计的参数函数,基函数,表格和轨迹库。我们还将探索用于创建策略的算法,包括参数优化和轨迹优化(一阶和二阶梯度方法,顺序二次规划,随机搜索方法,进化算法等)。我们将讨论如何处理用于创建策略的模型与实际受控系统之间的差异(评估和稳健性问题)。该课程将结合讲座,学生提供的材料和项目。本课程的目标是帮助参与者找到解决问题的最有效方法。
课程主页
16-761 移动机器人简介
教授: Alonzo Kelly
课程描述:
本课程从理论和实践的角度涵盖移动机器人系统设计和编程的所有方面。介绍了控制,定位,映射,感知和规划的基本子系统。对于每一个,讨论将包括应用数学的相关方法。系统和环境行为模型构建所必需的物理方面,以及在各种情况下都被证明有价值的核心算法。
课程主页
16-778 机电设计
教授: John M. Dolan
课程描述:
机电一体化是机械,电子和计算机控制的协同集成,以实现功能系统。本课程是一个为期一学期的多学科顶点硬件项目设计经验,其中小型(通常是四人)电气和计算机工程,机械工程和机器人学生团队提供最终集成系统的最终演示,能够执行机电一体化任务。在整个学期中,学生们在实验室设备和子系统中进行设计,配置,实施,测试和评估,最终形成最终的集成机电一体化系统。讲座将通过比较调查,操作原理以及与机制,微控制器等相关的集成设计问题来补充实验室经验。电子,传感器和控制组件。交叉上市课程:18-578,24-778
课程主页
16-782 机器人规划与决策
教授: Maxim Likhachev
课程描述:
规划和决策是机器人系统自治的关键组成部分。这些组件负责制定从路径规划和运动规划到覆盖和任务规划的各种决策,以及采取有助于机器人更好地了解周围世界的行动。本课程研究用于机器人规划和决策的基础算法技术,并研究地面和空中机器人,人形机器人,移动操纵平台和多机器人系统的案例研究。学生将学习算法并在一系列基于编程的项目中实施。
16-785 机器人技术的综合智能:语言,愿景和规划
教授: Jean Hyaejin哦
课程描述:
本课程涵盖了为机器人系统构建认知智能的主题。认知能力构成了具有推理或解决问题能力的高级人类智能。诸如语义感知,语言理解和任务规划之类的功能可以构建在低级别机器人自治之上,从而实现对物理平台的自主控制。这些主题通常跨越多个技术领域,例如,视觉语言交叉和语言 - 行动/计划基础。本课程由50个讲座和50个研讨班组成。
课程主页
预备要求:
16-791 应用数据科学
教授: Artur W. Dubrawski
课程描述:
本课程在实用应用的背景下探索快速发展的数据科学领域。Applied Data Science致力于实现三个主要目标。首先是优化人力资源管理者决策的效率。第二是最大限度地利用现有数据,这样就不会错过任何重要线索。第三是提高对数据及其产生的基础过程的理解。本课程旨在培养在实践中系统地实现这些目标所需的技能。学生将获得并巩固对最流行的当代数据科学方法的认识,并培养在应用场景中评估所研究主题的实际效用所需的直觉。
16-811 机器人数学基础
教授: Michael Erdmann
课程描述:
本课程涵盖了机器人学中应用数学的选定主题,取自以下列表:1。线性方程组的解。2.多项式插值和逼近。3.非线性方程的解。4.多项式的根,结论。5.通过正交函数的近似(包括傅里叶级数)。6.常微分方程的积分。7.优化。8.变化微积分(适用于力学)。9.概率和随机过程(马尔可夫链)。10.计算几何。11.微分几何。
课程主页
16-822 计算机视觉中基于几何的方法
教授: Martial Hebert
课程描述:
该课程侧重于计算机视觉的几何方面:图像形成的几何形状及其用于3D重建和校准的用途。本课程的目的是介绍开发多视图重建算法所需的正式工具和结果。基本工具引入了研究仿射和投影几何,这对于图像形成模型的发展至关重要。在课程开始时还引入了其他代数工具,例如外部代数。然后,这些工具用于开发单个视图(相机模型),两个视图(基本矩阵)和三个视图(三焦张量)的几何图像形成的正式模型; 多幅图像的三维重建; 和自动校准。
预备要求:
图书:
涵盖的主题:
16-823 基于物理学的视觉方法
教授: Srinivasa G. Narasimhan
课程描述:
我们每天都会观察到一系列非常明亮的光线和色彩现象,包括大气的炫目效果,表面和材料的复杂外观以及水下场景。长期以来,艺术家,科学家和摄影师都对这些影响着迷,并将注意力集中在捕捉和理解这些现象上。在本课程中,我们采用计算方法对这些现象进行建模和分析,我们统称这些现象为“视觉外观”。课程的前半部分侧重于视觉外观的物理基础,而课程的后半部分则侧重于计算机视觉,图形和遥感等各种领域的算法和应用,以及水下和航空成像等技术。本课程统一了物理科学中常见的概念及其在成像科学中的应用,并将包括该领域的最新研究进展。该课程还将包括摄影比赛。
课程主页
预备要求:
16-824 视觉中基于学习的方法
教授: Abhinav Gupta和Martial Hebert
课程描述:
计算机视觉研究生研讨会课程,重点是大量数据(图像,视频和相关标签,文本,gps位置等)的表示和推理,以实现图像理解的最终目标。我们将阅读关于主题的经典和近期论文的折衷混合,包括:感知理论,中级视觉(分组,分割,Poselets),对象和场景识别,3D场景理解,动作识别,上下文推理,图像分析,联合语言和视觉模型等。我们将针对上述每个主题涵盖范围广泛的监督,半监督和无监督方法。
课程主页
预备要求:
16-831 机器人统计技术
教授: David Held,Kris M. Kitani,Michael Kaess和J. Andrew(Drew)Bagnell
课程描述:
数据驱动的学习技术现在是构建设计用于在现实世界中运行的机器人系统的重要部分。这些系统必须学会适应环境的变化,从经验中学习,并从示范中学习。我们将特别介绍机器学习应用于机器人系统的三个重要子领域:(1)我们将介绍在线学习,它可以用来使机器人系统适应不断变化的环境条件。(2)我们将介绍强化学习,其中考虑了探索和开发之间的权衡,以学习如何与环境互动。我们还将介绍真实世界机器人系统中的深度强化学习技术。(3)我们将涵盖学徒学习(模仿学习和反向强化学习),这对于教授机器人系统从专家行为中学习至关重要。先修课程:线性代数,多元微积分,概率论。
16-833 机器人定位和映射
教授: Michael Kaess
课程描述:
机器人定位和映射是在现实世界中运行的移动机器人的基本功能。比这些个别问题更具挑战性的是它们的组合:同步定位和映射(SLAM)。需要稳健且可扩展的解决方案,以处理传感器测量中固有的不确定性,同时实时提供定位和地图估计。我们将在线性代数和概率图形模型的交叉点探索合适的有效概率推理算法。我们还将探索最先进的系统。
课程主页
涵盖的主题:
16-843 操纵算法
教授: Katharina Muelling
课程描述:
这是一个关于理论和算法的高级研究生课程,使机器人可以自己或与人合作,实际操纵他们的世界。该课程将首先关注操作的功能方面,例如为灵巧的手和这些空间中的运动规划合成稳健和稳定的掌握,以及学习操作,例如如何从演示和经验预测稳定的掌握。展望未来,我们将讨论与人们协同执行操作任务所产生的其他要求:从运动的纯粹功能方面转变为将人类纳入循环,以及通过理解和表达意图来协调人类和机器人的行为。
课程主页
16-848 指针:灵巧操作的设计和控制
教授: 南希波拉德
课程描述:
在过去十年中,与手相关的研究急剧增加。双手是计算机图形学和虚拟现实的焦点,新的机器人手已经大量涌现,并且在DARPA机器人挑战赛等广泛宣传的项目中已经出现了操纵。掌握了所有这些注意力,我们是否接近灵巧的突破,或者我们是否仍然缺少真正称职的操作所需的一些东西?在本课程中,我们将调查机器人手并了解人手,目标是推动手头设计和控制灵巧操作的边界。我们将考虑灵活性所需的运动学和动力学,进行灵巧相互作用需要哪些传感器,反射和顺应性的重要性以及不确定性的挑战。我们将研究人手:它的结构,感知能力,人类掌握选择以及灵感和基准测试的控制策略。学生将被要求提交一篇或两篇研究论文,参与讨论和简短的研究或设计练习,并进行最终的项目。
课程主页
16-861 移动机器人开发
教授: William(红色)L。Whittaker
课程描述:
本课程研究机器人的移动性,能量学,传感,计算,软件,有效载荷,接口和操作环境。背景是机器人对月球的追求。范围包括机械,电子,软件,运动,导航,通信,传感,电源和散热考虑因素。此外,空间系统还解决了低质量,能量,空间环境和设计可靠性的挑战。媒体被纳入编年史并代表成就。该课程适合广泛的学生学科和兴趣。课程学习目标包括制定,解决问题,机器人和开发空间系统。学生团队合作,提供指导,通过书面和口头报告制作与任务相关的结果并练习技术交流。团队制作学期论文,详细说明设计,开发,测试和经验教训。
课程主页
16-865 高级移动机器人开发
教授: William(红色)L。Whittaker
课程描述:
本课程将开发CMU将在月球上驾驶的机器人,以获得Lunar XPrize,同时指导支流技术和创作过程。该课程还将通过展示流动站的飞行准备情况,从谷歌的月球里程碑奖中获得第一笔现金。本课程涉及的支流技术包括机制,驱动,热调节,功率,传感,计算,通信和操作。流程包括机器人开发和功能,可靠性和飞行准备情况的验证。相关技能包括机器人,机械,电子,软件,制造,测试,文档和系统工程。该课程适合广泛的兴趣和经验。
16-868 生物力学和电机控制
教授: Hartmut Geyer
课程描述:
该课程介绍了腿部运动的机制和控制,重点是人体系统。涵盖的主要议题包括基本概念,肌肉骨骼力学和神经控制。强调了机器人和康复设备中的生物灵感的例子。在课程结束时,您将掌握基本知识,建立自己动态的动物和人类运动的控制模型。该课程同时开发材料,并介绍了Matlab的Simulink和SimMechanics环境,用于建模非线性动态系统。作业和团队项目将让您在理论和计算机模拟中将您的知识应用于动物和人体运动的问题。
课程主页
16-223 IDeATe:物理计算简介
教授: Garth Zeglin
课程描述:
物理计算是指物理系统的设计和构建,它使用软件和硬件的混合来感知和响应周围的世界。此类系统将数字和物理过程融入玩具和小工具,动力雕塑,功能感应和评估工具,移动仪器,交互式可穿戴设备等。这是一个基于项目的课程,涉及使用物理计算构思,设计和开发项目的所有方面:应用程序,工件,计算机辅助设计环境和物理原型设施。该课程围绕一系列实践动手练习进行组织,其中介绍了电路,嵌入式编程,传感器信号处理,简单机制,动作和基于时间的行为的基本原理。关键目标是直观地了解信息和能量如何在物理,电子和计算域之间移动以创建所需的行为。这些练习为协作项目提供了基础,这些项目利用基本技能,并挑战学生不仅要考虑如何制作东西,还要考虑我们设计的对象,以及为什么制作是值得的。本课程是IDeATe门户课程,用于进入IDeATe智能环境或物理计算程序。CFA / DC / TPR学生可以在16-223岁之间注册; CIT / MCS / SCS学生可以报名参加60-223版本的课程。请注意,本课程将包含实验室使用和材料费用。和计算域来创建所需的行为。这些练习为协作项目提供了基础,这些项目利用基本技能,并挑战学生不仅要考虑如何制作东西,还要考虑我们设计的对象,以及为什么制作是值得的。本课程是IDeATe门户课程,用于进入IDeATe智能环境或物理计算程序。CFA / DC / TPR学生可以在16-223岁之间注册; CIT / MCS / SCS学生可以报名参加60-223版本的课程。请注意,本课程将包含实验室使用和材料费用。和计算域来创建所需的行为。这些练习为协作项目提供了基础,这些项目利用基本技能,并挑战学生不仅要考虑如何制作东西,还要考虑我们设计的对象,以及为什么制作是值得的。本课程是IDeATe门户课程,用于进入IDeATe智能环境或物理计算程序。CFA / DC / TPR学生可以在16-223岁之间注册; CIT / MCS / SCS学生可以报名参加60-223版本的课程。请注意,本课程将包含实验室使用和材料费用。但也为我们设计的对象,以及为什么制作是值得的。本课程是IDeATe门户课程,用于进入IDeATe智能环境或物理计算程序。CFA / DC / TPR学生可以在16-223岁之间注册; CIT / MCS / SCS学生可以报名参加60-223版本的课程。请注意,本课程将包含实验室使用和材料费用。但也为我们设计的对象,以及为什么制作是值得的。本课程是IDeATe门户课程,用于进入IDeATe智能环境或物理计算程序。CFA / DC / TPR学生可以在16-223岁之间注册; CIT / MCS / SCS学生可以报名参加60-223版本的课程。请注意,本课程将包含实验室使用和材料费用。
16-264 人型生物
教授: 克里斯阿特克森
课程描述:
本课程调查人类,类人机器人和人形图形角色的感知,认知和运动。应用领域包括更像人类的机器人,视频游戏角色和交互式电影角色。
课程主页
16-311 机器人简介
教授: Howie Choset
课程描述:
本课程概述了实践和研究中的机器人技术,主题包括视觉,运动规划,移动机制,运动学,反向运动学和传感器。在课程项目中,学生构建由微控制器驱动的机器人,每个项目都强化了讲座中开发的基本原则。学生名义上以三人一组的形式工作:电气工程师,机械工程师和计算机科学家。本课程还将向学生介绍机器人技术的一些当代事件,其中包括当前机器人实验室研究,应用,机器人竞赛和新闻机器人。
课程主页
16-350 机器人规划技术
教授: Maxim Likhachev
课程描述:
规划是使机器人自主的核心组件之一。机器人规划负责实时决定机器人接下来应该做什么,如何做,机器人在哪里移动以及如何移动到那里。本课程深入研究了机器人中的流行规划技术,并研究了它们在地面和空中机器人,人形机器人,移动操纵平台和多机器人系统中的应用。学生们学习这些方法的理论,并在一系列基于编程的项目中实现它们。要上课,学生应该参加机器人入门课程,并对编程和数据结构有很好的了解。
课程主页
预备要求:
16-362 移动机器人编程实验室
教授: Alonzo Kelly
课程描述:
本课程全面介绍了使移动机器人可靠有效运行所需的概念和基本算法。我们将与小型机器人合作,这些小型机器人可通过笔记本电脑进行无线控制。机器人是定制设计的迷你叉车,可以像现在的商用自动导引车一样将托盘从一个地方移动到另一个地方。机器人在现代MATLAB编程环境中编程。它是一种非常容易学习的语言,也是一种非常强大的语言机器人算法原型。除了一些理论,你将在这门课程中获得很多经验。讲座主要关注下一个实验的内容。每周都有一个实验室,它们相互依赖,从而形成一个完整的机器人软件系统。本课程将以全班级机器人比赛结束,该比赛将测试本学期实施的所有代码的性能。为了在课程中取得成功,学生必须具备1)科学/工程水平的数学背景(矩阵,向量,坐标系)和2)已经掌握了至少一种过程式编程语言,如C或Java,以及3 )有足够的经验,有合理的准备在13周内在一两个人的帮助下编写5000行软件系统。课程结束后,您将编写一个软件系统,该系统已逐步扩展功能并在整个学期定期调试。为了在课程中取得成功,学生必须具备1)科学/工程水平的数学背景(矩阵,向量,坐标系)和2)已经掌握了至少一种过程式编程语言,如C或Java,以及3 )有足够的经验,有合理的准备在13周内在一两个人的帮助下编写5000行软件系统。课程结束后,您将编写一个软件系统,该系统已逐步扩展功能并在整个学期定期调试。为了在课程中取得成功,学生必须具备1)科学/工程水平的数学背景(矩阵,向量,坐标系)和2)已经掌握了至少一种过程式编程语言,如C或Java,以及3 )有足够的经验,有合理的准备在13周内在一两个人的帮助下编写5000行软件系统。课程结束后,您将编写一个软件系统,该系统已逐步扩展功能并在整个学期定期调试。3)有足够的经验,有合理的准备,在一个或两个人的帮助下,在13周内编写5000线软件系统。课程结束后,您将编写一个软件系统,该系统已逐步扩展功能并在整个学期定期调试。3)有足够的经验,有合理的准备,在一个或两个人的帮助下,在13周内编写5000线软件系统。课程结束后,您将编写一个软件系统,该系统已逐步扩展功能并在整个学期定期调试。
课程主页
16-374 IDeATe:机器人特效的艺术
教授: Garth Zeglin和Suzie Silver
课程描述:
灵感来自George Melies的早期技巧电影,这个以项目为导向的课程将机器人技术和电影制作技术融合在一起,为电影注入现场魔力的奇迹。学生将学习使用电子动画,相机运动控制和合成的电影制作的基础知识。这些项目运用这些技术为短片创造创新的物理效果,从概念到后期制作。该课程强调实时实践效果,以探索即兴和排练的即时性和互动性。机器人主题包括电子动画快速原型设计和编程人机协作性能。该课程包括特殊效果和机器人技术历史的简要概述,以便在上下文中设置工作。交叉上市课程:60428
课程主页
16-375 IDeATe:创意实践机器人
教授: Garth Zeglin
课程描述:
[IDeATe合作课程]。这个以项目为导向的课程将艺术和工程结合在一起,制造出惊人的动画机器。学生将通过几个小项目来重复他们的概念,这些项目专注于使用体现行为作为讲故事,表演和人际互动的创造性媒介。学生将学习设计,构建和编程简单机器人系统的技能,然后通过展览和表演探索他们的成果。技术主题包括系统思考,动态物理和计算行为,自治,嵌入式编程以及制造和部署。讨论主题包括当代动力学雕塑和机器人研究。请注意,本课程可能会产生使用/材料费用。交叉上课课程:
预备要求:
16-384 机器人运动学和动力学
教授: Howie Choset和George A. Kantor
课程描述:
机器人运动学的基础和原理。主题包括变换,正向运动学,反向运动学,差分运动学(雅可比行列式),可操纵性和基本运动方程。课程还包括机器人手臂编程。
涵盖的主题:
16-385 计算机视觉
教授: Ioannis Gkioulekas和Kris M. Kitani
课程描述:
本课程全面介绍计算机视觉。主要议题包括图像处理,检测和识别,基于几何和基于物理的视觉,传感和感知以及视频分析。学生将学习计算机视觉的基本概念以及实践经验,以解决现实生活中的视力问题。
课程主页
16-423 设计计算机视觉应用程序
教授: Simon Lucey
课程描述:
教授:Simon Lucey学期:秋季和春季课程描述:计算机视觉是一门试图从图像和视频中提取信息的学科。地球上几乎每个智能设备都有一个摄像头,人们越来越关注如何开发使用计算机视觉的应用程序来执行不断扩展的事物列表,包括:3D映射,照片/图像搜索,人/物体跟踪,增强现实本课程面向不熟悉计算机视觉但希望快速掌握最新环境,软件工具和开发计算机视觉应用程序最佳实践的学生。虽然必须具备强大的编程背景(至少熟悉C / C ++),但不需要先前的计算机视觉或机器学习知识。主题将包括使用传统的计算机视觉软件工具(OpenCV,MATLAB工具箱,VLFeat,CAFFE),以及使用移动视觉库(如GPUImage)和快速数学库(如Armadillo和Eigen)在iOS设备上进行开发。为了保持一致性,所有应用程序开发都将在iOS中进行,并且预计参与该类的所有学生都可以访问运行OS X Mavericks或更高版本的基于Intel的MAC。虽然课程将集中在一个操作系统上,但从本课程中获得的知识旨在推广到其他移动平台,如Android等。为了保持一致性,所有应用程序开发都将在iOS中进行,并且预计参与该类的所有学生都可以访问运行OS X Mavericks或更高版本的基于Intel的MAC。虽然课程将集中在一个操作系统上,但从本课程中获得的知识旨在推广到其他移动平台,如Android等。为了保持一致性,所有应用程序开发都将在iOS中进行,并且预计参与该类的所有学生都可以访问运行OS X Mavericks或更高版本的基于Intel的MAC。虽然课程将集中在一个操作系统上,但从本课程中获得的知识旨在推广到其他移动平台,如Android等。
课程主页
16-450 机器人系统工程
教授: David Wettergreen
课程描述:
系统工程检查指定,设计,分析和测试复杂系统的方法。在本课程中,介绍了系统工程的原理和过程,并将其应用于机器人设备的开发。重点是设计用于执行复杂行为的机器人系统。这样的系统嵌入计算元件,集成传感器和致动器,以可靠和稳健的方式操作,并且需要从概念到生产的严格工程。课程的组织是通过概念化,规范,设计和原型设计的系统工程过程,同时考虑验证和验证。完成本课程的学生将通过其竞争设计和初始原型设计机器人系统。
16-455 IDeATe:人机的虚拟性
教授: Garth Zeglin和Joshua Bard
课程描述:
[IDeATe]人类灵巧的技能体现了丰富的物理理解,补充了基于计算机的设计和机器制造。这个面向项目的课程通过创新设计和制造系统的实际开发探索了手与机器之间的二元性。这些系统将物理工具的表现力和直觉与数字领域的可扩展性和精确性相结合。学生将开发新颖的混合设计和生产工作流程,结合模拟和数字流程,以支持他们所选项目的设计和制造。涵盖的具体技能包括3D扫描,3D建模(CAD),3D打印(增材制造),基于计算机的传感和人机交互设计。感兴趣的领域包括建筑,艺术和产品设计。
课程主页
预备要求:
16-467 人机交互
教授: Henny Admoni
课程描述:
人机交互领域(HRI)正迅速成为机器人研究的重要领域。基本目标是在人与机器人之间创造自然而有效的互动。HRI是高度跨学科的,汇集了机器人技术,人工智能,人机交互,心理学,教育和其他领域的方法和技术。本课程主要以讲座为基础,包括课堂参与式小型项目,家庭作业,一个小组学期项目,使学生能够将理论付诸实践,并进行最后的决定。所涉及的主题将包括支持人机交互的技术,人与机器人之间的交互心理,如何设计和开展HRI研究,以及辅助机器人等现实应用。
课程主页
16-474 Robotics Capstone
教授: Cameron Riviere和Dimitrios(Dimi)Apostolopoulos
课程描述:
在本课程中,学生将完善设计,构建,集成,测试和演示他们在先修系统工程课程(16-450)中设计的机器人的性能。希望学生继续应用系统工程的流程和方法来跟踪需求,评估备选方案,优化网络物理架构,规划和设计测试,验证设计并验证系统性能。此外,学生还学习并应用项目管理技术来管理项目的技术范围,进度,预算和风险。该课程包括讲座,课堂会议,评论和最终演示。讲座涵盖项目管理的核心主题和系统工程专题。在课堂会议期间,学生和教师审查项目进展并讨论技术和项目执行方面的挑战。大约在学期前三个月结束时有三个主要评论。对于每次审核,学生都会进行演示并提交系统设计和开发文档的更新版本。该课程最后在学期结束时进行系统性能验证演示。除此之外,学生还为更广泛的机器人社区举办了机器人系统的特别演示。学生们进行演示并提交系统设计和开发文档的更新版本。该课程最后在学期结束时进行系统性能验证演示。除此之外,学生还为更广泛的机器人社区举办了机器人系统的特别演示。学生们进行演示并提交系统设计和开发文档的更新版本。该课程最后在学期结束时进行系统性能验证演示。除此之外,学生还为更广泛的机器人社区举办了机器人系统的特别演示。
16299 反馈控制系统简介
教授: 内森迈克尔
课程描述:
本课程是计算机科学专业反馈控制系统的第一门课程。课程主题包括经典线性控制理论(微分方程,拉普拉斯变换,反馈控制),线性状态空间方法(可控性/可观测性,极点配置,LQR),非线性系统理论以及使用计算机学习技术进行控制的介绍。计算机科学专业将优先考虑机器人技术。
课程主页
预备要求:
原文如下:
GRADUATE COURSES
16-623 Advanced Computer Vision Apps
Professor: Simon Lucey
Course Description:
Computer vision is a discipline that attempts to extract information from images and videos. Nearly every smart device on the planet has a camera, and people are increasingly interested in how to develop apps that use computer vision to perform an ever expanding list of things including: 3D mapping, photo/image search, people/object tracking, augmented reality etc. This course is intended for graduate students who are familiar with computer vision, and are keen to learn more about the applying state of the art vision methods on smart devices and embedded systems. A strong programming background is a must (at a minimum good knowledge of C/C++), topics will include using conventional computer vision software tools (OpenCV, MATLAB toolboxes, VLFeat, CAFFE, Torch 7), and development on iOS devices using mobile vision libraries such as GPUImage, Metal and fast math libraries like Armadillo and Eigen. For consistency, all app development will be in iOS and it is expected that all students participating in the class have access to an Intel-based MAC running OS X Mavericks or later. Although the coursework will be focused on a single operating system, the knowledge gained from this class will easily generalize to other mobile platforms such as Android etc.
Course Homepage
16-642 Manipulation, Estimation, and Control
Professor: George A. Kantor
Course Description:
This course provides an overview of the current techniques that allow robots to locomote and interact with the world. The kinematics and dynamics of electromechanical systems will be covered with a particular focus on their application to robotic arms. Some basic principles of robot control will be discussed, ranging from independent- joint PID tracking to coupled computed torque approaches. The practice and theory of robotic mobility will be investigated through various mobile robot platforms, including wheeled and tracked vehicle and legged robots. Hands-on experience with some of the topics in the class will be provided through practical demonstrations and lab assignments. Please note that this course is for MRSD students only.
Prerequisites:
16-650 Systems Engineering & Management for Robotics
Professor: Dimitrios (Dimi) Apostolopoulos
Course Description:
Practically everything around us is a system-from the cell phone in your pocket to the International Space System up in the sky. The higher the complexity of the system, the more its creators benefit from applying formal processes to its development-processes that are collectively known under the umbrella “systems engineering.” Systems Engineering is a formal discipline that guides a product from conception and design all the way to production, marketing, servicing, and disposal. In this course we will study the fundamental elements of systems engineering as they apply to the development of robotic systems. We will cover topics such as needs analysis, requirements elicitation and formalization, system architecture development, trade studies, verification and validation, etc. In addition, for this course we will cover core topics of Project Management that must be performed in tandem with Systems Engineering to achieve a successful project and product. For the Project Management we will cover work breakdown structures, scheduling, estimation, and risk management. We will study both classical and agile methods in project management. The students will apply most of the elements of this course in the MRSD Project Course I and II, thus giving them the opportunity to put the theory in practice in a real product design activity. Please note that this course is for MRSD students only. (Past project examples: http://mrsd.ri.cmu.edu/project-examples/)
Course Homepage
16-662 Robot Autonomy
Professor: Oliver Kroemer
Course Description:
Robot autonomy delves into the interplay between perception, manipulation, navigation, planning, and learning required to develop fully autonomous systems. We will focus on application domains like the home, retail, and healthcare and identify common themes and key bottlenecks. We will discuss the state of the art algorithms, their computational and hardware requirements, and their limitations. To enable you to create end-to-end systems, you will learn how to address clutter and uncertainty in manipulation tasks, develop robust object recognition algorithms in real-world scenes, plan robot trajectories in high-dimensional spaces, build behavior engines for high-level tasks, and learn to apply and connect those to create an autonomous robot system. The course emphasizes the implementation of the algorithms discussed in class in simulation through homework assignments as well as on real systems in a class project.
Prerequisites:
16-711 Kinematics, Dynamic Systems and Control
Professor: Hartmut Geyer and Chris Atkeson
Course Description:
Kinematics, Dynamic Systems, and Control is a graduate level introduction to robotics. The course covers fundamental concepts and methods to analyze, model and control robotic mechanisms which move in the physical world and manipulate it. Main topics include the fundamentals of kinematics, dynamics and control applied to the kinematics, dynamics and control of rigid body chains. Additional topics include state estimation and dynamic parameter identification.
Course Homepage
16-720 Computer Vision
Professor: Kris M. Kitani, Srinivasa G. Narasimhan, Simon Lucey, Deva Kannan Ramanan, Yaser Ajmal Sheikh, Abhinav Gupta and Martial Hebert
Course Description:
This course introduces the fundamental techniques used in computer vision, that is, the analysis of patterns in visual images to reconstruct and understand the objects and scenes that generated them. Topics covered include image formation and representation, camera geometry, and calibration, computational imaging, multi-view geometry, stereo, 3D reconstruction from images, motion analysis, physics-based vision, image segmentation and object recognition. The material is based on graduate-level texts augmented with research papers, as appropriate. Evaluation is based on homeworks and a final project. The homeworks involve considerable Matlab programming exercises.
Course Homepage
Books:
16-722 Sensing & Sensors
Professor: Cameron Riviere and Mel Siegel
Course Description:
The principles and practices of quantitative perception (sensing) illustrated by the devices and algorithms (sensors) that implement them. Learn to critically examine the sensing requirements of robotics applications, to specify the required sensor characteristics, to analyze whether these specifications can be realized even in principle, to compare what can be realized in principle to what can actually be purchased or built, to understand the engineering factors that account for the discrepancies, and to design transducing, digitizing, and computing systems that come tolerably close to realizing the actual capabilities of available sensors. Grading will be based on homework assignments, class participation, and a final exam. Three or four of the homework assignments will be hands-on “take-home labs” done with an Arduino kit that students will purchase in lieu of purchasing a textbook. Top-level course modules will cover (1) sensors, signals, and measurement science, (2) origins, nature, and amelioration of noise, (3) end-to-end sensing systems, (4) cameras and other imaging sensors and systems, (5) range sensing and imaging, (6) navigation sensors and systems, (7) other topics of interest to the class (as time allows).
Course Homepage
16-725 Medical Image Analysis
Professor: John Galeotti
Course Description:
Students will gain theoretical and practical skills in 2D, 3D, and 4D biomedical image analysis, including skills relevant to general image analysis. The fundamentals of computational medical image analysis will be explored, leading to current research in applying geometry and statistics to segmentation, registration, visualization, and image understanding. Additional and related covered topics include de-noising/restoration, morphology, level sets, and shape/feature analysis. Students will develop practical experience through projects using the latest version of the National Library of Medicine Insight Toolkit ( ITK ) and SimpleITK, a popular open-source software library developed by a consortium of institutions including Carnegie Mellon University and the University of Pittsburgh. In addition to image analysis, the course will include interaction with radiologists and pathologist(s). *** Lectures are at CMU and students will visit clinicians at UPMC. Some or all of the class lectures may also be videoed for public distribution, but students may request to be excluded from distributed video. 16-725 is a graduate class, and 16-425 is a cross-listed undergraduate section. 16-425 has substantially reduced requirements for the final project and for the larger homework assignments, nor does it require shadowing the clinicians.
Course Homepage
Prerequisites:
16-741 Mechanics of Manipulation
Professor: Matthew T. Mason
Course Description:
Kinematics, statics, and dynamics of robotic manipulator’s interaction with a task, focusing on intelligent use of kinematic constraint, gravity, and frictional forces. Automatic planning based on mechanics. Application examples drawn from manufacturing and other domains.
Course Homepage
16-745 Dynamic Optimization
Professor: Chris Atkeson
Course Description:
This course surveys the use of optimization (especially optimal control) to design behavior. We will explore ways to represent policies including hand-designed parametric functions, basis functions, tables, and trajectory libraries. We will also explore algorithms to create policies including parameter optimization and trajectory optimization (first and second order gradient methods, sequential quadratic programming, random search methods, evolutionary algorithms, etc.). We will discuss how to handle the discrepancy between models used to create policies and the actual system being controlled (evaluation and robustness issues). The course will combine lectures, student-presented material, and projects. The goal of this course will be to help participants find the most effective methods for their problems.
Course Homepage
16-761 Introduction to Mobile Robots
Professor: Alonzo Kelly
Course Description:
This course covers all aspects of mobile robot systems design and programming from both a theoretical and a practical perspective. The basic subsystems of control, localization, mapping, perception, and planning are presented. For each, the discussion will include relevant methods from applied mathematics. aspects of physics necessary in the construction of models of system and environmental behavior, and core algorithms which have proven to be valuable in a wide range of circumstances.
Course Homepage
16-778 Mechatronic Design
Professor: John M. Dolan
Course Description:
Mechatronics is the synergistic integration of mechanism, electronics, and computer control to achieve a functional system. This course is a semester-long multidisciplinary capstone hardware project design experience in which small (typically four-person) teams of electrical and computer engineering, mechanical engineering and robotics students deliver an end-of-course demonstration of a final integrated system capable of performing a mechatronic task. Throughout the semester, the students design, configure, implement, test and evaluate in the laboratory devices and subsystems culminating in the final integrated mechatronic system. Lectures will complement the laboratory experience with comparative surveys, operational principles, and integrated design issues associated with the spectrum of mechanism, microcontroller, electronic, sensor, and control components. CROSS-LISTED COURSES: 18-578, 24-778
Course Homepage
16-782 Planning and Decision-making in Robotics
Professor: Maxim Likhachev
Course Description:
Planning and Decision-making are critical components of autonomy in robotic systems. These components are responsible for making decisions that range from path planning and motion planning to coverage and task planning to taking actions that help robots understand the world around them better. This course studies underlying algorithmic techniques used for planning and decision-making in robotics and examines case studies in ground and aerial robots, humanoids, mobile manipulation platforms and multi-robot systems. The students will learn the algorithms and implement them in a series of programming-based projects.
16-785 Integrated intelligence in robotics: language, vision and planning
Professor: Jean Hyaejin Oh
Course Description:
This course covers the topics on building cognitive intelligence for robotic systems. Cognitive capabilities constitute high-level, humanlike intelligence that exhibits reasoning or problem solving skills. Such capabilities as semantic perception, language understanding, and task planning can be built on top of low-level robot autonomy that enables autonomous control of physical platforms. The topics generally bridge across multiple technical areas, for example, vision-language intersection and language-action/plan grounding. This course is composed of 50 lectures and 50 seminar classes.
Course Homepage
Prerequisites:
16-791 Applied Data Science
Professor: Artur W. Dubrawski
Course Description:
This course explores the rapidly developing field of data science in the context of its pragmatic applications. Applied Data Science strives to achieve three main goals. The first is to optimize the efficacy of decision making by human managers. The second is to maximize the utilization of available data, so that no important clue is ever missed. The third is to improve understanding of data and the underlying processes that produce it. This course aims at building skills required to systematically achieve those goals in practice. The students will gain and solidify awareness of the most prevalent contemporary methods of Data Science, and develop intuition needed for assessing practical utility of the studied topics in application scenarios. They will be able to learn how to formulate analytic tasks in support of project objectives, how to define successful analytic projects, and how to evaluate utility of existing and potential applications of the discussed technologies in practice.
16-811 Math Fundamentals for Robotics
Professor: Michael Erdmann
Course Description:
This course covers selected topics in applied mathematics useful in robotics, taken from the following list: 1. Solution of Linear Equations. 2. Polynomial Interpolation and Approximation. 3. Solution of Nonlinear Equations. 4. Roots of Polynomials, Resultants. 5. Approximation by Orthogonal Functions (includes Fourier series). 6. Integration of Ordinary Differential Equations. 7. Optimization. 8. Calculus of Variations (with applications to Mechanics). 9. Probability and Stochastic Processes (Markov chains). 10. Computational Geometry. 11. Differential Geometry.
Course Homepage
16-822 Geometry Based Methods in Computer Vision
Professor: Martial Hebert
Course Description:
The course focuses on the geometric aspects of computer vision: The geometry of image formation and its use for 3D reconstruction and calibration. The objective of the course is to introduce the formal tools and results that are necessary for developing multi-view reconstruction algorithms. The fundamental tools introduced study affine and projective geometry, which are essential to the development of image formation models. Additional algebraic tools, such as exterior algebras are also introduced at the beginning of the course. These tools are then used to develop formal models of geometric image formation for a single view (camera model), two views (fundamental matrix), and three views (trifocal tensor); 3D reconstruction from multiple images; and auto-calibration.
Prerequisites:
Books:
Topics Covered:
16-823 Physics Based Methods in Vision
Professor: Srinivasa G. Narasimhan
Course Description:
Everyday we observe an extraordinary array of light and color phenomena around us, ranging from the dazzling effects of the atmosphere, the complex appearances of surfaces and materials and underwater scenarios. For a long time, artists, scientists and photographers have been fascinated by these effects, and have focused their attention on capturing and understanding these phenomena. In this course, we take a computational approach to modeling and analyzing these phenomena, which we collectively call as “visual appearance”. The first half of the course focuses on the physical fundamentals of visual appearance, while the second half of the course focuses on algorithms and applications in a variety of fields such as computer vision, graphics and remote sensing and technologies such as underwater and aerial imaging. This course unifies concepts usually learnt in physical sciences and their application in imaging sciences, and will include the latest research advances in this area. The course will also include a photography competition.
Course Homepage
Prerequisites:
16-824 Learning-based Methods in Vision
Professor: Abhinav Gupta and Martial Hebert
Course Description:
A graduate seminar course in Computer Vision with emphasis on representation and reasoning for large amounts of data (images, videos and associated tags, text, gps-locations etc) toward the ultimate goal of Image Understanding. We will be reading an eclectic mix of classic and recent papers on topics including: Theories of Perception, Mid-level Vision (Grouping, Segmentation, Poselets), Object and Scene Recognition, 3D Scene Understanding, Action Recognition, Contextual Reasoning, Image Parsing, Joint Language and Vision Models, etc. We will be covering a wide range of supervised, semi-supervised and unsupervised approaches for each of the topics above.
Course Homepage
Prerequisites:
16-831 Statistical Techniques in Robotics
Professor: David Held, Kris M. Kitani, Michael Kaess and J. Andrew (Drew) Bagnell
Course Description:
Data-driven learning techniques are now an essential part of building robotic systems designed to operate in the real world. These systems must learn to adapt to changes in the environment, learn from experience, and learn from demonstration. In particular we will cover three important sub-fields of Machine Learning applied to robotic systems: (1) We will cover Online Learning, which can be used to give robotic systems the ability to adapt to changing environmental conditions. (2) We will cover Reinforcement Learning, which takes into account the tradeoffs between exploration and exploitation to learn how to interact with the environment. We will also cover Deep Reinforcement Learning techniques in the context of real-world robotic systems. (3) We will cover Apprenticeship Learning (Imitation Learning and Inverse Reinforcement Learning) which is critical for teaching robotic systems to learn from expert behavior. Prerequisites: Linear Algebra, Multivariate Calculus, Probability theory.
16-833 Robot Localization & Mapping
Professor: Michael Kaess
Course Description:
Robot localization and mapping are fundamental capabilities for mobile robots operating in the real world. Even more challenging than these individual problems is their combination: simultaneous localization and mapping (SLAM). Robust and scalable solutions are needed that can handle the uncertainty inherent in sensor measurements, while providing localization and map estimates in real-time. We will explore suitable efficient probabilistic inference algorithms at the intersection of linear algebra and probabilistic graphical models. We will also explore state-of-the-art systems.
Course Homepage
Topics Covered:
16-843 Manipulation Algorithms
Professor: Katharina Muelling
Course Description:
This is an advanced graduate-level class on the theory and algorithms that enable robots to physically manipulate their world, on their own or in collaboration with people. The class will first focus on functional aspects of manipulation, such as synthesizing robust and stable grasps for dexterous hands and motion planning in these spaces, as well as learning for manipulation, such as how to predict stable grasps from demonstration and experience. Moving forward, we will discuss additional requirements that arise from performing manipulation tasks collaboratively with people: moving from purely functional aspects of motion to incorporating the human into the loop, and coordinating human and robot actions via understanding and expressing intent.
Course Homepage
16-848 Hands: Design and Control for Dexterous Manipulation
Professor: Nancy Pollard
Course Description:
Research related to hands has increased dramatically over the past decade. Hands are in focus in computer graphics and virtual reality, new robot hands have been popping up in great variety, and manipulation has been featured in widely publicized programs such as the DARPA Robotics Challenge. With all of this attention on hands, are we close to a breakthrough in dexterity, or are we still missing some things needed for truly competent manipulation? In this course, we will survey robotic hands and learn about the human hand with the goal of pushing the frontiers on hand design and control for dexterous manipulation. We will consider the necessary kinematics and dynamics for dexterity, what sensors are required to carry out dexterous interactions, the importance of reflexes and compliance, and the challenge of uncertainty. We will examine the human hand: its structure, sensing capabilities, human grasp choice and control strategies for inspiration and benchmarking. Students will be asked to present one or two research papers, participate in discussions and short research or design exercises, and carry out a final project.
Course Homepage
16-861 Mobile Robot Development
Professor: William (Red) L. Whittaker
Course Description:
This course investigates robot mobility, energetics, sensing, computing, software, payload, interface, and operating environment. The context is robotic pursuit of the Moon. Scope incorporates mechanism, electronics, software, locomotion, navigation, communication, sensing, power and thermal considerations. Additionally, space systems address challenges of low mass, energetics, space environment, and reliability of design. Media is incorporated to chronicle and represent the accomplishments. The course is appropriate for a broad range of student disciplines and interests. Course Learning Objectives include formulation, problem solving, robotics and developing space systems . Students work cooperatively in teams with guidance to produce mission-relevant results and practice technical communications through written and oral presentations. Teams generate term papers detailing the design, development, testing and lessons learned.
Course Homepage
16-865 Advanced Mobile Robot Development
Professor: William (Red) L. Whittaker
Course Description:
This course will develop the robot that CMU will drive on the moon to win the Lunar XPrize while mentoring the tributary technologies and creative process. The course will also claim the first cash from Google’s Lunar Milestone Prize by demonstrating flight readiness of the rover. The tributary technologies addressed in this course include mechanisms, actuation, thermal regulation, power, sensing, computing, communication, and operations. Process includes robot development and verification of functionality, reliability, and flight readiness. Relevant skills include robotics, mechanics, electronics, software, fabrication, testing, documentation, and systems engineering. The course is appropriate for a broad range of interests and experience.
16-868 Biomechanics and Motor Control
Professor: Hartmut Geyer
Course Description:
The course provides an introduction into the mechanics and control of legged locomotion with a focus on the human system. The main topics covered include fundamental concepts, muscle-skeleton mechanics, and neural control. Examples of bio-inspiration in robots and rehabilitation devices are highlighted. By the end of the course, you will have the basic knowledge to build your own dynamic an control models of animal and human motions. The course develops the material in parallel with an introduction into Matlab’s Simulink and SimMechanics environments for modeling nonlinear dynamic systems. Assignments and team projects will let you apply your knowledge to problems of animal and human motion in theory and computer simulations.
Course Homepage
UNDERGRADUATE COURSES
16-223 IDeATe: Introduction to Physical Computing
Professor: Garth Zeglin
Course Description:
Physical computing refers to the design and construction of physical systems that use a mix of software and hardware to sense and respond to the surrounding world. Such systems blend digital and physical processes into toys and gadgets, kinetic sculpture, functional sensing and assessment tools, mobile instruments, interactive wearables, and more. This is a project-based course that deals with all aspects of conceiving, designing and developing projects with physical computing: the application, the artifact, the computer-aided design environment, and the physical prototyping facilities. The course is organized around a series of practical hands-on exercises which introduce the fundamentals of circuits, embedded programming, sensor signal processing, simple mechanisms, actuation, and time-based behavior. The key objective is gaining an intuitive understanding of how information and energy move between the physical, electronic, and computational domains to create a desired behavior. The exercises provide building blocks for collaborative projects which utilize the essential skills and challenge students to not only consider how to make things, but also for whom we design, and why the making is worthwhile. This course is an IDeATe Portal Course for entry into either of the IDeATe Intelligent Environments or Physical Computing programs. CFA/DC/TPR students can enroll under 16-223; CIT/MCS/SCS students can enroll in the 60-223 version of the course. Please note that there will be lab usage and materials fees associated with this course.
16-264 Humanoids
Professor: Chris Atkeson
Course Description:
This course surveys perception, cognition, and movement in humans, humanoid robots, and humanoid graphical characters. Application areas include more human-like robots, video game characters, and interactive movie characters.
Course Homepage
16-311 Introduction to Robotics
Professor: Howie Choset
Course Description:
This course presents an overview of robotics in practice and research with topics including vision, motion planning, mobile mechanisms, kinematics, inverse kinematics, and sensors. In course projects, students construct robots which are driven by a microcontroller, with each project reinforcing the basic principles developed in lectures. Students nominally work in teams of three: an electrical engineer, a mechanical engineer, and a computer scientist. This course will also expose students to some of the contemporary happenings in robotics, which includes current robot lab research, applications, robot contests and robots in the news.
Course Homepage
16-350 Planning Techniques for Robots
Professor: Maxim Likhachev
Course Description:
Planning is one of the core components that enable robots to be autonomous. Robot planning is responsible for deciding in real-time what should the robot do next, how to do it, where should the robot move next and how to move there. This class does an in-depth study of popular planning techniques in robotics and examines their use in ground and aerial robots, humanoids, mobile manipulation platforms and multi-robot systems. The students learn the theory of these methods and also implement them in a series of programming-based projects. To take the class students should have taken an Intro to Robotics class and have a good knowledge of programming and data structures.
Course Homepage
Prerequisites:
16-362 Mobile Robot Programming Laboratory
Professor: Alonzo Kelly
Course Description:
This course is a comprehensive hands-on introduction to the concepts and basic algorithms needed to make a mobile robot function reliably and effectively. We will work in small groups with small robots that are controlled over wireless from your laptop computers. The robots are custom-designed mini forktrucks that can move pallets from place to place just like commercial automated guided vehicles do today. The robots are programmed in the modern MATLAB programming environment. It is a pretty easy language to learn, and a very powerful one for prototyping robotics algorithms. You will get a lot of experience in this course in addition to some theory. Lectures are focused on the content of the next lab. There is a lab every week and they build on each other so that a complete robot software system results. The course will culminate with a class-wide robot competition that tests the performance of all of your code implemented in the semester. In order to succeed in the course, students must have a 1) 2nd year science/engineering level background in mathematics (matrices, vectors, coordinate systems) and 2) have already mastered at least one procedural programming language like C or Java, and 3) have enough experience to be reasonably prepared to write a 5000 line software system in 13 weeks with the help of one or two others. When the course is over, you will have written a single software system that has been incrementally extended in functionality and regularly debugged throughout the semester.
Course Homepage
16-374 IDeATe: Art of Robotic Special Effects
Professor: Garth Zeglin and Suzie Silver
Course Description:
Inspired by the early trick films of George Melies, this project-oriented course brings together robotics and film production technique to infuse cinema with the wonder of live magic. Students will learn the basics of film production using animatronics, camera motion control, and compositing. The projects apply these techniques to create innovative physical effects for short films, all the way from concept to post-production. The course emphasizes real-time practical effects to explore the immediacy and interactivity of improvisation and rehearsal. The robotics topics include animatronic rapid prototyping and programming human-robot collaborative performance. The course includes a brief overview of the history of special effects and robotics to set the work in context. CROSS-LISTED COURSE: 60428
Course Homepage
16-375 IDeATe: Robotics for Creative Practice
Professor: Garth Zeglin
Course Description:
[IDeATe collaborative course]. This project-oriented course brings art and engineering together into making machines which are surprisingly animate. Students will iterate their concepts through several small projects focused on using embodied behavior as a creative medium for storytelling, performance, and human interaction. Students will learn skills for designing, constructing and programming simple robot systems, then exploring their results through exhibition and performance. Technical topics include systems thinking, dynamic physical and computational behavior, autonomy, embedded programming, and fabrication and deployment. Discussion topics include both contemporary kinetic sculpture and robotics research. Please note that there may be usage/materials fees associated with this course. CROSS-LISTED COURSES: 54375
Prerequisites:
16-384 Robot Kinematics and Dynamics
Professor: Howie Choset and George A. Kantor
Course Description:
Foundations and principles of robotic kinematics. Topics include transformations, forward kinematics, inverse kinematics, differential kinematics (Jacobians), manipulability, and basic equations of motion. Course also include programming on robot arms.
Topics Covered:
16-385 Computer Vision
Professor: Ioannis Gkioulekas and Kris M. Kitani
Course Description:
This course provides a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, geometry-based and physics-based vision, sensing and perception, and video analysis. Students will learn basic concepts of computer vision as well as hands on experience to solve real-life vision problems.
Course Homepage
16-423 Designing Computer Vision Apps
Professor: Simon Lucey
Course Description:
Professor: Simon Lucey Semester: Fall and Spring Course Description: Computer vision is a discipline that attempts to extract information from images and videos. Nearly every smart device on the planet has a camera, and people are increasingly interested in how to develop apps that use computer vision to perform an ever expanding list of things including: 3D mapping, photo/image search, people/object tracking, augmented reality etc. This course is intended for students who are not familiar with computer vision, but want to come up to speed rapidly with the latest in environments, software tools and best practices for developing computer vision apps. No prior knowledge of computer vision or machine learning is required although a strong programming background is a must (at a minimum good knowledge of C/C++). Topics will include using conventional computer vision software tools (OpenCV, MATLAB toolboxes, VLFeat, CAFFE), and development on iOS devices using mobile vision libraries such as GPUImage and fast math libraries like Armadillo and Eigen. For consistency, all app development will be in iOS and it is expected that all students participating in the class have access to an Intel-based MAC running OS X Mavericks or later. Although the coursework will be focussed on a single operating system, the knowledge gained from this class is intended to generalize to other mobile platforms such as Android etc.
Course Homepage
16-450 Robotics Systems Engineering
Professor: David Wettergreen
Course Description:
Systems engineering examines methods of specifying, designing, analyzing and testing complex systems. In this course, principles and processes of systems engineering are introduced and applied to the development of robotic devices. The focus is on robotic system engineered to perform complex behavior. Such systems embed computing elements, integrate sensors and actuators, operate in a reliable and robust fashion, and demand rigorous engineering from conception through production. The course is organized as a progression through the systems engineering process of conceptualization, specification, design, and prototyping with consideration of verification and validation. Students completing this course will engineer a robotic system through its compete design and initial prototype. The project concept and teams can continue into the Spring-semester (16-474 Robotics Capstone) for system refinement, testing and demonstration.
16-455 IDeATe: Human-Machine Virtuosity
Professor: Garth Zeglin and Joshua Bard
Course Description:
[IDeATe course] Human dexterous skill embodies a wealth of physical understanding which complements computer-based design and machine fabrication. This project-oriented course explores the duality between hand and machine through the practical development of innovative design and fabrication systems. These systems fluidly combine the expressivity and intuition of physical tools with the scalability and precision of the digital realm. Students will develop novel hybrid design and production workflows combining analog and digital processes to support the design and fabrication of their chosen projects. Specific skills covered include 3D scanning, 3D modeling (CAD), 3D printing (additive manufacturing), computer based sensing, and human-robot interaction design. Areas of interest include architecture, art, and product design. CROSS-LISTED COURSE: 48530
Course Homepage
Prerequisites:
16-467 Human Robot Interaction
Professor: Henny Admoni
Course Description:
The field of human-robot interaction (HRI) is fast becoming a significant area of research in robotics. The basic objective is to create natural and effective interactions between people and robots. HRI is highly interdisciplinary, bringing together methodologies and techniques from robotics, artificial intelligence, human-computer interaction, psychology, education, and other fields. This course is primarily lecture-based, with in-class participatory mini-projects, homework assignments, a group term project that will enable students to put theory to practice, and a final. The topics covered will include technologies that enable human-robot interactions, the psychology of interaction between people and robots, how to design and conduct HRI studies, and real-world applications such as assistive robots. This course has no prerequisites, but some basic familiarity with robots is recommended (programming knowledge is not necessary, but is useful for the term project).
Course Homepage
16-474 Robotics Capstone
Professor: Cameron Riviere and Dimitrios (Dimi) Apostolopoulos
Course Description:
In this course students refine the design, build, integrate, test, and demonstrate the performance of the robot they designed in the pre-requisite Systems Engineering Course (16-450). The students are expected to continue to apply the process and methods of Systems Engineering to track requirements, evaluate alternatives, refine the cyberphysical architectures, plan and devise tests, verify the design, and validate system performance. In addition, the students learn and apply Project Management techniques to manage the technical scope, schedule, budget, and risks of their project. The course consists of lectures, class meetings, reviews, and a final demonstration. Lectures cover core topics in Project Management and special topics in Systems Engineering. During class meetings the students and instructor review progress on the project and discuss technical and project-execution challenges. There are three major reviews approximately at the end of each of the first three months of the semester. For each review, the students give a presentation and submit an updated version of the System Design and Development Document. The course culminates in a System Performance Validation Demonstration at the end of the semester. In addition to that the students hold a special demonstration of their robotic system for the broader Robotics community.
16299 Introduction to Feedback Control Systems
Professor: Nathan Michael
Course Description:
This course is designed as a first course in feedback control systems for computer science majors. Course topics include classical linear control theory (differential equations, Laplace transforms, feedback control), linear state-space methods (controllability/observability, pole placement, LQR), nonlinear systems theory, and an introduction to control using computer learning techniques. Priorities will be given to computer science majors with robotics minor.
Course Homepage
Prerequisites: