服务机器人应用开发(中级) 课件 项目10 让机器人跟踪抱球_第1页
服务机器人应用开发(中级) 课件 项目10 让机器人跟踪抱球_第2页
服务机器人应用开发(中级) 课件 项目10 让机器人跟踪抱球_第3页
服务机器人应用开发(中级) 课件 项目10 让机器人跟踪抱球_第4页
服务机器人应用开发(中级) 课件 项目10 让机器人跟踪抱球_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

让机器人跟踪抱球项目10CONTENT目录项目导入01项目任务02学习目标03知识链接04项目准备05任务实施06任务评价07任务拓展08项目小结09项目导入01现实生活中,机器人通过捕捉对象运动,进而做出正确的自主反应,这是机器人的一种常用功能,例如商场自动跟随的购物车机器人,室外自动跟随的散步跟随机器人等。体育赛事实时播报机器人也有如图的应用。项目导入14CONTENT目录项目导入01项目任务02学习目标03知识链接04项目准备05任务实施06任务评价07任务拓展08项目小结09项目任务02项目任务17在距离机器人1m,与机器人摄像头相同水平高度的位置,放一个直径10cm的红色小球,低速移动红色小球。机器人端完成以下具体功能点:机器人自动对目标物体红色小球进行实时跟踪识别,且使用绿色圆形框,将识别到的小球轮廓圈起来同时机器人自行进行距离判断,实时判断离目标物体红色小球的距离和方位再然后对红色小球进行跟踪移动,直到靠近目标物体红色小球,将红色小球抱起,即为完成跟踪抱球动作期间按‘q’,可以退出此应用程序,中止跟踪抱球的任务CONTENT目录项目导入01项目任务02学习目标03知识链接04项目准备05任务实施06任务评价07任务拓展08项目小结09学习目标03知识目标职业素养目标技能目标知识目标、技能目标、职业素养目标10学习目标3(1)理解YanAPI的基础知识(2)理解全局变量和局部变量的区别(3)理解多线程协同的原理(4)理解机器人摄像头预处理和获取图像的基本知识(5)理解机器人动作执行类的各个动作的执行原理(6)理解机器人跟踪目标物体的原理和运行机制知识目标:(1)能调用YanAPI的函数(2)能设计多线程程序(3)能通过机器人摄像头,获取视频帧,并保存图像(4)能对目标物体实现机器人追踪,并执行机器人动作指令技能目标:(1)培养严谨、细致、规范的职业素质(2)培养团队协作、表达沟通能力(3)培养跟踪新技术、创新设计能力(4)培养技术标准意识、操作规范意识、服务质量意识等职业素养目标:CONTENT目录项目导入01项目任务02学习目标03知识链接04项目准备05任务实施06任务评价07任务拓展08项目小结09知识链接04目标跟踪技术机器人跟踪抱球方案设计认识多线程知识链接

目标跟踪技术413运动目标的跟踪是在一段系列图像中的每幅图像中,实时地找到感兴趣的运动目标,目前广泛应用于体育赛事转播、安防监控、无人机、无人车、机器人等领域。目标跟踪中,常用的目标特性表达主要包括:视觉特征统计特征变化系数特征代数特征目标识别常用来确定某画面或视频中包含什么物体、各个物体在什么位置、各个物体的轨迹。因此常用于监控。人机交互和虚拟现实的场景。

知识链接

目标跟踪技术414场景1:人员检测知识链接

目标跟踪技术场景2:车辆跟踪识别415目标跟踪依据是否依赖于先验知识,可以分为两种类别:不依赖于先验知识的目标跟踪依赖于目标的先验知识本项目属于第2类,依赖于红色小球的先验知识知识链接

目标跟踪技术416目标跟踪算法简介1、不依赖先验知识的目标跟踪算法,其首先要解决的问题是从序列图像中将变化运动区域从背景图像中提取出来知识链接

目标跟踪技术417目标跟踪算法简介2、依赖先验知识的目标跟踪算法,分为四种:基于主动轮廓的跟踪;基于特征的跟踪;基于区域的跟踪;基于模型的跟踪。本项目是第二种。知识链接

目标跟踪技术418知识链接认识多线程419线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程可以并发多个线程,每条线程并行或并发执行不同任务。多线程是指从软件或者硬件上实现多个线程并发或并行执行的技术。具有多线程能力的计算机因为有硬件支持,而能够在同一时间执行多于一个线程,进而提升整体处理性能。在一个程序中,这些独立运行的程序片段即单线程,利用它编程的概念就叫多线程处理。当处理一个消耗大的任务,如果让主线程执行,它会等到动作完成,才完成后面的代码,主线程“忙碌”,用户界面会完全“卡死”。多线程将原本线程的任务分开成若干子任务同时执行,防治线程“堵塞”,增强用户体验和程序效率。知识链接认识多线程420多线程编程提供机制,以便更有效地使用这些多个计算核和改进的并发性。并发:并发是指同一时间片段同时执行。并行:同一时间点同时执行。单线程和多线程实例。对项目任务需求进行梳理分析,在智能人形教育机器人的主控制板上运行应用程序完成跟踪抱球功能,输出整个项目总体框架设计流程图如图所示:知识链接机器人跟踪抱球方案设计421知识链接

机器人跟踪抱球方案设计422主函数的设计:本项目需要对图像进行大量计算,CPU切换频繁,在视频处理线程识别到小球之后,又需要对其结果进行跟踪处理,具有强相关性,所以此处采用多线程策略。主函数主要实现创建和运行两个线程:视频处理线程;跟踪处理线程知识链接

机器人跟踪抱球方案设计423视频处理线程及相关函数的设计,需要实现4个功能:图像预处理和

轮廓提取处理圈出并显示小球退出

获取一帧图像知识链接

机器人跟踪抱球方案设计424跟踪处理线程及相关函数的设计,需要实现2个功能:求解跟踪动作指令执行动作指令CONTENT目录项目导入01项目任务02知识链接04项目准备05学习目标03任务评价07任务拓展08项目小结09任务实施06项目准备05项目准备527Yanshee,硬件版本1.0以上一个无线键鼠一台HDMI显示器一根HDMI数据连接线一个红色小球,直径10cmYanshee软件系统,版本V2.3.0以上计算机安装了python3.9.2的32位版本,且安装了opencv-python4.5.3以上的版本CONTENT目录项目导入01项目任务02知识链接04任务实施06学习目标03任务评价07任务拓展08项目小结09项目准备05任务实施06创建和编写程序复制相关文件到机器人端运行程序让机器人跟踪抱球任务实施创建和编写程序630在PC端,创建整个项目程序的源代码文件,命名为hold_ball.py。接着打开Python自带的IDE环境,或PyCharm等软件,编写实现机器人综合场景的程序。任务实施创建和编写程序631编写主函数相关代码,主要分为:导入相关库定义主函数任务实施创建和编写程序632编写视频处理线程相关代码,主要分为6步:1、导入视频处理线程相关库2、初始化视频处理线程的相关变量3、初始化线程间交互的全局变量任务实施创建和编写程序633编写视频处理线程相关代码,主要分为6步:4、定义视频处理线程函数5、定义识别小球函数任务实施创建和编写程序634编写视频处理线程相关代码,主要分为6步:6、定义圈出并显示小球的函数任务实施创建和编写程序635编写跟踪处理线程相关代码,主要分为6步:1、导入跟踪处理线程相关库2、初始化跟踪处理线程相关变量3、定义跟踪处理线程函数4、定义求解跟踪动作指令函数任务实施创建和编写程序636任务实施创建和编写程序637编写跟踪处理线程相关代码,主要分为6步:5、定义动作执行类6、定义注册回调函数任务实施复制相关文件到机器人端638编写完程序后,用scp命令,将源码包中的hold.hts和hold_ball。py复制到机器人端任务实施运行程序让相关机器人抱球639用HDMI线,将机器人和电脑显示屏连接,在机器人命令行输入命令pythonhold_ball.py机器人跟踪抱球结果如下图任务实施运行程序让相关机器人抱球640机器人命令段的界面如下图CONTENT目录项目导入01项目任务02学习目标03任务评价07项目准备05任务实施06知识链接04任务拓展08项目小结09任务评价07自我评价小组评价任务评价743自我评价小组评价CONTENT目录项目导入01项目任务02学习目标03任务拓展08项目准备05任务实施06任务评价07知识链接04项目小结09任务拓展08任务拓展846思考如何在两个线程间进行信号量同步。CONTENT目录项目导入01项目任务02学习目标03

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论