ROS:launch文件加载:已有地图(yaml)、rviz、turtlebot3模型、gazebo模型、move_base、amcl

一.下载turtlebot3、建立地图文件yaml和pgm

ROS:gazebo创建仿真地图,turtlebot3加载仿真地图进行建图,生成yaml和pgm地图信息_Charlesffff的博客-优快云博客

 二.创建目录

 其中amcl.launch和move_base.launch目录在turtlebot3中:

 其中turtlebot3_navigation.rviz目录在turtlebot3中:

worlds对应gazebo模型;maps对应rviz模型;

一定要注意此处文件名:

注意: 可能存在机器人初始位置在地图中与实际不符合,修改origin中内容就可以改变机器人初始位姿,分别是[x,y,theta]

 三.launch文件编写

amcl.launch和move_base.launch是不用修改的。

1、load_mapfile.launch 文件中对应修改内容如下:

1、 load_mapfile.launch 内容如下:

<launch>

  <!-- Arguments:参数设置,包括:加载turtlebot3机器人模型、是否打开rviz、地图文件 -->
  <arg name="model" default="burger" doc="model type [burger, waffle, waffle_pi]"/>
  <arg name="configuration_basename" default="turtlebot3_lds_2d.lua"/>

  <!--是否打开rviz -->
  <arg name="open_rviz" default="true"/>

  <!-- 设置地图文件yaml -->
  <arg name="map_file" default="$(find robot_setup_tf)/maps/house.yaml" />

  <!-- TurtleBot3:加载机器人模型 -->
  <include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
    <arg name="model" value="$(arg model)" />
  </include>

  <!--加载gazebo-->
  <include file="$(find robot_setup_tf)/launch/load_gazebo.launch"/>

  <!-- 启动导航系统,用作目标点路径规划,实现躲避小障碍物-->
  <include file="$(find robot_setup_tf)/launch/load_navigation.launch">
        <arg name="model" value="$(arg model)" />
        <arg name="map_file" value="$(arg map_file)"/>
    </include>

</launch>
 2、load_gazebo.launch 文件中 对应修改内容如下:

 

  2、load_gazebo.launch 内容如下:

<launch>
  <!-- Arguments:参数设置,包括:加载turtlebot3机器人模型、是否打开rviz、地图文件 -->
  <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>

  <!--机器人初始位置-->
  <arg name="x_pos" default="0.0"/>
  <arg name="y_pos" default="0.0"/>
  <arg name="z_pos" default="0.0"/>

  <!--配置gazebo模型-->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
      <arg name="world_name" value="$(find robot_setup_tf)/worlds/house.world"/>
      <arg name="paused" value="false"/>
       <arg name="use_sim_time" value="true"/>
      <arg name="gui" value="true"/>
      <arg name="headless" value="false"/>
      <arg name="debug" value="false"/>
  </include>

  <!--给gazebo加载turtlebot3模型-->
  <param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro" />
  
  <!--运行gazebo结点-->
  <node pkg="gazebo_ros" type="spawn_model" name="spawn_urdf"  args="-urdf -model turtlebot3_$(arg model) -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description" />

</launch>

3、load_navigation.launch文件中对应修改内容如下:

 3、load_navigation.launch内容如下:

<launch>
  <!-- Arguments :机器人模型、地图文件、打开rviz、机器人运动-->
  <arg name="model" default="burger" doc="model type [burger, waffle, waffle_pi]"/>
  <arg name="map_file" default="$(find robot_setup_tf)/maps/house.yaml"/>
  <arg name="open_rviz" default="true"/>
  <arg name="move_forward_only" default="false"/>


  <!-- Map server :加载地图文件-->
  <node pkg="map_server" name="map_server" type="map_server" args="$(arg map_file)"/>

  <!-- AMCL :定位-->
  <include file="$(find robot_setup_tf)/launch/amcl.launch"/>

  <!-- move_base :机器人运动-->
  <include file="$(find robot_setup_tf)/launch/move_base.launch">
    <arg name="model" value="$(arg model)" />
    <arg name="move_forward_only" value="$(arg move_forward_only)"/>
  </include>

  <!-- rviz :打开riviz-->
  <group if="$(arg open_rviz)"> 
    <node pkg="rviz" type="rviz" name="rviz" required="true"
          args="-d $(find robot_setup_tf)/rviz/turtlebot3_navigation.rviz"/>
  </group>
</launch>

 三.最终运行结果

终端运行:

roslaunch robot_setup_tf load_mapfile.launch

结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值