nilseuropa / realsense_ros_gazebo

Intel Realsense Tracking and Depth camera simulations
134 stars 46 forks source link

Conversion of sensor type[wideanglecamera] not supported. #2

Open belal-ibrahim opened 3 years ago

belal-ibrahim commented 3 years ago

I added D435i & T265 to my robot model. I did manage to view the topics after launching rviz. However when i launch Gazebo and spawn the model with gazebo_ros verbose activated! the gazebo isn't loading and i got this terminal output:

.. logging to /home/beraru/.ros/log/dd741336-42da-11eb-8077-9c305b2b6a57/roslaunch-beraru-20661.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.

started roslaunch server http://beraru:44115/

SUMMARY
========

PARAMETERS
 * /gazebo/enable_ros_network: True
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)

ROS_MASTER_URI=http://localhost:11311

process[gazebo-1]: started with pid [20676]
process[gazebo_gui-2]: started with pid [20679]
Gazebo multi-robot simulator, version 9.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Wrn] [GuiIface.cc:199] g/gui-plugin is really loading a SystemPlugin. To load a GUI plugin please use --gui-client-plugin 
Gazebo multi-robot simulator, version 9.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[ INFO] [1608483560.794112644]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1608483560.795562470]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.0.123
[ INFO] [1608483560.824383065]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1608483560.825728208]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.0.123
[ INFO] [1608483561.382881395]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1608483561.402083619, 0.007000000]: Physics dynamic reconfigure ready.
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.
[Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[ INFO] [1608483561.934558175, 0.151000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1608483561.936821315, 0.151000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[ INFO] [1608483561.938244531, 0.151000000]: Camera Plugin: Using the 'robotNamespace' param: '/'
[ INFO] [1608483561.940283582, 0.151000000]: Camera Plugin (ns = /)  <tf_prefix_>, set to ""
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[ INFO] [1608483561.944351223, 0.151000000]: <robotNamespace> set to: //
[ INFO] [1608483561.944391081, 0.151000000]: <topicName> set to: //camerat265/gyro/sample
[ INFO] [1608483561.944412847, 0.151000000]: <frameName> set to: camerat265_link
[ INFO] [1608483561.944444464, 0.151000000]: <updateRateHZ> set to: 10
[ INFO] [1608483561.944470398, 0.151000000]: <gaussianNoise> set to: 1e-06
[ INFO] [1608483561.944500579, 0.151000000]: <xyzOffset> set to: 0 0 0
[ INFO] [1608483561.944569666, 0.151000000]: <rpyOffset> set to: 0 -0 0
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
[Wrn] [msgs.cc:1852] Conversion of sensor type[wideanglecamera] not supported.
nilseuropa commented 3 years ago

Hi,

curious, never tried it on Gazebo-9, but that sensor type should be supported. Would you care to share your URDF?

belal-ibrahim commented 3 years ago

Hi, here is my xacro file:

 <?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/depthcam.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:arg name="use_nominal_extrinsics" default="true" />
  <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:sensor_d435i parent="${robot_name}_link_endEffector" use_nominal_extrinsics="$(arg use_nominal_extrinsics)">
        <origin xyz="0.09 -0.003 0.1" rpy="0 0 0"/>  
      </xacro:sensor_d435i>

      <xacro:realsense_T265 sensor_name="camerat265" parent_link="${robot_name}_link_endEffector" rate="30">
        <origin rpy="0 0 0" xyz="0.09 -0.005 0.05"/>
       </xacro:realsense_T265> 
       <!-- for testing purposes with different nominal extrinsics>
       <xacro:macro name="sensor_d435i" params="parent *origin name:=camera use_nominal_extrinsics:=false">
      <xacro:sensor_d435 parent="${robot_name}_link_endEffector" name="${name}" use_nominal_extrinsics="${use_nominal_extrinsics}">
      <xacro:insert_block name="origin" />
      </xacro:sensor_d435>
      <xacro:d435i_imu_modules name="${robot_name}_link_endEffector" use_nominal_extrinsics="${use_nominal_extrinsics}"/>
    </xacro:macro--> 
      <!--xacro:realsense_d435 sensor_name="d435" parent_link="${robot_name}_link_endEffector" rate="10">
        <origin rpy="0 0 0 " xyz="0.09 -0.003 0.1"/>
      </xacro:realsense_d435--> 
    <!--Extensions -->
    <xacro:abb_robot_gazebo robot_name="${robot_name}" />
    <xacro:abb_robot_transmission hardware_interface="${hardware_interface}"/>

  </xacro:macro>

</robot>
belal-ibrahim commented 3 years ago

most of the files in this link (https://bit.ly/2ILPflh)

janchk commented 1 year ago

The one of the possible causes to that problem may be the absence of some ROS packages such as ros-*distroname*-sensor-msgs.