ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

Topics [odom] and [cmd_vel] not existing

asked 2020-03-09 17:43:58 -0600

John999991 gravatar image

updated 2020-03-09 17:45:18 -0600

Dear all, I am spawning a 2 wheel robot and will try to manage its movement through commands on cmd_vel topic. The problem is that although I have defined differential_drive_controller and gazebo_ros_control in my urdf, I cannot see any topic odom or cmd_vel after I issue rostopic list.

I am sure the mistake is small but I cannot locate it... Any help appreciated !

URDF

<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from robot.xacro                    | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="robot" xmlns:xacro="http://www.ros.org/wiki/xacro">
  <!--This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com) 
     Commit Version: 1.5.1-0-g916b5db  Build Version: 1.5.7152.31018
     For more information, please see http://wiki.ros.org/sw_urdf_exporter -->

  <link name="world" />
  <joint name="world_to_base_link=" type="fixed">
    <parent link="world"/>
    <child link="base_link"/>
  </joint>

  <link name="base_link">
    <inertial>
      <origin xyz="0.00390777224516517 -0.032446267219719 0.184169550820421" rpy="0 0 0" />
      <mass value="4.20121630268732" />
      <inertia ixx="0.0149000386129946" ixy="-4.66831001352174E-09" ixz="5.23920338795194E-08" iyy="0.0234359493013497" iyz="0.000771538751024883" izz="0.0286744535302635" />
    </inertial>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://robot/meshes/base_link.STL" />
      </geometry>
      <material name="">
        <color rgba="0.529411764705882 0.549019607843137 0.549019607843137 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://robot/meshes/base_link.STL" />
      </geometry>
    </collision>
  </link>




  <link name="FL">
    <inertial>
      <origin xyz="-5.55111512312578E-17 9.10729824887824E-18 -6.93889390390723E-18" rpy="0 0 0" />
      <mass value="0.0615219544751675" />
      <inertia ixx="5.54433425808419E-05" ixy="-1.45453466603006E-20" ixz="-1.00225538664655E-21" iyy="3.00921775305435E-05" iyz="2.309188417276E-21" izz="3.00921775305435E-05" />
    </inertial>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://robot/meshes/FL.STL" />
      </geometry>
      <material name="">
        <color rgba="0.298039215686275 0.298039215686275 0.298039215686275 1" />
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="package://robot/meshes/FL.STL" />
      </geometry>
      <surface>
        <friction>
          <ode>
          <mu>100.0</mu>
          <mu2>100.0</mu2>
          </ode>
        </friction>
                <contact>
                  <ode><min_depth>0.003</min_depth></ode>
                </contact>
      </surface>
    </collision>
  </link>




  <joint name="FLJ" type="continuous">
    <origin rpy="1.5707963267949 0 0" xyz="-0.162088045105054 0.0440194465480433 -0.0035605397876617"/>
    <parent link="base_link"/>
    <child link="FL"/>
    <axis xyz="-1 0 0"/>
  </joint>
  <link name="FR">
    <inertial>
      <origin rpy="0 0 0" xyz="2.77555756156289E-17 -5.3776427755281E-17 3.46944695195361E-17"/>
      <mass value="0.0615219544751675"/>
      <inertia ixx="5.54433425808419E-05" ixy="-1.73616162087809E-20" ixz="-8.97406720914896E-21" iyy="3.00921775305435E-05" iyz="-2.24902265994014E-21" izz="3.00921775305435E-05"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 ...
(more)
edit retag flag offensive close merge delete

Comments

just a guess: you're specifiying the robotNamespace to be /robot. I would expect all topics to show up under this namespace then... Maybe check where the published topics from gazebo actually are with rosnode info /gazebo...

mgruhler gravatar image mgruhler  ( 2020-03-10 02:19:11 -0600 )edit

Do you get errors when launching? If so, can you post them here? Is the controller manager running and is the diff drive controller succesfully loaded?

Wilco Bonestroo gravatar image Wilco Bonestroo  ( 2020-03-10 11:40:35 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-03-10 13:48:47 -0600

John999991 gravatar image

The problem was the differential_drive_controller plugin. The correct one is shown bellow:

    <gazebo>
        <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">
            <alwaysOn>true</alwaysOn>
            <updateRate>40</updateRate>
            <legacyMode>false</legacyMode>
            <leftJoint>FLJ</leftJoint>
            <rightJoint>FRJ</rightJoint>
            <wheelSeparation>0.356</wheelSeparation>
            <wheelDiameter>0.075</wheelDiameter>
            <torque>15</torque>
            <commandTopic>cmd_vel</commandTopic>
            <odometryTopic>odom</odometryTopic>
            <odometryFrame>odom</odometryFrame>
            <robotBaseFrame>base_link</robotBaseFrame>
            <publishWheelTF>false</publishWheelTF>
            <publishWheelJointState>false</publishWheelJointState>
            <rosDebugLevel>na</rosDebugLevel>
            <wheelAcceleration>0</wheelAcceleration>
            <wheelTorque>15</wheelTorque>
            <odometrySource>world</odometrySource>
            <publishOdomTF>true</publishOdomTF>
            <publishTf>1</publishTf>
        </plugin>
</gazebo>
edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-03-09 17:43:58 -0600

Seen: 1,012 times

Last updated: Mar 10 '20