Robotics StackExchange | Archived questions

Multiple Joints of Roboter [urdf]

Hello,

i created a simulation setup with a custom world and a downloaded robot model.

The simulation is starting, the world is getting loaded properly and i can even move the robot.

The problem: While running the launch-file, following error occurs:

[ INFO] [1669648130.886633542, 0.368000000]: Starting plugin DiffDrive(ns = //)
[ INFO] [1669648130.886734405, 0.368000000]: DiffDrive(ns = //): <rosDebugLevel> = Debug
[ INFO] [1669648130.887143564, 0.368000000]: DiffDrive(ns = //): <tf_prefix> = 
[DEBUG] [1669648130.887220346, 0.368000000]: DiffDrive(ns = //): <commandTopic> = cmd_vel
[DEBUG] [1669648130.887236392, 0.368000000]: DiffDrive(ns = //): <odometryTopic> = odom
[DEBUG] [1669648130.887252186, 0.368000000]: DiffDrive(ns = //): <odometryFrame> = map
[DEBUG] [1669648130.887268080, 0.368000000]: DiffDrive(ns = //): <robotBaseFrame> = base_link
[DEBUG] [1669648130.887312277, 0.368000000]: DiffDrive(ns = //): <publishWheelTF> = false
[ WARN] [1669648130.887328385, 0.368000000]: DiffDrive(ns = //): missing <publishOdomTF> default is true
[DEBUG] [1669648130.887344942, 0.368000000]: DiffDrive(ns = //): <publishWheelJointState> = true
[DEBUG] [1669648130.887391595, 0.368000000]: DiffDrive(ns = //): <wheelSeparation> = 0.5
[DEBUG] [1669648130.887410043, 0.368000000]: DiffDrive(ns = //): <wheelDiameter> = 0.20000000000000001
[DEBUG] [1669648130.887429776, 0.368000000]: DiffDrive(ns = //): <wheelAcceleration> = 2.7999999999999998
[DEBUG] [1669648130.887449171, 0.368000000]: DiffDrive(ns = //): <wheelTorque> = 10
[DEBUG] [1669648130.887467946, 0.368000000]: DiffDrive(ns = //): <updateRate> = 1000
[DEBUG] [1669648130.887521771, 0.368000000]: DiffDrive(ns = //): <odometrySource> = world := 1
[DEBUG] [1669648130.887557442, 0.368000000]: DiffDrive(ns = //): <leftJoint> = front_left_wheel_joint, rear_left_wheel_joint
[Err] [gazebo_ros_utils.cpp:135] EXCEPTION: DiffDrive(ns = //): couldn't get wheel hinge joint named front_left_wheel_joint, rear_left_wheel_joint

[Err] [Model.cc:1160] Exception occured in the Load function of plugin with name[diff_drive_controller] and filename[libgazebo_ros_diff_drive.so]. This plugin will not run.

Parts of my .urdf:

 <link name="rear_left_wheel">
    <inertial>
      <origin
        xyz="-4.1867E-18 0.0068085 -1.65658661799998E-18"
        rpy="0 0 0" />
      <mass value="2.6578" />
      <inertia
        ixx="0.00856502765719703"
        ixy="1.5074118157338E-19"
        ixz="-4.78150098725052E-19"
        iyy="0.013670640432096"
        iyz="-2.68136447099727E-19"
        izz="0.00856502765719703" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="1.5707963267949 0 0" />
      <geometry>
        <mesh filename="package://asap/meshes/wheel.stl" />
      </geometry>
      <material name="">
        <color rgba="0.79216 0.81961 0.93333 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="1.5707963267949 0 0" />
      <geometry>
        <mesh filename="package://asap/meshes/wheel.stl" />
      </geometry>
    </collision>
  </link>

  <gazebo>
    <plugin name="diff_drive_controller" filename="libgazebo_ros_diff_drive.so">
      <legacyMode>false</legacyMode>
      <alwaysOn>true</alwaysOn>
      <updateRate>1000.0</updateRate>
      <wheelSeparation>0.5</wheelSeparation>
      <wheelDiameter>0.2</wheelDiameter>
      <wheelTorque>10</wheelTorque>
      <publishTf>1</publishTf>
      <odometryFrame>map</odometryFrame>
      <commandTopic>cmd_vel</commandTopic>
      <odometryTopic>odom</odometryTopic>
      <robotBaseFrame>base_link</robotBaseFrame>
      <wheelAcceleration>2.8</wheelAcceleration>
      <publishWheelJointState>true</publishWheelJointState>
      <publishWheelTF>false</publishWheelTF>
      <odometrySource>world</odometrySource>
      <rosDebugLevel>Debug</rosDebugLevel>
      <leftJoint>front_left_wheel_joint, rear_left_wheel_joint</leftJoint>
      <rightJoint>front_right_wheel_joint, rear_right_wheel_joint</rightJoint>
    </plugin>
  </gazebo>

After some time the simulation breaks and the robot is not working anymore:

ODE Message 3: LCP internal error, s <= 0 (s=0.0000e+00)

ODE Message 3: LCP internal error, s <= 0 (s=-inf)

ODE Message 3: LCP internal error, s <= 0 (s=-0.0000e+00)

ODE Message 3: LCP internal error, s <= 0 (s=-inf)

Thank you in advance!

Asked by oanli on 2022-11-28 10:40:08 UTC

Comments

Answers