【机器人和人工智能——自主巡航赛项】进阶篇

文章目录

  • 案例要求
  • 创建地图
    • rviz仿真
  • 保存地图
  • 坐标点定位
  • 识别训练
  • 主逻辑理解
  • 语音播报
  • 模块匹配
  • 二维码识别
  • 多点导航
  • 讲解视频
  • 其余篇章

案例要求

在这里插入图片描述

在这里插入图片描述

创建地图

./1-gmapping.sh在这里插入图片描述
把多个launch文件融合在sh文件里面

rviz仿真

rviz是rose集成的可视化界面,查看机器人的各项数据,
在这里插入图片描述

保存地图

roslaunch robot_slam save_map.launch

在这里插入图片描述

坐标点定位

要让机器人移动到对应位置,给予坐标信息(X,Y,偏转角度),信息保存于multi_goal.launch
在这里插入图片描述

建图位置和起点位置要重合

小车的坐标系:X轴朝左,单位m;Y轴朝上,单位m;偏转角度逆时针为正,单位°

在这里插入图片描述
调用坐标点的命令

navi.goto(goals[第几个坐标])

识别训练

分别打开两个终端启动两个launch文件
启动摄像头

roslaunch usb_cam usb_cam-test.launch

启动识别文件

rolaunch find_object_2d find_object_2d.launch

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
手动给图像做分类,z表示是命名名称

主逻辑理解

代码是
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

语音播报

使用os.system('mplayer %s' % music1_path)这行代码,通过系统调用来执行mplayer命令并播放指定的音乐文件。music_path指定了要播放的音乐文件路径
在这里插入图片描述
查看当前路径:pwd
在这里插入图片描述
语音播放识别成功:
在这里插入图片描述

没有听到声音:查看扬声器信道
没有运行成功:查看代码格式

可以用TTS文本转语音

在这里插入图片描述

模块匹配

在这里插入图片描述self.find_sub = rospy.Subscriber('/object_position',Point,self.find_cb);
创建了一个订阅者(Subscriber),用于接受名为/object.position的话题发布的geometry_msgs.msg.Point类型的消息,并将其传递给self.find_cb方法进行处理。

rospy.Subscriber:创建一个订阅者对象
'/object_position:指令要订阅的话题名称
Point:指令要订阅的消息类型,即geometry_msgs.msg.Point
'self.find_cb’是回调函数,当从/object_position话题接受到消息是,该函数将调用来处理接收到的消息

通过这行代码,节点将订阅/object_position话题,一旦有新的geometry_msgs.msg.Point类型的消息发布到该话题上,self.find_cb将会被调用来处理接收到的消息数据

列出当前系统中所有已发布和已订阅的话题:

rostopic list

查看名为 /object_position的话题上的消息:

rostopic echo /object_position

在这里插入图片描述
启动摄像头和识别软件

roslaunch usb_cam-test.launch
roslaunch find_object_2d find_object_2d.launch

在这里插入图片描述
代码具体含义:
在这里插入图片描述
在这里插入图片描述

二维码识别

在这里插入图片描述

代码具体含义:
在这里插入图片描述
在这里插入图片描述

多点导航

在这里插入图片描述
在这里插入图片描述

讲解视频

1.万创鑫诚.自主巡航方案分析
2.万创鑫诚.自主巡航实践

其余篇章

1.【机器人和人工智能——自主巡航赛项】基础篇
2.【机器人和人工智能——自主巡航赛项】动手实践篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/693039.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS--block再学习

block再学习 什么是blockblock是带有自动变量的匿名函数block语法 block的实现block的实质截获自动变量__blcok说明符Block存储域__block变量存储域使用__block变量用结构体成员变量__forwarding的原因 截获对象 什么是block Block时c语言的扩充功能,它允许开发者定…

宝塔面板和 LNMP 环境下反代 HFish 蜜罐平台的正确方法

最近明月在热心站长好友的支持下搭建了安全、简单、有效并永久免费的蜜罐平台 HFish,因为 HFish 默认是以 https://IP:端口 的 Web 链接形式提供访问的,这会暴露蜜罐平台的真实服务器 IP 不说,还非常不便于快速的访问(反正明月是记不住 IP 的),所以就需要给部署好的 HFis…

Python爬取与可视化-豆瓣电影数据

引言 在数据科学的学习过程中,数据获取与数据可视化是两项重要的技能。本文将展示如何通过Python爬取豆瓣电影Top250的电影数据,并将这些数据存储到数据库中,随后进行数据分析和可视化展示。这个项目涵盖了从数据抓取、存储到数据可视化的整个…

《精通ChatGPT:从入门到大师的Prompt指南》第4章:避免常见错误

第4章:避免常见错误 在使用ChatGPT进行Prompt编写时,常见的错误可能会大大影响生成内容的质量和准确性。本章将详细讨论这些错误,并提供如何避免它们的建议。 4.1 不明确的指令 在使用ChatGPT时,一个常见的问题是指令不够明确。…

中电联系列二:rocket手把手教你理解中电联协议!

分享《一套免费开源充电桩物联网系统,是可以立马拿去商用的!》 前 言 T/CEC102《电动汽车充换电服务信息交换》分为四个部分: ——第1部分:总则; ——第2部分:公共信息交换规范; ——第3部分&a…

微信机器人实现OCR识别录入数据

介绍 采用微信的hook插件,然后解析微信发来的数据图片,通过ocr识别 然后将数据落入execl表格中。同时有权限的人可以导出数据表格即可。 流程图 代码片 文本消息处理流程_robot.py elif msg.type 0x01: # 文本消息# 管理员列表dba_user_list [wxid_…

MathType7.8永久破解版下载 让数学学习变得简单有趣!

大家好,我是科技评论家。今天给大家推荐一款非常实用的数学公式编辑器——MathType 7.8!📱💰 在数字化时代,学术研究、教学和科研领域中的数学公式编辑需求越来越高。而MathType 7.8作为一个广受欢迎的数学公式编辑器&…

Spring Boot整合Redis通过Zset数据类型+定时任务实现延迟队列

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

DALL·E2最详细解读篇章

CLIP被证明其可以学习到鲁棒的图像特征,可以有效的捕获图像的语义和风格,且具有很强的zero-shot能力。另外,Diffusion是目前最优的生成式框架,其推动了图像、视频生成任务的最先进性能。Classifier-Free Diffusion指导技术以样本多…

Junit 单元测试 详解,包你掌握

Java单元测试----Junit详解 1 什么是 Junit JUnit 是一个广泛使用的 Java 单元测试框架。它用于编写和运行可重复的测试,以验证 Java 程序的行为是否符合预期 也许有人会好奇,之前学的 Selenium 和 Junit 有什么关系?答案就是没关系&#…

递归【2】(组合回溯(生成括号)、子集回溯(背包问题))

括号对 (组合型回溯) 分解成子问题,每一次添加括号分两步: if左括号小于n,加左括号,然后k(index1), if左括号大于有括号,加右括号,k(index1),然后收尾括号单独考虑,到…

设计模式之过滤器模式FilterPattern(十)

一、过滤器模式 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模…

linux centos redis-6.2.6一键安装及配置密码

linux centos redis-6.2.6一键安装及配置密码 redis基本原理一、操作阶段,开始安装 redis基本原理 redis作为非关系型nosql数据库,一般公司会作为缓存层,存储唯一会话id,以及请求削峰作用 一、数据结构 Redis支持多种数据结构&a…

拯救者Legion Y9000X IRX9 2024(83FD)原装出厂Windows11系统镜像下载

lenovo联想2024款拯救者Y9000X IRX9 笔记本电脑【83FD】OEM预装Win11系统安装包,恢复开箱状态,自带恢复重置还原功能 链接:https://pan.baidu.com/s/1i_sVcnXF4qgsuj02rebe-Q?pwdyefp 提取码:yefp 联想原装WIN11系统自带所有…

Sentinel不使用控制台基于注解限流,热点参数限流

目录 一、maven依赖 二、控制台 三、基于注解限流 四、热点参数限流 五、使用JMeter验证 一、maven依赖 需要注意,使用的版本需要和你的SpringBoot版本匹配!! Spring-Cloud直接添加如下依赖即可,baba已经帮你指定好版本了。…

Android限制参数传递之StringDef注解的使用

文章目录 1. 引言2. 注解 StringDef2.1 举例2.2 StringDef源码解释 3. 其他类似注解 IntDef、LongDef4. 总结 1. 引言 在参数传递时,如果你想限制传入的参数只能是特定的几个值,该怎么做呢? 除了把参数类型定义为枚举值,还可以使…

0603作业

/* * function: 直接插入排序* param [ in] * param [out] * return */ void insert_sort_linklist(linklist* head,datatype data){linklist* phead;while(NULL!p->pnext && p->pnext->param …

【学永远不嫌晚】Linux操作系统,linux教程,动力节点linux,老杜linux

碎碎念 总是遇到一些恶心的事情 看最新教程 老师安装的是 vm17 pro,想着也去安装,搜了一大堆,都指向官网下载。 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro 安装显示没有 entitlement&#…

SpringCloud 服务调用 spring-cloud-starter-openfeign

spring-cloud-starter-openfeign 是 Spring Cloud 中的一个组件,用于在微服务架构中声明式地调用其他服务。它基于 Netflix 的 Feign 客户端进行了封装和增强,使其与 Spring Cloud 生态更好地集成。 1. Feign Feign 是一个声明式的 Web Service 客户端…

【Python】一文向您详细介绍 `__dict__` 的作用和用法

【Python】一文向您详细介绍 __dict__ 的作用和用法 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕…