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