《鸿蒙机器人比赛》课件-09 智能机器人家政服务应用场景开发_第1页
《鸿蒙机器人比赛》课件-09 智能机器人家政服务应用场景开发_第2页
《鸿蒙机器人比赛》课件-09 智能机器人家政服务应用场景开发_第3页
《鸿蒙机器人比赛》课件-09 智能机器人家政服务应用场景开发_第4页
《鸿蒙机器人比赛》课件-09 智能机器人家政服务应用场景开发_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

实践课-厨房端茶课程介绍课程目的:掌握ROS综合集成和项目开发的方法。课程安排:识别语音指令将语音指令转换为导航命令调用导航程控机器人进入期望的预定位置2©NXROBO2023任务场景小张!每天给我端100杯茶来~~~©NXROBO20233选择一:我亲自去给你端来。每天100次,就当锻炼身体了!选择二:我亲自设计一个机器人,呼来唤去,让它帮我跑腿。我决定用机器人来解决!©NXROBO20234安装端茶任务包请先确认spark各硬件及设置是否正常,幷从https:///NXROBO/spark_noetic.git拉取最新代码幷编译:端茶任务功能包所在位置:©NXROBO20235$cd~/spark_noetic$gitpull$catkin_make%YOUR_WORKSPACE%/src/3rd_app/spark_teatask/spark_fetchtea安装语音合成为了支持中文语音,合成语音合成我们使用开源的ekho测试©NXROBO20236$ekho"你好"$wget/projects/e-guidedog/files/Ekho/7.7/ekho-7.7.1.tar.xz$tar–xvfekho-7.7.1.tar.xz$cdekho-7.7.1$sudoaptinstalllibsndfile1-devlibespeak-devlibpulse-dev$./configure$make$sudomakeinstall系统默认发音设备如没有听到声音,请查看系统默认发音设备是否选择正确。©NXROBO20237启动端茶任务确认已预先建好地图并保存之后,运行下面的命令,即可启动端茶功能。©NXROBO20238$roslaunchspark_fetchteaspark_fetchtea.launch先在rviz里通过2Dposeestimate设定定位初始点然后遥控机器人直到粒子云收敛接着,通过publishpoint来选取一个点设置厨房位置,rviz上会在相应位置显示kitchen文字开始语音控制对麦克风说话:去端茶

(Spark将会到指定的厨房位置)对麦克风说话:回家(Spark将返回起始位置)

©NXROBO20239指定端茶的厨房位置输入rqt_graph可显示topic的发布订阅情况©NXROBO202310查看话题列表显示topic列表。©NXROBO202311$rostopiclistspark_fetchtea.launch(1)©NXROBO202312spark_fetchtea.launch(2)©NXROBO202313fetchtea_main.py©NXROBO202314s_fetchtea.py©NXROBO202315有限状态机(FSM)为了实现复杂的逻辑判断和任务调度,单靠if-then-else是难以处理的。常用方法有限状态机(FSM,finitestatemachine)(左)和行为树(BT,BehaviorTree)(右)。©NXROBO202316有限状态机(FSM)FSM的优点是更符合人的思维、实现快速,缺点是当不断加入新的状态时,FSM越来越复杂,维护困难,拓展性和复用性较差。行为树优点是拓展性和复用性较强,较易维护,目前在游戏的AI中经常使用,缺点是不太符合人的思维,状态少时反而显得繁琐。为简单起见,在本例中使用FSM,行为树不做介绍,感兴趣可自行学习。FSM是指系统含有限的状态,在相应的状态事件发生时,系统会从当前状态转移到对应的状态。事件就是状态转移条件,FSM的设计要点是状态和导致状态转换的事件。©NXROBO202317有限状态机(FSM)右图为端茶任务中所使用的FSM设计了四个状态:起始、去目的地、原地等待和回家。Entry表示后进入此状态后所执行的动作,只执行一次。During表示后处在此状态时所执行的动作,循环执行。Exit表示后离开此状态后所执行的动作,只执行一次。设计了两类条件:语音命令voice和是否到达目的地标志position_flag。©NXROBO202318两点间导航之后在RViz点击2DPoseEstimate按键设置初始位置,之后,机器人会自定位,幷在指定A--B之间往复运动©NXROBO202319$roslaunchspark_navigationamcl_demo_rviz.launch$rosrunspark_navigationnav_ab.py按键控制导航在RViz点击2DPoseEstimate按键设置初始位置,通过G、H按键控制在目标点goal和起始点home之间运动©NXROBO202320$roslaunchspark_navigationamcl_demo_rviz.launch$rosrunspark_navigationnav_key.py ifkey=='g': location='Goal' rospy.loginfo("MoveToGoal") ifkey=='h': location='Home' rospy.loginfo("BackToHome")小结端茶这个例子集成了我

温馨提示

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

评论

0/150

提交评论