My robot is not visible by sensors, gazebo

asked 2021-07-13 10:47:43 -0500

hairy gravatar image

updated 2022-01-31 08:56:11 -0500

lucasw gravatar image

I run a simulation in gazebo with usage of the launch file. I spawn two turtlebots and one robot that i designed myself to be the box to be pushed (i need to know its yaw so its a robot). An those turtlebots push that box, etc. but they sense only themselves by their sensors (/scan). I probably wrongly designed that box but I don't have time to learn how to implement such things in xacro files. So could you tell me why it does not work? I would be very grateful. Below are my xacro files with the gazebo plugins.

<?xml version="1.0"?>
<robot name="m2wr" xmlns:xacro="http://www.ros.org/wiki/xacro">

    <xacro:include filename="$(find transport_gazebo)/urdf/materials.xacro"/>
    <xacro:include filename="$(find transport_gazebo)/urdf/box.gazebo"/>
    <xacro:include filename="$(find transport_gazebo)/urdf/macro.xacro"/>


    <link name="link_chassis">
      < !-- pose and inertial -->
      <pose>0 0 0.1 0 0 0</pose>
      <inertial>
        <mass value="0.01"/>
        <origin rpy="0 0 0" xyz="0 0 0.1"/>
        <inertia ixx="0.0395416666667" ixy="0" ixz="0" iyy="0.106208333333" iyz="0" izz="0.106208333333"/>
      </inertial>
      <!-- body -->
      <collision name="collision_chassis">
        <geometry>
          <box size="0.3 1.5 0.1"/>
        </geometry>
      </collision>
      <visual>
        <origin rpy="0 0 0" xyz="0 0 0"/>
        <geometry>
          <box size="0.3 1.5 0.1"/>
        </geometry>
        <material name="blue"/>
      </visual>
    </link>

    <xacro:link_wheel name="link_right_wheel" />
    <xacro:joint_wheel name="joint_right_wheel" child="link_right_wheel" origin_xyz="-0.05 0.15 0" />

    <xacro:link_wheel name="link_left_wheel" />
    <xacro:joint_wheel name="joint_left_wheel" child="link_left_wheel" origin_xyz="-0.05 -0.15 0" />

  </robot>

that is main file, i had to include the joints to it becouse i didn't have the odometry when I didn't

<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
    <xacro:macro name="link_wheel" params="name">
        <link name="${name}">
            <inertial>
              <mass value="0.0001"/>
              <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
              <inertia ixx="0.000526666666667" ixy="0" ixz="0" iyy="0.000526666666667" iyz="0" izz="0.001"/>
            </inertial>
            <collision name="${name}_collision">
              <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
              <geometry>
                <cylinder length="0.001" radius="0.001"/>
              </geometry>
            </collision>
            <visual name="${name}_visual">
              <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
              <geometry>
                <cylinder length="0.001" radius="0.001"/>
              </geometry>
            </visual>
        </link>
    </xacro:macro>

    <xacro:macro name="joint_wheel" params="name child origin_xyz">
        <joint name="${name}" type="continuous">
            <origin rpy="0 0 0" xyz="${origin_xyz}"/>
            <child link="${child}"/>
            <parent link="link_chassis"/>
            <axis rpy="0 0 0" xyz="0 1 0"/>
            <limit effort="10000" velocity="1000"/>
            <joint_properties damping="1.0" friction="1.0"/>
        </joint>
    < ...
(more)
edit retag flag offensive close merge delete