Robotics StackExchange | Archived questions

Xacro is not properly launched in Gazebo: missing link

Hi I am trying to simplify my model using xacro. My idea is to have a macro:xacro for all the truck wheels. At this moment I am just trying to create the first shaft front left wheel using xacro. The good news is that the left wheel link and the left wheel joint are created and visualized in Rviz!

image description

However in Gazebo the wheel and joint do not appear. I am going to share my urdf.xacro here as well as the launch files.

image description

The urdf:

    <?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="iaz_truck">
    <xacro:property name="tire_rad" value="2" />
    <xacro:property name="tire_len" value="6" />

  <link name="dummy">
  </link>


  <link name="base_link">
    <inertial>
      <mass value="1"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>

  <link
    name="chassis_link">
    <inertial>
      <origin
        xyz="-2.6 5.5 -2.375"
        rpy="0 0 0" />
      <mass
        value="706.504582027022" />
      <inertia
        ixx="39.450737574524"
        ixy="-0.0360220237393506"
        ixz="0.0791219230947013"
        iyy="53.8198880289704"
        iyz="-1.15911466511096"
        izz="40.3544359429485" />
    </inertial>
    <visual>
      <origin
        xyz="-2.6 5.5 -2.375"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://urdf_chassis_pkg/meshes/base_link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.250980392156863 0.250980392156863 0.250980392156863 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="-2.6 5.5 -2.375"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://urdf_chassis_pkg/meshes/base_link.STL" />
      </geometry>
    </collision>
  </link>

  <joint name="dummy_joint" type="fixed">
    <parent link="dummy"/>
    <child link="base_link"/>
  </joint>

  <joint name="base_link_connection" type="fixed">
    <parent link = "base_link"/>
    <child link= "chassis_link"/>
    <origin xyz="2 0 0.5" rpy= "0 0 1.57"/>
    <axis xyz="1 0 0"/>
  </joint>


<!-- Front link -->

 <link name = "front_link">
  <inertial>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <mass
        value="20" />
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <box size = "0.05 2.5 0.05 "/>
      </geometry>
      <material
        name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <box size = "0.1 2.0 0.1 "/>
      </geometry>
    </collision>
  </link>

<!-- Connection Chassis_Link to Front link -->

  <joint name="front_joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="front_link"/>
    <origin rpy="0 0 1.57079632679" xyz="-0.1 -3.6 0.030"/> 
  </joint>

<!--Steer Link : Link to connect Front Link and Ackermann Bar -->

  <link name="steer_link">
    <inertial>
      <mass value="5.0"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
       <material
        name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.003 0.01995 0.001"/>
      </geometry>
    </collision>
  </link>



<!-- Link Aligned with the steer direction to allow steering-->



<joint name="steer_joint" type="revolute">
    <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
    <axis xyz="0 0 1"/>
    <parent link="front_link"/>
    <child link="steer_link"/>
    <origin rpy="0 0 0" xyz="0.255 0.01 0.0"/>
</joint>



<!-- Ackermann bar link -->

  <link name = "ackermann_bar_link">
    <inertial>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <mass
        value="20" />
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <box size = "0.05 2.5 0.05"/>
      </geometry>
      <material
        name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <box size = "0.05 2.5 0.05"/>
      </geometry>
    </collision>
  </link>

 <!-- Joint to connect central steer link to ackermann steer bar -->

  <joint name="ackermann_joint" type="revolute">
      <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
      <axis xyz="0 0 1"/>
      <parent link="steer_link"/>
      <child link="ackermann_bar_link"/>
      <origin rpy="0 0 0" xyz="0.26 0.0 0.0"/>
  </joint>


<xacro:macro name="connection_bar" params="prefix" >

<!-- Left Steer Link to be connected within front link and left wheel -->

  <link name="front_${prefix}_bar_link">
    <inertial>
      <mass value="5.0"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
       <material
        name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
    </collision>
  </link>

  <!--Joint to connect front link and left steer bar link  -->

  <joint name="front_${prefix}_bar_joint" type="revolute">
      <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
      <axis xyz="0 0 1"/>
      <parent link="front_link"/>
      <child link="front_${prefix}_bar_link"/>
      <origin rpy="0 0 0" xyz="0.26 -1.1 0.0"/>
  </joint>


  <!-- Link to connect front link to left wheel allowing yaw move for wheel-->

  <link name="front_${prefix}_wheel_link">
    <inertial>
      <mass value="50" />
      <origin xyz="-0.5625 1.1 -5.386" rpy="0 0 -1.57079632679" />
      <inertia ixx="0.78" ixy="0.0" ixz="0.0" iyy="0.78" iyz="0.0" izz="0.87" />
    </inertial>

    <visual>
      <origin xyz="-0.5625 1.1 -5.386" rpy="0 0 -1.57079632679" />
      <geometry>
        <mesh scale= "0.001 0.001 0.001"
          filename="package://urdf_tutorial/meshes/truck_meshes/front_right_wheel.STL" />
      </geometry>
      <material name="color">
        <color rgba="0 0 0  1"/>
      </material>
    </visual>

    <collision>
      <origin xyz="-0.5625 1.1 -5.386" rpy="0 0 -1.57079632679" />
      <geometry>
        <cylinder radius="${tire_rad}" length="${tire_len}"/>
      </geometry>
    </collision>
  </link>

<!-- Joint to connect left wheel bar link to wheel link (tire) -->

  <joint name="front_${prefix}_wheel_joint" type="continuous">
    <parent link="front_${prefix}_bar_link"/>
    <child link="front_${prefix}_wheel_link"/>
    <origin rpy="0 0 0" xyz="0 0 0"/> 
    <axis xyz= "0 1 0" />
    <mu1 value = "200.0" />
    <mu2 value = "100" />
    <kp value = "10000000.0" />
    <kd value = "1.0" />      
    <limit effort="10000" velocity="1000" />
    <joint_properties damping="1.0" friction="1.0" />
  </joint>
  </xacro:macro>
  <xacro:connection_bar prefix="left"/>



</robot>

The launch file to open in Rviz

    <launch>

  <arg name="model" default="$(find iaz_truck_pkg)/urdf/iaz_truck.urdf.xacro"/>
  <arg name="gui" default="true" />
  <arg name="rvizconfig" default="$(find iaz_truck_pkg)/rviz/urdf.rviz" />

  <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find iaz_truck_pkg)/urdf/iaz_truck.urdf.xacro'"/>

  <node if="$(arg gui)" name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
  <node unless="$(arg gui)" name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" />

</launch>

The launch file to open the truck in Gazebo

<launch>
  <include
    file="$(find urdf_tutorial)/launch/empty_world.launch" />
  <node
    name="tf_footprint_base"
    pkg="tf"
    type="static_transform_publisher"
    args="0 0 0 0 0 0 base_link base_footprint 40" />
  <node
    name="spawn_model"
    pkg="gazebo_ros"
    type="spawn_model"
    args="-file $(find iaz_truck_pkg)/urdf/iaz_truck.urdf.xacro -urdf -model iaz_truck"
    output="screen" />
  <node
    name="fake_joint_calibration"
    pkg="rostopic"
    type="rostopic"
    args="pub /calibrated std_msgs/Bool true" />
</launch>

The output of command:

rosrun xacro xacro src/iaz_truck_pkg/urdf/iaz_truck.urdf.xacro

    <?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from src/iaz_truck_pkg/urdf/iaz_truck.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="iaz_truck">
  <link name="dummy">
  </link>
  <link name="base_link">
    <inertial>
      <mass value="1"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="chassis_link">
    <inertial>
      <origin rpy="0 0 0" xyz="-2.6 5.5 -2.375"/>
      <mass value="706.504582027022"/>
      <inertia ixx="39.450737574524" ixy="-0.0360220237393506" ixz="0.0791219230947013" iyy="53.8198880289704" iyz="-1.15911466511096" izz="40.3544359429485"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="-2.6 5.5 -2.375"/>
      <geometry>
        <mesh filename="package://urdf_chassis_pkg/meshes/base_link.STL"/>
      </geometry>
      <material name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-2.6 5.5 -2.375"/>
      <geometry>
        <mesh filename="package://urdf_chassis_pkg/meshes/base_link.STL"/>
      </geometry>
    </collision>
  </link>
  <joint name="dummy_joint" type="fixed">
    <parent link="dummy"/>
    <child link="base_link"/>
  </joint>
  <joint name="base_link_connection" type="fixed">
    <parent link="base_link"/>
    <child link="chassis_link"/>
    <origin rpy="0 0 1.57" xyz="2 0 0.5"/>
    <axis xyz="1 0 0"/>
  </joint>
  <!-- Front link -->
  <link name="front_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="20"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.05 2.5 0.05 "/>
      </geometry>
      <material name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.1 2.0 0.1 "/>
      </geometry>
    </collision>
  </link>
  <!-- Connection Chassis_Link to Front link -->
  <joint name="front_joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="front_link"/>
    <origin rpy="0 0 1.57079632679" xyz="-0.1 -3.6 0.030"/>
  </joint>
  <!--Steer Link : Link to connect Front Link and Ackermann Bar -->
  <link name="steer_link">
    <inertial>
      <mass value="5.0"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
      <material name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.003 0.01995 0.001"/>
      </geometry>
    </collision>
  </link>
  <!-- Link Aligned with the steer direction to allow steering-->
  <joint name="steer_joint" type="revolute">
    <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
    <axis xyz="0 0 1"/>
    <parent link="front_link"/>
    <child link="steer_link"/>
    <origin rpy="0 0 0" xyz="0.255 0.01 0.0"/>
  </joint>
  <!-- Ackermann bar link -->
  <link name="ackermann_bar_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="20"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.05 2.5 0.05"/>
      </geometry>
      <material name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.05 2.5 0.05"/>
      </geometry>
    </collision>
  </link>
  <!-- Joint to connect central steer link to ackermann steer bar -->
  <joint name="ackermann_joint" type="revolute">
    <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
    <axis xyz="0 0 1"/>
    <parent link="steer_link"/>
    <child link="ackermann_bar_link"/>
    <origin rpy="0 0 0" xyz="0.26 0.0 0.0"/>
  </joint>
  <!-- Left Steer Link to be connected within front link and left wheel -->
  <link name="front_left_bar_link">
    <inertial>
      <mass value="5.0"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
      <material name="">
        <color rgba="0.250980392156863 0.250980392156863 0.250980392156863 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0"/>
      <geometry>
        <box size="0.475 0.05 0.05"/>
      </geometry>
    </collision>
  </link>
  <!--Joint to connect front link and left steer bar link  -->
  <joint name="front_left_bar_joint" type="revolute">
    <limit effort="100" lower="-0.5" upper="0.5" velocity="10"/>
    <axis xyz="0 0 1"/>
    <parent link="front_link"/>
    <child link="front_left_bar_link"/>
    <origin rpy="0 0 0" xyz="0.26 -1.1 0.0"/>
  </joint>
  <!-- Link to connect front link to left wheel allowing yaw move for wheel-->
  <link name="front_left_wheel_link">
    <inertial>
      <mass value="50"/>
      <origin rpy="0 0 -1.57079632679" xyz="-0.5625 1.1 -5.386"/>
      <inertia ixx="0.78" ixy="0.0" ixz="0.0" iyy="0.78" iyz="0.0" izz="0.87"/>
    </inertial>
    <visual>
      <origin rpy="0 0 -1.57079632679" xyz="-0.5625 1.1 -5.386"/>
      <geometry>
        <mesh filename="package://urdf_tutorial/meshes/truck_meshes/front_right_wheel.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="color">
        <color rgba="0 0 0  1"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 -1.57079632679" xyz="-0.5625 1.1 -5.386"/>
      <geometry>
        <cylinder length="6" radius="2"/>
      </geometry>
    </collision>
  </link>
  <!-- Joint to connect left wheel bar link to wheel link (tire) -->
  <joint name="front_left_wheel_joint" type="continuous">
    <parent link="front_left_bar_link"/>
    <child link="front_left_wheel_link"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="0 1 0"/>
    <mu1 value="200.0"/>
    <mu2 value="100"/>
    <kp value="10000000.0"/>
    <kd value="1.0"/>
    <limit effort="10000" velocity="1000"/>
    <joint_properties damping="1.0" friction="1.0"/>
  </joint>
</robot>

The output of command:

check_urdf iaz_truck.urdf.xacro

robot name is: iaz_truck
---------- Successfully Parsed XML ---------------
root Link: dummy has 1 child(ren)
    child(1):  base_link
        child(1):  chassis_link
            child(1):  front_link
                child(1):  steer_link
                    child(1):  ackermann_bar_link

Asked by Vini71 on 2022-05-18 11:50:55 UTC

Comments

Answers

Just to check in Gazebo:

Can you go to view->collisions and turn that on? It's in the top toolbar in Gazebo. That turns on the collision boxes. If the wheel is in Gazebo, but not visible for some reason, you should see it appear in transparent orange.

In that case it's probably your stl that Gazebo can't find for one reason or another.

Asked by Joe28965 on 2022-05-19 06:19:37 UTC

Comments

Hi, Joe unfortunately it didn't work:

check here please: https://ibb.co/MPD605g

In the left bar, the link front_left_wheel_link and the joint front_left_wheel_joint specified in URDF were not created.

Guess there is something needed to be enabled for Gazebo? add something in launch file or in xacro ?

Asked by Vini71 on 2022-05-19 10:24:36 UTC

Could you run $LC_NUMERIC in your terminal and give me the output?

Asked by Joe28965 on 2022-05-20 02:50:33 UTC

sure, Joe. if I run:

$LC_NUMERIC

It returns nothing and the shell becomes prepared for the next command.

If I run

LC_NUMERIC

then the output is: bash: LC_NUMERIC: command not found

Actually, I have seen that this command is related to languages and symbols right? My Linux is in Portuguese, but does this affect something in bash? Does something affect Gazebo? It has not found the command...so must I install some library to run this command? WHICH? I have not found on internet what could be installed to be able to run this command...Thanks in advance.

Asked by Vini71 on 2022-05-20 10:08:14 UTC

It's really weird that it doesn't return anything. Try

export LC_NUMERIC="en_US.UTF-8"

and (in the same terminal) run Gazebo. If that works. add that line to your bashrc

Asked by Joe28965 on 2022-05-20 10:12:01 UTC

And yes, it has to do with language and how it interprets stuff. Which is one of the many reasons I prefer to install all my software (including OS) in English.

Asked by Joe28965 on 2022-05-20 10:13:16 UTC

Interesting Joe, thanks for the class. Unfortunately, nothing changed in Gazebo exporting this args in terminal or adding to bash...

Do you know if is possible to change the language of the OS after it has already been installed in another language? I do not wish to backup, format, and reinstall Linux again...

About the xacro... other solution you can think of? Is this xacro-macro from my urdf correct? What do you guess? missing some property of gazebo (mandatory to be included? I have read something about this...)

Asked by Vini71 on 2022-05-20 12:20:53 UTC

You could try and run the Set locale portion of the Foxy installation. See if that helps.

I don't know if it's possible to change the language. Honestly that might be worth googling as an Ubuntu problem.

As for some missing URDF thing. I checked that you had inertial included, that's a big one that can be a pain. You might also want to replace continuous for the joint with revolute and change the limit line to <limit lower="-1e+16" upper="1e+16" effort="10000" velocity="1000"/> (also, you might want to give effort and velocity realistic values while you're at it). It's basically the same thing. continuous joints don't technically exist in Gazebo. It's just a revolute joint with the limits set to those values. I've had weird issues with continuous joints in the past and stopped using them.

Asked by Joe28965 on 2022-05-20 12:32:03 UTC

You can also try to add extra_gazebo_args:="--verbose" to the end of your command when you start your launch file (roslaunch package launchfile extra_gazebo_args:="--verbose"

Asked by Joe28965 on 2022-05-20 12:33:15 UTC

Thanks for the reply Joe! Joe about the joints you are right I have replaced my joint = front_${prefix}_wheel_joint type from continuous to revolute. And is defined as below:

  <joint name="front_${prefix}_wheel_joint" type= "revolute">
    <parent link="front_${prefix}_bar_link"/>
    <child link="front_${prefix}_wheel_link"/>
    <origin rpy="0 0 0" xyz="0 0 0"/> 
    <axis xyz= "0 1 0" />
    <mu1 value = "200.0" />
    <mu2 value = "100" />
    <kp value = "10000000.0" />
    <kd value = "1.0" />      
    <limit lower="-3.14159265359" upper="3.14159265359" effort="10000" velocity="1000" />
    <joint_properties damping="1.0" friction="1.0" />
  </joint>

It had the same behavior as turning the wheel in RVIZ. However, it still does not appear in Gazebo. Launching in Gazebo in debug mode as you suggested: roslaunch iaz_truck_pkg gazebo.launch extra_gazebo_args:="--verbose" nothing different happened in the terminal or Gazebo

Asked by Vini71 on 2022-05-20 12:47:56 UTC

So I decided to quickly boot into Ubuntu and see if I could get your URDF to spawn on my pc, which I can (I had to replace the STL with simple boxes, of course). Which means that it is almost assuredly not your URDF, but instead your Ubuntu.

Have you tried that first part of the Foxy installation, that I send you? Setting up locales? Have you rebooted after and checked by running locale again that it's still set?

Asked by Joe28965 on 2022-05-20 14:12:39 UTC

Hi Joe sorry for the late reply. Thanks very much for your effort! However it did not work for my ROS-Noetic-gazebo...Yes I have installed the "set-locale" pkgs converted my ubuntu 20.04 to English language and ran the "locale" after reboot:

LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

I ran:

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

Unfortunately, Gazebo opens the xacro without the wheel and joint. What do you suggest?

Asked by Vini71 on 2022-05-23 17:53:43 UTC

At this point, it might be wise to post the question at answers.gazebosim.org, since it seems to be a Gazebo issue and they're better equipped to answer these kind of questions.

The weird part is, looking at the second image (where the truck is at a 30 degree angle) it looks like there is something there. Something that is causing the collision. However, if you say that you don't see a transparent orange cylinder appear when going to view-collisions then I don't know why it's at that angle.

Asked by Joe28965 on 2022-05-24 01:24:07 UTC

Thanks, Joe I have submitted the issue here if you wish to follow: https://answers.gazebosim.org/question/28161/gazebo-is-not-displaying-xacro-joints-links-ros-noetic/

Do you think the Reinstallation of ROS, gazebo, or installation of some plugin could fix the issue?

I tried to use different meshes or use just primitives geometries instead the meshes in my xacro, but unfortunately, they also did not appear in Gazebo...

I checked again the collision (orange screen) no sign of a transparent cylinder...

Asked by Vini71 on 2022-05-24 13:29:03 UTC

I don't think a reinstallation will work, but I also don't think it will take that long to do, so it's always worth a shot. If you're going to try it, I'd reinstall both ROS and Gazebo, just to make sure. Uninstall them both first and then install them both.

Asked by Joe28965 on 2022-05-25 01:31:08 UTC