Robotics StackExchange | Archived questions

ABB_robot not spawning in Gazebo although it's working in rviz correctly

I have a complicated robot it spawn correctly in rviz but when i try to have the gazebo bringUp, the robot doesn't appear: terminal output:

  logging to /home/beraru/.ros/log/deac11e6-3c94-11eb-aac7-9c305b2b6a57/roslaunch-beraru-22791.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

Deprecated: xacro tag 'sensor_d435i' w/o 'xacro:' xml namespace prefix (will be forbidden in Noetic)
when processing file: /media/beraru/CE625F5C625F47FB/reza/rviz/src/abb_robot_model/urdf/abb_robot.urdf.xacro
Use the following command to fix incorrect tag usage:
find . -iname "*.xacro" | xargs sed -i 's#<\([/]\?\)\(if\|unless\|include\|arg\|property\|macro\|insert_block\)#<\1xacro:\2#g'

xacro.py is deprecated; please use xacro instead
started roslaunch server http://beraru:34417/

SUMMARY
========

PARAMETERS
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_1/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_1/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_1/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_1/p: 100
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_2/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_2/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_2/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_2/p: 100
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_3/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_3/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_3/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_3/p: 100
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_4/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_4/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_4/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_4/p: 100
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_5/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_5/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_5/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_5/p: 100
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_6/d: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_6/i: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_6/i_clamp: 1
 * /abb_robot/gazebo_ros_control/pid_gains/abb_robot_joint_6/p: 100
 * /gazebo/enable_ros_network: True
 * /robot_description: <?xml version="1....
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /use_sim_time: True

NODES
  /
    abb_robot_spawn (gazebo_ros/spawn_model)
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    spawn_urdf (gazebo_ros/spawn_model)

ROS_MASTER_URI=http://localhost:11311

process[abb_robot_spawn-1]: started with pid [22809]
process[spawn_urdf-2]: started with pid [22810]
process[gazebo-3]: started with pid [22811]
process[gazebo_gui-4]: started with pid [22814]
[ INFO] [1607832383.525362033]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1607832383.526581006]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1607832383.643677101]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1607832383.647286837]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[ INFO] [1607832383.976974650]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1607832383.997000535, 0.006000000]: Physics dynamic reconfigure ready.
[INFO] [1607832384.072188, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1607832384.087355, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1607832384.089901, 0.000000]: Calling service /gazebo/spawn_urdf_model
Warning [parser.cc:950] XML Element[always_on], child of element[camera] not defined in SDF. Ignoring[always_on]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[update_rate], child of element[camera] not defined in SDF. Ignoring[update_rate]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[always_on], child of element[camera] not defined in SDF. Ignoring[always_on]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[update_rate], child of element[camera] not defined in SDF. Ignoring[update_rate]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
[ INFO] [1607832384.390545807, 0.131000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1607832384.392933520, 0.131000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1607832384.394568860, 0.131000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1607832384.396910677, 0.131000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1607832384.402130156, 0.131000000]: <robotNamespace> set to: //
[ INFO] [1607832384.402178073, 0.131000000]: <topicName> set to: //camerat265/gyro/sample
[ INFO] [1607832384.402197233, 0.131000000]: <frameName> set to: camerat265_link
[ INFO] [1607832384.402225740, 0.131000000]: <updateRateHZ> set to: 30
[ INFO] [1607832384.402247707, 0.131000000]: <gaussianNoise> set to: 1e-06
[ INFO] [1607832384.402270680, 0.131000000]: <xyzOffset> set to: 0 0 0
[ INFO] [1607832384.402306360, 0.131000000]: <rpyOffset> set to: 0 -0 0
[ INFO] [1607832384.465914537, 0.131000000]: Loading gazebo_ros_control plugin
[ INFO] [1607832384.466008186, 0.131000000]: Starting gazebo_ros_control plugin in namespace: /abb_robot
[ INFO] [1607832384.466488289, 0.131000000]: gazebo_ros_control plugin is waiting for model URDF in parameter [/robot_description] on the ROS param server.
[spawn_urdf-2] process has finished cleanly
log file: /home/beraru/.ros/log/deac11e6-3c94-11eb-aac7-9c305b2b6a57/spawn_urdf-2*.log
[ INFO] [1607832384.587153733, 0.131000000]: Loaded gazebo_ros_control.
[ WARN] [1607832384.649552508, 0.192000000]: Moved backwards in time (probably because ROS clock was reset), re-publishing joint transforms!
Warning [parser.cc:950] XML Element[always_on], child of element[camera] not defined in SDF. Ignoring[always_on]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[update_rate], child of element[camera] not defined in SDF. Ignoring[update_rate]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[always_on], child of element[camera] not defined in SDF. Ignoring[always_on]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
Warning [parser.cc:950] XML Element[update_rate], child of element[camera] not defined in SDF. Ignoring[update_rate]. You may have an incorrect SDF file, or an sdformat version that doesn't support this element.
[INFO] [1607832384.874098, 0.330000]: Spawn status: SpawnModel: Successfully spawned entity
[abb_robot_spawn-1] process has finished cleanly
log file: /home/beraru/.ros/log/deac11e6-3c94-11eb-aac7-9c305b2b6a57/abb_robot_spawn-1*.log

My launch file:

 <launch>
      <param command="$(find xacro)/xacro.py $(find abb_robot_model)/urdf/abb_robot.urdf.xacro" name="robot_description"/>

  <rosparam file="$(find abb_robot_model)/config/gazebo_ros_control_params.yaml" command="load"/>
  <node name="abb_robot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
          args="-urdf -param robot_description -model abb_robot" />
  <node args="-param robot_description -urdf -model model" name="spawn_urdf" pkg="gazebo_ros" type="spawn_model"/>

  <include file="$(find gazebo_ros)/launch/empty_world.launch">
     <arg name="gui" value="true"/>
    </include>       
</launch>

abb_robot.urdf.xacro:

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

  <!-- Import Rviz colors -->
  <xacro:include filename="$(find abb_robot_model)/urdf/materials.xacro" />

  <!--Import the abb_robot macro -->
  <xacro:include filename="$(find abb_robot_model)/urdf/abb_robot.xacro"/>

  <!--Parameters -->
  <xacro:arg name="hardware_interface" default="hardware_interface/EffortJointInterface"/>
  <xacro:arg name="robot_name" default="abb_robot"/>
  <xacro:arg name="origin_xyz" default="0 0 0"/>
  <xacro:arg name="origin_rpy" default="0 0 0"/>

  <!-- Fix to world, change if mounted to something -->
  <link name="world"/>

  <!--abb_robot robot-->
  <xacro:abb_robot hardware_interface="$(arg hardware_interface)" robot_name="$(arg robot_name)" parent="world">
    <origin xyz="$(arg origin_xyz)" rpy="$(arg origin_rpy)" />
  </xacro:abb_robot>

</robot>

abb_robot.xacro:

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

  <!-- Import all Gazebo-customization elements, including Gazebo colors -->
  <xacro:include filename="$(find abb_robot_model)/urdf/abb_robot.gazebo.xacro" />
  <xacro:include filename="$(find abb_robot_model)/urdf/_d435i.gazebo.xacro" />
  <xacro:include filename="$(find abb_robot_model)/urdf/_d435i.urdf.xacro" />
  <xacro:include filename="$(find abb_robot_model)/urdf/tracker.xacro" />
  <!-- Import Transmissions -->
  <xacro:include filename="$(find abb_robot_model)/urdf/abb_robot.transmission.xacro" />

  <!-- Include Utilities -->
  <xacro:include filename="$(find abb_robot_model)/urdf/utilities.xacro" />

  <!-- some constants -->
  <xacro:property name="safety_controller_k_pos" value="100" />
  <xacro:property name="safety_controller_k_vel" value="2" />
  <xacro:property name="joint_damping" value="0.5" />
  <xacro:property name="max_effort" value="300"/>
  <xacro:property name="max_velocity" value="10"/>

  <xacro:macro name="abb_robot" params="parent hardware_interface robot_name *origin">

  <!--joint between {parent} and mobilePlatform-->
    <joint name="${parent}_${robot_name}_joint" type="fixed">
      <xacro:insert_block name="origin"/>
      <parent link="${parent}"/>
      <child link="${robot_name}_mobilePlatform"/>
    </joint>

    <link name="${robot_name}_mobilePlatform">
      <inertial>
    <origin xyz="-2.4 0.92 -2.5" rpy="1.57 0 0"/>
    <mass value="2"/>
    <inertia ixx="0.001"  ixy="0"  ixz="0" iyy="0.001" iyz="0" izz="0.001" />
      </inertial>

      <visual>
    <origin xyz="-2.4 0.92 -2.5" rpy="1.57 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/tools/mobilePlatform.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

    </link>

    <!--joint between {parent} and link_0-->
    <joint name="${robot_name}_mobilePlatform" type="fixed">
      <xacro:insert_block name="origin"/>
      <parent link="${robot_name}_mobilePlatform"/>
      <child link="${robot_name}_link_0"/>
    </joint>

    <link name="${robot_name}_link_0">
      <inertial>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <mass value="0.050"/>
    <inertia ixx="0.001"  ixy="0"  ixz="0" iyy="0.001" iyz="0" izz="0.001" />
      </inertial>

      <visual>
    <origin xyz="-0.72643375 -0.395 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_0.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="-0.72643375 -0.395 0" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_0_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>

      <self_collision_checking>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <capsule radius="0.15" length="0.25"/>
    </geometry>
      </self_collision_checking>

    </link>

    <!-- joint between link_0 and link_1 -->
    <joint name="${robot_name}_joint_1" type="revolute">
      <parent link="${robot_name}_link_0"/>
      <child link="${robot_name}_link_1"/>
      <origin xyz="0 0 0.630" rpy="0 0 0"/>
      <axis xyz="0 0 1"/>
      <limit lower="${-180.0 * PI / 180}" upper="${180.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-179.5 * PI / 180}"
             soft_upper_limit="${179.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_1">
      <inertial>
    <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
    <mass value="0.050"/>
    <inertia ixx="0.005"  ixy="0"  ixz="0" iyy="0.005" iyz="0" izz="0.005" />
      </inertial>

      <visual>
    <origin xyz="-0.331 -0.4645 -0.630" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_1.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="-0.331 -0.4645 -0.630" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_1_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <!-- joint between link_1 and link_2 -->
    <joint name="${robot_name}_joint_2" type="revolute">
      <parent link="${robot_name}_link_1"/>
      <child link="${robot_name}_link_2"/>
      <origin xyz="0.60 0.0 0.0" rpy="0 0 0"/>
      <axis xyz="0 1 0"/>
      <limit lower="${-40.0 * PI / 180}" upper="${160.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-39.5 * PI / 180}"
             soft_upper_limit="${159.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_2">
      <inertial>
    <origin xyz="0.0 0.060 0.0" rpy="0 0 0"/>
    <mass value="0.050"/>
    <inertia ixx="0.005"  ixy="0"  ixz="0" iyy="0.005" iyz="0" izz="0.005" />
      </inertial>

      <visual>
    <origin xyz="-.60 -.45 -.630" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_2.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="-.60 -.45 -.630" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_2_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <!-- joint between link_2 and link_3 -->
    <joint name="${robot_name}_joint_3" type="revolute">
      <parent link="${robot_name}_link_2"/>
      <child link="${robot_name}_link_3"/>
      <origin xyz="0 0 1.280" rpy="0 0 0"/>
      <axis xyz="0 1 0"/>
      <limit lower="${-180.0 * PI / 180}" upper="${70.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-179.5 * PI / 180}"
             soft_upper_limit="${69.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_3">
      <inertial>
    <origin xyz="0.030 0.020 0.0" rpy="0 0 0"/>
    <mass value="0.050"/>
    <inertia ixx="0.005"  ixy="0"  ixz="0" iyy="0.005" iyz="0" izz="0.005" />
      </inertial>

      <visual>
    <origin xyz="-.6 -.28 ${-.63-1.28}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_3.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="-.6 -.28 ${-.63-1.28}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_3_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <!-- joint between link_3 and link_4 -->
    <joint name="${robot_name}_joint_4" type="revolute">
      <parent link="${robot_name}_link_3"/>
      <child link="${robot_name}_link_4"/>
      <origin xyz="0.0 0.0 0.20" rpy="0 0 0"/>
      <axis xyz="1 0 0"/>
      <limit lower="${-300.0 * PI / 180}" upper="${300.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-299.5 * PI / 180}"
             soft_upper_limit="${299.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_4">
      <inertial>
    <origin xyz="0 0.067 0.034" rpy="0 0 0"/>
    <mass value="2.7"/>
    <inertia ixx="0.03"  ixy="0"  ixz="0" iyy="0.01" iyz="0" izz="0.029" />
      </inertial>

      <visual>
    <origin xyz="-.6 -0.187 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_4.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="-.6 -0.187 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_4_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <!-- joint between link_4 and link_5 -->
    <joint name="${robot_name}_joint_5" type="revolute">
      <parent link="${robot_name}_link_4"/>
      <child link="${robot_name}_link_5"/>
      <origin xyz="1.142 0 0" rpy="0 0 0"/>
      <axis xyz="0 1 0"/>
      <limit lower="${-120.0 * PI / 180}" upper="${120.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-119.5 * PI / 180}"
             soft_upper_limit="${119.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_5">
      <inertial>
    <origin xyz="0.0 0.0 0.055" rpy="0 0 0"/>
    <mass value="0.025"/>
    <inertia ixx="0.001"  ixy="0"  ixz="0" iyy="0.001" iyz="0" izz="0.001" />
      </inertial>

      <visual>
    <origin xyz="${-.6-1.142} -0.093 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_5.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="${-.6-1.142} -0.093 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_5_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <!-- joint between link_5 and link_6 -->
    <joint name="${robot_name}_joint_6" type="revolute">
      <parent link="${robot_name}_link_5"/>
      <child link="${robot_name}_link_6"/>
      <origin xyz="0.20 0 0" rpy="0 0 0"/>
      <axis xyz="1 0 0"/>
      <limit lower="${-360.0 * PI / 180}" upper="${360.0 * PI / 180}"
         effort="${max_effort}" velocity="${max_velocity}" />
      <safety_controller soft_lower_limit="${-359.5 * PI / 180}"
             soft_upper_limit="${359.5 * PI / 180}"
             k_position="${safety_controller_k_pos}"
             k_velocity="${safety_controller_k_vel}"/>
      <dynamics damping="${joint_damping}"/>
    </joint>

    <link name="${robot_name}_link_6">
      <inertial>
    <origin xyz="0.0125 0.0 0.0" rpy="0 0 0"/>
    <mass value="0.010"/>
    <inertia ixx="0.001"  ixy="0"  ixz="0" iyy="0.001" iyz="0" izz="0.001" />
      </inertial>

      <visual>
    <origin xyz="${-.6-1.142-.2} -0.10 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/link_6.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </visual>

      <collision>
    <origin xyz="${-.6-1.142-.2} -0.10 ${-.63-1.28-.2}" rpy="0 0 0"/>
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/collision/link_6_hull.stl" scale="0.001 0.001 0.001"/>
    </geometry>
    <material name="Grey"/>
      </collision>
    </link>

    <joint name="${robot_name}_joint_endeffector" type="fixed">
      <parent link="${robot_name}_link_6"/>
      <child link="${robot_name}_link_endEffector"/>
      <origin xyz="0 0 0" rpy="0 0 0"/>
    </joint>

    <link name="${robot_name}_link_endEffector">
      <inertial>
    <origin xyz="0.0 0.0 0.0150" rpy="0 0 0"/>
    <mass value="0.010"/>
    <inertia ixx="000"  ixy="0"  ixz="0" iyy="0000" iyz="0" izz="000" />
        </inertial>

        <visual>
    <origin xyz="0 -0.003 0" rpy="0 0 0"/> <!-- x=front y=right z=up-->
    <geometry>
      <mesh filename="package://abb_robot_model/urdf/meshes/visual/tools/gripper.stl" />
    </geometry>
    <material name="Grey"/>
        </visual>
      </link>
    <xacro:include filename="$(find abb_robot_model)/urdf/_d435i.urdf.xacro"/>
     <sensor_d435i parent="${robot_name}_link_4">
        <origin xyz="0.95 -0.003 5" rpy="0 0 0"/>   <!-- x= front y=right z= up-->
      </sensor_d435i>
    <xacro:realsense_T265 sensor_name="camerat265" parent_link="${robot_name}_link_4" rate="30.0">

    <origin rpy="0 0 0" xyz="1 -0.005 5"/>
    <!--origin rpy="0 0 0" xyz="1 -0.005 0.1"/-->
    </xacro:realsense_T265> 

    <!--Extensions -->
    <xacro:abb_robot_gazebo robot_name="${robot_name}" />
    <xacro:abb_robot_transmission hardware_interface="${hardware_interface}"/>

  </xacro:macro>

</robot>

config file: gazeboroscontrol_params.yaml

abb_robot:

 gazebo_ros_control:
  pid_gains:
      abb_robot_joint_1:
        p: 100
        d: 1
        i: 1
        i_clamp: 1
      abb_robot_joint_2:
        p: 100
        d: 1
        i: 1
        i_clamp: 1
      abb_robot_joint_3:
        p: 100
        d: 1
        i: 1
        i_clamp: 1
      abb_robot_joint_4:
        p: 100
        d: 1
        i: 1
        i_clamp: 1
      abb_robot_joint_5:
        p: 100
        d: 1
        i: 1
        i_clamp: 1
      abb_robot_joint_6:
        p: 100
        d: 1
        i: 1
        i_clamp: 1 

joint_limits:
  abb_robot_joint_1:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0
  abb_robot_joint_2:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0
  abb_robot_joint_3:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0
  abb_robot_joint_4:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0
  abb_robot_joint_5:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0
  abb_robot_joint_6:
    has_velocity_limits: true
    max_velocity: 10
    has_acceleration_limits: false
    max_acceleration: 0

Asked by Huma on 2020-12-13 00:43:26 UTC

Comments

Answers