首页 > 其他分享 >SYLU-YQ老师ROS结课大作业

SYLU-YQ老师ROS结课大作业

时间:2024-06-11 13:33:20浏览次数:8  
标签:结课 launch navigation mbot nav SYLU YQ home gazebo

本次为YQ老师的大作业教程,欢迎大家指正

一、创建gazebo仿真环境,建立Rviz地图

在终端输入gazebo回车运行gazebo软件,选择Building Editor打开环境编辑界面

点击Exit Building Editor退出并保存gazebo创建的环境。

保存文件名为test,然后点击Save保存

退回到gazebo编译环境后点击File下的Save World as后保存文件名为 testworld.world,选择路径为/home/xcg/catkin_ws/src/mbot_gazebo/worlds

      将文件保存到/home/xcg/catkin_ws/src/mbot_gazebo/worlds文件夹下,打开以下路径的Launch文件/home/xcg/catkin_ws/src/mbot_gazebo/launch/mbot_laser_nav_gazebo.launch(标记为红色的部分为需要修改的内容):

 1. <launch>

 2.  

 3.     <!-- 设置launch文件的参数 -->

 4.     <arg name="world_name" value="$(find mbot_gazebo)/worlds/testworld.world"/>

 5.     <arg name="paused" default="false"/>

 6.     <arg name="use_sim_time" default="true"/>

1. $ roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

2. $ roslaunch mbot_navigation exploring_slam_demo.launch

3. $ roslaunch mbot_teleop mbot_teleop.launch

4. $ rosrun map_server map_saver -f test_gmapping

运行第一行程序运行已创建的.launch机器人仿真环境。

运行第二条程序打开Rviz。

运行第三行程序打开键盘控制程序在gazebo中创建地图数据。

            运行第四行程序保存已创建的Rviz地图,并在home主文件夹下将Rviz中创建的地图复制到mbot_navigation功能包文件夹下的map文件夹下。(显示Done既创建成功地图)

将以上两个文件复制到/home/xcg/catkin_ws/src/mbot_navigation/maps下

     在mbot_navigation下的Launch文件夹下/home/xcg/catkin_ws/src/mbot_navigation/launch/ nav_cloister_demo.launch   mbot_navigation下的可执行nav_cloister_demo.launch文件

内容为(红色部分为修改部分):

 1. <launch>

 2.  

 3.     <!-- 设置地图的配置文件 -->

 4.     <arg name="map" default="test_gmapping.yaml" />

 5.  

 6.     <!-- 运行地图服务器,并且加载设置的地图-->

二、自主导航

1. $ roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch

2. $ roslaunch mbot_navigation nav_cloister_demo.launch

运行第一行程序打开gazebo

      运行第二行程序打开一创建的Rviz地图,并使用2D Nav Goal工具给机器人指定目标位置和目标方向使机器人自主导航。

最后恭喜你完成了YQ老师的ROS大作业!!

标签:结课,launch,navigation,mbot,nav,SYLU,YQ,home,gazebo
From: https://blog.csdn.net/m0_66382704/article/details/139596258

相关文章

  • PyQT5之QSS基础/子控件选择器
    fromPyQt5.QtWidgetsimport*importsysclassBasicQCSS(QWidget):def__init__(self):super().__init__()self.setWindowTitle("QSS样式/子控件选择器")btn1=QPushButton(self)btn1.setText("按钮1")b......
  • python快速生成二维码及读取二维码内容 pyqrcode MyQR pyzbar
    目录效果图生成二维码方式1:pyqrcode方式2:MyQR  读取二维码效果图生成二维码方式1:pyqrcode安装pipinstallpyqrcode代码实现importpyqrcode#text为保存在二维码的内容。text为完整链接时,扫描后可直接跳转到该链接text='https://www.baidu.com/'qr=pyqrc......
  • PyQT5窗口样式设置
    importsysfromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromPyQt5.QtWidgetsimport*classWindowPattern(QMainWindow):def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)self.resize(500,300)self......
  • PyQT5之设置窗口控件风格
    设置窗口控件风格QApplication.setStyle(...)窗口可以显示三种风格:['windowsvista','Windows','Fusion']importsysfromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromPyQt5.QtWidgetsimport*#print(QStyleFactory.keys())classWindow......
  • PyQT5之多窗口交互
    方法一:不适用信号与槽MultiWin.py文件"""多窗口交互--不适用信号与槽"""importsysfromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*fromPyQt5.QtWidgetsimport*fromDateDialogimportDateDialogclassMultiWindow1(QWidget):def__init__......
  • PyQT5之为槽函数传递参数
    方法一:lambda表达式传递参数fromPyQt5.QtCoreimport*fromPyQt5importQtCorefromPyQt5.QtWidgetsimport*importsysclassLambdaSlotArg(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("使用Lambda表达式为槽函......
  • PyQT5信号与槽的连接
    方法一:fromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*importsysclassAutoSignalSlot(QWidget):def__init__(self):super().__init__()self.setWindowTitle("信号与槽自动连接")self.resize(300,100)self.okB......
  • PyQT5信号刷新时间
    importtimefromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*importsysclassBackendThread(QThread):update_date=pyqtSignal(str)defrun(self):whileTrue:data=QDateTime.currentDateTime()currentTim......
  • PyQT5之信号关闭窗口
    fromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*importsysclassWinSignal(QWidget):#定义一个信号button_clicked_signal=pyqtSignal()def__init__(self):super().__init__()self.setWindowTitle("为窗口类添加信号")......
  • PyQT5之窗口
    窗口类型:QMainWindow:可以包含菜单栏、工具栏、状态栏、标题栏QWidget:不确定窗口的用途,就使用QWidgetQDialog:是对话窗口的基类,没有菜单栏、工具栏、状态栏fromPyQt5.QtWidgetsimportQMainWindow,QApplicationfromPyQt5importQtCore,QtGuifromPyQt5.QtGuiimportQ......