ROS2学习----launch.py文件 和 机器人模型 及 场景加载

2023-05-16

 一、launch.py

return LaunchDescription([
        IncludeLaunchDescription(
            PythonLaunchDescriptionSource(##launch文件  以及传入launch文件的参数
                os.path.join(pkg_gazebo_ros, 'launch', 'gzserver.launch.py')
            ),
            launch_arguments={'world': world}.items(),
        ),
        )]

      这段代码主要针对加载场景,其中world变量为字符串类型表示路径

      当我想更换场景时,在其中加入该段代码即可

二、.model文件

      这段有5个重要的部分,分别是1.world区间  2.地板和光照 3.观测角度和物理引擎,(empty.world里仅有地板和光照,没有物理引擎参数) 4.场景model文件 6.机器人model文件

<?xml version="1.0"?>
<sdf version="1.6">
  <world name="default"><!-- 重点1.world 要记得加world这个区间 -->

    <include>           <!-- 重点2.ground_plane和sun 塑造地面和使用光照 -->
      <uri>model://ground_plane</uri>
    </include>

    <include>
      <uri>model://sun</uri>
    </include>

    <scene>
      <shadows>false</shadows>
    </scene>

    <gui fullscreen='0'><!-- 重点3.视角camera和gazebo物理引擎参数ode -->
      <camera name='user_camera'>
        <pose frame=''>0.319654 -0.235002 9.29441 0 1.5138 0.009599</pose>
        <view_controller>orbit</view_controller>
        <projection_type>perspective</projection_type>
      </camera>
    </gui>

    <physics type="ode">
      <real_time_update_rate>1000.0</real_time_update_rate>
      <max_step_size>0.001</max_step_size>
      <real_time_factor>1</real_time_factor>
      <ode>
        <solver>
          <type>quick</type>
          <iters>150</iters>
          <precon_iters>0</precon_iters>
          <sor>1.400000</sor>
          <use_dynamic_moi_rescaling>1</use_dynamic_moi_rescaling>
        </solver>
        <constraints>
          <cfm>0.00001</cfm>
          <erp>0.2</erp>
          <contact_max_correcting_vel>2000.000000</contact_max_correcting_vel>
          <contact_surface_layer>0.01000</contact_surface_layer>
        </constraints>
      </ode>
    </physics>
<!-- gazebo中用model editor模式,把世界保存成一个文件夹的形式,只要有model.config和model.sdf两个文件即可,把这个文件夹放在主目录./gazebo/models即可 -->
    <model name="turtlebot3_world"><!-- 重点4.模型文件,这里是一个文件夹,制作方法是gazebo中启动model editor -->
      <static>1</static>
      <include>
        <uri>model://turtlebot3_world</uri>
      </include>
    </model>
     
    <include>                       <!-- 重点5.机器人模型文件 -->
      <pose>-2.0 -0.5 0.01 0.0 0.0 0.0</pose>
      <uri>model://turtlebot3_burger</uri>
    </include>

  </world>
</sdf>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS2学习----launch.py文件 和 机器人模型 及 场景加载 的相关文章

随机推荐