RVIZ Error: Global Status Warn and No Tf data
I am using ROS melodic with Ubuntu 18.04 on VM and also ROS Kinetic on Ubuntu 16.04. I had been following a video tutorial on youtube [https://www.youtube.com/watch?v=J6Mu1P6FlxY] which introduces to ROS-Industrial 101 and works with Motoman sia10f and UR5 robot.
I have copied the necessary files from GitHub as there was no option of cloning to the specific packages under catkin/src as mentioned in the video.
After launching the launch file RVIZ gets opened and as per the video I should get a list of all my links in the fixed frame drop down list but i dont get any list and moreover my Global Status shows warning and also it dispalys that there is no tf data
I have .stl files in my mesh could that be a problem. I dont know where i could possibly be making mistake because I have crossed checked the codes many times and it seems to be correct.
This is the image I should be getting in my RVIZ
this is my launch file (myrobot.launch),
<launch>
<arg name="gui" default="true"/>
<param name = "robot_description" command="$(find xacro)/xacro --inorder '$(find my_robot_description)/urdf/my_robot.xacro'" />
<node name="rviz" pkg ="rviz" type="rviz" if="$(arg gui)"/>
this is my xacro file (my_robot.xacro)
> <?xml version ="1.0"?>
<robot name = "my_robot" xmlns:xacro="https://ros.org/wiki/xacro">
<xacro:include filename="$(find sia10f_description)/urdf/sia10f_macro.xacro"/>
<xacro:motoman_sia10f prefix=""/>
<link name="world"/>
<link name="camera_frame"/>
<link name ="table">
<visual>
<geometry>
<box size="1 1 0.05"/>
</geometry>
</visual>
<collision>
<geometry>
<box size="1 1 0.05"/>
</geometry>
</collision>
</link>
<joint name="world_to_table" type="fixed">
<parent link="world"/>
<child link="table"/>
<origin xyz="0 0 0.5" rpy="0 0 0"/>
</joint>
<joint name="world_to_camera" type="fixed">
<parent link="world"/>
<child link="camera_frame"/>
<origin xyz="0 0 1.0" rpy="0 1.571 0"/>
</joint>
<joint name="table_to_robot" type="fixed">
<parent link="table"/>
<child link="base_link"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
</joint>
</robot>
and this my macro xacro file (sia10f_macro.xacro)
<?xml version="1.0" ?>
<robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="motoman_sia10f" params="prefix">
<!-- link list -->
<link name="${prefix}base_link">
<visual>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_base.stl" />
</geometry>
<material name="blue">
<color rgba="0 0 1 1"/>
</material>
</visual>
<collision>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_base.stl" />
</geometry>
<material name="yellow">
<color rgba="0 1 1 1"/>
</material>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_s">
<visual>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_s.stl"/>
</geometry>
<material name="silver">
<color rgba="0.8 0.8 0.8 1"/>
</material>
</visual>
<collision>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_s.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_l">
<visual>
<origin rpy="1.57 3.1416 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_l.stl"/>
</geometry>
<material name="blue"/>
</visual>
<collision>
<origin rpy="1.57 3.1416 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_l.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_e">
<visual>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_e.stl"/>
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin rpy="0 0 3.1415" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_e.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_u">
<visual>
<origin rpy="1.57 -3.1415 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_u.stl"/>
</geometry>
<material name="blue"/>
</visual>
<collision>
<origin rpy="1.57 -3.1415 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_u.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_r">
<visual>
<origin rpy="0 0 3.1416" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_r.stl"/>
</geometry>
<material name="silver"/>
</visual>
<collision>
<origin rpy="0 0 3.1416" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_r.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_b">
<visual>
<origin rpy="-1.57 0 3.1416" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_b.stl"/>
</geometry>
<material name="blue"/>
</visual>
<collision>
<origin rpy="-1.57 0 3.1416" xyz="0 0 0"/>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_b.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_t">
<visual>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/visual/motoman_axis_t.stl" />
</geometry>
<material name="silver"/>
</visual>
<collision>
<geometry>
<mesh filename="package://sia10f_description/meshes/sia10f/collision/motoman_axis_t.stl" />
</geometry>
<material name="yellow"/>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0" />
<mass value="1" />
<inertia
ixx="1.0" ixy="0.0" ixz="0.0"
iyy="1.0" iyz="0.0"
izz="1.0" />
</inertial>
</link>
<link name="${prefix}link_tool0" />
<!-- end of link list -->
<!-- joint list -->
<joint name="${prefix}joint_s" type="revolute">
<parent link="${prefix}base_link"/>
<child link="${prefix}link_s"/>
<origin xyz="0 0 0.36" rpy="0 0 0"/>
<axis xyz="0 0 1" />
<limit lower="-3.1415" upper="3.1415" effort="0" velocity="2.9670" />
</joint>
<joint name="${prefix}joint_l" type="revolute">
<parent link="${prefix}link_s"/>
<child link="${prefix}link_l"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 1 0" />
<limit lower="-1.9198" upper="1.9198" effort="0" velocity="2.9670" />
</joint>
<joint name="${prefix}joint_e" type="revolute">
<parent link="${prefix}link_l"/>
<child link="${prefix}link_e"/>
<origin xyz="0 0 0.36" rpy="0 0 0"/>
<axis xyz="0 0 1" />
<limit lower="-2.9670" upper="2.9670" effort="0" velocity="2.9670" />
</joint>
<joint name="${prefix}joint_u" type="revolute">
<parent link="${prefix}link_e"/>
<child link="${prefix}link_u"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 -1 0" />
<limit lower="-2.3561" upper="2.3561" effort="0" velocity="2.9670" />
</joint>
<joint name="${prefix}joint_r" type="revolute">
<parent link="${prefix}link_u"/>
<child link="${prefix}link_r"/>
<origin xyz="0 0 0.360" rpy="0 0 0"/>
<axis xyz="0 0 -1" />
<limit lower="-3.1415" upper="3.1415" effort="0" velocity="3.4906" />
</joint>
<joint name="${prefix}joint_b" type="revolute">
<parent link="${prefix}link_r"/>
<child link="${prefix}link_b"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<axis xyz="0 -1 0" />
<limit lower="-1.9198" upper="1.9198" effort="0" velocity="3.4906" />
</joint>
<joint name="${prefix}joint_t" type="revolute">
<parent link="${prefix}link_b"/>
<child link="${prefix}link_t"/>
<origin xyz="0 0 0.155" rpy="0 0 0"/>
<axis xyz="0 0 -1" />
<limit lower="-3.1415" upper="3.1415" effort="0" velocity="6.9813" />
</joint>
<joint name="${prefix}joint_tool0" type="fixed" >
<origin xyz="0 0 0.0" rpy="0 0 -3.1415926535"/>
<parent link="${prefix}link_t" />
<child link="${prefix}link_tool0" />
</joint>
<!-- end of joint list -->
<!-- ROS base_link (via link_l) to Motoman Robot (not Base) Frame transform -->
<link name="${prefix}rworld" />
<joint name="${prefix}link_l-rworld" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0"/>
<parent link="${prefix}link_l"/>
<child link="${prefix}rworld"/>
</joint>
</xacro:macro>
</robot>
and after this i use the roslaunch command to launch my model in rVIZ roslaunch my_robot_description myrobot.launch
Note: I have tried the same on Melodic with Ubuntu 18.04, kinetic with Ubuntu 16.04 also on Ros Development Studios (RDS) and on Robot Ignite Academy but everywhere I get the same result.
Would be glad if someone can help me out!
Thanks !!
Asked by mkb_10062949 on 2019-07-11 12:07:12 UTC
Comments
Note: that video does not "introduce ROS-Industrial". It's a video tutorial by an external company that just happens to show you a model of an industrial robot.
I would also suggest to ask the Construct guys to support you, as they are the ones that produced that video.
Asked by gvdhoorn on 2019-07-11 12:20:06 UTC
Yes true, but they also provided the model of the robot which I copied from GitHub. Therefore, I think that should not be an issue
Asked by mkb_10062949 on 2019-07-11 22:59:40 UTC
What should "not be an issue"?
Asked by gvdhoorn on 2019-07-12 02:51:22 UTC
The issue is the topic that RVIZ doesn't load tf data, the fixed frame drop down list is empty and there is a warning in the global status after launching the launch file (myrobot.launch) in the terminal
Asked by mkb_10062949 on 2019-07-12 03:08:16 UTC