鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    第九章4.6中在RVIZ2中显示机器人模型报错

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    ros2 第九章4.6
    1
    5
    553
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 4417555354
      头怎么还不秃啊
      最后由 编辑

      代码运行报错如下:
      [ERROR] [spawn_entity.py-2]: process has died [pid 6760, exit code 1, cmd '/opt/ros/humble/lib/gazebo_ros/spawn_entity.py -entity fishbot -file /home/hdm/d2lros2/chapt8_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot_gazebo.urdf --ros-args'].

      1 条回复 最后回复 回复 引用 0
      • 4417555354
        头怎么还不秃啊
        最后由 编辑

        gazebo.launch.py代码如下
        import os
        from launch import LaunchDescription
        from launch.actions import ExecuteProcess
        from launch_ros.actions import Node
        from launch_ros.substitutions import FindPackageShare

        def generate_launch_description():
        robot_name_in_model = 'fishbot'
        package_name = 'fishbot_description'
        urdf_name = "fishbot_gazebo.urdf"

        ld = LaunchDescription()
        pkg_share = FindPackageShare(package=package_name).find(package_name) 
        urdf_model_path = os.path.join(pkg_share, f'urdf/{urdf_name}')
        
        # Start Gazebo server
        start_gazebo_cmd =  ExecuteProcess(
            cmd=['gazebo', '--verbose','-s', 'libgazebo_ros_init.so', '-s', 'libgazebo_ros_factory.so'],
            output='screen')
            
        # Launch the robot
        spawn_entity_cmd = Node(
            package='gazebo_ros', 
            executable='spawn_entity.py',
            arguments=['-entity', robot_name_in_model,  '-file', urdf_model_path ], output='screen')
        
        # Start Robot State publisher
        start_robot_state_publisher_cmd = Node(
            package='robot_state_publisher',
            executable='robot_state_publisher',
            arguments=[urdf_model_path]
        )
        
        # Launch RViz
        start_rviz_cmd = Node(
            package='rviz2',
            executable='rviz2',
            name='rviz2',
            output='screen',
            # arguments=['-d', default_rviz_config_path]
            )
        
        ld.add_action(start_gazebo_cmd)
        ld.add_action(spawn_entity_cmd)
        ld.add_action(start_robot_state_publisher_cmd)
        ld.add_action(start_rviz_cmd)
        
        
        return ld
        
        1 条回复 最后回复 回复 引用 0
        • 4417555354
          头怎么还不秃啊
          最后由 编辑

          urdf代码如下
          <?xml version="1.0"?>
          <robot name="fishbot">

          <!-- Robot Footprint -->
          <link name="base_footprint"/>

          <joint name="base_joint" type="fixed">
          <parent link="base_footprint"/>
          <child link="base_link"/>
          <origin xyz="0.0 0.0 0.076" rpy="0 0 0"/>
          </joint>

          <!-- base link -->
          <link name="base_link">
          <visual>
          <origin xyz="0 0 0.0" rpy="0 0 0"/>
          <geometry>
          <cylinder length="0.12" radius="0.10"/>
          </geometry>
          <material name="blue">
          <color rgba="0.1 0.1 1.0 0.5" />
          </material>
          </visual>
          <collision>
          <origin xyz="0 0 0.0" rpy="0 0 0"/>
          <geometry>
          <cylinder length="0.12" radius="0.10"/>
          </geometry>
          <material name="blue">
          <color rgba="0.1 0.1 1.0 0.5" />
          </material>
          </collision>
          <inertial>
          <mass value="0.2"/>
          <inertia ixx="0.0122666" ixy="0" ixz="0" iyy="0.0122666" iyz="0" izz="0.02"/>
          </inertial>
          </link>

          <!-- laser link -->
          <link name="laser_link">
          <visual>
          <origin xyz="0 0 0" rpy="0 0 0"/>
          <geometry>
          <cylinder length="0.02" radius="0.02"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </visual>
          <collision>
          <origin xyz="0 0 0" rpy="0 0 0"/>
          <geometry>
          <cylinder length="0.02" radius="0.02"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </collision>
          <inertial>
          <mass value="0.1"/>
          <inertia ixx="0.000190416666667" ixy="0" ixz="0" iyy="0.0001904" iyz="0" izz="0.00036"/>
          </inertial>
          </link>

          <!-- laser joint -->
          <joint name="laser_joint" type="fixed">
          <parent link="base_link" />
          <child link="laser_link" />
          <origin xyz="0 0 0.075" />
          </joint>

          <link name="imu_link">
          <visual>
          <origin xyz="0 0 0.0" rpy="0 0 0"/>
          <geometry>
          <box size="0.02 0.02 0.02"/>
          </geometry>
          </visual>
          <collision>
          <origin xyz="0 0 0.0" rpy="0 0 0"/>
          <geometry>
          <box size="0.02 0.02 0.02"/>
          </geometry>
          </collision>
          <inertial>
          <mass value="0.1"/>
          <inertia ixx="0.000190416666667" ixy="0" ixz="0" iyy="0.0001904" iyz="0" izz="0.00036"/>
          </inertial>
          </link>

          <!-- imu joint -->
          <joint name="imu_joint" type="fixed">
          <parent link="base_link" />
          <child link="imu_link" />
          <origin xyz="0 0 0.02" />
          </joint>

          <link name="left_wheel_link">
          <visual>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <cylinder length="0.04" radius="0.032"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </visual>
          <collision>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <cylinder length="0.04" radius="0.032"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </collision>
          <inertial>
          <mass value="0.2"/>
          <inertia ixx="0.000190416666667" ixy="0" ixz="0" iyy="0.0001904" iyz="0" izz="0.00036"/>
          </inertial>
          </link>

          <link name="right_wheel_link">
          <visual>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <cylinder length="0.04" radius="0.032"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </visual>
          <collision>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <cylinder length="0.04" radius="0.032"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </collision>
          <inertial>
          <mass value="0.2"/>
          <inertia ixx="0.000190416666667" ixy="0" ixz="0" iyy="0.0001904" iyz="0" izz="0.00036"/>
          </inertial>
          </link>

          <joint name="left_wheel_joint" type="continuous">
          <parent link="base_link" />
          <child link="left_wheel_link" />
          <origin xyz="-0.02 0.10 -0.06" />
          <axis xyz="0 1 0" />
          </joint>

          <joint name="right_wheel_joint" type="continuous">
          <parent link="base_link" />
          <child link="right_wheel_link" />
          <origin xyz="-0.02 -0.10 -0.06" />
          <axis xyz="0 1 0" />
          </joint>

          <link name="caster_link">
          <visual>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <sphere radius="0.016"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </visual>
          <collision>
          <origin xyz="0 0 0" rpy="1.57079 0 0"/>
          <geometry>
          <sphere radius="0.016"/>
          </geometry>
          <material name="black">
          <color rgba="0.0 0.0 0.0 0.5" />
          </material>
          </collision>
          <inertial>
          <mass value="0.02"/>
          <inertia ixx="0.000190416666667" ixy="0" ixz="0" iyy="0.0001904" iyz="0" izz="0.00036"/>
          </inertial>
          </link>

          <joint name="caster_joint" type="fixed">
          <parent link="base_link" />
          <child link="caster_link" />
          <origin xyz="0.06 0.0 -0.076" />
          <axis xyz="0 1 0" />
          </joint>

          <gazebo reference="caster_link">
          <material>Gazebo/Black</material>
          </gazebo>

          <gazebo reference="caster_link">
          <mu1 value="0.0"/>
          <mu2 value="0.0"/>
          <kp value="1000000.0" />
          <kd value="10.0" />
          <!-- <fdir1 value="0 0 1"/> -->
          </gazebo>

          <gazebo>
          <plugin name='diff_drive' filename='libgazebo_ros_diff_drive.so'>
          <ros>
          <namespace>/</namespace>
          <remapping>cmd_vel:=cmd_vel</remapping>
          <remapping>odom:=odom</remapping>
          </ros>
          <update_rate>30</update_rate>
          <!-- wheels -->
          <left_joint>left_wheel_joint</left_joint>
          <right_joint>right_wheel_joint</right_joint>
          <!-- kinematics -->
          <wheel_separation>0.2</wheel_separation>
          <wheel_diameter>0.065</wheel_diameter>
          <!-- limits -->
          <max_wheel_torque>20</max_wheel_torque>
          <max_wheel_acceleration>1.0</max_wheel_acceleration>
          <!-- output -->
          <publish_odom>true</publish_odom>
          <publish_odom_tf>true</publish_odom_tf>
          <publish_wheel_tf>true</publish_wheel_tf>
          <odometry_frame>odom</odometry_frame>
          <robot_base_frame>base_footprint</robot_base_frame>
          </plugin>

            <plugin name="fishbot_joint_state" filename="libgazebo_ros_joint_state_publisher.so">
              <ros>
                <remapping>~/out:=joint_states</remapping>
              </ros>
              <update_rate>30</update_rate>
              <joint_name>right_wheel_joint</joint_name>
              <joint_name>left_wheel_joint</joint_name>
            </plugin>    
            </gazebo> 
          
            <gazebo reference="laser_link">
              <material>Gazebo/Black</material>
            </gazebo>
          
          <gazebo reference="imu_link">
            <sensor name="imu_sensor" type="imu">
            <plugin filename="libgazebo_ros_imu_sensor.so" name="imu_plugin">
                <ros>
                  <namespace>/</namespace>
                  <remapping>~/out:=imu</remapping>
                </ros>
                <initial_orientation_as_reference>false</initial_orientation_as_reference>
              </plugin>
              <always_on>true</always_on>
              <update_rate>100</update_rate>
              <visualize>true</visualize>
              <imu>
                <angular_velocity>
                  <x>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>2e-4</stddev>
                      <bias_mean>0.0000075</bias_mean>
                      <bias_stddev>0.0000008</bias_stddev>
                    </noise>
                  </x>
                  <y>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>2e-4</stddev>
                      <bias_mean>0.0000075</bias_mean>
                      <bias_stddev>0.0000008</bias_stddev>
                    </noise>
                  </y>
                  <z>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>2e-4</stddev>
                      <bias_mean>0.0000075</bias_mean>
                      <bias_stddev>0.0000008</bias_stddev>
                    </noise>
                  </z>
                </angular_velocity>
                <linear_acceleration>
                  <x>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>1.7e-2</stddev>
                      <bias_mean>0.1</bias_mean>
                      <bias_stddev>0.001</bias_stddev>
                    </noise>
                  </x>
                  <y>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>1.7e-2</stddev>
                      <bias_mean>0.1</bias_mean>
                      <bias_stddev>0.001</bias_stddev>
                    </noise>
                  </y>
                  <z>
                    <noise type="gaussian">
                      <mean>0.0</mean>
                      <stddev>1.7e-2</stddev>
                      <bias_mean>0.1</bias_mean>
                      <bias_stddev>0.001</bias_stddev>
                    </noise>
                  </z>
                </linear_acceleration>
              </imu>
            </sensor>
          </gazebo>
          
          <gazebo reference="laser_link">
            <sensor name="laser_sensor" type="ray">
            <always_on>true</always_on>
            <visualize>true</visualize>
            <update_rate>5</update_rate>
            <pose>0 0 0.075 0 0 0</pose>
            <ray>
                <scan>
                  <horizontal>
                    <samples>360</samples>
                    <resolution>1.000000</resolution>
                    <min_angle>0.000000</min_angle>
                    <max_angle>6.280000</max_angle>
                  </horizontal>
                </scan>
                <range>
                  <min>0.120000</min>
                  <max>3.5</max>
                  <resolution>0.015000</resolution>
                </range>
                <noise>
                  <type>gaussian</type>
                  <mean>0.0</mean>
                  <stddev>0.01</stddev>
                </noise>
            </ray>
          
            <plugin name="laserscan" filename="libgazebo_ros_ray_sensor.so">
              <ros>
                <!-- <namespace>/tb3</namespace> -->
                <remapping>~/out:=scan</remapping>
              </ros>
              <output_type>sensor_msgs/LaserScan</output_type>
              <frame_name>laser_link</frame_name>
            </plugin>
            </sensor>
          </gazebo>
          

          </robot>

          1 条回复 最后回复 回复 引用 0
          • 4417555354
            头怎么还不秃啊
            最后由 编辑

            求助啊!!!!!!!

            1 条回复 最后回复 回复 引用 0
            • 4417555354
              头怎么还不秃啊
              最后由 编辑

              把gazebo.launch.py的urdf_name改了就行了,已解决

              1 条回复 最后回复 回复 引用 1
              • 第一个帖子
                最后一个帖子
              皖ICP备16016415号-7
              Powered by NodeBB | 鱼香ROS