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

本文介绍了如何使用launch.py加载gzserver.launch.py文件来改变Gazebo中的场景,其中world变量用于指定场景路径。文章还详细解析了SDF模型文件的结构,包括world区段、地板与光照、视角与物理引擎设置,以及如何包含模型和机器人模型。示例中涉及到了turtlebot3_world和turtlebot3_burger模型。
摘要由CSDN通过智能技术生成

 一、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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值