附件3《四足机器人开发与应用》教学大纲课程基本信息课程名称四足机器人开发与应用课程开课学院创新创业学院张鹏负责人学分/学时1/16理论实验课内学时1688其他学时学时适用专业计算机、电子、机械相关专业“中国软件杯”大学生软件设计大赛【A类】课程关联睿抗机器人开发者大赛(RAICOM)【B类】学科竞赛中国机器人及人工智能大赛【B类】本课程基于宇树Go2四足机器人平台展开教学,内容涵盖机器人多领域知识,通过理论与实践结合的方式,培养学生对四足机器人的开发与应用能力。该课程与多项学科竞赛紧密相连,成果斐然。课程负责人指导学生2024课程简介年在“中国软件杯”大学生软件设计大赛中四足机器人赛道获全国第四:睿抗机器人开发者大赛RAICOM四足机器人赛道,获全国一等奖2项、二等奖1项;在中国机器人及人工智能大赛四足机器人赛道,也取得全国一等奖2项的成绩。这些成绩充分体现了课程的教学实力,能有效帮助学生提升专业技能,开启机器人技术探索之路,为其在学术或工业领域的发展奠定基础。二、课程目标1.知识技能掌握四足机器人硬件架构,熟练运用编程语言实现其运动控制与编程开发,包括基本动作、步态规划及复杂动作序列。理解运动学和动力学知识,运用算法优化机器人运动性能:熟悉传感器数据处理与环境感知技术,实现自主导航和避障。了解人工智能算法并应用于机器人开发,提升其智能化与自适应能力。2.思维创新培养工程与系统思维,从整体解决机器人开发复杂问题:激发创新意识,拓展机器人功能与应用场景。培育批判性思维,客观分析技术成果,提出改进思路促进技术发展。3.实践协作
附件 3 一、课程基本信 《四足机器人开发与应用》教学大纲 息 课程名称 开课学 四足机器人开发与应用 院 创新创业学院 课程 负责人 张鹏 学分/学时 1/16 课内学时 16 理论 学时 8 实验 学时 8 其他 适用专业 计算机、电子、机械相关专业 课程关联 学科竞赛 “中国软件杯”大学生软件设计大赛【A 类】 睿抗机器人开发者大赛(RAICOM)【B 类】 中国机器人及人工智能大赛【B 类】 课程简介 本课程基于宇树 Go2 四足机器人平台展开教学,内容涵盖机器人多领 域知识,通过理论与实践结合的方式,培养学生对四足机器人的开发与应用 能力。 该课程与多项学科竞赛紧密相连,成果斐然。课程负责人指导学生 2024 年在 “中国软件杯”大学生软件设计大赛中四足机器人赛道获全国第四;睿抗 机器人开发者大赛 RAICOM 四足机器人赛道,获全国一等奖 2 项、二等奖 1 项;在中国机器人及人工智能大赛四足机器人赛道,也取得全国一等奖 2 项的成绩。这些成绩充分体现了课程的教学实力,能有效帮助学生提升专业 技能,开启机器人技术探索之路,为其在学术或工业领域的发展奠定基础。 二、课程目标 1. 知识技能 掌握四足机器人硬件架构,熟练运用编程语言实现其运动控制与编程开发,包括基本动 作、步态规划及复杂动作序列。 理解运动学和动力学知识,运用算法优化机器人运动性能;熟悉传感器数据处理与环境 感知技术,实现自主导航和避障。 了解人工智能算法并应用于机器人开发,提升其智能化与自适应能力。 2. 思维创新 培养工程与系统思维,从整体解决机器人开发复杂问题;激发创新意识,拓展机器人功 能与应用场景。 培育批判性思维,客观分析技术成果,提出改进思路促进技术发展。 3. 实践协作
积累实践经验,提高动手与实操能力,具备独立完成小型项目开发能力。强化团队协作精神与沟通能力,在项目中明确分工、协同工作;培养项目管理能力,确保项目高质量完成。4.职业发展把握行业前沿与趋势,为机器人领域职业发展打基础,胜任研发、科研、教学等岗位。培养自主学习能力与终身学习意识,适应职业发展需求与技术变革,具备持续发展潜力。三、实验内容与基本要求(一)实验项目一览实验实验每组序号学时备注实验项目名称类型要求人数14必做2综合性熟悉宇树Go2四足机器人平台22必做DDS通讯设计研究4342设计研究必做四足机器人高层状态读取42必做4高层控制四足机器人设计研究542设计研究必做四足机器人低层状态读取62设计研究必做4低层控制四足机器人742必做四足机器人图像处理设计研究284功能性实验设计研究必做填写说明:1.实验类型:演示性、验证性、综合性、设计研究、其它。2.实验要求:必做、选做。(二)实验内容及要求实验项目一熟悉宇树Go2四足机器人平台内容:1.引导学生下载并安装宇树官方提供的针对Go2四足机器人的APP,确保其能在相应的移动设备(如手机或平板电脑)上正常运行。2.介绍APP中图形化编程界面的各个组成部分,包括但不限于模块库(涵盖动作模块、运动控制模块、传感器模块、逻辑判断模块等)、编程工作区、机器人实时状态显示区以及运行控制按钮。要求:学生使用图形化编程模块构建简单的机器人行为程序,例如:让机器人前进特定步数后转弯,或者根据预设的时间间隔在原地做出不同的动作组合(如站立、奠下、挥手等)。要求学生至少完成3个不同的简单行为程序编写,并在实际机器人上进行运行测试,观察机
积累实践经验,提高动手与实操能力,具备独立完成小型项目开发能力。 强化团队协作精神与沟通能力,在项目中明确分工、协同工作;培养项目管理能力,确 保项目高质量完成。 4. 职业发展 把握行业前沿与趋势,为机器人领域职业发展打基础,胜任研发、科研、教学等岗位。 培养自主学习能力与终身学习意识,适应职业发展需求与技术变革,具备持续发展潜力。 三、实验内容与基本要求 (一)实验项目一览 序号 实验项目名称 学时 实验 类型 实验 要求 每组 人数 备注 1 熟悉宇树 Go2 四足机器人平台 2 综合性 必做 4 2 DDS 通讯 2 设计研究 必做 4 3 四足机器人高层状态读取 2 设计研究 必做 4 4 高层控制四足机器人 2 设计研究 必做 4 5 四足机器人低层状态读取 2 设计研究 必做 4 6 低层控制四足机器人 2 设计研究 必做 4 7 四足机器人图像处理 2 设计研究 必做 4 8 功能性实验 2 设计研究 必做 4 填写说明: 1.实验类型:演示性、验证性、综合性、设计研究、其它。 2.实验要求:必做、选做。 (二)实验内容及要求 实验项目一 熟悉宇树 Go2 四足机器人平台 内容: 1.引导学生下载并安装宇树官方提供的针对 Go2 四足机器人的 APP,确保其能在相应 的移动设备(如手机或平板电脑)上正常运行。 2.介绍 APP 中图形化编程界面的各个组成部分,包括但不限于模块库(涵盖动作模块、 运动控制模块、传感器模块、逻辑判断模块等)、编程工作区、机器人实时状态显示区以及 运行控制按钮。 要求: 学生使用图形化编程模块构建简单的机器人行为程序,例如:让机器人前进特定步数后 转弯,或者根据预设的时间间隔在原地做出不同的动作组合(如站立、蹲下、挥手等)。要 求学生至少完成 3 个不同的简单行为程序编写,并在实际机器人上进行运行测试,观察机
器人的执行效果,记录机器人在执行过程中的动作流畅性、准确性以及与预期行为的差异情况。实验项目二DDS通讯实验内容:1.深入讲解DDS(DataDistributionService)的基本概念、架构和在机器人领域的应用优势。2.详细分析unitree_sdk2_python中DDS通讯模块的实现原理和代码结构,包括数据传输机制、主题(Topic)定义、发布者(Publisher)与订阅者(Subscriber)的创建与使用方法。3.以实际的机器人数据传输场景为例,展示如何使用DDS实现机器人不同组件之间的高效、可靠数据交互,例如机器人传感器数据的发布与控制指令的订阅。要求:1.学生能够独立运行SDK中提供的DDS通讯示例程序,如publisher.py和subscriber.py,并清晰解释程序中数据的发送和接收过程。2.基于示例程序,学生需修改数据传输的内容和频率,例如自定义传输机器人的关节角度信息,并将数据传输频率从默认值调整为每100毫秒一次,通过终端输出验证修改效果。3.要求学生分析DDS通讯过程中的网络流量和延迟情况,使用相关工具(如Wireshark)进行监测,并撰写简单的分析报告,阐述如何优化DDS通讯性能。实验项目三四足机器人高层状态读取实验内容:1.介绍四足机器人高层状态的涵盖范围,包括机器人的位置、姿态、速度、关节角度、电池电量、运动模式等信息,以及这些状态信息在机器人控制和决策中的重要性。2.详细讲解如何通过unitreesdk2python与机器人建立连接,并使用相应的接口函数获取高层状态数据,深入剖析数据获取的流程和数据结构。3.结合实际案例,展示如何实时监测机器人的高层状态变化,并进行简单的数据可视化,如使用Python的matplotlib库绘制机器人的姿态随时间的变化曲线。要求:1.学生能够准确运行read_highstate.py程序,获取机器人的实时高层状态信息,并能够解释每个状态参数的含义和单位。2.对获取的高层状态数据进行初步的数据分析,例如计算机器人在一段时间内的平均移动速度和关节角度的变化范围,并将分析结果以图表形式呈现。3.要求学生在程序中添加异常处理机制,确保在网络连接中断或数据获取失败时,程序能够稳定运行并给出友好的错误提示信息。实验项目四高层控制四足机器人实验
器人的执行效果,记录机器人在执行过程中的动作流畅性、准确性以及与预期行为的差异情 况。 实验项目二 DDS 通讯实验 内容: 1.深入讲解 DDS(Data Distribution Service)的基本概念、架构和在机器人领域的 应用优势。 2.详细分析 unitree_sdk2_python 中 DDS 通讯模块的实现原理和代码结构,包括数据 传输机制、主题(Topic)定义、发布者(Publisher)与订阅者(Subscriber)的创建与使 用方法。 3.以实际的机器人数据传输场景为例,展示如何使用 DDS 实现机器人不同组件之间的 高效、可靠数据交互,例如机器人传感器数据的发布与控制指令的订阅。 要求: 1.学生能够独立运行 SDK 中提供的 DDS 通讯示例程序,如 publisher.py 和 subscriber.py,并清晰解释程序中数据的发送和接收过程。 2.基于示例程序,学生需修改数据传输的内容和频率,例如自定义传输机器人的关节角 度信息,并将数据传输频率从默认值调整为每 100 毫秒一次,通过终端输出验证修改效果。 3.要求学生分析 DDS 通讯过程中的网络流量和延迟情况,使用相关工具(如 Wireshark) 进行监测,并撰写简单的分析报告,阐述如何优化 DDS 通讯性能。 实验项目三 四足机器人高层状态读取实验 内容: 1.介绍四足机器人高层状态的涵盖范围,包括机器人的位置、姿态、速度、关节角度、 电池电量、运动模式等信息,以及这些状态信息在机器人控制和决策中的重要性。 2.详细讲解如何通过 unitree_sdk2_python 与机器人建立连接,并使用相应的接口函 数获取高层状态数据,深入剖析数据获取的流程和数据结构。 3.结合实际案例,展示如何实时监测机器人的高层状态变化,并进行简单的数据可视化, 如使用 Python 的 matplotlib 库绘制机器人的姿态随时间的变化曲线。 要求: 1.学生能够准确运行 read_highstate.py 程序,获取机器人的实时高层状态信息,并能够 解释每个状态参数的含义和单位。 2.对获取的高层状态数据进行初步的数据分析,例如计算机器人在一段时间内的平均移 动速度和关节角度的变化范围,并将分析结果以图表形式呈现。 3.要求学生在程序中添加异常处理机制,确保在网络连接中断或数据获取失败时,程序 能够稳定运行并给出友好的错误提示信息。 实验项目四 高层控制四足机器人实验
内容:1.讲解四足机器人高层控制的基本原理和方法,包括运动学模型、动力学模型以及常用的控制算法(如PID控制、轨迹规划等)在高层控制中的应用。2.深入介绍unitree_sdk2_python中提供的高层控制接口函数,如StandUpDownO、VelocityMoveO、BalanceAttitude,TrajectoryFollow()、SpecialMotionsO等,详细说明每个函数的参数含义、控制效果和适用场景。3.通过实际操作和演示,展示如何利用这些接口函数实现机器人的各种运动控制任务,如站立、趴下、直线行走、转弯、跳跃等,并分析不同控制方法下机器人的运动性能和稳定性。要求:1.学生能够熟练运用高层控制接口函数,实现机器人的至少三种不同的运动模式,如稳定的行走、精确的姿态调整和特定轨迹的跟踪,并通过实际观察和测量评估运动效果。2.针对一种运动控制任务(如直线行走),学生需要调整控制参数(如速度、加速度PID系数等),分析参数变化对运动性能的影响,并记录实验结果,总结出最优的参数设置范围。3.要求学生设计一个简单的高层控制应用场景,例如让机器人在一定区域内自主巡逻,并编写相应的控制代码实现该功能,同时撰写详细的设计文档,包括场景描述、控制策略、代码实现和实验结果分析。实验项目五四足机器人低层状态读取实验内容:1.阐述四足机器人低层状态的具体内容,包括电机的电流、温度、转速、转矩,以及各关节的位置、速度、加速度反馈信息,讲解这些低层状态数据对于机器人底层控制和故障诊断的重要性。2.详细讲解如何通过unitree_sdk2_python访问机器人的低层状态接口,获取相关数据,并分析数据的获取方式和数据格式。3.结合实际机器人硬件平台,介绍如何通过低层状态数据监测电机和关节的运行状态,及时发现潜在的故障隐患,并采取相应的措施进行预防和修复。要求:1.学生能够正确运行lowlevel_control.py程序,获取机器人右前腿hip关节的状态、IMU和电池电压等低层状态信息,并能够准确解读这些数据所反映的机器人运行状态。2.对低层状态数据进行实时监测和记录,绘制电机电流和转矩随时间的变化曲线,分析机器人在不同运动状态下(如静止、行走、爬坡等)低层状态的变化规律,并撰写实验报告。3.要求学生在程序中添加数据滤波功能,对获取的低层状态数据进行平滑处理,去除噪声干扰,提高数据的准确性和稳定性,并对比滤波前后的数据效果
内容: 1.讲解四足机器人高层控制的基本原理和方法,包括运动学模型、动力学模型以及常用 的控制算法(如 PID 控制、轨迹规划等)在高层控制中的应用。 2.深入介绍 unitree_sdk2_python 中提供的高层控制接口函数,如 StandUpDown()、 VelocityMove()、BalanceAttitude()、TrajectoryFollow()、SpecialMotions() 等,详细 说明每个函数的参数含义、控制效果和适用场景。 3.通过实际操作和演示,展示如何利用这些接口函数实现机器人的各种运动控制任务, 如站立、趴下、直线行走、转弯、跳跃等,并分析不同控制方法下机器人的运动性能和稳定 性。 要求: 1.学生能够熟练运用高层控制接口函数,实现机器人的至少三种不同的运动模式,如稳 定的行走、精确的姿态调整和特定轨迹的跟踪,并通过实际观察和测量评估运动效果。 2.针对一种运动控制任务(如直线行走),学生需要调整控制参数(如速度、加速度、 PID 系数等),分析参数变化对运动性能的影响,并记录实验结果,总结出最优的参数设置 范围。 3.要求学生设计一个简单的高层控制应用场景,例如让机器人在一定区域内自主巡逻, 并编写相应的控制代码实现该功能,同时撰写详细的设计文档,包括场景描述、控制策略、 代码实现和实验结果分析。 实验项目五 四足机器人低层状态读取实验 内容: 1.阐述四足机器人低层状态的具体内容,包括电机的电流、温度、转速、转矩,以及各 关节的位置、速度、加速度反馈信息,讲解这些低层状态数据对于机器人底层控制和故障诊 断的重要性。 2.详细讲解如何通过 unitree_sdk2_python 访问机器人的低层状态接口,获取相关数 据,并分析数据的获取方式和数据格式。 3.结合实际机器人硬件平台,介绍如何通过低层状态数据监测电机和关节的运行状态, 及时发现潜在的故障隐患,并采取相应的措施进行预防和修复。 要求: 1.学生能够正确运行 lowlevel_control.py 程序,获取机器人右前腿 hip 关节的状态、 IMU 和电池电压等低层状态信息,并能够准确解读这些数据所反映的机器人运行状态。 2.对低层状态数据进行实时监测和记录,绘制电机电流和转矩随时间的变化曲线,分析 机器人在不同运动状态下(如静止、行走、爬坡等)低层状态的变化规律,并撰写实验报告。 3.要求学生在程序中添加数据滤波功能,对获取的低层状态数据进行平滑处理,去除噪 声干扰,提高数据的准确性和稳定性,并对比滤波前后的数据效果
实验项目六低层控制四足机器人实验内容:1.深入讲解四足机器人低层控制的原理和方法,包括电机驱动原理、关节控制算法以及底层控制系统的架构和工作流程。2.详细介绍unitree_sdk2_python中提供的低层控制接口函数和数据结构,如电机转矩控制、速度控制、位置控制等接口的使用方法,以及如何通过这些接口实现对机器人关节的精确控制。3.通过实际案例和实验演示,展示如何利用低层控制接口实现机器人的基本动作控制,如单关节的运动控制、腿部的协调运动控制等,并分析低层控制在机器人运动性能和稳定性方面的作用和影响。要求:1.学生能够使用低层控制接口函数,实现对机器人左后腿hip关节和calf关节的精确控制,使其按照预定的轨迹和速度运动,并通过实际测量验证控制精度。2.设计并实现一个简单的低层控制应用,如让机器人的四条腿按照特定的步态顺序进行周期性运动,实现机器人的稳定爬行,并对爬行过程中的关节运动参数进行优化,提高爬行的效率和稳定性,记录实验过程和结果。3.要求学生在低层控制实验中,考虑机器人的动力学特性和物理限制,合理设置控制参数,避免出现电机过载、关节碰撞等异常情况,并在程序中添加相应的保护机制。实验项目七四足机器人图像处理实验内容:1.介绍图像处理的基本概念和方法,包括图像的采集、预处理、特征提取和目标识别等技术在四足机器人视觉应用中的重要性和应用场景。2.详细讲解如何使用unitree_sdk2_python与机器人的前置摄像头进行连接和数据获取,以及如何利用Python的图像处理库(如opencv-python)对获取的图像进行处理和分析。3.通过实际案例和实验演示,展示如何利用图像处理技术实现机器人的目标识别等功能,例如通过识别特定颜色的目标物体,引导机器人朝着目标移动。要求:1.学生能够在有图形界面的系统下正确运行camera_opencv.py程序,获取机器人前置摄像头的图像数据,并能够对图像进行简单的预处理操作,如灰度化、滤波、边缘检测等,展示处理后的图像效果。2.基于图像处理技术,实现一个简单的目标识别功能,例如让机器人能够识别图像中的圆形物体,并在图像上标记出物体的位置和轮廓,通过实际拍摄的图像进行测试和验证,记录目标识别的准确率和处理时间
实验项目六 低层控制四足机器人实验 内容: 1.深入讲解四足机器人低层控制的原理和方法,包括电机驱动原理、关节控制算法以及 底层控制系统的架构和工作流程。 2.详细介绍 unitree_sdk2_python 中提供的低层控制接口函数和数据结构,如电机转 矩控制、速度控制、位置控制等接口的使用方法,以及如何通过这些接口实现对机器人关节 的精确控制。 3.通过实际案例和实验演示,展示如何利用低层控制接口实现机器人的基本动作控制, 如单关节的运动控制、腿部的协调运动控制等,并分析低层控制在机器人运动性能和稳定性 方面的作用和影响。 要求: 1.学生能够使用低层控制接口函数,实现对机器人左后腿 hip 关节和 calf 关节的精确 控制,使其按照预定的轨迹和速度运动,并通过实际测量验证控制精度。 2.设计并实现一个简单的低层控制应用,如让机器人的四条腿按照特定的步态顺序进行 周期性运动,实现机器人的稳定爬行,并对爬行过程中的关节运动参数进行优化,提高爬行 的效率和稳定性,记录实验过程和结果。 3.要求学生在低层控制实验中,考虑机器人的动力学特性和物理限制,合理设置控制参 数,避免出现电机过载、关节碰撞等异常情况,并在程序中添加相应的保护机制。 实验项目七 四足机器人图像处理实验 内容: 1.介绍图像处理的基本概念和方法,包括图像的采集、预处理、特征提取和目标识别等 技术在四足机器人视觉应用中的重要性和应用场景。 2.详细讲解如何使用 unitree_sdk2_python 与机器人的前置摄像头进行连接和数据获 取,以及如何利用 Python 的图像处理库(如 opencv-python)对获取的图像进行处理和分 析。 3.通过实际案例和实验演示,展示如何利用图像处理技术实现机器人的目标识别等功能, 例如通过识别特定颜色的目标物体,引导机器人朝着目标移动。 要求: 1.学生能够在有图形界面的系统下正确运行 camera_opencv.py 程序,获取机器人前置 摄像头的图像数据,并能够对图像进行简单的预处理操作,如灰度化、滤波、边缘检测等, 展示处理后的图像效果。 2.基于图像处理技术,实现一个简单的目标识别功能,例如让机器人能够识别图像中的 圆形物体,并在图像上标记出物体的位置和轮廓,通过实际拍摄的图像进行测试和验证,记 录目标识别的准确率和处理时间