【机器人和人工智能——自主巡航赛项】进阶篇
Cai junhao 2024-07-21 16:01:03 阅读 84
文章目录
案例要求创建地图rviz仿真
保存地图坐标点定位识别训练主逻辑理解语音播报模块匹配二维码识别多点导航讲解视频其余篇章
案例要求
创建地图
<code>./1-gmapping.sh
把多个launch文件融合在sh文件里面
rviz仿真
rviz是rose集成的可视化界面,查看机器人的各项数据,
保存地图
<code>roslaunch robot_slam save_map.launch
坐标点定位
要让机器人移动到对应位置,给予坐标信息(X,Y,偏转角度),信息保存于<code>multi_goal.launch
建图位置和起点位置要重合
小车的坐标系:X轴朝左,单位<code>m;Y轴朝上,单位m
;偏转角度逆时针为正,单位°
调用坐标点的命令:
<code>navi.goto(goals[第几个坐标])
识别训练
分别打开两个终端启动两个launch文件
启动摄像头:
roslaunch usb_cam usb_cam-test.launch
启动识别文件:
rolaunch find_object_2d find_object_2d.launch
手动给图像做分类,z表示是命名名称
主逻辑理解
代码是
语音播报
使用<code>os.system('mplayer %s' % music1_path)这行代码,通过系统调用来执行mplayer命令并播放指定的音乐文件。music_path
指定了要播放的音乐文件路径
查看当前路径:<code>pwd
语音播放识别成功:
没有听到声音:查看扬声器信道
没有运行成功:查看代码格式
可以用TTS文本转语音
模块匹配
<code>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
启动摄像头和识别软件:
<code>roslaunch usb_cam-test.launch
roslaunch find_object_2d find_object_2d.launch
代码具体含义:
二维码识别
代码具体含义:
多点导航
讲解视频
1.万创鑫诚.自主巡航方案分析
2.万创鑫诚.自主巡航实践
其余篇章
1.【机器人和人工智能——自主巡航赛项】基础篇
2.【机器人和人工智能——自主巡航赛项】动手实践篇
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。