当前位置: 首页 > news >正文

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

文章目录

  • 案例要求
  • 创建地图
    • 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.【机器人和人工智能——自主巡航赛项】动手实践篇

http://www.lryc.cn/news/369266.html

相关文章:

  • [大师C语言(第二十五篇)]C语言字符串探秘
  • xLua(一) 环境安装笔记
  • Python基础教程(十一):数据结构汇总梳理
  • 制造型企业图纸泄露问题,如何从根源解决核心文件资料泄露问题?
  • 英伟达最新GPU和互联路线图分析
  • Github 2024-06-10 开源项目日报 Top10
  • 前后端分离项目中Spring Boot返回的时间与前端相差8个小时
  • stm32MP135裸机编程:使用USB/UART烧录程序到SD卡并从SD卡启动点亮一颗LED灯
  • 【NoSQL数据库】Redis Cluster集群(含redis集群扩容脚本)
  • 重邮计算机网络803-(2)物理层
  • uniapp使用webview内嵌H5的注意事项
  • 现代 C++的高效并发编程模式
  • 汇编语言作业(五)
  • 收音机的原理笔记
  • 排序算法案例
  • 时间序列评价指标
  • Docker:安装 Orion-Visor 服务器运维的技术指南
  • HarmonyOS Next 系列之底部标签栏TabBar实现(三)
  • mac怎么录制屏幕?这2个方法你值得拥有
  • 爱德华三坐标软件ACdmis.AC-dmis密码注册机
  • 计算机网络 期末复习(谢希仁版本)第3章
  • 代码随想录——数组
  • 计算机网络7——网络安全4 防火墙和入侵检测
  • html+CSS+js部分基础运用20
  • ISO 19115-2:2019 附录C XML 模式实现
  • DevOps的原理及应用详解(一)
  • 【冲刺秋招,许愿offer】第 三 天(水一天)
  • 使用 C# 学习面向对象编程:第 6 部分
  • 分布式训练基础入门
  • AWS S3存储桶中如何下载文件